.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#ffbb8a,#add8e6,#ff8f9c,#c4a1ee,#ffbb8a);background-size:200% 200%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.login-box{background:#fff;padding:2rem 3rem;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:400px}.login-header{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem;gap:1rem}.login-logo{height:60px;width:auto}.login-box h1{text-align:center;margin:0;color:#333;font-size:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#667eea}.error-message{color:#e74c3c;margin-bottom:1rem;text-align:center;font-size:.9rem}.login-button{width:100%;padding:.75rem;background:linear-gradient(135deg,#1a1a1a,#333,#1a1a1a);color:#fff;border:none;border-radius:20px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #0000004d}.login-button:hover:not(:disabled){opacity:.9;box-shadow:0 6px 20px #0006;transform:translateY(-1px)}.login-button:disabled{opacity:.6;cursor:not-allowed}.dashboard{height:100vh;display:flex;flex-direction:column;background:#f5f5f5;overflow:hidden}.dashboard-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a;border-bottom:1px solid rgba(0,0,0,.1);flex-shrink:0;position:relative;z-index:100}.header-left{display:flex;align-items:center;gap:1rem}.header-logo{height:40px;width:auto}.header-left h1{font-size:1.5rem;color:#333;margin:0;display:flex;align-items:center;gap:.5rem}.version-number{font-size:.75rem;color:#666;font-weight:400}.header-right{display:flex;align-items:center;gap:1rem}.date-input-group{display:flex;align-items:center;gap:.5rem}.date-input-group label{font-weight:500;color:#555;font-size:.9rem}.date-input-group input{padding:.5rem;border:1px solid rgba(0,0,0,.2);border-radius:12px;font-size:.9rem;background:#fffffff2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s;cursor:pointer;caret-color:transparent;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.date-input-group input::-webkit-calendar-picker-indicator{cursor:pointer}.date-input-group input:focus{outline:none;border-color:#0006;box-shadow:0 2px 8px #00000026}.region-selector-wrapper{position:relative;display:inline-block;z-index:10001}.region-selector-button{padding:.5rem 2.5rem .5rem 1rem;border:1px solid rgba(0,0,0,.2);border-radius:6px;font-size:.9rem;background:#fff;color:#333;cursor:pointer;transition:all .2s ease;min-width:100px;text-align:left;display:flex;align-items:center;justify-content:space-between;font-family:inherit;box-shadow:0 1px 2px #0000000d}.region-selector-button:hover{background:#f8f9fa;border-color:#0000004d}.region-selector-button:focus{outline:none;border-color:#0006;box-shadow:0 0 0 2px #0000001a}.region-selector-arrow{position:absolute;right:.75rem;font-size:.7rem;color:#666;pointer-events:none;transition:transform .2s ease}.region-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:100%;background:#fff;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10000;overflow:hidden;animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.region-dropdown-option{display:block;width:100%;padding:.5rem 1rem;border:none;background:#fff;color:#333;font-size:.9rem;text-align:left;cursor:pointer;transition:background-color .15s ease;font-family:inherit}.region-dropdown-option:hover{background:#f0f0f0}.region-dropdown-option.selected{background:#e8f0fe;color:#1a73e8;font-weight:500}.region-dropdown-option:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.region-dropdown-option:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.main-content{flex:1;display:flex;gap:1rem;padding:1rem;overflow:hidden;min-height:0}.chat-list-container{flex:1;display:flex;flex-direction:column;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;box-shadow:0 4px 15px #0003;overflow:hidden;min-width:0}.chat-list-header{padding:1rem;border-bottom:1px solid rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:center;background-color:#f8f9facc;flex-shrink:0}.chat-list-title{font-weight:600;color:#333;font-size:1.1rem}.chat-list-actions{display:flex;gap:.5rem}.action-button{padding:.5rem .75rem;border:1px solid rgba(0,0,0,.2);border-radius:20px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;font-size:1.2rem;transition:all .3s;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;color:#333;box-shadow:0 2px 8px #00000026}.action-button:hover{background:#fff;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.action-button:active{transform:scale(.95)}.refresh-button{font-size:1.1rem}.sort-button{font-size:1rem;font-weight:700}.chat-list{flex:1;overflow-y:auto;padding:1rem;min-height:0}.chat-card{padding:1rem;border:1px solid rgba(0,0,0,.1);border-radius:12px;margin-bottom:.75rem;cursor:pointer;transition:all .1s;display:flex;justify-content:space-between;align-items:flex-end;position:relative;background:#ffffffe6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.chat-card:hover{background:#fff;border-color:#0003;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.chat-card.selected{background:#fff;border-color:#0000004d;box-shadow:0 4px 15px #00000040}.chat-card-content{flex:1;min-width:0}.chat-title{font-weight:600;color:#333;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-date{font-size:.875rem;color:#666}.chat-review-icon{margin-left:.5rem;flex-shrink:0;opacity:.5;transition:opacity .2s;display:flex;align-items:center;justify-content:center;color:#666}.chat-review-icon svg{width:16px;height:16px}.chat-card:hover .chat-review-icon{opacity:.8}.chat-detail{flex:2;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;box-shadow:0 4px 15px #0003;display:flex;flex-direction:column;overflow:hidden;min-width:0}.chat-info{padding:1.5rem;border-bottom:1px solid rgba(0,0,0,.1);background-color:#f8f9facc;flex-shrink:0;display:flex;justify-content:space-between;align-items:flex-start}.chat-info-left{flex:1}.chat-info-right{display:flex;align-items:flex-start}.chat-info-actions{display:flex;flex-direction:column;gap:.5rem;align-items:stretch}.info-item{margin-bottom:.75rem;display:flex;gap:.5rem}.info-item:last-child{margin-bottom:0}.info-label{font-weight:600;color:#555;min-width:100px}.info-value{color:#333;font-family:monospace;font-size:.9rem;word-break:break-all}.info-value.clickable{cursor:pointer;transition:color .2s}.info-value.clickable:hover{color:#667eea}.add-review-button{padding:.5rem 1rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#333;border:1px solid rgba(0,0,0,.2);border-radius:20px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s;width:100%;text-align:center;text-decoration:none;display:inline-block;box-shadow:0 2px 8px #00000026}.add-review-button:hover{background:#fff;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.sudo-button{padding:.5rem 1rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#333;border:1px solid rgba(0,0,0,.2);border-radius:20px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s;width:100%;text-align:center;text-decoration:none;display:inline-block;box-shadow:0 2px 8px #00000026}.sudo-button:hover{background:#fff;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.review-actions{display:flex;gap:.5rem}.edit-review-button,.delete-review-button{padding:.5rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s;background:#fff;color:#333}.edit-review-button:hover{background-color:#f0f0f0;border-color:#667eea}.delete-review-button:hover{background-color:#fee;border-color:#e74c3c;color:#e74c3c}.messages-container{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.message{padding:1rem;border-radius:8px;margin-bottom:.5rem}.message.copilot{background-color:#fff3e0;border-left:4px solid #ff9800}.message.user{background-color:#e3f2fd;border-left:4px solid #2196f3}.message-role-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.message-role{font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.message.copilot .message-role{color:#e65100}.message.user .message-role{color:#1565c0}.message-content{color:#333;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;margin-bottom:.5rem}.message-time{font-size:.75rem;color:#666;white-space:nowrap}.loading,.error,.no-chats,.no-selection,.no-messages{text-align:center;padding:2rem;color:#666}.error{color:#e74c3c}.technical-data{margin-top:1rem;border-top:1px solid rgba(0,0,0,.1);padding-top:.75rem}.technical-data-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.5rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.2);border-radius:15px;cursor:pointer;font-size:.875rem;font-weight:600;color:#333;transition:all .3s;box-shadow:0 2px 8px #00000026}.technical-data-toggle:hover{background:#fff;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.technical-data-label{color:#666}.technical-data-icon{color:#999;font-size:.75rem}.technical-data-content{margin-top:.75rem;padding:1rem;background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;max-height:600px;overflow-y:auto}.technical-section{margin-bottom:1.5rem}.technical-section:last-child{margin-bottom:0}.technical-section-title{font-size:.9rem;font-weight:600;color:#333;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #ddd}.tool-call{margin-bottom:1rem;padding:.75rem;background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;border-left:3px solid #667eea}.tool-call:last-child{margin-bottom:0}.tool-call-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.tool-call-name{font-weight:600;color:#667eea;font-size:.9rem}.tool-call-timestamp{font-size:.75rem;color:#999}.tool-call-field{margin-top:.5rem}.tool-call-field strong{display:block;font-size:.8rem;color:#666;margin-bottom:.25rem}.tool-call-value{margin:0;padding:.5rem;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;font-size:.8rem;color:#333;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto;max-height:200px;overflow-y:auto}.scratchpad-content{margin:0;padding:.75rem;background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;font-size:.8rem;color:#333;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto;max-height:300px;overflow-y:auto}.review-block{padding:1rem;background-color:#e8f5e9;border:1px solid #4caf50;border-left:4px solid #4caf50;border-radius:8px;margin-bottom:1rem}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.review-header-left{display:flex;align-items:center;gap:.75rem}.review-label{font-weight:600;color:#2e7d32;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.review-actions-inline{display:flex;gap:.5rem}.edit-review-button-small{padding:.25rem .75rem;border:none;border-radius:15px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s;background:linear-gradient(135deg,#1a1a1a,#333,#1a1a1a);color:#fff;box-shadow:0 2px 8px #0000004d}.edit-review-button-small:hover{opacity:.9;box-shadow:0 4px 12px #0006;transform:translateY(-1px)}.delete-review-button-small{padding:.25rem .75rem;border:1px solid rgba(0,0,0,.2);border-radius:15px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#333;box-shadow:0 2px 8px #00000026}.delete-review-button-small:hover{background:#fff;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.delete-confirm-notification{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.2);border-radius:15px;box-shadow:0 2px 8px #00000026;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.delete-confirm-text{font-size:.8rem;color:#333;font-weight:500;white-space:nowrap}.delete-confirm-button{padding:.2rem .6rem;border:none;border-radius:12px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.delete-confirm-button.confirm{background:linear-gradient(135deg,#1a1a1a,#333,#1a1a1a);color:#fff;box-shadow:0 2px 6px #0003}.delete-confirm-button.confirm:hover{opacity:.9;box-shadow:0 3px 8px #0000004d;transform:translateY(-1px)}.delete-confirm-button.cancel{background:#ffffffe6;color:#666;border:1px solid rgba(0,0,0,.15)}.delete-confirm-button.cancel:hover{background:#f0f0f0e6;color:#333}.review-content{color:#333;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;margin-bottom:.5rem}.review-time{font-size:.75rem;color:#666;white-space:nowrap}.review-author{font-weight:500;color:#555}.review-input-block{padding:1rem;background-color:#fff9c4;border:1px solid #fbc02d;border-left:4px solid #fbc02d;border-radius:8px;margin-bottom:1rem}.review-input-header{margin-bottom:.75rem}.review-textarea{width:100%;padding:.75rem;border:1px solid rgba(0,0,0,.2);border-radius:12px;font-size:.9rem;font-family:inherit;resize:vertical;min-height:120px;margin-bottom:.75rem;background:#fffffff2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s}.review-textarea:focus{outline:none;border-color:#0006;box-shadow:0 2px 8px #00000026}.review-name-input-container{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.review-name-label{font-size:.85rem;color:#555;font-weight:500;white-space:nowrap}.review-name-input{flex:1;padding:.5rem .75rem;border:1px solid rgba(0,0,0,.2);border-radius:12px;font-size:.9rem;font-family:inherit;background:#fffffff2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s}.review-name-input:focus{outline:none;border-color:#0006;box-shadow:0 2px 8px #00000026}.review-input-actions{display:flex;gap:.5rem;justify-content:flex-end}.save-review-button,.cancel-review-button{padding:.5rem 1.5rem;border:none;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #0000004d}.save-review-button{background:linear-gradient(135deg,#1a1a1a,#333,#1a1a1a);color:#fff}.save-review-button:hover{opacity:.9;box-shadow:0 6px 20px #0006;transform:translateY(-1px)}.cancel-review-button{background:#ffffffe6;color:#333;border:1px solid rgba(0,0,0,.2)}.cancel-review-button:hover{background:#fff;box-shadow:0 4px 15px #0003;transform:translateY(-1px)}.date-picker-wrapper{position:relative;display:inline-block}.date-picker-wrapper .date-input-group{display:flex;align-items:center;gap:.5rem}.date-picker-wrapper .date-input-group label{font-weight:500;color:#555;font-size:.9rem}.date-picker-input{padding:.5rem;border:1px solid rgba(0,0,0,.2);border-radius:12px;font-size:.9rem;background:#fffffff2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;display:flex;align-items:center;justify-content:flex-start;min-width:150px;color:#333}.date-picker-input:hover{border-color:#0000004d;box-shadow:0 2px 8px #0000001a}.date-picker-input:focus,.date-picker-wrapper:focus-within .date-picker-input{outline:none;border-color:#0006;box-shadow:0 2px 8px #00000026}.calendar-popup{position:absolute;top:calc(100% + 8px);right:0;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.2);border-radius:12px;box-shadow:0 8px 24px #0003;padding:1rem;z-index:10000;min-width:280px;animation:calendarFadeIn .2s ease-out}@keyframes calendarFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.5rem}.calendar-nav{display:flex;gap:.25rem}.calendar-nav-button{padding:.25rem .5rem;border:1px solid rgba(0,0,0,.2);border-radius:6px;background:#fffffff2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:pointer;font-size:.9rem;color:#333;transition:all .2s;font-weight:600;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.calendar-nav-button:hover{background:#fff;border-color:#0000004d;box-shadow:0 2px 4px #0000001a}.calendar-nav-button:active{transform:scale(.95)}.calendar-month-year{font-weight:600;color:#333;font-size:.95rem;text-align:center;flex:1}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem}.calendar-weekday{text-align:center;font-size:.75rem;font-weight:600;color:#666;padding:.5rem 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;font-size:.85rem;color:#333;transition:all .2s;user-select:none;-webkit-user-select:none}.calendar-day.empty{cursor:default;opacity:0}.calendar-day:hover:not(.empty){background:#0000000d}.calendar-day.today{background:#667eea1a;color:#667eea;font-weight:600}.calendar-day.selected{background:linear-gradient(135deg,#1a1a1a,#333,#1a1a1a);color:#fff;font-weight:600;box-shadow:0 2px 6px #0003}.calendar-day.selected.today{background:linear-gradient(135deg,#1a1a1a,#333,#1a1a1a);color:#fff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
