:root{color-scheme:light;--font-sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",Arial,sans-serif;--font-size-dialog-title:28px;--font-size-section-title:18px;--font-size-body:14px;--font-size-label:14px;--font-size-input:14px;--font-size-button:14px;--font-size-sidebar:14px;--font-size-description:13px;--font-size-table:13px;--line-height-body:1.5;--line-height-description:1.45;--line-height-title:1.3;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--app-chrome-background:#ffffff;--app-border-color:#dce5ea;--app-topbar-height:88px;--chat-canvas-background:#f4f6f8;--chat-column-width:900px;--chat-surface-side-padding:24px;--chat-scrollbar-gutter-width:30px;--chat-empty-top-padding:clamp(64px,14dvh,150px);--chat-empty-composer-gap:clamp(40px,9dvh,96px);--project-tabs-row-height:58px;font-family:var(--font-sans);background:#f4f7f8;color:#102033}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body)}button,input,select,textarea{font:inherit}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at top,#edf8f5 0,#f7fafb 38%,#f3f6f8 100%)}.auth-card{width:min(460px,100%);border:1px solid #d7e2e7;border-radius:8px;background:#ffffff;padding:34px;box-shadow:0 18px 48px rgba(16,32,51,.08)}.auth-card.wide{width:min(680px,100%)}.auth-kicker{margin:0 0 12px;color:#0b3d56;font-weight:var(--font-weight-semibold)}.auth-card h1{margin:0 0 12px;font-size:28px;letter-spacing:normal}.auth-copy,.form-hint{margin:0;color:#667684;line-height:1.6}.auth-form{display:grid;grid-gap:16px;gap:16px;margin-top:28px}.auth-form label{display:grid;grid-gap:8px;gap:8px;color:#384957;font-weight:var(--font-weight-semibold)}.auth-form input{width:100%;height:44px;border:1px solid #d6e0e6;border-radius:8px;padding:0 14px;color:#102033;outline:none}.auth-form input:focus{border-color:#244864;box-shadow:0 0 0 3px rgba(36,72,100,.14)}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.form-error{margin:0;border-radius:8px;background:#fff0ed;color:#9b2c1f;padding:12px 14px}.form-error,.primary-button{font-weight:var(--font-weight-semibold)}.primary-button{height:44px;border:0;border-radius:8px;background:#203f5b;color:#ffffff;font-size:14px;cursor:pointer;white-space:nowrap}.primary-button:disabled{opacity:.7;cursor:wait}.auth-signup-button{min-height:44px;width:100%}.auth-notices{display:grid;grid-gap:5px;gap:5px;margin-top:22px;border-top:1px solid #e2e9ed;padding-top:16px;color:#667684;font-size:12px}.auth-notices p{margin:0}.student-signup-page{align-items:start;overflow-y:auto}.student-signup-card{margin-block:24px}.student-signup-account-fields,.student-signup-course-fields,.student-signup-form{display:grid;grid-gap:14px;gap:14px}.student-signup-field input,.student-signup-field select{width:100%;height:44px;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff;padding:0 14px;color:#102033;outline:none}.student-signup-field input:focus,.student-signup-field select:focus{border-color:#244864;box-shadow:0 0 0 3px rgba(36,72,100,.14)}.student-signup-field input:disabled,.student-signup-field select:disabled{background:#f4f7f8;color:#667684}.student-signup-help,.student-signup-search-status,.student-signup-status{margin:0;color:#667684;font-size:12px}.student-signup-status{color:#176244;font-weight:var(--font-weight-semibold)}.student-signup-state{display:grid;grid-gap:12px;gap:12px;margin-top:24px;border:1px solid #dce5ea;border-radius:8px;background:#f7fafb;padding:18px;color:#526472}.student-signup-state p{margin:0}.student-signup-retry{width:-moz-fit-content;width:fit-content}.student-signup-name-id-row,.student-signup-password-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.student-signup-notices{display:grid;grid-gap:5px;gap:5px;border:1px solid #dce5ea;border-radius:8px;background:#f7fafb;padding:14px;color:#526472;font-size:12px}.student-signup-notices p{margin:0}.student-signup-notice-confirmation{display:flex!important;align-items:flex-start;gap:9px!important;font-size:13px}.student-signup-notice-confirmation input{width:16px;height:16px;margin:2px 0 0;flex:0 0 auto}.student-signup-footer-actions,.student-signup-prepared-actions{display:flex;justify-content:flex-end;gap:10px}.student-signup-footer-actions{margin-top:18px;border-top:1px solid #e2e9ed;padding-top:16px}.student-signup-prepare-button,.student-signup-submit-button{padding-inline:18px}.student-signup-completed{display:grid;grid-gap:12px;gap:12px;margin-block:24px;border:1px solid #bfd4d8;border-radius:8px;background:#f1f8f7;padding:20px;color:#384957}.student-signup-completed p{margin:0}.student-signup-completed-id{border-radius:8px;background:#ffffff;padding:12px 14px;color:#102033;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:20px;letter-spacing:normal;overflow-wrap:anywhere}.student-signup-completed-button{width:100%}@media (max-width:640px){.auth-page{padding:16px}.auth-card,.auth-card.wide{padding:24px 20px}.student-signup-card{margin-block:0}.student-signup-name-id-row,.student-signup-password-row{grid-template-columns:1fr}.student-signup-footer-actions,.student-signup-prepared-actions{align-items:stretch;flex-direction:column}.student-signup-footer-actions button,.student-signup-prepare-button,.student-signup-prepared-actions button{width:100%;min-height:44px}}.app-shell{--sidebar-width:260px;height:100dvh;min-height:0;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);overflow:hidden;background:#f4f6f8;position:relative}.app-shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.app-shell.sidebar-collapsed .sidebar{display:none}.sidebar{grid-column:1;height:100dvh;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border-right:1px solid var(--app-border-color);background:var(--app-chrome-background)}.sidebar-resizer{position:absolute;z-index:12;top:0;bottom:0;left:calc(var(--sidebar-width) - 3px);width:6px;cursor:col-resize;touch-action:none}.sidebar-resizer:before{content:"";position:absolute;inset:0 2px;border-radius:999px;background:transparent}.sidebar-is-resizing .sidebar-resizer:before,.sidebar-resizer:focus-visible:before,.sidebar-resizer:hover:before{background:#9fb2bc}.sidebar-resizer:focus-visible{outline:2px solid #244864;outline-offset:-2px}.sidebar-is-resizing{cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sidebar-drawer-overlay{display:none}.brand{display:flex;gap:10px;align-items:center;height:var(--app-topbar-height);min-height:var(--app-topbar-height);padding:20px 18px;border-bottom:1px solid var(--app-border-color);background:var(--app-chrome-background)}.brand-mark,.user-chip{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#eef4f6;color:#0b2a3c;font-size:15px;font-weight:var(--font-weight-semibold);flex:0 0 auto}.brand strong{color:#102033;font-size:15px;line-height:1.2}.brand span,.brand strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand span{margin-top:4px;color:#667684;font-size:12px;line-height:1.35}.brand>div:not(.brand-mark){min-width:0}.side-nav{display:grid;grid-gap:5px;gap:5px;padding:14px}.side-nav button{display:flex;align-items:center;gap:10px;height:40px;border:0;border-radius:8px;background:transparent;color:#102033;padding:0 12px;font-size:14px;font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer;white-space:nowrap}.side-nav button svg{flex:0 0 20px;width:18px;height:18px;color:inherit}.side-nav button.active{background:#e8f2f5;color:#0b3d56}.side-nav-item{display:grid;grid-template-columns:minmax(0,1fr) 40px;grid-gap:4px;gap:4px}.side-nav-item>.side-nav-primary{width:100%;min-width:0}.side-nav-item>.side-nav-shortcut{width:40px;justify-content:center;padding:0;border:1px solid #d6e0e6}.side-nav-item>.side-nav-shortcut:focus-visible,.side-nav-item>.side-nav-shortcut:hover{border-color:#244864;background:#f3f7f9;outline:none}.side-nav-item>.side-nav-shortcut.danger-shortcut{color:#9f3a2f}.side-nav-item>.side-nav-shortcut.danger-shortcut:focus-visible,.side-nav-item>.side-nav-shortcut.danger-shortcut:hover{border-color:#c28a82;background:#fff1ef}.sidebar-footer{display:flex;align-items:center;gap:6px;min-width:0;padding:10px 12px;border-top:1px solid #dce5ea;background:#ffffff}.icon-button,.logout-button,.user-name{border:1px solid #d6e0e6;border-radius:8px;background:#ffffff;color:#102033;height:36px;font-size:13px;cursor:pointer}.user-name{flex:1 1 auto;min-width:0;border:0;font-weight:var(--font-weight-semibold);padding:0 4px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.icon-button{display:grid;place-items:center;width:36px;flex:0 0 36px}.logout-button{display:flex;align-items:center;gap:6px;padding:0 10px;font-weight:var(--font-weight-semibold);line-height:1;white-space:nowrap;flex:0 0 auto}.icon-button svg,.logout-button svg{width:17px;height:17px}.session-action-error{position:fixed;right:20px;bottom:20px;z-index:90;width:min(420px,calc(100vw - 40px));margin:0;padding:12px 14px;border:1px solid #c43f3f;border-radius:10px;background:#fff4f3;color:#8f2525;box-shadow:0 12px 30px rgb(16 32 51/16%);font-size:13px;line-height:1.5}.workspace{position:relative;grid-column:2;min-width:0;height:100dvh;min-height:0;display:grid;grid-template-rows:var(--app-topbar-height) minmax(0,1fr);overflow:hidden}.topbar{justify-content:space-between;height:var(--app-topbar-height);min-height:var(--app-topbar-height);border-bottom:1px solid var(--app-border-color);background:var(--app-chrome-background);padding:14px 26px}.topbar,.topbar-title-group{display:flex;align-items:center}.topbar-title-group{gap:12px;min-width:0}.topbar-title-group>div{min-width:0}.mobile-chat-list-button,.sidebar-toggle-button,.topbar-icon-button{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff;color:#102033;cursor:pointer}.mobile-chat-list-button:focus-visible,.mobile-chat-list-button:hover,.sidebar-toggle-button:focus-visible,.sidebar-toggle-button:hover,.topbar-icon-button:focus-visible,.topbar-icon-button:hover{border-color:#244864;background:#f3f7f9;outline:none}.topbar-actions{display:flex;flex:0 0 auto;min-width:0;align-items:center;justify-content:flex-end;gap:8px}.topbar-model-select{display:block;flex:0 1 clamp(112px,34vw,172px);min-width:0}.topbar-model-select select{width:100%;height:38px;color:#102033;padding:0 28px 0 10px;font-size:12px;font-weight:var(--font-weight-semibold);text-overflow:ellipsis}.mobile-chat-list-panel,.topbar-model-select select{min-width:0;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff}.mobile-chat-list-panel{position:absolute;z-index:30;top:var(--app-topbar-height);left:12px;right:12px;display:grid;max-height:min(68dvh,560px);overflow:auto;box-shadow:0 18px 42px rgba(16,32,51,.16)}.mobile-chat-list-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:8px;gap:8px;padding:10px;border-bottom:1px solid #e2ebef}.mobile-chat-list-toolbar button{display:inline-flex;min-width:0;min-height:42px;align-items:center;justify-content:center;gap:6px}.mobile-action-label{display:none}.role-menu{position:relative;flex:0 0 auto;overflow:visible}.role-menu-button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:116px;height:38px;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff;color:#102033;padding:0 12px;font-size:13px;font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer}.role-menu-button:focus-visible,.role-menu-button:hover,.role-menu-button[aria-expanded=true]{border-color:#244864;background:#f3f7f9;outline:none}.role-menu-panel{position:absolute;z-index:45;top:calc(100% + 8px);left:0;display:grid;width:min(300px,calc(100vw - 32px));grid-gap:4px;gap:4px;border:1px solid #d6e0e6;border-radius:10px;background:#ffffff;padding:8px;box-shadow:0 18px 42px rgba(16,32,51,.16)}.role-menu-panel button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;border:0;border-radius:7px;background:transparent;color:#102033;padding:8px 10px;font-size:14px;font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer}.role-menu-panel button.active,.role-menu-panel button:focus-visible:not(:disabled),.role-menu-panel button:hover:not(:disabled){background:#e9f1f5;outline:none}.role-menu-panel button:disabled{color:#7a8995;background:#f7f9fa;cursor:not-allowed}.role-menu-panel small{margin-left:auto;color:#7a8995;font-size:11px;font-weight:var(--font-weight-semibold);white-space:nowrap}.top-kicker,.topbar h2,.topbar-context{margin:0}.top-kicker{color:#667684;font-size:13px;font-weight:var(--font-weight-semibold)}.topbar h2{font-size:22px;line-height:1.25}.topbar-context{margin-top:3px;color:#667684;font-size:12px;font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-panel{min-height:0;overflow:auto;padding:26px}.content-panel.chat-content-panel{overflow:hidden;padding:0}.restricted-device-scroll{max-height:560px}.dashboard-card{border:1px solid #dce5ea;border-radius:8px;background:#ffffff;padding:22px;min-height:320px}.dashboard-card h1{margin:0 0 12px;font-size:28px}.dashboard-card p{margin:0;color:#667684;line-height:1.7}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:18px}.metric-grid div{border:1px solid #dce5ea;border-radius:8px;padding:14px;background:#f8fbfc}.metric-grid span{display:block;color:#667684;font-weight:var(--font-weight-semibold)}.metric-grid strong{display:block;margin-top:8px;font-size:19px}.chat-start{display:grid;place-items:center;text-align:center}.composer{width:min(900px,100%);margin-top:28px;border:1px solid #d1dde4;border-radius:18px;background:#ffffff;color:#667684;padding:18px;text-align:left;box-shadow:0 16px 36px rgba(16,32,51,.08)}.page-section{display:grid;grid-gap:16px;gap:16px}.page-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.page-heading h1{margin:0 0 8px;font-size:28px;letter-spacing:normal}.page-heading p,.small-note{margin:0;color:#667684;line-height:1.6}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.summary-card{border:1px solid #dce5ea;border-radius:8px;background:#ffffff;padding:14px}.summary-card span{color:#667684;font-weight:var(--font-weight-semibold)}.summary-card strong{display:block;margin-top:8px;color:#102033;font-size:24px;letter-spacing:normal}.summary-card small{color:#4e5f6d;font-size:13px}.user-heading{align-items:center}.search-inline,.user-search-bar{display:flex;align-items:flex-end;gap:10px}.search-inline input,.user-search-bar input{width:min(360px,52vw);height:40px;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff;color:#102033;padding:0 12px;outline:none}.user-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.clickable-summary{display:block;text-align:left;cursor:pointer}.clickable-summary:hover{border-color:#bfd4d8;background:#f8fbfc}.user-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.compact-table-scroll{overflow:auto}.student-table-scroll{max-height:calc(44px + (10 * 58px));overflow:auto}.student-table-scroll .data-table th{height:44px}.student-table-scroll .data-table td{height:58px}.modal-table-scroll{max-height:520px;overflow:auto;padding:0 18px 18px}.control-button,.fixed-action{width:108px;min-height:34px;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff;color:#102033;padding:0 10px;font-size:13px;font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap}.control-button:hover,.fixed-action:hover{border-color:#bfd4d8;background:#f8fbfc}.status-badge.reset{background:#fff0ce;color:#7a4c00}.status-badge.deleted,.status-badge.inactive,.status-badge.password-error{background:#fde8e2;color:#9b2c1f}.status-badge.locked{background:#f1e6f8;color:#673b8f}.user-modal{width:min(760px,calc(100vw - 32px))}.search-modal,.wide-modal{width:min(1080px,calc(100vw - 32px))}.search-modal-body{max-height:min(70vh,760px);overflow:auto;padding-bottom:16px}.search-inline label{display:grid;flex:1 1;grid-gap:8px;gap:8px;font-weight:var(--font-weight-semibold)}.search-results{display:grid;grid-gap:10px;gap:10px}.search-result{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr 1fr;grid-gap:12px;gap:12px;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff;color:#102033;padding:12px;text-align:left;cursor:pointer}.search-result.selected{border-color:#bfd4d8;background:#edf6f8}.search-result small{display:block;color:#667684;font-weight:var(--font-weight-semibold)}.search-result strong{display:block;margin-top:4px}.inline-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.danger-button,.danger-light-button,.ghost-button,.invite-button,.secondary-button{min-height:36px;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff;color:#102033;padding:0 12px;font-size:13px;font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap}.secondary-button.accent{background:#e6f3f4;border-color:#bfd4d8}.danger-light-button{color:#9b2c1f}.danger-button{border-color:#a73224;background:#a73224;color:#ffffff}.primary-button.compact{width:auto;height:38px;padding:0 14px}.inline-error{width:-moz-fit-content;width:fit-content}.table-card{overflow:hidden;border:1px solid #dce5ea;border-radius:8px;background:#ffffff}.table-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid #dce5ea}.table-title h2{margin:0;font-size:17px}.table-scroll{max-height:540px;overflow:auto}.data-table{width:100%;min-width:980px;border-collapse:collapse}.data-table td,.data-table th{padding:11px 14px;border-bottom:1px solid #e3ebef;text-align:left;vertical-align:middle}.data-table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:#f8fafb;color:#667684;font-size:13px}.user-management-table-scroll{min-width:0;overflow-x:visible;overflow-y:auto}.user-management-table{width:100%;min-width:0;table-layout:fixed}.user-management-table .user-management-column-name{width:19%}.user-management-table .user-management-column-id{width:18%}.user-management-table .user-management-column-status{width:17%}.user-management-table .user-management-column-tokens{width:20%}.user-management-table .user-management-column-action{width:26%}.user-management-table td,.user-management-table th{padding:7px 8px}.user-management-table th{height:44px}.user-management-table td{height:58px}.user-management-table th,.user-management-table th button{font-size:12px;white-space:nowrap}.user-management-table .sort-button{min-width:0;gap:4px}.user-management-table td:nth-child(3),.user-management-table td:nth-child(5),.user-management-table th:nth-child(3),.user-management-table th:nth-child(5){text-align:center}.user-management-table th:nth-child(3) .sort-button{width:100%;justify-content:center}.user-management-table td:nth-child(4),.user-management-table th:nth-child(4){text-align:right}.user-management-table th:nth-child(4) .sort-button{width:100%;justify-content:flex-end}.user-management-cell-text{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-management-table .status-badge{max-width:100%;min-width:64px;white-space:normal;line-height:1.25}.user-management-table .control-button{width:100%;max-width:92px;min-width:0;min-height:32px;padding:0 4px;font-size:12px;white-space:nowrap}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f8fbfc}.teacher-course-summary{grid-template-columns:repeat(3,minmax(0,240px))}.teacher-course-scroll{max-height:none}.teacher-course-table{min-width:1120px}.teacher-course-row{cursor:pointer}.teacher-course-row.selected,.teacher-course-row:hover{background:#f1f7f9}.teacher-course-toggle{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:#102033;padding:0;text-align:left;cursor:pointer}.teacher-course-toggle svg{flex:0 0 auto;transition:transform .16s ease;transform:rotate(-90deg)}.teacher-course-toggle svg.expanded{transform:rotate(0)}.invite-code-controls{display:flex;align-items:center;gap:6px;white-space:nowrap}.invite-code-controls code{border-radius:6px;background:#edf3f6;color:#173a57;padding:5px 7px;font-size:12px}.invite-code-controls .invite-button{display:inline-flex;align-items:center;gap:4px}.teacher-student-expanded-row>td{padding:0;background:#f6fafb}.teacher-student-panel{padding:16px 18px 18px}.teacher-student-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.teacher-student-panel-heading h3,.teacher-student-panel-heading p{margin:0}.teacher-student-panel-heading h3{font-size:16px}.teacher-student-panel-heading p{margin-top:5px;color:#667684;font-size:13px}.teacher-student-scroll{max-height:485px;overflow:auto;border:1px solid #dce5ea;border-radius:8px;background:#ffffff}.teacher-student-table{min-width:900px}.inline-message{width:-moz-fit-content;width:fit-content;margin:0}.project-save-message{position:absolute;top:12px;left:50%;z-index:5;transform:translateX(-50%);box-shadow:0 10px 24px rgba(16,32,51,.12)}.sort-button{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#667684;padding:0;font-weight:var(--font-weight-semibold);cursor:pointer}.empty-cell{padding:28px;color:#667684;text-align:center}.api-key-page{display:grid;min-width:0;grid-gap:18px;gap:18px}.api-key-summary{grid-template-columns:repeat(3,minmax(0,220px));gap:12px;margin-bottom:12px}.api-key-summary .summary-card{display:flex;min-height:122px;flex-direction:column;padding:16px 18px}.api-key-summary .summary-card strong{margin-top:8px}.api-key-summary .summary-card small{display:block;margin-top:4px}.api-key-page>.table-card,.api-key-table-scroll{min-width:0}.api-key-tabs{display:flex;gap:4px;min-width:0;width:-moz-fit-content;width:fit-content;max-width:100%;overflow-x:auto;border:1px solid #d6e0e6;border-radius:8px;background:#eef3f6;padding:4px}.api-key-tabs button{min-height:38px;border:0;border-radius:6px;background:transparent;color:#536a7a;padding:0 14px;font:inherit;font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer}.api-key-tabs button.active,.api-key-tabs button[aria-selected=true]{background:#ffffff;color:#102033;box-shadow:0 1px 3px rgba(16,32,51,.12)}.api-key-table{min-width:0;table-layout:fixed}.api-key-table .api-key-column-number{width:5%}.api-key-table .api-key-column-date{width:9%}.api-key-table .api-key-column-course{width:18%}.api-key-table .api-key-column-instructor{width:10%}.api-key-table .api-key-column-name{width:17%}.api-key-table .api-key-column-cost{width:11%}.api-key-table .api-key-column-last-used{width:13%}.api-key-table .api-key-column-status{width:7%}.api-key-table .api-key-column-action{width:10%}.api-key-table td,.api-key-table th{padding:10px 8px}.api-key-table .sort-button,.api-key-table td:first-child,.api-key-table td:nth-child(2),.api-key-table td:nth-child(6),.api-key-table td:nth-child(7),.api-key-table td:nth-child(8),.api-key-table td:nth-child(9),.api-key-table th{white-space:nowrap}.api-key-table .sort-button{gap:4px}.api-key-cell-truncate{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-key-table td:nth-child(4){overflow-wrap:anywhere}.api-key-table .control-button{width:100%;max-width:88px;min-height:32px;padding:0 7px}.api-key-limit-panel .form-message{margin:0 18px 12px}.api-key-limit-table{min-width:1120px;table-layout:fixed}.api-key-limit-table .api-limit-column-number{width:5%}.api-key-limit-table .api-limit-column-course{width:21%}.api-key-limit-table .api-limit-column-status{width:7%}.api-key-limit-table .api-limit-column-instructor{width:9%}.api-key-limit-table .api-limit-column-key-count{width:10%}.api-key-limit-table .api-limit-column-cost{width:13%}.api-key-limit-table .api-limit-column-budget,.api-key-limit-table .api-limit-column-usage{width:9%}.api-key-limit-table .api-limit-column-source{width:10%}.api-key-limit-table .api-limit-column-action{width:7%}.api-key-limit-table td,.api-key-limit-table th{padding:10px 8px}.api-key-limit-table .sort-button,.api-key-limit-table td:first-child,.api-key-limit-table td:nth-child(10),.api-key-limit-table td:nth-child(3),.api-key-limit-table td:nth-child(5),.api-key-limit-table td:nth-child(7),.api-key-limit-table td:nth-child(8),.api-key-limit-table td:nth-child(9),.api-key-limit-table th{white-space:nowrap}.api-key-limit-dates{display:block;margin-top:4px;color:#667684;font-size:12px;white-space:nowrap}.api-key-limit-table .control-button{width:100%;max-width:82px;min-height:32px;padding:0 7px}.api-key-limit-row-warning{background:#fff9ed}.monospace-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;white-space:nowrap}.usage-warning-row{background:#fffaf0}.admin-api-key-row{background:#f7fbfc}.api-key-group-stack{display:grid;min-width:0;grid-gap:14px;gap:14px}.api-key-list-heading{display:flex;min-width:0;align-items:center;justify-content:space-between}.api-key-group-card h3,.api-key-list-heading h2{margin:0}.api-key-empty-card{padding:18px}.api-key-group-card{overflow:hidden}.api-key-course-group-header{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e2ebef;padding:14px 16px}.api-key-course-title{display:grid;min-width:0;grid-gap:4px;gap:4px}.api-key-course-title strong{overflow:hidden;color:#102033;text-overflow:ellipsis;white-space:nowrap}.api-key-course-meta span,.api-key-course-title span{color:#667684;font-size:12px}.api-key-course-meta{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 12px}.api-key-prediction-pill{display:inline-flex;min-height:26px;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:var(--font-weight-semibold)}.api-key-prediction-pill.neutral{background:#e8f5ef;color:#236240}.api-key-prediction-pill.muted{background:#eef3f6;color:#526775}.api-key-prediction-pill.caution{background:#fff4cc;color:#765800}.api-key-prediction-pill.warning{background:#ffe2c2;color:#874700}.api-key-prediction-pill.danger{background:#fff1f1;color:#8d1d1d}.api-key-group-card.prediction-danger{background:#fffafa;border-color:#f1c6c6}.api-key-group-card.prediction-warning{background:#fffaf4}.api-key-admin-table,.api-key-course-table,.api-key-detail-table{min-width:0;table-layout:fixed}.api-key-admin-table td,.api-key-admin-table th,.api-key-course-table td,.api-key-course-table th,.api-key-detail-table td,.api-key-detail-table th{padding:10px 8px;white-space:nowrap}.api-key-course-table td:first-child,.api-key-course-table th:first-child{width:22%}.api-key-admin-table td:nth-child(2),.api-key-admin-table th:nth-child(2),.api-key-course-table td:first-child,.api-key-course-table th:first-child{text-align:left}.api-key-name-button{max-width:100%;border:0;background:transparent;color:#175a7a;padding:0;font:inherit;font-weight:var(--font-weight-semibold);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.api-key-name-button:disabled{color:#7d8a93;cursor:wait}.api-key-detail-modal{display:flex;flex-direction:column;width:min(1080px,calc(100vw - 32px));max-height:min(88dvh,calc(100dvh - 32px));overflow:hidden}.api-key-detail-titlebar{flex:0 0 auto}.api-key-detail-title{display:flex;align-items:center;gap:8px 10px;min-width:0;flex-wrap:wrap}.api-key-detail-title h2{margin:0}.api-key-detail-scope-pill{display:inline-flex;align-items:center;min-height:24px;border:1px solid #c9dae2;border-radius:999px;background:#f4f8fa;color:#45606d;padding:0 9px;font-size:12px;font-weight:var(--font-weight-semibold)}.api-key-detail-body{display:grid;grid-gap:14px;gap:14px;min-height:0;overflow-y:auto;padding:16px 18px 18px;scrollbar-gutter:stable}.api-key-detail-course-line{display:flex;align-items:baseline;gap:8px 16px;min-width:0;flex-wrap:wrap;font-weight:var(--font-weight-semibold)}.api-key-detail-course-line strong{max-width:100%;overflow:hidden;color:#102033;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.api-key-detail-course-line span{color:#5d7180;font-size:13px}.api-key-detail-key-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px 16px;gap:12px 16px;min-width:0;background:#f8fbfc}.api-key-detail-auto-row,.api-key-detail-key-row{display:grid;border:1px solid #d6e0e6;border-radius:8px;padding:12px 14px}.api-key-detail-auto-row{grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;background:#ffffff}.api-key-detail-auto-row>div{display:grid;grid-gap:4px;gap:4px;min-width:0}.api-key-detail-auto-row span{color:#667684;font-size:12px}.api-key-detail-auto-row strong{min-width:0;overflow:hidden;color:#102033;text-overflow:ellipsis;white-space:nowrap}.api-key-detail-key-name{display:grid;grid-gap:4px;gap:4px;min-width:0}.api-key-detail-key-name span,.api-key-detail-status-action>span{color:#667684;font-size:12px}.api-key-detail-key-name strong{overflow:hidden;color:#102033;text-overflow:ellipsis;white-space:nowrap}.api-key-detail-status-action{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;flex-wrap:wrap}.api-key-detail-status-action .danger-button{min-height:30px;padding:0 10px;font-size:12px}.api-key-detail-usage-section{display:grid;grid-gap:8px;gap:8px;min-width:0}.api-key-detail-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:6px 12px;min-width:0;flex-wrap:wrap}.api-key-detail-section-heading h3{margin:0;color:#102033;font-size:15px;line-height:1.35}.api-key-detail-section-heading span{color:#657787;font-size:12px}.api-key-detail-summary-table-scroll{max-height:none}.api-key-detail-daily-table-scroll{max-height:286px;overflow:auto}.api-key-detail-total-row{background:#eef7f2;font-weight:var(--font-weight-semibold)}.api-key-detail-today-row{background:#fff8e5}.usage-sync-panel{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.6fr);align-items:center;grid-gap:12px 24px;gap:12px 24px;min-width:0;border:1px solid #d5e3e8;border-radius:8px;background:#f7fbfc;padding:12px 14px}.usage-sync-column{min-width:0}.usage-sync-schedule{display:flex;min-width:0;flex-wrap:wrap;gap:4px 6px;margin:0;color:#5f7280;font-size:12px;line-height:1.45}.usage-sync-schedule span,.usage-sync-status-row span{color:#5f7280;font-size:12px;white-space:normal}.usage-sync-schedule strong,.usage-sync-status-row strong{color:#163b53;font-size:13px}.usage-sync-ready-note{margin:5px 0 0;color:#667684;font-size:12px;line-height:1.45}.usage-sync-action-column{display:grid;grid-gap:8px;gap:8px;justify-items:end}.usage-sync-action-row{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:10px 14px}.usage-sync-help{min-width:0;margin:0;color:#667684;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.usage-sync-status-row{display:flex;min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:6px 14px}.usage-pill{display:inline-flex;min-width:60px;justify-content:center;border-radius:999px;background:#edf3f6;color:#435564;padding:4px 9px;font-size:12px;font-weight:var(--font-weight-semibold)}.usage-pill.warning{background:#fff0ce;color:#7a4c00}.usage-pill.neutral{background:#eef3f6;color:#526775}.api-key-auto-deactivation-card{display:grid;grid-gap:7px;gap:7px;border:1px solid #d5e3e8;border-radius:8px;background:#f7fbfc;padding:12px;color:#344858;font-size:13px;line-height:1.45}.api-key-auto-deactivation-card p{margin:0}.api-key-auto-deactivation-heading,.api-key-auto-toggle{display:inline-flex;align-items:center;gap:8px;min-width:0;color:#17283a;font-weight:var(--font-weight-semibold)}.api-key-auto-deactivation-heading input,.api-key-auto-toggle input{width:16px;min-width:16px;height:16px;accent-color:#203853}.api-key-auto-toggle{justify-content:center;font-size:12px;white-space:nowrap}.api-key-auto-mode-label{min-width:72px}.api-key-create-form{display:grid;grid-gap:14px;gap:14px}.api-key-create-form label{display:grid;grid-gap:7px;gap:7px;color:#273847;font-weight:var(--font-weight-semibold)}.api-key-create-form .api-key-auto-deactivation-heading{display:inline-flex;align-items:center;gap:8px}.api-key-create-form input,.api-key-create-form select{width:100%;min-height:42px;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff;color:#102033;padding:0 12px;font:inherit}.api-key-create-form .api-key-auto-deactivation-heading input{width:16px;min-width:16px;min-height:16px;height:16px;padding:0}.api-key-scope-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px;padding:4px;border:1px solid #d6e0e6;border-radius:8px;background:#eef3f6}.api-key-scope-toggle button{min-height:36px;border:0;border-radius:6px;background:transparent;color:#526775;font-weight:var(--font-weight-semibold);cursor:pointer}.api-key-scope-toggle button.active{background:#ffffff;color:#102033;box-shadow:0 1px 3px rgba(16,32,51,.12)}.api-key-scope-toggle button:disabled{cursor:not-allowed;opacity:.5}.api-key-scope-note{display:grid;grid-gap:4px;gap:4px;border:1px solid #d6e0e6;border-radius:8px;background:#f7fbfc;padding:12px;color:#273847}.api-key-scope-note span{color:#667684;font-size:13px}.api-key-limit-modal{width:min(760px,calc(100vw - 32px));overflow:hidden}.api-key-limit-form{display:grid;grid-gap:14px;gap:14px}.api-key-limit-form label{display:grid;grid-gap:7px;gap:7px;color:#273847;font-weight:var(--font-weight-semibold)}.api-key-limit-form input{width:100%;min-height:42px;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff;color:#102033;padding:0 12px;font:inherit}.api-key-limit-current{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 14px;gap:8px 14px;border:1px solid #d6e0e6;border-radius:8px;background:#f7fbfc;padding:12px;color:#526775;font-size:13px}.api-key-limit-current strong{grid-column:1/-1;color:#102033;font-size:15px}.currency-input-shell{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff}.currency-input-shell>span{padding-left:12px;color:#526775;font-weight:var(--font-weight-semibold)}.currency-input-shell input{border:0;border-radius:0}.currency-input-shell:focus-within{outline:3px solid rgba(31,96,123,.28);outline-offset:2px}.api-key-budget-warning{margin:0;border:1px solid #ead59d;border-radius:8px;background:#fff8e2;color:#745100;padding:10px 12px;font-size:13px;line-height:1.45}.secret-modal{width:min(720px,calc(100vw - 32px));overflow:hidden}.secret-modal-body{display:grid;grid-gap:14px;gap:14px;padding:18px}.one-time-warning{display:flex;align-items:flex-start;gap:10px;border:1px solid #ead59d;border-radius:8px;background:#fff8e2;color:#745100;padding:12px;line-height:1.5}.one-time-warning svg{flex:0 0 auto;margin-top:2px}.field-label{color:#273847;font-weight:var(--font-weight-semibold)}.secret-value-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;grid-gap:10px;gap:10px}.secret-value-row code{display:block;min-width:0;overflow-wrap:anywhere;border:1px solid #d6e0e6;border-radius:8px;background:#f4f7f8;color:#102033;padding:12px;font-size:13px;line-height:1.55}.secret-value-row .ghost-button{gap:6px}.secret-value-row .ghost-button,.status-badge{display:inline-flex;align-items:center;justify-content:center}.status-badge{min-width:48px;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:var(--font-weight-semibold)}.status-badge.active{background:#e4f5ec;color:#1b6b3a}.status-badge.scheduled{background:#fff3cf;color:#8a6200}.status-badge.ended{background:#f7e3de;color:#a43225}.modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;background:rgba(16,32,51,.52)}.modal-card{width:min(900px,calc(100vw - 48px));max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #dce5ea;border-radius:8px;background:#ffffff;box-shadow:0 24px 60px rgba(16,32,51,.22)}.personal-settings-modal{display:flex;width:min(92vw,1200px);max-height:88dvh;flex-direction:column;overflow:hidden;border-radius:14px;overscroll-behavior:contain}.personal-settings-header{flex:0 0 auto;padding:18px 32px}.personal-settings-header h2{font-size:var(--font-size-dialog-title);line-height:var(--line-height-title)}.personal-settings-close{border:0;border-radius:10px;background:transparent}.personal-settings-close:focus-visible,.personal-settings-close:hover{background:#eef3f5;outline:2px solid #244864;outline-offset:1px}.personal-settings-body{container:personal-settings-body/inline-size;display:grid;min-height:0;grid-gap:24px;gap:24px;overflow-y:auto;padding:24px 32px;overscroll-behavior:contain;scrollbar-gutter:stable}.personal-settings-primary-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;grid-gap:24px;gap:24px}.personal-preferences-form{display:flex;min-height:0;flex-direction:column;overflow:hidden}.personal-settings-section{min-width:0;border:1px solid #dce5ea;border-radius:12px;background:transparent;padding:24px}.personal-section-heading{margin-bottom:18px}.personal-section-heading h3,.personal-section-heading p{margin:0}.personal-section-heading h3{color:#102033;font-size:var(--font-size-section-title);line-height:var(--line-height-title)}.personal-section-heading p{margin-top:5px;color:#667684;font-size:var(--font-size-description);line-height:var(--line-height-description)}.personal-preferences-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.personal-settings-ai .personal-preferences-grid{grid-template-columns:minmax(0,1fr);gap:16px}.personal-preferences-grid label{display:grid;grid-gap:8px;gap:8px;color:#384957;font-size:var(--font-size-label)}.personal-preferences-grid select{width:100%;height:40px;border:1px solid #d6e0e6;border-radius:10px;background:#ffffff;color:#102033;padding:0 12px;outline:none}.personal-preferences-grid select:focus{border-color:#244864;box-shadow:0 0 0 3px rgba(36,72,100,.14)}.personal-instructions-field{display:grid;grid-gap:8px;gap:8px}.personal-instructions-field textarea{width:100%;min-height:140px;max-height:320px;field-sizing:content;resize:vertical;border:1px solid #d6e0e6;border-radius:10px;background:#ffffff;color:#102033;padding:12px;font:inherit;line-height:var(--line-height-body)}.personal-instructions-field textarea:focus{border-color:#244864;box-shadow:0 0 0 3px rgba(36,72,100,.14);outline:none}.instruction-size-hint{color:#667684;font-size:var(--font-size-description);line-height:var(--line-height-description)}.personal-preference-checks{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px}.personal-preference-checks label{display:flex;flex-direction:row;align-items:flex-start;gap:12px;min-height:40px;border-radius:10px;padding:8px 10px;color:#263847;cursor:pointer}.personal-preference-checks label:hover{background:#f6f9fa}.personal-preference-checks input{width:20px;height:20px;margin:1px 0 0;flex:0 0 auto;accent-color:#203f5b}.personal-preference-checks small,.personal-preference-checks span,.personal-preference-checks strong{display:block}.personal-preference-checks span{min-width:0}.personal-preference-checks strong{font-size:var(--font-size-label);line-height:var(--line-height-description)}.personal-preference-checks small{margin-top:2px;color:#667684;font-size:var(--font-size-description);line-height:var(--line-height-description)}.personal-settings-action-section{display:flex;align-items:center;justify-content:flex-end;gap:24px}.personal-settings-action-section .personal-section-heading{flex:1 1 auto;margin-bottom:0}.personal-settings-action-section button{flex:0 0 auto}.personal-preference-feedback:empty{display:none}.personal-preference-feedback .form-error,.personal-preference-feedback .form-success{margin:0}.personal-settings-footer{display:flex;flex:0 0 auto;justify-content:flex-end;gap:10px;border-top:1px solid #dce5ea;background:#ffffff;padding:16px 32px 24px}.personal-account-security button,.personal-settings-action-section button,.personal-settings-footer button{min-width:88px;height:40px;border-radius:10px;padding-right:18px;padding-left:18px}.personal-file-danger-zone{background:transparent}.personal-file-danger-zone h3,.personal-file-danger-zone p{margin-right:0}.personal-file-deletion-confirm{display:grid;grid-gap:16px;gap:16px;padding:20px}.file-deletion-summary{display:flex;align-items:baseline;justify-content:space-between;gap:14px;border:1px solid #ead8d2;border-radius:8px;background:#fff9f7;padding:18px}.file-deletion-summary strong{color:#8d2b20;font-size:28px}.file-deletion-summary span{color:#667684;font-weight:var(--font-weight-semibold)}.file-deletion-breakdown{display:grid;grid-gap:9px;gap:9px;margin:0}.file-deletion-breakdown>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e5ecef;padding:0 2px 9px}.file-deletion-breakdown dt{color:#526370;font-weight:var(--font-weight-semibold)}.file-deletion-breakdown dd{margin:0;color:#102033;font-weight:var(--font-weight-semibold)}.file-deletion-policy{border-radius:8px;background:#eef5f7;padding:14px 16px}.file-deletion-policy p{margin:7px 0 0;color:#526370;line-height:1.65}.personal-settings-account dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin:0}.personal-settings-account dl>div{display:grid;grid-gap:5px;gap:5px;min-width:0;border-left:2px solid #dce5ea;padding-left:12px}.personal-settings-account dt{color:#667684;font-size:13px;font-weight:var(--font-weight-semibold)}.personal-settings-account dd{margin:0;color:#102033;font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.personal-account-security{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;border-top:1px solid #dce5ea;padding-top:20px}.personal-account-security-copy{min-width:0}.personal-account-security h4,.personal-account-security p{margin:0}.personal-account-security h4{color:#102033;font-size:var(--font-size-label);line-height:var(--line-height-body)}.personal-account-security p{margin-top:4px;color:#667684;font-size:var(--font-size-description);line-height:var(--line-height-description)}.personal-account-security button{flex:0 0 auto}.personal-password-form{display:grid;grid-gap:14px;gap:14px;min-height:0;overflow-y:auto;padding:24px 32px 32px}.personal-password-form label{display:grid;grid-gap:8px;gap:8px;color:#384957;font-weight:var(--font-weight-semibold)}.personal-password-form input{min-width:0;min-height:40px;border:1px solid #d5e0e6;border-radius:10px;padding:8px 12px;font:inherit}.form-success{margin:12px 0 0;border-radius:8px;background:#e8f7ef;color:#17653c;padding:11px 13px;font-weight:var(--font-weight-semibold)}.confirm-modal{width:min(560px,calc(100vw - 48px))}.confirm-modal>p{margin:0;padding:22px;color:#384957;line-height:1.7}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid #dce5ea}.modal-header h2{margin:0;font-size:20px}.modal-header.personal-settings-header{padding:18px 32px}.modal-header.personal-settings-header h2{font-size:var(--font-size-dialog-title);line-height:var(--line-height-title)}.form-section{margin:16px;border:1px solid #dce5ea;border-radius:8px;padding:14px}.form-section h3{margin:0 0 14px;font-size:16px}.form-section label{display:grid;grid-gap:8px;gap:8px;color:#384957;font-weight:var(--font-weight-semibold)}.form-section input,.form-section select{width:100%;height:40px;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff;color:#102033;padding:0 12px;outline:none}.form-section input:focus,.form-section select:focus{border-color:#244864;box-shadow:0 0 0 3px rgba(36,72,100,.14)}.checkbox-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}.checkbox-row label{display:flex;align-items:center;gap:8px;font-weight:var(--font-weight-semibold)}.checkbox-row input{width:18px;height:18px}.model-list{margin-top:16px}.model-list p{margin:0 0 10px;color:#384957}.model-list p,.model-list p span{font-weight:var(--font-weight-semibold)}.model-list p span{color:#667684}.model-list>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.model-choice{min-height:74px;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff;color:#102033;padding:10px;text-align:left;cursor:pointer}.model-choice.selected{border-color:#244864;background:#eaf3f5}.model-choice small,.model-choice strong{display:block}.model-choice small{margin-top:6px;color:#667684}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid #dce5ea}.history-block{min-height:0;display:flex;flex-direction:column;padding:4px 14px 12px;overflow:hidden}.history-block h3{margin:12px 0 10px;font-size:14px;color:#102033}.history-list{flex:1 1 auto;min-height:0;display:grid;align-content:start;grid-gap:6px;gap:6px;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.compact-message,.history-empty{margin:0;font-size:13px}.history-item{display:grid;grid-template-columns:minmax(0,1fr) 34px;grid-gap:6px;gap:6px;align-items:center;border-radius:8px}.history-item.active{background:#eaf3f5}.history-item>button:first-child{min-width:0;border:0;border-radius:8px;background:transparent;color:#102033;padding:8px;text-align:left;cursor:pointer}.history-item span,.history-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item strong{font-size:13px}.history-item span{margin-top:4px;color:#667684;font-size:11px}.history-delete{width:28px;height:28px;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff;color:#667684;display:grid;place-items:center;cursor:pointer}.chat-workspace{position:relative;height:100%;min-height:0;min-width:0;display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden;background:var(--chat-canvas-background)}.chat-workspace.project-mode{grid-template-rows:auto minmax(0,1fr)}.chat-stage{position:relative;min-height:0;min-width:0;width:100%;max-width:100%;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;background:var(--chat-canvas-background)}.chat-stage.conversation-state{height:100%;max-height:100%;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.chat-stage.empty-state{grid-template-rows:auto auto minmax(0,1fr);align-content:start;overflow-y:auto;padding-top:var(--chat-empty-top-padding)}.chat-workspace.project-mode .chat-stage.empty-state{padding-top:max(0px,calc(var(--chat-empty-top-padding) - var(--project-tabs-row-height)))}.chat-body{grid-row:1;grid-column:1;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:36px var(--chat-surface-side-padding) 24px;background:var(--chat-canvas-background);scrollbar-gutter:stable both-edges}.empty-state .chat-body{overflow:visible;padding:0 var(--chat-surface-side-padding)}.chat-empty{display:grid;align-content:start;justify-items:center;text-align:center}.chat-empty h1{margin:0;color:#102033;font-size:clamp(30px,2.3vw,36px);line-height:1.25;letter-spacing:normal}.chat-empty p{margin:10px 0 0;color:#667684;font-size:14px;line-height:1.5}.chat-messages{width:min(var(--chat-column-width),100%);margin:0 auto;display:grid;grid-gap:16px;gap:16px}.chat-message{border:1px solid #dce5ea;border-radius:8px;padding:14px;background:#ffffff;box-shadow:0 10px 30px rgba(16,32,51,.05)}.chat-message.from-user{background:#f8fbfc}.message-meta{margin-bottom:8px;color:#667684;font-size:12px;font-weight:var(--font-weight-semibold)}.chat-message p{margin:0;color:#102033;line-height:1.7;white-space:pre-wrap}.message-content{display:grid;grid-gap:12px;gap:12px}.message-web-search{display:grid;grid-gap:8px;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid #dce5ea}.message-web-search-badges{display:flex;flex-wrap:wrap;gap:6px}.message-web-search-badge{display:inline-flex;min-width:0;align-items:center;border:1px solid #cbdce3;border-radius:999px;background:#eef6f8;color:#2a5d72;padding:3px 8px;font-size:11px;font-weight:var(--font-weight-semibold);line-height:1.3}.message-web-search-list{display:grid;grid-gap:6px;gap:6px;margin:0;padding-left:18px;color:#526775;font-size:12px}.message-web-search-list li{min-width:0}.message-web-search-list a{color:#1f607b;font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.message-web-search-list span{display:block;margin-top:2px;color:#7a8b98}.markdown-content{color:#102033;line-height:1.7;overflow-wrap:anywhere}.markdown-content :where(p,ul,ol,blockquote){margin:0}.markdown-content :where(ul,ol){display:grid;grid-gap:6px;gap:6px;padding-left:22px}.markdown-content :where(li){padding-left:2px}.markdown-content :where(li>p){display:inline}.markdown-content :where(strong){font-weight:var(--font-weight-semibold)}.markdown-content :where(a){color:#244c7a;font-weight:var(--font-weight-semibold);text-decoration:underline;text-underline-offset:3px}.markdown-content :where(blockquote){border-left:3px solid #9fb2bf;padding-left:12px;color:#415465}.markdown-content :where(input[type=checkbox]){width:14px;height:14px;margin:0 6px 0 0;vertical-align:-2px;accent-color:#2d405f}.markdown-table-scroll{max-width:100%;overflow-x:auto;border:1px solid #dce5ea;border-radius:8px;background:#ffffff}.markdown-table-scroll table{width:100%;min-width:520px;border-collapse:collapse;table-layout:auto}.markdown-table-scroll td,.markdown-table-scroll th{border-bottom:1px solid #e6edf1;padding:9px 11px;text-align:left;vertical-align:top;white-space:normal}.markdown-table-scroll th{background:#f4f6f8;color:#102033;font-weight:var(--font-weight-semibold)}.markdown-table-scroll tr:last-child td{border-bottom:0}.code-block-shell{max-width:100%;overflow:hidden;border:1px solid #d8e1e6;border-radius:8px;background:#172330}.code-block-header{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgb(255 255 255/10%);background:#111b26;padding:7px 10px 7px 14px}.code-block-language{min-width:0;overflow:hidden;color:#b7c5cf;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:11px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.code-block-language,.code-copy-button{font-weight:var(--font-weight-semibold)}.code-copy-button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;min-height:28px;border:1px solid rgb(255 255 255/15%);border-radius:6px;background:rgb(255 255 255/8%);color:#f4f7f8;padding:0 9px;font-size:12px;line-height:1;cursor:pointer}.code-copy-button:hover:not(:disabled){background:rgb(255 255 255/14%)}.code-copy-button:focus-visible{outline:2px solid #9cc8ff;outline-offset:2px}.code-copy-button:disabled{cursor:wait;opacity:.7}.code-copy-button.copied{border-color:rgb(168 232 193/55%);background:rgb(58 149 92/24%);color:#dbffe8}.code-copy-button.failed{border-color:rgb(255 178 178/55%);background:rgb(182 65 65/24%);color:#ffe3e3}.message-content pre{max-width:100%;overflow-x:auto;margin:0;border:1px solid #d8e1e6;border-radius:10px;background:#172330;color:#f4f7f8;padding:14px 16px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.55;-moz-tab-size:2;tab-size:2}.message-content .code-block-shell pre{border:0;border-radius:0;background:transparent;padding:14px 16px 16px}.message-content code{border-radius:4px;background:#edf3f6;padding:1px 4px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.92em;white-space:pre-wrap}.message-content pre code{display:block;background:transparent;padding:0;color:inherit;font-size:inherit;white-space:pre}.message-generation-status{display:inline-flex;margin-top:10px;border-radius:999px;padding:3px 8px;background:#e9f0f4;color:#526775;font-size:11px;font-weight:var(--font-weight-semibold)}.message-generation-status.cancelled,.message-generation-status.partial{background:#fff2d9;color:#7a4b00}.message-generation-status.failed{background:#fce8e8;color:#9b2c2c}.chat-composer-shell{grid-row:2;grid-column:1;align-self:end;position:relative;z-index:3;min-width:0;padding:10px var(--chat-surface-side-padding) calc(16px + env(safe-area-inset-bottom));border-top:1px solid #dce5ea;background:var(--chat-canvas-background);box-shadow:0 -10px 28px rgba(16,32,51,.035);transition:padding .18s ease,border-color .18s ease,background-color .18s ease}.empty-state .chat-composer-shell{border-top-color:transparent;background:transparent;box-shadow:none;margin-top:var(--chat-empty-composer-gap);padding-top:0}.chat-composer-content{width:min(var(--chat-column-width),calc(100% - var(--chat-scrollbar-gutter-width)));margin:0 auto}.chat-usage-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:7px;color:#667684;font-size:12px;font-weight:var(--font-weight-semibold)}.chat-usage-row label{margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:#102033}.chat-composer-card{overflow:hidden;border:1px solid #c9d7df;border-radius:8px;background:#ffffff;box-shadow:0 14px 36px rgba(16,32,51,.09)}.chat-composer-card textarea{width:100%;min-height:96px;max-height:420px;resize:none;border:0;border-bottom:1px solid #dce5ea;padding:14px 16px;color:#102033;font:inherit;font-size:14px;outline:none}.latest-message-button-row{grid-row:1;grid-column:1;align-self:end;justify-self:center;z-index:4;display:flex;justify-content:flex-end;width:var(--chat-column-width);max-width:calc(100% - var(--chat-surface-side-padding) - var(--chat-surface-side-padding) - var(--chat-scrollbar-gutter-width));margin-bottom:12px;pointer-events:none}.latest-message-button{display:inline-flex;align-items:center;gap:7px;min-height:36px;border:1px solid #cdd9df;border-radius:18px;background:#ffffff;color:#244864;padding:0 14px;font-size:12px;font-weight:var(--font-weight-semibold);box-shadow:0 8px 22px rgba(16,32,51,.12);cursor:pointer;pointer-events:auto}.chat-composer-actions{display:flex;align-items:center;gap:8px;padding:8px}.chat-composer-actions button,.chat-composer-actions select{height:36px;border:1px solid #d6e0e6;border-radius:8px;background:#ffffff;color:#102033;font-size:13px;font-weight:var(--font-weight-semibold)}.chat-composer-actions button{width:36px;display:grid;place-items:center}.chat-composer-actions .image-action-button{width:auto;grid-auto-flow:column;gap:6px;padding:0 10px}.chat-composer-actions .image-action-button.active{border-color:#39728f;background:#e8f3f7;color:#244864}.image-action-mode-note{display:inline-flex;min-height:32px;align-items:center;border:1px solid #d6e0e6;border-radius:999px;background:#f8fbfc;color:#526775;padding:0 10px;font-size:12px;font-weight:var(--font-weight-semibold);white-space:nowrap}.chat-composer-actions button:disabled{cursor:not-allowed;opacity:.55}.chat-composer-actions select{margin-left:auto;padding:0 12px}.chat-composer-actions .send-button{border-color:#244864;background:#244864;color:#ffffff}.chat-composer-actions .send-button.stop-button{border-color:#9b2c2c;background:#9b2c2c}.hidden-file-input{display:none}.message-file-list,.pending-file-list{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px 0}.message-file-list .message-file-item,.pending-file-list .pending-file-item{display:inline-flex;max-width:260px;align-items:center;gap:7px;overflow:hidden;border:1px solid #d6e0e6;border-radius:8px;background:#f8fbfc;color:#102033;font-size:12px;font-weight:var(--font-weight-semibold)}.pending-file-list .pending-file-item{padding:7px 8px}.pending-file-list .pending-file-remove{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border:0;border-radius:6px;background:#ffffff;color:#667684;cursor:pointer}.message-file-list{padding:12px 0 0}.message-file-list button,.pending-file-list button{border:0;background:transparent;color:inherit;cursor:pointer}.file-chip-button,.message-file-list .message-file-item>button:first-child{display:inline-flex;min-width:0;align-items:center;gap:7px;padding:8px 10px}.file-chip-button span,.pending-file-item>span:not(.file-preview-thumbnail-frame){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-thumbnail{display:grid;width:144px;min-width:0;grid-template-rows:104px;grid-gap:0;gap:0;padding:0;overflow:hidden;border-radius:8px;text-align:left}.file-preview-thumbnail-frame{display:grid;width:100%;height:104px;place-items:center;overflow:hidden;background:#e9eff2}.file-preview-thumbnail-frame img{width:100%;height:100%;object-fit:cover}.file-preview-thumbnail-missing{display:grid;justify-items:center;grid-gap:6px;gap:6px;color:#667684;font-size:12px}.message-file-item.message-file-preview,.pending-file-item.pending-file-preview{max-width:156px;align-items:stretch;padding:0}.message-file-item.message-file-preview{flex-direction:column}.pending-file-item.pending-file-preview{position:relative}.pending-file-item.pending-file-preview .pending-file-remove{position:absolute;top:6px;right:6px;box-shadow:0 4px 12px rgba(16,32,51,.14)}.message-file-list .message-file-delete{min-height:32px;border-top:1px solid #d6e0e6;border-radius:0;color:#9b2c2c}.message-file-item:not(.message-file-preview) .message-file-delete{align-self:stretch;border-top:0;border-left:1px solid #d6e0e6}.project-tabs{width:min(900px,calc(100% - 48px));margin:12px auto 0;display:flex;gap:4px;border-bottom:1px solid #dce5ea}.project-tabs button{min-width:70px;border:0;border-bottom:2px solid transparent;background:transparent;color:#667684;padding:11px 16px;font-weight:var(--font-weight-semibold);cursor:pointer}.project-tabs button.active{border-color:#244864;color:#102033}.project-panel{width:min(900px,calc(100% - 48px));max-height:calc(100% - 28px);margin:14px auto;overflow-y:auto;border:1px solid #dce5ea;border-radius:8px;background:#ffffff;box-shadow:0 12px 30px rgba(16,32,51,.05)}.project-panel-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding:18px;border-bottom:1px solid #e8eef2}.project-panel-header h1{margin:0;color:#102033;font-size:20px;letter-spacing:normal}.project-panel-header p{margin:8px 0 0;color:#667684;line-height:1.6}.project-storage-meter{display:grid;grid-gap:8px;gap:8px;padding:14px 18px 4px;color:#667684;font-size:13px;font-weight:var(--font-weight-semibold)}.project-storage-meter div{height:8px;overflow:hidden;border-radius:999px;background:#e8eef2}.project-storage-meter i{display:block;height:100%;border-radius:inherit;background:#244864}.file-list{display:grid;grid-gap:10px;gap:10px;padding:14px 18px 18px}.file-row{grid-template-columns:minmax(0,1fr) 40px;grid-gap:10px}.file-row,.file-row>button:first-child{display:grid;gap:10px;align-items:center}.file-row>button:first-child{min-width:0;grid-template-columns:20px minmax(0,1fr) auto;grid-gap:10px;border:1px solid #d6e0e6;border-radius:8px;background:#f8fbfc;padding:10px;color:#102033;text-align:left;cursor:pointer}.file-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-weight-semibold)}.file-row em{color:#667684;font-style:normal;font-size:12px}.project-instructions{display:block;width:calc(100% - 44px);min-height:220px;margin:18px 18px 8px;resize:vertical;border:1px solid #d6e0e6;border-radius:8px;padding:14px;color:#102033;font:inherit;line-height:1.7}.project-instructions-limit{margin:0 18px 18px}.file-preview-modal{display:flex;width:min(880px,calc(100vw - 32px));max-height:min(760px,calc(100dvh - 48px));flex-direction:column;overflow:auto;border-radius:8px;background:#ffffff;box-shadow:0 26px 70px rgba(16,32,51,.22)}.file-preview-modal img{display:block;max-width:100%;max-height:640px;margin:0 auto;object-fit:contain;padding:20px}.file-preview-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.file-preview-actions .secondary-button{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.file-preview-actions .danger-button{color:#ffffff}.file-preview-fallback{display:grid;min-height:260px;align-content:center;justify-items:center;grid-gap:14px;gap:14px;padding:30px;color:#667684;text-align:center}.unavailable-file-preview{color:#8a5a21}.settings-page{display:grid;grid-gap:16px;gap:16px;min-width:0}.settings-heading{margin-bottom:0}.settings-tabs{display:flex;gap:4px;overflow-x:auto;padding:4px;border:1px solid #dce5ea;border-radius:8px;background:#ffffff}.settings-tabs button{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;min-height:38px;padding:0 13px;border:0;border-radius:6px;background:transparent;color:#526475;font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer}.settings-tabs button.active,.settings-tabs button:hover{background:#e8f1f4;color:#173a57}.settings-loading,.settings-notice{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #cbdce3;border-radius:8px;background:#f3f8fa;color:#23425a}.settings-loading{min-height:180px;justify-content:center}.settings-notice.error{border-color:#d75b5b;background:#fff1f1;color:#832525}.settings-stack{display:grid;grid-gap:16px;gap:16px}.settings-section{min-width:0;overflow:hidden;border:1px solid #dce5ea;border-radius:8px;background:#ffffff}.settings-section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px;border-bottom:1px solid #e3eaee}.settings-section-title h2{margin:0 0 3px;font-size:17px}.settings-section-title p{margin:0;color:#687988;font-size:13px}.settings-policy-summary{display:block;margin-top:4px;color:#536a7a;font-size:12px}.model-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;padding:18px}.catalog-model{position:relative;display:grid;min-height:88px;align-content:center;grid-gap:6px;gap:6px;padding:15px 15px 15px 42px;border:1px solid #dce5ea;border-radius:8px;background:#f8fafb;color:#14283a;text-align:left;cursor:pointer}.catalog-model.selected,.catalog-model:hover{border-color:#7fa5b8;background:#edf5f7}.catalog-model.priority-candidate{border-left:3px solid #3d7892}.catalog-model.inactive-candidate{background:#fbfcfd}.catalog-model:disabled{cursor:not-allowed;opacity:.72}.settings-retained-models{margin:0 18px 18px;border:1px solid #dce5ea;border-radius:8px;background:#fbfcfd}.settings-retained-models>p,.settings-retained-models>strong{display:block;margin:14px 18px 0}.settings-retained-models>p{color:#687988;font-size:12px}.catalog-model small{color:#70808e}.catalog-check{position:absolute;top:16px;left:15px;width:18px;height:18px;color:#1f607b}.pricing-form,.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:13px;gap:13px;padding:18px}.settings-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:0}.pricing-form label,.settings-form-grid label{display:grid;grid-gap:7px;gap:7px;color:#293d4d;font-size:13px;font-weight:var(--font-weight-semibold)}.pricing-form input,.pricing-form select,.settings-form-grid input,.settings-form-grid select,.settings-form-grid textarea{min-width:0;min-height:42px;padding:9px 11px;border:1px solid #d5e0e6;border-radius:7px;background:#fbfcfd;color:#14283a;font:inherit}.settings-form-grid textarea{resize:vertical}.wide-field{grid-column:1/-1}.settings-actions,.settings-switches{display:flex;align-items:center;gap:16px;padding:0 18px 18px}.settings-switches label{display:inline-flex;align-items:center;gap:7px;color:#344c5e;font-weight:var(--font-weight-semibold)}.settings-switches .primary-button{margin-left:auto}.web-search-switches{align-items:flex-start;flex-wrap:wrap;padding-top:18px}.web-search-control-guide{margin-top:14px}.web-search-control-guide>div{background:#fbfcfd}.web-search-domain-warning{margin-top:0}.settings-role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;padding:0 18px 18px}.settings-role-grid label{display:inline-flex;min-height:42px;align-items:center;gap:7px;border:1px solid #dce5ea;border-radius:8px;background:#f8fafb;color:#344c5e;padding:0 12px;font-weight:var(--font-weight-semibold)}.settings-selection-count{color:#536a7a;font-size:13px;white-space:nowrap}.settings-policy-feedback{margin:0 18px 18px;border:1px solid #e4bf72;border-radius:10px;background:#fff9e9;color:#6b4b0d;padding:12px 14px;font-size:13px;line-height:1.45}.settings-policy-feedback p,.settings-policy-feedback strong,.settings-policy-feedback ul{margin:0}.settings-policy-feedback ul{padding:6px 0 0 18px}.settings-policy-feedback p{padding-top:8px}.settings-critical-feedback{margin:0 18px 18px;border:1px solid #d75b5b;border-radius:10px;background:#fff1f1;color:#832525;padding:12px 14px;font-size:13px;line-height:1.45}.settings-critical-feedback p,.settings-critical-feedback strong{margin:0}.settings-critical-feedback p{padding-top:6px}.icon-text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.pricing-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}.pricing-action-row{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;grid-gap:13px;gap:13px;align-items:end}.pricing-coverage{display:flex;min-width:0;min-height:42px;flex-wrap:nowrap;align-items:center;gap:8px 14px;padding:9px 11px;border:1px solid #d5e0e6;border-radius:7px}.pricing-coverage legend{padding:0 4px;color:#293d4d;font-size:12px;font-weight:var(--font-weight-semibold)}.pricing-coverage label{display:inline-flex;grid-auto-flow:column;align-items:center;gap:5px;white-space:nowrap}.pricing-coverage input{min-height:auto}.pricing-action-row input:focus-visible,.pricing-submit-button:focus-visible{outline:3px solid rgba(31,96,123,.32);outline-offset:2px}.pricing-submit-button{min-height:42px;justify-self:end;white-space:nowrap}.pricing-list{display:grid;grid-gap:8px;gap:8px;padding:0 18px 18px}.pricing-list>div{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(280px,1.5fr) minmax(150px,.8fr) minmax(180px,1fr);grid-gap:14px;gap:14px;align-items:center;padding:11px 13px;border:1px solid #e1e8ec;border-radius:7px;background:#f8fafb}.pricing-list small,.pricing-list span,.settings-empty{color:#687988;font-size:12px}.pricing-source-reference,.pricing-source-reference>a,.pricing-source-reference>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pricing-source-reference>a,.pricing-source-reference>span{color:inherit}.pricing-source-reference>a:focus-visible{border-radius:3px;outline:3px solid rgba(31,96,123,.32);outline-offset:2px}.settings-empty{grid-column:1/-1;padding:18px;text-align:center}.fixed-policy-grid,.integration-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;padding:0 18px 18px}.fixed-policy-grid>div,.integration-status-grid>div{display:grid;grid-gap:6px;gap:6px;min-height:76px;align-content:center;padding:13px;border:1px solid #dfe7eb;border-radius:7px;background:#f8fafb}.fixed-policy-grid span,.integration-status-grid span{color:#687988;font-size:12px;line-height:1.5}.integration-status-grid>.ok{border-color:#b9dcc9;background:#f1f8f4}.integration-status-grid>.warning{border-color:#ead5a1;background:#fff9e9}.operation-switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;padding:18px 18px 0}.operation-switches>label{display:flex;gap:10px;min-height:78px;align-items:flex-start;padding:14px;border:1px solid #dfe7eb;border-radius:7px;background:#f8fafb}.operation-switches span{display:grid;grid-gap:5px;gap:5px}.operation-switches small{color:#687988;font-size:12px}.settings-history-scroll{max-height:520px}.settings-history-table{min-width:760px}.spin{animation:settings-spin .9s linear infinite}@keyframes settings-spin{to{transform:rotate(1turn)}}@media (max-width:860px){.app-shell{--app-topbar-height:62px;--chat-surface-side-padding:14px;--chat-empty-top-padding:clamp(58px,7dvh,64px);--chat-empty-composer-gap:clamp(24px,4dvh,36px);height:100dvh;grid-template-rows:minmax(0,1fr)}.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar,.sidebar-drawer-overlay,.sidebar-resizer{display:none!important}.side-nav{display:grid;grid-gap:5px;gap:5px;overflow:visible;padding:14px}.side-nav button{width:100%;height:40px}.side-nav-item{display:grid}.workspace{grid-column:1;height:100dvh;min-height:0}.content-panel,.topbar{padding:14px}.topbar{position:relative;overflow:visible;gap:8px;padding-top:8px;padding-bottom:8px}.brand{padding-top:15px;padding-bottom:15px}.topbar h2{font-size:16px}.topbar-title-group{flex:1 1 auto;gap:8px;overflow:visible}.topbar-title-group>div:not(.role-menu){overflow:hidden}.topbar-title-group>.role-menu{overflow:visible}.topbar-context{max-width:36vw}.mobile-chat-list-button,.role-menu-button,.topbar-icon-button{width:42px;height:42px;flex-basis:42px}.role-menu-button{min-width:42px;padding:0}.role-menu-button>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.role-menu-panel{position:fixed;top:calc(var(--app-topbar-height) + 8px);left:12px;right:12px;z-index:45;width:auto;max-height:min(64dvh,480px);overflow:auto;overscroll-behavior:contain}.topbar-actions{gap:6px}.topbar-model-select{flex-basis:clamp(108px,34vw,146px)}.topbar-model-select select{height:42px;font-size:12px}.mobile-chat-list-panel .history-block{padding:0 10px 12px}.mobile-chat-list-panel .history-list{max-height:min(48dvh,430px)}.content-panel.chat-content-panel{padding:0}.fixed-policy-grid,.form-grid,.integration-status-grid,.metric-grid,.model-list>div,.operation-switches,.personal-preferences-grid,.settings-form-grid,.settings-form-grid.three,.settings-role-grid,.summary-grid,.user-section-grid{grid-template-columns:1fr}.model-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-actions,.settings-section-title,.settings-switches{align-items:stretch;flex-direction:column}.settings-switches .primary-button{margin-left:0}.pricing-form,.pricing-list>div{grid-template-columns:1fr}.pricing-action-row{grid-template-columns:minmax(0,1fr)}.inline-actions,.modal-footer,.page-heading,.personal-file-danger-zone,.search-inline,.user-search-bar{align-items:stretch;flex-direction:column}.search-inline input,.user-search-bar input{width:100%}.search-result{grid-template-columns:1fr}.chat-body{padding-top:24px;padding-bottom:18px}.chat-composer-shell{padding-right:var(--chat-surface-side-padding);padding-left:var(--chat-surface-side-padding)}.chat-composer-card textarea{min-height:96px;max-height:360px}.chat-composer-actions{gap:6px;padding:7px}.chat-composer-actions button{width:44px;height:44px}.chat-composer-actions .image-action-button{min-width:66px;width:auto;padding:0 9px;white-space:nowrap}.desktop-action-label{display:none}.mobile-action-label{display:inline}.image-action-mode-note{order:10;width:100%;justify-content:center}.chat-empty h1{font-size:26px}.chat-usage-row{gap:7px}.chat-usage-row label{margin-left:0}.project-panel,.project-tabs{width:calc(100% - 28px)}.api-key-summary{grid-template-columns:1fr}.api-key-tabs{width:100%}.api-key-tabs button{flex:1 0 auto}.api-key-limit-current,.usage-sync-panel{grid-template-columns:1fr}.usage-sync-panel{align-items:stretch}.usage-sync-action-column{justify-items:start}.usage-sync-action-row,.usage-sync-status-row{justify-content:flex-start}.usage-sync-action-row{align-items:flex-start;flex-direction:column}.api-key-detail-auto-row,.api-key-detail-key-row{grid-template-columns:1fr}.api-key-detail-status-action{justify-content:flex-start}.api-key-detail-course-line strong,.api-key-detail-key-name strong{white-space:normal}.api-key-course-group-header{display:grid;align-items:start;grid-gap:10px;gap:10px;padding:13px}.api-key-course-title span{white-space:normal}.api-key-course-meta{justify-content:flex-start;gap:7px}.api-key-course-meta>span{display:inline-flex;min-height:26px;align-items:center;border:1px solid #dce5ea;border-radius:999px;background:#f8fbfc;padding:3px 8px;white-space:nowrap}.api-key-table-scroll{overflow:visible}.api-key-admin-table,.api-key-course-table{display:block;min-width:0}.api-key-admin-table thead,.api-key-course-table thead{display:none}.api-key-admin-table tbody,.api-key-admin-table tr,.api-key-course-table tbody,.api-key-course-table tr{display:grid;min-width:0}.api-key-admin-table tbody,.api-key-course-table tbody{gap:10px;padding:10px}.api-key-admin-table tr,.api-key-course-table tr{gap:8px;border:1px solid #dce5ea;border-radius:8px;background:#ffffff;padding:11px}.api-key-admin-table td,.api-key-course-table td{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;border:0;padding:0;text-align:right;white-space:normal}.api-key-admin-table td:before,.api-key-course-table td:before{content:attr(data-label);flex:0 0 auto;color:#667684;font-size:12px;font-weight:var(--font-weight-semibold);text-align:left}.api-key-admin-table td:first-child,.api-key-course-table td:first-child{display:grid;justify-items:start;text-align:left}.api-key-admin-table td:first-child:before,.api-key-course-table td:first-child:before{margin-bottom:3px}.api-key-name-button{white-space:normal}.user-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-section-grid{grid-template-columns:1fr}.student-table-scroll,.user-management-table-scroll{overflow-y:auto}.user-management-table-scroll{max-height:calc(4 * 176px)!important}.student-table-scroll{max-height:calc(10 * 226px)!important}.student-table-scroll .data-table,.user-management-table{display:block;min-width:0}.student-table-scroll .data-table thead,.user-management-table thead{display:none}.student-table-scroll .data-table tbody,.student-table-scroll .data-table tr,.user-management-table tbody,.user-management-table tr{display:grid;min-width:0}.student-table-scroll .data-table tbody,.user-management-table tbody{gap:10px;padding:10px}.student-table-scroll .data-table tr,.user-management-table tr{gap:8px;border:1px solid #dce5ea;border-radius:8px;background:#ffffff;padding:11px}.student-table-scroll .data-table td,.user-management-table td{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;border:0;padding:0;text-align:right;white-space:normal}.student-table-scroll .data-table td:before,.user-management-table td:before{content:attr(data-label);flex:0 0 auto;color:#667684;font-size:12px;font-weight:var(--font-weight-semibold);text-align:left}.student-table-scroll .data-table strong,.user-management-cell-text{white-space:normal}.user-management-table .status-badge{white-space:nowrap}.student-table-scroll .control-button,.user-management-table .control-button{max-width:none;width:auto;min-width:88px}.teacher-course-summary{grid-template-columns:1fr}.teacher-student-panel-heading{align-items:stretch;flex-direction:column}.secret-value-row{grid-template-columns:1fr}}@media (max-width:480px){.pricing-coverage{flex-wrap:wrap}}@media (max-width:1180px){.api-key-admin-table,.api-key-course-table,.api-key-detail-table,.api-key-table{min-width:900px}}@media (max-width:860px){.api-key-admin-table,.api-key-course-table,.api-key-table{min-width:0}}@media (max-height:820px) and (min-width:861px){.app-shell{--app-topbar-height:72px;--chat-surface-side-padding:18px;--chat-empty-top-padding:clamp(58px,7dvh,64px);--chat-empty-composer-gap:clamp(24px,4dvh,36px)}.topbar{padding-top:10px;padding-bottom:10px}.brand{padding-top:15px;padding-bottom:15px}.side-nav button{height:42px}.chat-empty h1{font-size:30px}.chat-body{padding-top:24px}.chat-composer-shell{padding-top:8px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}}.monitoring-page{display:grid;grid-gap:18px;gap:18px;min-width:0}.monitoring-download-controls,.monitoring-page-heading,.monitoring-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.monitoring-page-heading h1,.monitoring-section-heading h2{margin:0 0 6px}.monitoring-section-heading h2{font-size:20px}.monitoring-admin-only{display:inline-flex;align-items:center;min-height:30px;border:1px solid #bed1dc;border-radius:999px;background:#edf5f8;color:#203f5b;padding:4px 11px;font-size:12px;font-weight:var(--font-weight-semibold);white-space:nowrap}.monitoring-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid #dce5ea}.monitoring-tabs button{min-height:44px;border:0;border-bottom:3px solid transparent;background:transparent;color:#667684;padding:0 18px;font-size:14px;font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap}.monitoring-tabs button[aria-selected=true]{border-bottom-color:#1e6974;color:#163b53}.monitoring-page button:focus-visible,.monitoring-page input:focus-visible,.monitoring-page select:focus-visible,.monitoring-sort:focus-visible,.monitoring-tabs button:focus-visible{outline:3px solid rgba(27,112,126,.28);outline-offset:2px}.monitoring-panel{display:grid;grid-gap:16px;gap:16px;min-width:0}.monitoring-actions,.monitoring-filter-form,.monitoring-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.monitoring-download-controls>label,.monitoring-filter-form label,.monitoring-toolbar label{display:grid;grid-gap:7px;gap:7px;color:#34495a;font-size:13px;font-weight:var(--font-weight-semibold)}.monitoring-download-controls input,.monitoring-filter-form input,.monitoring-toolbar select{min-width:136px;height:40px;border:1px solid #d1dde4;border-radius:8px;background:#ffffff;color:#102033;padding:0 11px;font:inherit}.monitoring-filter-form label:nth-child(2),.monitoring-filter-form label:nth-child(3){flex:1 1 210px}.monitoring-check{display:flex!important;align-items:center;min-height:40px;gap:8px!important;cursor:pointer}.monitoring-check input{width:18px;height:18px;accent-color:#1e6974}.monitoring-state{border:1px solid #dce5ea;border-radius:8px;background:#f8fbfc;color:#4d6272;padding:13px 15px;line-height:1.55}.monitoring-state-error{border-color:#edc5bc;background:#fff4f1;color:#8c2e22}.monitoring-state-empty{border-style:dashed;background:#fbfcfd}.monitoring-freshness{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #c9e2d3;border-radius:8px;background:#f0faf4;color:#235b39;padding:11px 14px}.monitoring-freshness span{font-size:13px}.monitoring-freshness-delayed{border-color:#ead6a2;background:#fff9e9;color:#765500}.monitoring-freshness-empty{border-color:#dce5ea;background:#f8fafb;color:#5d6f7c}.monitoring-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));grid-gap:12px;gap:12px}.monitoring-metric-card{display:grid;grid-gap:8px;gap:8px;min-width:0;border:1px solid #dce5ea;border-radius:10px;background:#ffffff;padding:14px}.monitoring-metric-card>span{min-height:32px;color:#667684;font-size:12px;font-weight:var(--font-weight-semibold)}.monitoring-metric-card strong{overflow-wrap:anywhere;color:#163b53;font-size:22px}.monitoring-sparkline{width:100%;height:64px}.monitoring-sparkline line{stroke:#e4ecef;stroke-width:1}.monitoring-sparkline polyline{fill:none;stroke:#1e7a87;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.monitoring-section{display:grid;grid-gap:12px;gap:12px;margin-top:4px}.monitoring-section-heading>strong{color:#163b53;font-size:22px}.monitoring-session-table{min-width:1500px}.monitoring-page .table-scroll:focus-visible{outline:3px solid rgba(27,112,126,.28);outline-offset:-3px}.monitoring-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.monitoring-usage-table{min-width:1880px}.monitoring-billing-table{min-width:1960px}.monitoring-adjustment-table{min-width:1180px}.monitoring-cell-note{display:block;margin-top:4px;color:#667684;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.monitoring-usage-table tfoot td,.monitoring-usage-table tfoot th{border-top:2px solid #b8cbd4;border-bottom:0;background:#edf4f6;color:#163b53;font-weight:var(--font-weight-semibold)}.monitoring-sort{border:0;background:transparent;color:inherit;padding:3px 0;font:inherit;cursor:pointer}.monitoring-badge,.monitoring-sort{font-weight:var(--font-weight-semibold);white-space:nowrap}.monitoring-badge{display:inline-flex;align-items:center;border-radius:999px;background:#e8f5ec;color:#24613a;padding:4px 9px;font-size:12px}.monitoring-badge.attribution-incomplete,.monitoring-badge.expiring,.monitoring-badge.incomplete{background:#fff2cf;color:#7a5600}.monitoring-badge.not_applicable{background:#eef2f4;color:#576a77}.monitoring-pagination{display:flex;align-items:center;justify-content:center;gap:12px}.monitoring-pagination span{min-width:90px;text-align:center;color:#536875;font-weight:var(--font-weight-semibold)}.monitoring-basis-note{border-left:3px solid #9ec1c8;background:#f7fafb;padding:10px 12px;font-size:13px}.monitoring-breakdown{min-width:280px;max-width:440px}.monitoring-breakdown summary{color:#196c78;font-weight:var(--font-weight-semibold);cursor:pointer}.monitoring-breakdown ul{display:grid;grid-gap:8px;gap:8px;margin:10px 0 0;padding:0;list-style:none}.monitoring-breakdown li{display:grid;grid-gap:3px;gap:3px;border-left:3px solid #b7d2d7;padding-left:8px;color:#536875;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.monitoring-breakdown li strong{color:#163b53}.monitoring-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.api-key-summary-stack{display:grid;grid-gap:6px;gap:6px;min-width:0}.monitoring-summary-grid>div{display:grid;grid-gap:7px;gap:7px;min-width:0;border:1px solid #dce5ea;border-radius:8px;background:#f9fbfc;padding:13px}.monitoring-summary-grid span{color:#667684;font-size:12px;font-weight:var(--font-weight-semibold)}.monitoring-summary-grid strong{overflow-wrap:anywhere;color:#163b53;font-size:18px}.monitoring-summary-grid small{color:#8a6b2f;font-size:11px;line-height:1.35}.api-key-summary-card-heading{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:10px}.api-key-summary-basis{flex:1 1 auto;min-width:0;color:#667684;font-size:11px;font-weight:var(--font-weight-medium);line-height:1.35;text-align:right;overflow-wrap:anywhere}.api-key-summary-note{margin:0;color:#667684;font-size:12px;line-height:1.45}.monitoring-download-controls{align-items:flex-end}.monitoring-export-actions,.monitoring-heading-actions{display:flex;justify-content:flex-end}.monitoring-heading-actions{align-items:flex-end;gap:10px}.monitoring-heading-actions label{display:grid;grid-gap:7px;gap:7px;color:#34495a;font-size:13px;font-weight:var(--font-weight-semibold)}.monitoring-heading-actions input{min-width:136px;height:40px;border:1px solid #d1dde4;border-radius:8px;background:#ffffff;color:#102033;padding:0 11px;font:inherit}.monitoring-download-subsection{display:grid;grid-gap:12px;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid #dce5ea}.monitoring-download-user-totals{margin-top:0;padding-top:0;border-top:0}.monitoring-user-token-total-scroll{max-height:366px}.monitoring-snapshot-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1px;gap:1px;overflow:hidden;margin:0;border:1px solid #dce5ea;border-radius:8px;background:#dce5ea}.monitoring-snapshot-meta>div{display:grid;grid-template-columns:130px minmax(0,1fr);grid-gap:10px;gap:10px;background:#ffffff;padding:11px 13px}.monitoring-snapshot-meta dt{color:#667684;font-weight:var(--font-weight-semibold)}.monitoring-snapshot-meta dd{min-width:0;margin:0}.monitoring-hash{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}@media (max-width:1180px){.monitoring-metric-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.monitoring-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.api-key-summary-card-heading{align-items:flex-start;flex-direction:column;gap:4px}.api-key-summary-basis{text-align:left}.monitoring-snapshot-meta{grid-template-columns:1fr}}@media (max-width:720px){.monitoring-page{gap:14px;padding:16px}.monitoring-download-controls,.monitoring-freshness,.monitoring-heading-actions,.monitoring-page-heading,.monitoring-section-heading{align-items:stretch;flex-direction:column}.monitoring-tabs button{padding:0 13px}.monitoring-actions,.monitoring-filter-form,.monitoring-toolbar{align-items:stretch;flex-direction:column}.monitoring-download-controls>label,.monitoring-filter-form label,.monitoring-filter-form label:nth-child(2),.monitoring-filter-form label:nth-child(3),.monitoring-heading-actions label,.monitoring-toolbar label{flex:0 0 auto;width:100%}.monitoring-actions button,.monitoring-download-controls input,.monitoring-filter-form input,.monitoring-heading-actions input,.monitoring-toolbar select{width:100%}.monitoring-metric-grid,.monitoring-snapshot-meta>div,.monitoring-summary-grid{grid-template-columns:1fr}}body :where(*){font-weight:var(--font-weight-regular)!important;letter-spacing:normal}body :where(button,label,dt,input,select,textarea){font-weight:var(--font-weight-medium)!important}body :where(h1,h2,h3,h4,h5,h6,strong,b,th,legend,.top-kicker,.status-badge,.active){font-weight:var(--font-weight-semibold)!important}body :where(button,input,select,textarea){font-size:var(--font-size-input)!important;line-height:var(--line-height-body)}body :where(button){font-size:var(--font-size-button)!important}body :where(label){font-size:var(--font-size-label)!important}body :where(.side-nav button,.role-menu button){font-size:var(--font-size-sidebar)!important}body :where(table th,table td){font-size:var(--font-size-table)!important}body :where(table th button){font-size:var(--font-size-table)!important}body :where(.api-key-table th,.api-key-table th button){font-size:12px!important}body :where(.user-management-table th,.user-management-table th button){font-size:12px!important}body :where(.api-key-table .control-button){font-size:12px!important}body :where(.user-management-table .control-button){font-size:12px!important}body :where(small,.form-hint,.small-note,.topbar-context){font-size:var(--font-size-description)!important;line-height:var(--line-height-description)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;margin:-1px!important;padding:0!important;border:0!important;white-space:nowrap!important}.personal-file-deletion-confirm{min-height:0;overflow-y:auto;padding:24px 32px 32px}@container personal-settings-body (min-width: 960px){.personal-preference-checks,.personal-settings-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-preference-checks{column-gap:40px;row-gap:24px}}@media (max-width:767px){.modal-backdrop{padding:12px}.personal-settings-modal{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.modal-header.personal-settings-header{padding:16px 18px}.personal-settings-body{gap:16px;padding:18px;scrollbar-gutter:auto}.personal-settings-section{padding:18px}.personal-preferences-grid,.personal-settings-account dl{grid-template-columns:1fr}.personal-account-security,.personal-settings-action-section{align-items:stretch;flex-direction:column;gap:16px}.personal-account-security button,.personal-settings-action-section button{width:100%}.personal-settings-footer{padding:14px 18px 18px}.personal-settings-footer button{flex:1 1}.file-preview-actions{width:100%}.file-preview-actions .danger-button,.file-preview-actions .secondary-button{flex:1 1 auto;justify-content:center}.file-preview-actions .icon-button{display:none}.file-preview-thumbnail{width:132px;grid-template-rows:88px}.file-preview-thumbnail-frame{height:88px}.message-file-item.message-file-preview,.pending-file-item.pending-file-preview{max-width:144px}.personal-file-deletion-confirm,.personal-password-form{padding:20px 18px 24px}}