:root{--color-brand-primary:#d50712;--color-brand-primary-hover:#b80610;--color-brand-primary-active:#94050c;--color-brand-primary-soft:#fbeaec;--color-brand-on-primary:#ffffff;--color-ink:#101318;--color-ink-secondary:#343a43;--color-text-muted:#626b76;--color-canvas:#f6f6f7;--color-surface:#ffffff;--color-surface-elevated:#ffffff;--color-surface-dark:#101318;--color-sidebar-background:#04060e;--color-border:#dcdfe4;--color-border-strong:#b8bec7;--color-focus-ring:#d50712;--color-link:#b80610;--color-link-hover:#94050c;--color-disabled-background:#e6e8eb;--color-disabled-text:#737b86;--color-input-background:#ffffff;--color-input-hover-border:#8e96a1;--color-input-focus-border:var(--color-brand-primary);--color-auth-aside-surface:#fdf7f7;--color-danger-hover:#8f1f16;--color-danger-active:#751811;--color-success:#176b43;--color-success-soft:#e6f4ec;--color-warning:#8a5100;--color-warning-soft:#fff1dc;--color-danger:#b42318;--color-danger-soft:#fce9e7;--font-sans:Aptos,"Segoe UI","Noto Sans","Helvetica Neue",sans-serif;--font-display:var(--font-sans);--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--line-height-tight:1.2;--line-height-body:1.6;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 2px 8px rgba(16,19,24,0.08);--shadow-md:0 12px 28px rgba(16,19,24,0.1);--shadow-lg:0 24px 54px rgba(16,19,24,0.14);--content-max-width:1200px;--form-max-width:560px;--modal-max-width:560px;--sidebar-width:280px;--header-height:64px;--mobile-document-tabs-bar-height:64px;--mobile-document-tabs-safe-bottom:env(safe-area-inset-bottom);--mobile-document-tabs-total-height:calc(var(--mobile-document-tabs-bar-height) + var(--mobile-document-tabs-safe-bottom));--z-base:0;--z-sticky:10;--z-drawer:40;--z-select:45;--z-modal:50;--z-toast:60;--breakpoint-tablet:768px;--breakpoint-desktop:1024px;--bg:var(--color-canvas);--bg-soft:#f0f1f3;--surface:var(--color-surface);--surface-muted:#f7f8f9;--surface-strong:#f1f2f4;--text:var(--color-ink);--text-muted:var(--color-text-muted);--brand:var(--color-brand-primary);--brand-strong:var(--color-brand-primary-active);--brand-soft:var(--color-brand-primary-soft);--warn-soft:var(--color-warning-soft);--warn-border:#e8c58b;--danger-soft:var(--color-danger-soft);--danger-border:#efb4ac;--line:var(--color-border)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--color-canvas);color:var(--text);font-family:var(--font-sans)}a{color:var(--color-link);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}.brand-logo{display:block;width:auto;height:auto;max-width:100%}.auth-logo{width:min(230px,100%);margin-bottom:var(--space-5)}.app-shell,.auth-page{min-height:100vh}.auth-page{display:grid;place-items:center;padding:32px 18px}.auth-layout{width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);grid-gap:22px;gap:22px;align-items:stretch}.app-panel,.app-sidebar,.auth-aside,.auth-panel{background:rgba(255,255,255,.92);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.auth-panel{padding:28px}.auth-aside{padding:24px;background:linear-gradient(180deg,var(--color-auth-aside-surface) 0,var(--color-surface) 100%)}.auth-header{margin-bottom:24px}.auth-eyebrow{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 14px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.auth-title{margin:18px 0 10px;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.02}.auth-subtitle{margin:0;max-width:42rem;color:var(--text-muted);font-size:1.03rem;line-height:1.7}.auth-card{padding:22px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.auth-card+.auth-card,.auth-stack>*+*{margin-top:16px}.auth-card-title{margin:0 0 8px;font-size:1.1rem;font-weight:700}.auth-card-copy{margin:0;color:var(--text-muted);line-height:1.65}.auth-form{display:grid;grid-gap:16px;gap:16px}.auth-field,.select-field{display:grid;grid-gap:8px;gap:8px}.select-field{position:relative;min-width:0}.select-label{display:block}.select-trigger{width:100%;min-height:52px;display:flex;align-items:center;gap:var(--space-2);gap:var(--space-3);padding:0 14px 0 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-input-background);color:var(--color-ink);text-align:left;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.select-trigger:hover:not(:disabled){border-color:var(--color-input-hover-border);background:var(--surface-muted)}.select-trigger:focus-visible{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 4px rgba(213,7,18,.18)}.select-trigger:disabled{border-color:var(--color-border);background:var(--color-disabled-background);color:var(--color-disabled-text)}.select-trigger-invalid{border-color:var(--color-danger)}.select-help,.select-placeholder{color:var(--color-text-muted)}.select-chevron{flex:0 0 auto;color:var(--color-brand-primary-active);font-size:1.25rem;line-height:1}.select-listbox{position:absolute;z-index:var(--z-select);top:calc(100% + var(--space-2));right:0;left:0;max-height:min(280px,calc(100vh - 160px));overflow-y:auto;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);box-shadow:var(--shadow-md)}.select-option{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);text-align:left}.select-option-active:not(:disabled):not(.select-option-selected),.select-option:hover:not(:disabled):not(.select-option-selected){background:var(--color-brand-primary-soft);color:var(--color-brand-primary-active)}.select-option-selected{background:var(--color-brand-primary);color:var(--color-brand-on-primary);font-weight:var(--font-weight-semibold)}.select-option:disabled{color:var(--color-disabled-text);cursor:not-allowed}.select-check{flex:0 0 auto;font-weight:var(--font-weight-bold)}.select-error,.select-help{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-body)}.select-error{color:var(--color-danger)}.auth-label{font-size:.93rem;font-weight:700;color:var(--brand-strong)}.auth-input{width:100%;min-height:52px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--color-input-background);color:var(--text);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.auth-input::placeholder{color:var(--color-text-muted);opacity:1}.auth-input:hover:not(:disabled):not([readonly]){border-color:var(--color-input-hover-border)}.auth-input:focus{outline:none;border-color:var(--color-input-focus-border);box-shadow:0 0 0 4px rgba(213,7,18,.18)}.auth-input:disabled{border-color:var(--color-border);background:var(--color-disabled-background);color:var(--color-disabled-text)}.auth-input[readonly]{background:var(--surface-muted);color:var(--color-ink-secondary)}.auth-input[aria-invalid=true]{border-color:var(--color-danger)}.auth-input[aria-invalid=true]:focus{border-color:var(--color-danger);box-shadow:0 0 0 4px rgba(180,35,24,.18)}.auth-input:-webkit-autofill,.auth-input:-webkit-autofill:active,.auth-input:-webkit-autofill:focus,.auth-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-ink);caret-color:var(--color-ink);box-shadow:0 0 0 1000px var(--color-input-background) inset;-webkit-transition:background-color 9999s ease-out 0s;transition:background-color 9999s ease-out 0s}.auth-input:-webkit-autofill:focus{border-color:var(--color-input-focus-border);box-shadow:0 0 0 1000px var(--color-input-background) inset,0 0 0 4px rgba(213,7,18,.18)}.document-file-input::-webkit-file-upload-button{margin-right:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer}.document-file-input::file-selector-button{margin-right:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer}.document-file-input:hover:not(:disabled)::-webkit-file-upload-button{border-color:var(--color-brand-primary);background:var(--color-brand-primary-soft);color:var(--color-brand-primary-active)}.document-file-input:hover:not(:disabled)::file-selector-button{border-color:var(--color-brand-primary);background:var(--color-brand-primary-soft);color:var(--color-brand-primary-active)}.document-file-input:focus::-webkit-file-upload-button{border-color:var(--color-input-focus-border)}.document-file-input:focus::file-selector-button{border-color:var(--color-input-focus-border)}.auth-help{margin:0;color:var(--text-muted);font-size:.92rem;line-height:1.55}.auth-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.btn{min-height:50px;padding:0 18px;border:1px solid var(--color-brand-primary);border-radius:999px;background:var(--color-brand-primary);color:white;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.btn:hover:not(:disabled){background:var(--color-brand-primary-hover);border-color:var(--color-brand-primary-hover);box-shadow:0 10px 20px rgba(213,7,18,.2);transform:translateY(-1px)}.btn:active:not(:disabled){background:var(--color-brand-primary-active);border-color:var(--color-brand-primary-active);transform:translateY(0)}.btn:disabled{border-color:var(--color-disabled-background);background:var(--color-disabled-background);color:var(--color-disabled-text);cursor:not-allowed}.btn-secondary{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-ink)}.btn-secondary:hover:not(:disabled){border-color:var(--color-brand-primary);background:var(--color-brand-primary-soft);color:var(--color-brand-primary-active)}.btn-danger{border-color:var(--color-danger);background:var(--color-danger)}.btn-danger:hover:not(:disabled){border-color:var(--color-danger-hover);background:var(--color-danger-hover);box-shadow:0 10px 20px rgba(180,35,24,.2)}.btn-danger:active:not(:disabled){border-color:var(--color-danger-active);background:var(--color-danger-active)}.notice{padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-strong);color:var(--text);line-height:1.55}.notice p{margin:0}.notice-warn{border-color:var(--warn-border);background:var(--warn-soft)}.notice-danger{border-color:var(--danger-border);background:var(--danger-soft)}.notice-soft{background:var(--brand-soft);border-color:rgba(213,7,18,.22)}.auth-list{display:grid;grid-gap:12px;gap:12px;padding:0;margin:18px 0 0;list-style:none}.auth-list li{padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.auth-list strong,.metric-value{display:block;margin-bottom:4px;color:var(--brand-strong)}.app-page{min-height:100vh;padding:24px 18px}.app-layout{width:min(1180px,100%)}.admin-layout,.app-layout{margin:0 auto;display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);grid-gap:22px;gap:22px}.admin-layout{width:min(1320px,100%)}.app-sidebar{padding:22px;background:linear-gradient(180deg,var(--color-auth-aside-surface) 0,var(--color-surface) 100%)}.brand-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:var(--brand);color:white;box-shadow:0 18px 30px rgba(213,7,18,.16)}.app-hero-title,.brand-mark,.sidebar-title{font-family:var(--font-display);font-size:1.8rem}.app-hero-title,.sidebar-title{margin:14px 0 8px}.app-card-copy,.app-hero-copy,.muted,.sidebar-copy{margin:0;color:var(--text-muted);line-height:1.65}.sidebar-menu{display:grid;grid-gap:10px;gap:10px;margin:20px 0}.sidebar-item{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border-radius:14px;color:var(--brand-strong);background:rgba(255,255,255,.64);border:1px solid transparent}.sidebar-item-active{background:white;border-color:rgba(213,7,18,.22);box-shadow:0 10px 22px rgba(16,19,24,.08)}.app-panel{padding:28px}.admin-panel{display:grid;grid-gap:22px;gap:22px}.app-hero{display:grid;grid-gap:18px;gap:18px}.badge-row{display:flex;flex-wrap:wrap;gap:10px}.pill{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:var(--brand-soft);color:var(--brand-strong);font-size:.88rem;font-weight:700}.app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px;margin-top:22px}.admin-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.admin-form-card,.admin-list-card,.denied-panel,.temporary-password-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffff,#fbfdfc);box-shadow:var(--shadow-md);padding:22px}.admin-form,.admin-list-card{display:grid;grid-gap:16px;gap:16px}.admin-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.admin-select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.admin-list-header,.admin-user-card-header,.temporary-password-value{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.admin-user-list{display:grid;grid-gap:14px;gap:14px}.admin-user-card{width:100%;padding:18px;border:1px solid var(--color-border);border-radius:18px;background:rgba(255,255,255,.92);text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.admin-user-card:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(16,19,24,.08)}.admin-user-card-active{border-color:rgba(213,7,18,.42);box-shadow:0 18px 32px rgba(16,19,24,.1);background:linear-gradient(180deg,var(--color-brand-primary-soft) 0,#ffffff 100%)}.admin-detail-item span,.admin-user-card p,.admin-user-meta{margin:0;color:var(--text-muted)}.admin-detail-grid,.admin-user-meta{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;border-radius:16px;background:var(--surface-muted)}.admin-detail-item{display:grid;grid-gap:4px;gap:4px}.documents-panel{gap:22px}.documents-content-grid{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(260px,.65fr);grid-gap:18px;gap:18px}.documents-guidance-card,.documents-list-card,.documents-upload-card{display:grid;grid-gap:16px;gap:16px}.document-file-input{padding:12px 14px}.document-selected-file{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:14px 16px;border:1px solid var(--color-border);border-radius:16px;background:var(--surface-muted)}.document-selected-file span{color:var(--text-muted)}.document-checkbox{display:grid;grid-template-columns:22px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;color:var(--brand-strong);font-weight:700;line-height:1.55}.document-checkbox input{width:18px;height:18px;margin-top:3px;accent-color:var(--brand)}.document-safe-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding-left:20px;color:var(--text-muted);line-height:1.55}.document-card,.document-list{display:grid;grid-gap:16px;gap:16px}.document-card{padding:18px;border:1px solid var(--color-border);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 14px 28px rgba(16,19,24,.06)}.document-card-header,.document-processing-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.document-card-header h4{margin:0 0 6px;font-size:1.05rem}.document-card-header p{margin:0;color:var(--text-muted);word-break:break-word}.document-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.document-meta-item{min-width:0;padding:12px;border-radius:14px;background:var(--surface-muted)}.document-meta-item span{word-break:break-word}.document-processing-box{display:grid;grid-gap:12px;gap:12px;padding:14px;border-radius:16px;border:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-auth-aside-surface) 0,#ffffff 100%)}.document-processing-meta{grid-template-columns:repeat(4,minmax(0,1fr))}.document-learn-panel{align-content:start}.document-answer-card,.document-learn-ask-card,.document-learn-summary{display:grid;grid-gap:16px;gap:16px}.document-tab-panel{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.document-tabs-desktop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--surface-muted)}.document-bottom-tab,.document-top-tab{min-width:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink-secondary);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);text-align:center}.document-bottom-tab:hover:not(.document-tab-coming-soon),.document-top-tab:hover:not(.document-tab-coming-soon){background:var(--color-brand-primary-soft);color:var(--color-brand-primary-active)}.document-tab-active{border-color:rgba(213,7,18,.28);background:var(--color-surface);color:var(--color-brand-primary-active);box-shadow:inset 0 -3px 0 var(--color-brand-primary)}.document-tab-coming-soon{flex-direction:column;color:var(--color-text-muted);cursor:default}.document-tab-coming-soon small{color:var(--color-danger-hover);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.document-tabs-mobile{display:none}.blueprint-item-list,.blueprint-module-list,.blueprint-panel,.blueprint-stack,.knowledge-panel,.knowledge-point-list,.knowledge-stack,.knowledge-topic-body,.knowledge-topic-list{display:grid;grid-gap:16px;gap:16px}.knowledge-summary-text{margin:0;color:var(--text);line-height:1.75;overflow-wrap:anywhere}.knowledge-overview-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--text-muted);font-weight:700}.knowledge-overview-meta span{min-height:32px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;background:var(--surface-muted)}.knowledge-topic{border:1px solid var(--color-border);border-radius:18px;background:rgba(255,255,255,.94);overflow:hidden}.blueprint-module-trigger,.knowledge-topic-trigger{width:100%;min-height:64px;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;border:0;background:transparent;color:var(--text);text-align:left}.blueprint-module-trigger:focus-visible,.citation-badge-button:focus-visible,.knowledge-topic-trigger:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:-3px}.blueprint-module-title,.knowledge-topic-title{min-width:0;display:flex;gap:8px;align-items:baseline;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.knowledge-topic-index{flex:0 0 auto;color:var(--brand)}.blueprint-module-meta,.knowledge-topic-meta{flex:0 0 auto;display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.knowledge-chevron{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:var(--brand-soft);color:var(--brand-strong);font-weight:900}.knowledge-topic-body{padding:0 16px 16px}.blueprint-overview-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--text-muted);font-weight:700}.blueprint-overview-meta span{min-height:32px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;background:var(--surface-muted)}.blueprint-module{border:1px solid var(--color-border);border-radius:18px;background:rgba(255,255,255,.94);overflow:hidden}.blueprint-module-body{display:grid;grid-gap:16px;gap:16px;padding:0 16px 16px}.blueprint-item-card{display:grid;grid-gap:10px;gap:10px;padding:14px;border-radius:16px;background:var(--surface-muted);border:1px solid var(--color-border)}.blueprint-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.blueprint-item-header h4{margin:0;min-width:0;font-size:1rem;line-height:1.45;overflow-wrap:anywhere}.blueprint-item-card p,.blueprint-related-list{margin:0;color:var(--text-muted);line-height:1.65;overflow-wrap:anywhere}.blueprint-inferred-note{padding:10px 12px;border-radius:14px;border:1px solid var(--warn-border);background:var(--warn-soft);color:#70470e}.blueprint-related-list{display:grid;grid-gap:8px;gap:8px}.blueprint-related-list strong{color:var(--brand-strong)}.blueprint-not-detected{padding:0;overflow:hidden}.blueprint-not-detected .blueprint-module-trigger{padding:16px 20px}.blueprint-not-detected .blueprint-module-body{padding:0 20px 20px}.blueprint-not-detected-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.blueprint-not-detected-list li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px;border-radius:14px;background:var(--surface-muted)}.knowledge-point-card{display:grid;grid-gap:10px;gap:10px;padding:14px;border-radius:16px;background:var(--surface-muted);border:1px solid var(--color-border)}.knowledge-point-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.knowledge-point-header h4{margin:0;min-width:0;font-size:1rem;line-height:1.45;overflow-wrap:anywhere}.knowledge-point-card p{margin:0;color:var(--text-muted);line-height:1.65;overflow-wrap:anywhere}.knowledge-source-list{display:grid;grid-gap:8px;gap:8px}.knowledge-source-list strong{color:var(--brand-strong)}.knowledge-safe-error{margin-top:8px}.document-ask-form{display:grid;grid-gap:14px;gap:14px}.document-question-input{min-height:156px;resize:vertical;line-height:1.6}.document-question-footer{display:flex;justify-content:flex-end}.document-answer-text{margin:0;color:var(--text);line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.document-citation-list{display:grid;grid-gap:10px;gap:10px}.document-citation-list strong{color:var(--brand-strong)}.document-citation-badges{display:flex;flex-wrap:wrap;gap:8px}.citation-badge{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--color-border);background:var(--surface-strong);color:var(--brand-strong);font-size:.88rem;font-weight:700}.citation-badge-button{border-color:var(--color-border-strong);cursor:pointer}.document-not-found-card{border-color:var(--warn-border);background:linear-gradient(180deg,rgba(249,239,225,.78),#ffffff)}.document-status-pending_processing,.document-status-processed,.document-status-processing,.document-status-uploaded{background:var(--brand-soft);color:var(--brand-strong)}.document-status-failed{background:var(--warn-soft);color:#9a5c11}.btn-danger-outline{border-color:var(--color-danger);color:var(--color-danger);background:var(--danger-soft)}.btn-danger-outline:hover:not(:disabled){border-color:var(--color-danger-hover);background:var(--color-danger-soft);color:var(--color-danger-hover)}.status-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;font-size:.82rem;font-weight:700}.status-active{background:var(--brand-soft);color:var(--brand-strong)}.status-deleted,.status-locked{background:var(--warn-soft);color:#9a5c11}.temporary-password-card{display:grid;grid-gap:16px;gap:16px;border-color:rgba(228,194,150,.6);background:linear-gradient(180deg,rgba(249,239,225,.86),#ffffff)}.temporary-password-value{flex-wrap:wrap}.temporary-password-value code{display:inline-flex;align-items:center;min-height:48px;padding:0 14px;border-radius:14px;background:rgba(24,50,41,.08);color:var(--brand-strong);font-size:.98rem;word-break:break-all}.dialog-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(16,19,24,.36);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dialog-surface{width:min(520px,100%);display:grid;grid-gap:18px;gap:18px;padding:22px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:rgba(255,255,255,.96);box-shadow:var(--shadow-lg)}.dialog-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.dialog-title{margin:0;font-family:var(--font-display);font-size:1.45rem;line-height:1.15}.dialog-description{margin:10px 0 0;color:var(--text-muted);line-height:1.65}.dialog-close{width:42px;height:42px;border:1px solid var(--color-border);border-radius:999px;background:var(--surface-muted);color:var(--brand-strong);font-size:1.5rem;line-height:1}.dialog-close:hover:not(:disabled){background:var(--brand-soft)}.dialog-error{margin:0;padding:14px 16px;border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-soft);color:#7f2f23;line-height:1.55}.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px}.denied-panel{width:min(720px,100%);margin:48px auto;display:grid;grid-gap:18px;gap:18px}.app-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffff,#fbfdfc)}.app-card-title{margin:0 0 10px;font-size:1.05rem}.empty-state{display:grid;grid-gap:14px;gap:14px;margin-top:22px;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--color-auth-aside-surface) 0,rgba(255,255,255,.92) 100%);text-align:center}.empty-icon{font-size:2.8rem}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:14px;gap:14px;margin-top:22px}.metric-card{padding:16px;border-radius:18px;border:1px solid var(--color-border);background:rgba(255,255,255,.82)}.metric-label{margin:0;color:var(--text-muted);font-size:.9rem}.loading-state{min-height:100vh;display:grid;place-items:center;padding:24px}.loading-card{width:min(420px,100%);padding:28px;border-radius:var(--radius-xl);background:rgba(255,255,255,.92);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);text-align:center}.loading-dot{width:16px;height:16px;margin:0 auto 16px;border-radius:999px;background:var(--brand);animation:pulse 1s ease-in-out infinite}.fade-up{animation:fadeUp .42s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(.85);opacity:.7}50%{transform:scale(1);opacity:1}}@media (max-width:960px){.admin-content-grid,.admin-layout,.app-layout,.auth-layout,.documents-content-grid{grid-template-columns:1fr}.auth-aside{order:-1}}@media (max-width:640px){.app-page,.auth-page{padding:16px}.app-panel,.app-sidebar,.auth-aside,.auth-panel{padding:20px;border-radius:22px}.auth-title{font-size:2rem}.admin-detail-grid,.admin-form-row,.document-meta-grid,.document-processing-meta{grid-template-columns:1fr}.admin-list-header,.blueprint-item-header,.blueprint-module-trigger,.document-card-header,.document-processing-header,.knowledge-point-header,.knowledge-topic-trigger{flex-direction:column}.blueprint-module-meta,.knowledge-topic-meta{width:100%;justify-content:space-between}.blueprint-not-detected-list li{align-items:flex-start;flex-direction:column}.dialog-backdrop{padding:16px}.dialog-surface{padding:20px}.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%}.document-question-footer{justify-content:flex-start}.document-ask-form .btn,.document-learn-summary .btn{width:100%}}@media (max-width:767px){.document-tabs-desktop{display:none}.document-tabs-mobile{position:fixed;z-index:calc(var(--z-sticky) + 1);right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:0;gap:0;min-height:var(--mobile-document-tabs-total-height);padding:var(--space-2) var(--space-2) calc(var(--space-2) + var(--mobile-document-tabs-safe-bottom));border-top:1px solid var(--color-border);background:rgba(255,255,255,.98);box-shadow:0 -8px 20px rgba(16,19,24,.1)}.document-bottom-tab{min-height:48px;padding:var(--space-1);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.document-bottom-tab.document-tab-active{background:var(--color-brand-primary-soft)}.document-bottom-tab.document-tab-coming-soon small{font-size:.65rem}.document-learn-panel{padding-bottom:calc(var(--mobile-document-tabs-total-height) + var(--space-4))}}.skip-link{position:fixed;z-index:var(--z-toast);top:var(--space-2);left:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-surface-dark);color:var(--color-brand-on-primary);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell-foundation{min-height:100vh;background:var(--color-canvas)}.mobile-app-header{position:-webkit-sticky;position:sticky;z-index:var(--z-sticky);top:0;display:flex;min-height:var(--header-height);align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:rgba(255,255,255,.96)}.mobile-brand-link{flex:0 0 auto;display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center}.mobile-brand-link .brand-logo{width:36px;height:36px}.mobile-page-title{min-width:0;flex:1 1 auto;margin:0;overflow:hidden;color:var(--color-ink);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);text-overflow:ellipsis;white-space:nowrap}.icon-button{flex:0 0 auto;display:inline-grid;width:44px;height:44px;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font-size:1.25rem}.mobile-drawer-backdrop{position:fixed;z-index:calc(var(--z-drawer) - 1);inset:0;border:0;background:rgba(16,19,24,.48)}.shared-sidebar{position:fixed;z-index:var(--z-drawer);top:0;bottom:0;left:0;width:min(var(--sidebar-width),calc(100vw - var(--space-8)));display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6) var(--space-4);overflow-y:auto;border:0;border-radius:0;background:var(--color-sidebar-background);box-shadow:var(--shadow-lg);transform:translateX(-105%);transition:transform .18s ease}.shared-sidebar-open{transform:translateX(0)}.sidebar-brand{display:grid;grid-gap:var(--space-4);gap:var(--space-4);background:var(--color-sidebar-background)}.sidebar-brand .brand-logo{width:190px}.shared-sidebar .sidebar-copy{color:#d9dde2}.shared-sidebar .sidebar-menu{margin:0}.shared-sidebar .sidebar-item{min-height:44px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:#f5f6f8;font-weight:var(--font-weight-semibold)}.shared-sidebar .sidebar-item:hover:not(:disabled){background:rgba(255,255,255,.12)}.shared-sidebar .sidebar-item-active{border-color:rgba(255,255,255,.22);background:var(--color-brand-primary);box-shadow:none}.shared-sidebar .sidebar-logout{width:100%;margin-top:var(--space-4);text-align:left}.app-shell-main{width:min(var(--content-max-width),100%);min-width:0;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-8)}.app-shell-main .app-panel{padding:clamp(var(--space-5),4vw,var(--space-8));background:var(--color-surface-elevated);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.route-state{display:grid;min-height:100vh;place-items:center;padding:var(--space-5);background:var(--color-canvas)}.route-state-card{width:min(var(--form-max-width),100%);display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.route-state-title{margin:0;color:var(--color-ink);font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}.route-state-copy{margin:0;color:var(--color-text-muted);line-height:var(--line-height-body)}.app-shell-main :is(h1,h2,h3,h4,p,span,strong){overflow-wrap:anywhere}.processing-flow,.upload-flow-form{display:grid;grid-gap:var(--space-4);gap:var(--space-4);max-width:720px}.upload-dropzone{display:grid;place-items:center;grid-gap:var(--space-3);gap:var(--space-3);min-height:200px;padding:var(--space-5);border:2px dashed var(--color-border);border-radius:var(--radius-md);text-align:center}.upload-dropzone small{color:var(--color-text-muted)}.processing-step{display:grid;grid-template-columns:1.5rem 1fr auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.processing-step>span{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:999px;background:var(--color-surface-muted)}.processing-step small{color:var(--color-text-muted)}.processing-step-done>span{background:var(--color-success-soft);color:var(--color-success)}.processing-step-failed>span{background:var(--color-danger-soft);color:var(--color-danger)}@media (min-width:768px){.app-shell-main{padding:var(--space-6) var(--space-8) var(--space-10)}}@media (min-width:1024px){.mobile-app-header,.mobile-drawer-backdrop{display:none}.shared-sidebar{position:fixed;width:var(--sidebar-width);transform:none}.app-shell-main{width:min(calc(100% - var(--sidebar-width)),var(--content-max-width));margin-right:0;margin-left:var(--sidebar-width);padding:var(--space-8)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}