:root{--green-950: #06160D;--green-900: #0A2415;--green-850: #0D2A1A;--green-800: #0C2A18;--green-750: #0F2F1C;--green-700: #123A25;--green-650: #143F28;--green-600: #17472E;--green-550: #1A4F33;--green-500: #1F6B45;--green-450: #2A7A52;--green-400: #358A5F;--green-300: #4AA873;--green-200: #7CC49A;--green-100: #B5DFC9;--green-50: #E6F3EC;--gold-600: #C9A44C;--gold-550: #D1AD55;--gold-500: #D6B25E;--gold-450: #DBB867;--gold-400: #E0BE70;--gold-300: #E8CD8A;--gold-200: #EFDBA5;--gold-100: #F6EAC2;--gold-50: #FBF6E8;--surface-1: #0F3320;--surface-2: #123A25;--surface-3: #17472E;--paper-0: #F8FCF9;--paper-1: #F6FBF7;--paper-2: #EFF6F1;--paper-3: #E8F0EA;--color-primary: var(--green-900);--color-primary-light: rgba(10, 36, 21, .12);--color-primary-dark: var(--green-950);--color-primary-rgb: 10, 36, 21;--color-accent: var(--gold-600);--color-accent-light: rgba(201, 164, 76, .15);--color-accent-rgb: 201, 164, 76;--app-bg-gradient: linear-gradient(180deg, var(--green-900) 0%, var(--green-800) 35%, var(--green-750) 70%, var(--green-900) 100%);--color-bg-primary: var(--paper-1);--color-bg-secondary: var(--paper-2);--color-bg-tertiary: #FFFFFF;--color-bg-surface: #FFFFFF;--color-bg-panel: rgba(10, 36, 21, .05);--color-text-primary: #1A1A1A;--color-text-secondary: #5A5548;--color-text-tertiary: #8A8578;--color-text-muted: #8A8578;--color-border: #D5CFC4;--color-border-light: #E2DDD4;--color-border-dark: #C4BEB3;--color-border-accent: rgba(201, 164, 76, .25);--color-success: #1F6B45;--color-success-light: rgba(31, 107, 69, .12);--color-warning: #E8A53A;--color-warning-light: rgba(232, 165, 58, .12);--color-danger: #B91C1C;--color-danger-light: rgba(185, 28, 28, .12);--color-info: #3B82F6;--color-info-light: rgba(59, 130, 246, .12);--color-deep-bg: var(--color-bg-primary);--color-deep-card: var(--color-bg-surface);--color-deep-ink: var(--color-text-primary);--color-deep-ink-muted: var(--color-text-secondary);--color-deep-grid: var(--color-border);--color-deep-grid-soft: var(--color-border-light);--shadow-default: 0 4px 12px rgba(0, 0, 0, .06);--shadow-medium: 0 6px 16px rgba(0, 0, 0, .08);--shadow-large: 0 8px 24px rgba(0, 0, 0, .1);--shadow-elevated: 0 12px 36px rgba(0, 0, 0, .12);--radius-sm: 2px;--radius-md: 4px;--radius-lg: 4px;--radius-xl: 4px;--radius-2xl: 4px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 40px;--space-5xl: 48px;--space-6xl: 56px;--font-family-sans: "SF Mono", "JetBrains Mono", "Menlo", "Consolas", monospace;--font-family-serif: "SF Mono", "JetBrains Mono", "Menlo", "Consolas", monospace;--font-family-mono: "SF Mono", "JetBrains Mono", "Menlo", "Consolas", monospace;--text-xs: 13px;--text-sm: 15px;--text-base: 16px;--text-md: 17px;--text-lg: 19px;--text-xl: 21px;--text-2xl: 23px;--text-3xl: 27px;--text-4xl: 31px;--text-5xl: 35px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.6;--sidebar-width: 260px;--topbar-height: 56px;--container-max-width: 1400px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080}@media (prefers-color-scheme: dark){:root{--color-bg-primary: #0A120C;--color-bg-secondary: #0D1A10;--color-bg-tertiary: #102214;--color-bg-surface: #142818;--color-bg-panel: rgba(255, 255, 255, .04);--color-text-primary: #E8E8E8;--color-text-secondary: rgba(232, 232, 232, .7);--color-text-tertiary: rgba(232, 232, 232, .5);--color-text-muted: rgba(232, 232, 232, .6);--color-border: rgba(232, 232, 232, .15);--color-border-light: rgba(232, 232, 232, .08);--color-border-dark: rgba(232, 232, 232, .25);--color-border-accent: rgba(201, 164, 76, .25);--shadow-default: 0 4px 12px rgba(0, 0, 0, .3);--shadow-medium: 0 6px 16px rgba(0, 0, 0, .35);--shadow-large: 0 8px 24px rgba(0, 0, 0, .4);--shadow-elevated: 0 12px 36px rgba(0, 0, 0, .45);--color-deep-bg: var(--color-bg-primary);--color-deep-card: var(--color-bg-surface);--color-deep-ink: var(--color-text-primary);--color-deep-ink-muted: var(--color-text-secondary);--color-deep-grid: var(--color-border);--color-deep-grid-soft: var(--color-border-light);--paper-0: #0A120C;--paper-1: #0D1A10;--paper-2: #102214;--paper-3: #142818}}[data-theme=dark]{--color-bg-primary: #0A120C;--color-bg-secondary: #0D1A10;--color-bg-tertiary: #102214;--color-bg-surface: #142818;--color-bg-panel: rgba(255, 255, 255, .04);--color-text-primary: #E8E8E8;--color-text-secondary: rgba(232, 232, 232, .7);--color-text-tertiary: rgba(232, 232, 232, .5);--color-text-muted: rgba(232, 232, 232, .6);--color-border: rgba(232, 232, 232, .15);--color-border-light: rgba(232, 232, 232, .08);--color-border-dark: rgba(232, 232, 232, .25);--color-border-accent: rgba(201, 164, 76, .25);--shadow-default: 0 4px 12px rgba(0, 0, 0, .3);--shadow-medium: 0 6px 16px rgba(0, 0, 0, .35);--shadow-large: 0 8px 24px rgba(0, 0, 0, .4);--shadow-elevated: 0 12px 36px rgba(0, 0, 0, .45);--color-deep-bg: var(--color-bg-primary);--color-deep-card: var(--color-bg-surface);--color-deep-ink: var(--color-text-primary);--color-deep-ink-muted: var(--color-text-secondary);--color-deep-grid: var(--color-border);--color-deep-grid-soft: var(--color-border-light);--paper-0: #0A120C;--paper-1: #0D1A10;--paper-2: #102214;--paper-3: #142818}[data-theme=light]{--color-bg-primary: var(--paper-1);--color-bg-secondary: var(--paper-2);--color-bg-tertiary: #FFFFFF;--color-bg-surface: #FFFFFF;--color-bg-panel: rgba(10, 36, 21, .05);--color-text-primary: #1A1A1A;--color-text-secondary: #5A5548;--color-text-tertiary: #8A8578;--color-text-muted: #8A8578;--color-border: #D5CFC4;--color-border-light: #E2DDD4;--color-border-dark: #C4BEB3;--color-border-accent: rgba(201, 164, 76, .25);--shadow-default: 0 4px 12px rgba(0, 0, 0, .06);--shadow-medium: 0 6px 16px rgba(0, 0, 0, .08);--shadow-large: 0 8px 24px rgba(0, 0, 0, .1);--shadow-elevated: 0 12px 36px rgba(0, 0, 0, .12);--paper-0: #F8FCF9;--paper-1: #F6FBF7;--paper-2: #EFF6F1;--paper-3: #E8F0EA}@media print{:root{--color-bg-primary: #FFFFFF;--color-bg-secondary: #F5F5F5;--color-bg-surface: #FFFFFF;--color-text-primary: #000000;--color-text-secondary: #333333;--color-text-tertiary: #666666;--color-border: #CCCCCC;--color-border-light: #EEEEEE;--shadow-default: none;--shadow-medium: none;--shadow-large: none;--shadow-elevated: none}}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0ms ease;--transition-normal: 0ms ease;--transition-slow: 0ms ease;--transition-bounce: 0ms ease}}@media (prefers-contrast: high){:root{--color-border: #4A4A4A;--color-border-light: #6A6A6A;--color-border-dark: #2A2A2A;--color-text-primary: #000000;--color-text-secondary: #333333;--color-text-tertiary: #555555}}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth}html:focus-within{scroll-behavior:smooth}body{min-height:100dvh;text-rendering:optimizeSpeed;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-primary);color:var(--color-text-primary)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next{isolation:isolate}@media (prefers-reduced-motion: reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--typo-font: "SF Mono", "JetBrains Mono", "Menlo", "Consolas", monospace;--typo-xs: 13px;--typo-sm: 15px;--typo-base: 16px;--typo-md: 17px;--typo-lg: 19px;--typo-xl: 21px;--typo-2xl: 23px;--typo-3xl: 27px;--typo-4xl: 31px;--typo-light: 300;--typo-normal: 400;--typo-medium: 500;--typo-semibold: 600;--typo-bold: 700;--typo-extrabold: 800;--typo-tight: 1.2;--typo-snug: 1.3;--typo-normal: 1.5;--typo-relaxed: 1.6;--typo-loose: 2;--typo-text: #1a1a1a;--typo-muted: #8a8578;--typo-faint: #c4beb3;--typo-green: #1f6b45;--typo-gold: #c9a44c;--typo-gold-soft: rgba(201, 164, 76, .06)}body{font-family:var(--typo-font);font-size:var(--typo-base);font-weight:var(--typo-normal);line-height:var(--typo-normal);color:var(--typo-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--typo-font);font-weight:var(--typo-bold);line-height:var(--typo-tight);color:var(--typo-text);margin-bottom:14px;letter-spacing:-.2px;text-transform:uppercase}h1{font-size:var(--typo-3xl);font-weight:var(--typo-extrabold);letter-spacing:-.5px}h2{font-size:var(--typo-2xl);letter-spacing:-.3px}h3{font-size:var(--typo-xl);letter-spacing:-.2px}h4{font-size:var(--typo-lg);letter-spacing:-.1px}h5{font-size:var(--typo-md);font-weight:var(--typo-semibold);letter-spacing:.3px}h6{font-size:var(--typo-sm);font-weight:var(--typo-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--typo-muted)}p{margin-bottom:14px;line-height:var(--typo-relaxed);color:var(--typo-muted);font-size:var(--typo-base)}p:last-child{margin-bottom:0}a{color:var(--typo-green);text-decoration:none;transition:all .15s ease;font-weight:var(--typo-medium)}a:hover{color:var(--typo-green-hover, #174f34);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--typo-gold)}a:focus-visible{outline:2px solid var(--typo-gold);outline-offset:2px;border-radius:2px}ul,ol{margin-bottom:14px;padding-left:24px;font-family:var(--typo-font)}li{margin-bottom:6px;color:var(--typo-muted);font-size:var(--typo-base);line-height:var(--typo-normal)}li:last-child{margin-bottom:0}code{font-family:var(--typo-font);font-size:.9em;padding:.15em .5em;background-color:var(--typo-gold-soft);border-radius:2px;color:var(--typo-green);border:1px solid rgba(201,164,76,.15)}pre{font-family:var(--typo-font);padding:16px;background-color:var(--typo-gold-soft);border:1px solid var(--typo-gold-border, rgba(201, 164, 76, .15));border-radius:4px;overflow-x:auto;margin-bottom:14px;font-size:var(--typo-sm);line-height:var(--typo-normal)}pre code{background-color:transparent;padding:0;color:inherit;border:none}blockquote{border-left:3px solid var(--typo-gold);margin-bottom:14px;font-style:italic;color:var(--typo-muted);font-size:var(--typo-md);line-height:var(--typo-relaxed);background:var(--typo-gold-soft);padding:12px 18px;border-radius:0 4px 4px 0}small{font-size:var(--typo-xs);color:var(--typo-faint);font-family:var(--typo-font)}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-primary{color:var(--typo-text)}.text-secondary{color:var(--typo-muted)}.text-tertiary{color:var(--typo-faint)}.text-green{color:var(--typo-green)}.text-gold{color:var(--typo-gold)}.text-success{color:var(--typo-green)}.text-danger{color:#b91c1c}.text-warning{color:#e8a53a}.font-light{font-weight:var(--typo-light)}.font-normal{font-weight:var(--typo-normal)}.font-medium{font-weight:var(--typo-medium)}.font-semibold{font-weight:var(--typo-semibold)}.font-bold{font-weight:var(--typo-bold)}.font-extrabold{font-weight:var(--typo-extrabold)}.leading-tight{line-height:var(--typo-tight)}.leading-snug{line-height:var(--typo-snug)}.leading-normal{line-height:var(--typo-normal)}.leading-relaxed{line-height:var(--typo-relaxed)}.leading-loose{line-height:var(--typo-loose)}.tracking-tight{letter-spacing:-.3px}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.3px}.tracking-wider{letter-spacing:.5px}.tracking-widest{letter-spacing:.8px}.heading-sm{font-size:var(--typo-md);font-weight:var(--typo-semibold);text-transform:uppercase;letter-spacing:.3px}.heading-xs{font-size:var(--typo-sm);font-weight:var(--typo-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--typo-muted)}.muted{color:var(--typo-muted)}.faint{color:var(--typo-faint)}@media (max-width: 768px){h1{font-size:var(--typo-2xl)}h2{font-size:var(--typo-xl)}h3{font-size:var(--typo-lg)}h4{font-size:var(--typo-md)}body,p{font-size:var(--typo-sm)}}@media (max-width: 480px){h1{font-size:var(--typo-xl)}h2{font-size:var(--typo-lg)}h3{font-size:var(--typo-md)}.text-uppercase-sm{text-transform:uppercase}}@media print{body{font-size:12pt;color:#000;line-height:1.4}h1,h2,h3,h4,h5,h6{color:#000;page-break-after:avoid}a{color:#000;text-decoration:underline}a:after{content:" (" attr(href) ")";font-size:10pt;color:#666}blockquote{border-left-color:#000}code,pre{background:#f5f5f5;border-color:#ddd}}::selection{background:var(--typo-gold-soft);color:var(--typo-text)}::-moz-selection{background:var(--typo-gold-soft);color:var(--typo-text)}.focus-visible:focus-visible{outline:2px solid var(--typo-gold);outline-offset:2px}.text-area-scroll::-webkit-scrollbar{width:4px}.text-area-scroll::-webkit-scrollbar-track{background:var(--typo-gold-soft);border-radius:2px}.text-area-scroll::-webkit-scrollbar-thumb{background:var(--typo-gold);border-radius:2px}.hidden{display:none!important}.visible{display:block!important}.inline{display:inline!important}.inline-block{display:inline-block!important}.flex{display:flex!important}.inline-flex{display:inline-flex!important}.grid{display:grid!important}.block{display:block!important}.contents{display:contents!important}.flex-col{flex-direction:column!important}.flex-row{flex-direction:row!important}.flex-col-reverse{flex-direction:column-reverse!important}.flex-row-reverse{flex-direction:row-reverse!important}.items-center{align-items:center!important}.items-start{align-items:flex-start!important}.items-end{align-items:flex-end!important}.items-baseline{align-items:baseline!important}.items-stretch{align-items:stretch!important}.justify-center{justify-content:center!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-between{justify-content:space-between!important}.justify-around{justify-content:space-around!important}.justify-evenly{justify-content:space-evenly!important}.self-center{align-self:center!important}.self-start{align-self:flex-start!important}.self-end{align-self:flex-end!important}.self-stretch{align-self:stretch!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-1{flex:1 1 0%!important}.flex-auto{flex:1 1 auto!important}.flex-none{flex:none!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink{flex-shrink:1!important}.flex-grow-0{flex-grow:0!important}.flex-grow{flex-grow:1!important}.gap-0{gap:0!important}.gap-1{gap:4px!important}.gap-2{gap:8px!important}.gap-3{gap:12px!important}.gap-4{gap:16px!important}.gap-5{gap:20px!important}.gap-6{gap:24px!important}.gap-8{gap:32px!important}.gap-10{gap:40px!important}.gap-12{gap:48px!important}.gap-x-0{column-gap:0!important}.gap-x-1{column-gap:4px!important}.gap-x-2{column-gap:8px!important}.gap-x-3{column-gap:12px!important}.gap-x-4{column-gap:16px!important}.gap-y-0{row-gap:0!important}.gap-y-1{row-gap:4px!important}.gap-y-2{row-gap:8px!important}.gap-y-3{row-gap:12px!important}.gap-y-4{row-gap:16px!important}.grid-cols-1{grid-template-columns:repeat(1,1fr)!important}.grid-cols-2{grid-template-columns:repeat(2,1fr)!important}.grid-cols-3{grid-template-columns:repeat(3,1fr)!important}.grid-cols-4{grid-template-columns:repeat(4,1fr)!important}.grid-cols-5{grid-template-columns:repeat(5,1fr)!important}.grid-cols-6{grid-template-columns:repeat(6,1fr)!important}.grid-cols-7{grid-template-columns:repeat(7,1fr)!important}.grid-cols-8{grid-template-columns:repeat(8,1fr)!important}.grid-cols-9{grid-template-columns:repeat(9,1fr)!important}.grid-cols-10{grid-template-columns:repeat(10,1fr)!important}.grid-cols-11{grid-template-columns:repeat(11,1fr)!important}.grid-cols-12{grid-template-columns:repeat(12,1fr)!important}.grid-rows-1{grid-template-rows:repeat(1,1fr)!important}.grid-rows-2{grid-template-rows:repeat(2,1fr)!important}.grid-rows-3{grid-template-rows:repeat(3,1fr)!important}.grid-rows-4{grid-template-rows:repeat(4,1fr)!important}.col-span-1{grid-column:span 1!important}.col-span-2{grid-column:span 2!important}.col-span-3{grid-column:span 3!important}.col-span-4{grid-column:span 4!important}.col-span-5{grid-column:span 5!important}.col-span-6{grid-column:span 6!important}.col-span-7{grid-column:span 7!important}.col-span-8{grid-column:span 8!important}.col-span-9{grid-column:span 9!important}.col-span-10{grid-column:span 10!important}.col-span-11{grid-column:span 11!important}.col-span-12{grid-column:span 12!important}.col-span-full{grid-column:1 / -1!important}.row-span-1{grid-row:span 1!important}.row-span-2{grid-row:span 2!important}.row-span-3{grid-row:span 3!important}.row-span-full{grid-row:1 / -1!important}.m-0{margin:0!important}.m-1{margin:4px!important}.m-2{margin:8px!important}.m-3{margin:12px!important}.m-4{margin:16px!important}.m-5{margin:20px!important}.m-6{margin:24px!important}.m-8{margin:32px!important}.m-auto{margin:auto!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:4px!important;margin-right:4px!important}.mx-2{margin-left:8px!important;margin-right:8px!important}.mx-3{margin-left:12px!important;margin-right:12px!important}.mx-4{margin-left:16px!important;margin-right:16px!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:4px!important;margin-bottom:4px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.my-3{margin-top:12px!important;margin-bottom:12px!important}.my-4{margin-top:16px!important;margin-bottom:16px!important}.mt-0{margin-top:0!important}.mt-1{margin-top:4px!important}.mt-2{margin-top:8px!important}.mt-3{margin-top:12px!important}.mt-4{margin-top:16px!important}.mt-5{margin-top:20px!important}.mt-6{margin-top:24px!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:4px!important}.mb-2{margin-bottom:8px!important}.mb-3{margin-bottom:12px!important}.mb-4{margin-bottom:16px!important}.mb-5{margin-bottom:20px!important}.mb-6{margin-bottom:24px!important}.ml-0{margin-left:0!important}.ml-1{margin-left:4px!important}.ml-2{margin-left:8px!important}.ml-3{margin-left:12px!important}.ml-4{margin-left:16px!important}.ml-auto{margin-left:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:4px!important}.mr-2{margin-right:8px!important}.mr-3{margin-right:12px!important}.mr-4{margin-right:16px!important}.mr-auto{margin-right:auto!important}.p-0{padding:0!important}.p-1{padding:4px!important}.p-2{padding:8px!important}.p-3{padding:12px!important}.p-4{padding:16px!important}.p-5{padding:20px!important}.p-6{padding:24px!important}.p-8{padding:32px!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:4px!important;padding-right:4px!important}.px-2{padding-left:8px!important;padding-right:8px!important}.px-3{padding-left:12px!important;padding-right:12px!important}.px-4{padding-left:16px!important;padding-right:16px!important}.px-5{padding-left:20px!important;padding-right:20px!important}.px-6{padding-left:24px!important;padding-right:24px!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:4px!important;padding-bottom:4px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.py-3{padding-top:12px!important;padding-bottom:12px!important}.py-4{padding-top:16px!important;padding-bottom:16px!important}.py-5{padding-top:20px!important;padding-bottom:20px!important}.py-6{padding-top:24px!important;padding-bottom:24px!important}.pt-0{padding-top:0!important}.pt-1{padding-top:4px!important}.pt-2{padding-top:8px!important}.pt-3{padding-top:12px!important}.pt-4{padding-top:16px!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:4px!important}.pb-2{padding-bottom:8px!important}.pb-3{padding-bottom:12px!important}.pb-4{padding-bottom:16px!important}.pl-0{padding-left:0!important}.pl-1{padding-left:4px!important}.pl-2{padding-left:8px!important}.pl-3{padding-left:12px!important}.pl-4{padding-left:16px!important}.pr-0{padding-right:0!important}.pr-1{padding-right:4px!important}.pr-2{padding-right:8px!important}.pr-3{padding-right:12px!important}.pr-4{padding-right:16px!important}.w-full{width:100%!important}.w-auto{width:auto!important}.w-screen{width:100vw!important}.w-min{width:min-content!important}.w-max{width:max-content!important}.w-fit{width:fit-content!important}.h-full{height:100%!important}.h-auto{height:auto!important}.h-screen{height:100vh!important}.h-min{height:min-content!important}.h-max{height:max-content!important}.h-fit{height:fit-content!important}.min-w-0{min-width:0!important}.min-w-full{min-width:100%!important}.min-h-0{min-height:0!important}.min-h-screen{min-height:100vh!important}.max-w-full{max-width:100%!important}.max-w-screen{max-width:100vw!important}.max-h-full{max-height:100%!important}.rounded-none{border-radius:0!important}.rounded-sm{border-radius:2px!important}.rounded,.rounded-md,.rounded-lg,.rounded-xl,.rounded-2xl{border-radius:4px!important}.rounded-full{border-radius:9999px!important}.rounded-t{border-radius:4px 4px 0 0!important}.rounded-b{border-radius:0 0 4px 4px!important}.rounded-l{border-radius:4px 0 0 4px!important}.rounded-r{border-radius:0 4px 4px 0!important}.rounded-tl{border-radius:4px 0 0!important}.rounded-tr{border-radius:0 4px 0 0!important}.rounded-bl{border-radius:0 0 0 4px!important}.rounded-br{border-radius:0 0 4px!important}.border{border:1px solid var(--ui-border, #e2ddd4)!important}.border-0{border:0!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-t{border-top:1px solid var(--ui-border, #e2ddd4)!important}.border-b{border-bottom:1px solid var(--ui-border, #e2ddd4)!important}.border-l{border-left:1px solid var(--ui-border, #e2ddd4)!important}.border-r{border-right:1px solid var(--ui-border, #e2ddd4)!important}.border-transparent{border-color:transparent!important}.border-current{border-color:currentColor!important}.bg-transparent{background-color:transparent!important}.bg-white{background-color:#fff!important}.bg-black{background-color:#000!important}.bg-surface{background-color:var(--ui-surface, #ffffff)!important}.bg-muted{background-color:var(--ui-muted, #f5f3ef)!important}.bg-primary{background-color:var(--ui-primary, #1f6b45)!important}.bg-accent{background-color:var(--ui-accent, #c9a44c)!important}.text-inherit{color:inherit!important}.text-current{color:currentColor!important}.text-white{color:#fff!important}.text-black{color:#000!important}.text-primary{color:var(--ui-text, #1a1a1a)!important}.text-secondary{color:var(--ui-muted, #8a8578)!important}.text-muted{color:var(--ui-faint, #c4beb3)!important}.text-green{color:var(--ui-primary, #1f6b45)!important}.text-gold{color:var(--ui-accent, #c9a44c)!important}.text-success{color:#1f6b45!important}.text-danger{color:#b91c1c!important}.text-warning{color:#e8a53a!important}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-y-auto{overflow-y:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-y-hidden{overflow-y:hidden!important}.static{position:static!important}.fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.sticky{position:sticky!important}.inset-0{top:0!important;right:0!important;bottom:0!important;left:0!important}.inset-auto{top:auto!important;right:auto!important;bottom:auto!important;left:auto!important}.top-0{top:0!important}.right-0{right:0!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.z-0{z-index:0!important}.z-10{z-index:10!important}.z-20{z-index:20!important}.z-30{z-index:30!important}.z-40{z-index:40!important}.z-50{z-index:50!important}.z-auto{z-index:auto!important}.shadow-none{box-shadow:none!important}.shadow-sm{box-shadow:0 2px 8px #0000000f!important}.shadow{box-shadow:0 4px 12px #0000000f!important}.shadow-md{box-shadow:0 4px 12px #00000014!important}.shadow-lg{box-shadow:0 8px 24px #0000001a!important}.shadow-xl{box-shadow:0 12px 36px #0000001f!important}.cursor-pointer{cursor:pointer!important}.cursor-default{cursor:default!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-grab{cursor:grab!important}.cursor-grabbing{cursor:grabbing!important}.cursor-text{cursor:text!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.select-none{-webkit-user-select:none!important;user-select:none!important}.select-text{-webkit-user-select:text!important;user-select:text!important}.select-all{-webkit-user-select:all!important;user-select:all!important}.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}@media (max-width: 900px){.hidden-md{display:none!important}.block-md{display:block!important}.flex-md{display:flex!important}.grid-md{display:grid!important}}@media (max-width: 768px){.hidden-sm{display:none!important}.block-sm{display:block!important}.flex-sm{display:flex!important}.grid-sm{display:grid!important}.flex-col-sm{flex-direction:column!important}.items-center-sm{align-items:center!important}.justify-center-sm{justify-content:center!important}}@media (max-width: 480px){.hidden-xs{display:none!important}.block-xs{display:block!important}.flex-xs{display:flex!important}.grid-xs{display:grid!important}.w-full-xs{width:100%!important}.text-center-xs{text-align:center!important}}.btn{cursor:pointer;border:1px solid transparent;border-radius:10px;padding:9px 13px;font:inherit;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .12s ease,box-shadow .16s ease;font-weight:var(--font-weight-semibold);position:relative;overflow:hidden;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn--primary{background:color-mix(in srgb,var(--color-primary) 88%,#000 12%);color:#fffffff5;border-color:#c9a44c38;box-shadow:var(--shadow-default)}.btn--secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-border-light)}.btn--icon{background:var(--color-bg-surface);border-color:var(--color-border-light);color:var(--color-text-primary);padding:7px;border-radius:10px;min-width:36px;min-height:36px}.btn--danger{background:color-mix(in srgb,var(--color-danger) 10%,transparent);border-color:color-mix(in srgb,var(--color-danger) 22%,var(--color-border-light));color:var(--color-danger)}.btn--sm{padding:6px 10px;font-size:var(--text-xs)}.btn--lg{padding:12px 20px;font-size:var(--text-base)}.card-action,.add-button,.neo-btn{cursor:pointer;border:1px solid transparent;border-radius:10px;padding:9px 13px;background:color-mix(in srgb,var(--color-primary) 88%,#000 12%);color:#fffffff5;border-color:#c9a44c38;box-shadow:var(--shadow-default);transition:background-color .16s ease,border-color .16s ease,transform .12s ease,box-shadow .16s ease}.neo-btn{background:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-border-light);box-shadow:none}.neo-btn.warn{background:color-mix(in srgb,var(--color-danger) 10%,transparent);border-color:color-mix(in srgb,var(--color-danger) 22%,var(--color-border-light));color:var(--color-danger)}.auth-btn{margin-top:6px;border:1px solid transparent;border-radius:12px;padding:10px 13px;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease,box-shadow .16s ease,filter .16s ease,border-color .16s ease}.auth-btn-primary{background:linear-gradient(90deg,rgba(201,164,76,.18),color-mix(in srgb,var(--color-primary) 86%,#000 14%));color:#fffffff5;border-color:#c9a44c47;box-shadow:0 14px 30px #0206172e}.quick-action-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:12px;cursor:pointer;transition:transform .12s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.focus-toggle{position:fixed;bottom:20px;right:20px;background:color-mix(in srgb,var(--color-primary) 88%,#000 12%);color:#fffffff5;border:1px solid rgba(201,164,76,.22);border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-default);z-index:100}.mini-icon{border:1px solid var(--color-border-light);background:var(--color-bg-surface);border-radius:10px;padding:4px 6px;cursor:pointer}.btn-mini{border-radius:12px;padding:10px 12px;font-weight:var(--font-weight-bold);border:1px solid var(--color-border-light);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer}.btn-mini i{margin-right:8px}.close-modal{background:var(--color-bg-surface);border:1px solid var(--color-border-light);color:var(--color-text-primary);border-radius:10px;padding:6px 10px;cursor:pointer}.schedule-toolbar .btn{background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border-light);border-radius:10px;padding:6px 10px;font-size:var(--text-xs);cursor:pointer}.event-actions .btn-edit,.event-actions .btn-delete{background:var(--color-bg-surface);border:1px solid var(--color-border-light);color:var(--color-text-primary);padding:4px 6px;border-radius:9px;cursor:pointer}.class-actions button{background:var(--color-bg-surface);border:1px solid var(--color-border-light);padding:7px 9px;border-radius:10px;color:var(--color-text-primary)}.assignment-actions .btn-icon{background:var(--color-bg-surface);border:1px solid var(--color-border-light);color:var(--color-text-primary);padding:6px 8px;border-radius:10px;cursor:pointer}.note-actions .btn-edit,.note-actions .btn-delete{background:var(--color-bg-surface);border:1px solid var(--color-border-light);padding:7px;border-radius:10px}.modal-footer .btn-primary,.modal-footer .btn-secondary{padding:9px 13px;border-radius:10px;font-weight:var(--font-weight-semibold)}.btn:hover:not(:disabled),.card-action:hover:not(:disabled),.add-button:hover:not(:disabled),.neo-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px #02061724;border-color:#c9a44c47}.btn--secondary:hover:not(:disabled),.quick-action-btn:hover:not(:disabled),.schedule-toolbar .btn:hover:not(:disabled),.event-actions .btn-edit:hover:not(:disabled),.assignment-actions .btn-icon:hover:not(:disabled),.class-actions button:hover:not(:disabled),.note-actions .btn-edit:hover:not(:disabled),.note-actions .btn-delete:hover:not(:disabled),.close-modal:hover:not(:disabled){border-color:#0a241538;background:var(--color-bg-tertiary);transform:translateY(-1px);box-shadow:0 12px 26px #0206171a}.event-actions .btn-delete:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-danger) 30%,var(--color-border-light));background:color-mix(in srgb,var(--color-danger) 10%,transparent)}.auth-btn-primary:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px)}.auth-btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 10px 22px #02061724}.btn:disabled,.card-action:disabled,.add-button:disabled,.neo-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;filter:none!important;box-shadow:none!important}.btn:focus-visible,.card-action:focus-visible,.add-button:focus-visible{outline:2px solid rgba(201,164,76,.75);outline-offset:2px}.btn:active:not(:disabled),.card-action:active:not(:disabled){transform:translateY(0);transition-duration:50ms}.auth-spinner{display:none;width:16px;height:16px;border-radius:var(--radius-full);border:2px solid rgba(255,255,255,.22);border-top-color:#ffffffeb;animation:authSpin .8s linear infinite}.btn i,.card-action i,.auth-btn i{display:inline-flex;align-items:center;justify-content:center}.btn-group{display:inline-flex;gap:var(--space-xs)}.btn-group .btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn--full{width:100%;display:flex}:root{--card-bg: #ffffff;--card-line: #e2ddd4;--card-line-strong: #d5cfc4;--card-text: #1a1a1a;--card-muted: #8a8578;--card-faint: #c4beb3;--card-green: #1f6b45;--card-green-soft: rgba(31, 107, 69, .06);--card-gold: #c9a44c;--card-gold-soft: rgba(201, 164, 76, .06);--card-shadow: 0 4px 12px rgba(0, 0, 0, .06);--card-font: "SF Mono", "JetBrains Mono", monospace}.card{background:var(--card-bg);border:1px solid var(--card-line);border-radius:4px;box-shadow:var(--card-shadow);overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:all .15s ease}.card:hover{transform:translateY(-1px);border-color:var(--card-gold-border);box-shadow:0 6px 16px #00000014}.card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--card-line);background:var(--card-gold-soft)}.card-title{font-weight:600;font-size:13px;color:var(--card-text);margin:0;font-family:var(--card-font);text-transform:uppercase;letter-spacing:.3px}.card-actions{display:flex;gap:6px;align-items:center}.card-content{padding:14px;flex:1;font-family:var(--card-font);color:var(--card-text)}.card-content:only-child{padding:16px}.card-footer{padding:10px 14px;border-top:1px solid var(--card-line);background:var(--card-gold-soft)}.card--elevated{box-shadow:0 8px 24px #0000001a}.card--flat{box-shadow:none;border:1px solid var(--card-line)}.card--bordered{border:2px solid var(--card-line)}.card--accent{border-left:3px solid var(--card-gold)}.card--accent-green{border-left:3px solid var(--card-green)}.card-schedule{background:var(--card-bg);color:var(--card-text);border:1px solid var(--card-line);border-radius:4px;box-shadow:var(--card-shadow);overflow:hidden}.card-schedule .card-header{background:var(--card-gold-soft);border-bottom:1px solid var(--card-line);padding:10px 14px}.card-schedule .card-title{font-family:var(--card-font);font-weight:600;letter-spacing:.3px;text-transform:uppercase}.stat-card{background:var(--card-bg);border:1px solid var(--card-line);border-radius:4px;padding:14px 16px;text-align:center;transition:all .15s ease}.stat-card:hover{border-color:var(--card-gold-border);box-shadow:var(--card-shadow)}.stat-icon{font-size:20px;opacity:.8;color:var(--card-gold)}.stat-value{font-family:var(--card-font);font-size:24px;font-weight:700;margin:6px 0;color:var(--card-text);letter-spacing:-.3px}.stat-label{color:var(--card-muted);font-size:9px;text-transform:uppercase;letter-spacing:.5px;font-family:var(--card-font);font-weight:600}.note-card{border:1px solid var(--card-line);border-radius:4px;padding:12px 14px;background:var(--card-bg);cursor:pointer;transition:all .15s ease}.note-card:hover{transform:translateY(-1px);border-color:var(--card-gold-border);box-shadow:var(--card-shadow)}.note-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:6px}.note-title{font-family:var(--card-font);font-weight:600;font-size:13px;color:var(--card-text);flex:1;min-width:0;text-transform:uppercase;letter-spacing:.3px}.note-body{font-size:12px;color:var(--card-muted);line-height:1.5;margin-bottom:6px;white-space:pre-wrap;word-break:break-word;font-family:var(--card-font)}.task-card{background:var(--card-bg);border:1px solid var(--card-line);border-radius:4px;padding:10px 14px;margin-bottom:8px;display:flex;align-items:flex-start;transition:all .15s ease;box-shadow:none}.task-card:hover{transform:translateY(-1px);border-color:var(--card-gold-border);box-shadow:var(--card-shadow)}.task-card.completed{opacity:.7;background:var(--card-gold-soft)}.task-card.completed .task-title{text-decoration:line-through}.goal-card{background:var(--card-bg);border:1px solid var(--card-line);border-radius:4px;overflow:hidden;transition:all .15s ease;box-shadow:none;position:relative}.goal-card:hover{transform:translateY(-1px);border-color:var(--card-gold-border);box-shadow:var(--card-shadow)}.goal-card.completed{opacity:.85;background:var(--card-green-soft)}.goal-card.completed:before{content:"";position:absolute;top:0;right:0;width:48px;height:48px;background:var(--card-green);clip-path:polygon(100% 0,0 0,100% 100%)}.goal-card.completed:after{content:"✓";position:absolute;top:4px;right:6px;color:#fff;font-size:14px;font-weight:700;z-index:1;font-family:var(--card-font)}.goal-card-header{padding:14px 14px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.goal-card-body{padding:14px}.goal-card-footer{padding:10px 14px;border-top:1px solid var(--card-line);background:var(--card-gold-soft)}.auth-card{background:var(--card-bg);border:1px solid var(--card-line);border-radius:4px;box-shadow:var(--card-shadow);overflow:hidden;transform-origin:50% 50%;opacity:0;transform:translateY(12px) scale(.99);animation:authCardIn .4s cubic-bezier(.22,.8,.35,1) forwards}@keyframes authCardIn{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.progress-circle{width:72px;height:72px;border-radius:50%;background:conic-gradient(var(--card-gold) 0% 88%,var(--card-line) 88% 100%);display:flex;align-items:center;justify-content:center;position:relative}.progress-circle-inner{width:64px;height:64px;border-radius:50%;background:var(--card-bg);display:flex;align-items:center;justify-content:center;flex-direction:column}.progress-circle-value{font-size:16px;font-weight:700;color:var(--card-text);font-family:var(--card-font)}.progress-circle-label{font-size:8px;color:var(--card-muted);text-transform:uppercase;letter-spacing:.3px;font-family:var(--card-font)}.timer-card,.insights-card,.risk-item,.class-item{border:1px solid var(--card-line);border-radius:4px;padding:12px 14px;background:var(--card-bg);transition:all .15s ease}.timer-card:hover,.insights-card:hover,.risk-item:hover,.class-item:hover{border-color:var(--card-gold-border);box-shadow:var(--card-shadow)}.timer-header{font-weight:600;margin-bottom:6px;color:var(--card-text);font-size:13px;font-family:var(--card-font);text-transform:uppercase;letter-spacing:.3px}.insights-header{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:6px;font-family:var(--card-font)}.risk-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.event-card{background:var(--card-gold-soft);border:1px solid var(--card-gold-border);border-left:3px solid var(--card-gold);border-radius:4px;padding:8px 12px;margin:4px 0;box-shadow:none;max-width:100%;overflow:hidden;transition:all .15s ease}.event-card:hover{border-color:var(--card-gold-border);box-shadow:var(--card-shadow);transform:translateY(-1px)}.assignment-item{display:grid;grid-template-columns:32px 1fr auto;align-items:start;gap:10px;background:var(--card-gold-soft);border:1px solid var(--card-line);border-left:3px solid var(--card-gold);border-radius:4px;padding:10px 14px;box-shadow:none;transition:all .15s ease}.assignment-item:hover{border-color:var(--card-gold-border);box-shadow:var(--card-shadow)}.history-item{background:var(--card-gold-soft);border:1px solid var(--card-line);border-left:3px solid var(--card-gold);border-radius:4px;padding:10px 14px;box-shadow:none;transition:all .15s ease}.history-item:hover{border-color:var(--card-gold-border);box-shadow:var(--card-shadow)}.template-card,.milestone-item{background:var(--card-bg);border:1px solid var(--card-line);border-radius:4px;transition:all .15s ease}.template-card{padding:14px;display:flex;align-items:flex-start;gap:10px;cursor:pointer;position:relative;overflow:hidden}.template-card:hover{border-color:var(--card-gold-border);transform:translateY(-1px);box-shadow:var(--card-shadow)}.milestone-item{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:8px;position:relative}.milestone-item:hover{border-color:var(--card-gold-border);transform:translate(4px);box-shadow:var(--card-shadow)}.milestone-item.completed{background:var(--card-green-soft);border-color:var(--card-green-border)}.empty-state{display:grid;place-items:center;gap:6px;padding:24px 16px;color:var(--card-muted)}.empty-state i{opacity:.6;font-size:28px;color:var(--card-faint)}.empty-state p{margin:0;text-align:center;font-size:12px;font-family:var(--card-font)}.card--no-padding .card-content{padding:0}.card--no-shadow{box-shadow:none}.card--interactive{cursor:pointer}.card--interactive:hover{border-color:var(--card-gold-border)}.card--horizontal{flex-direction:row}.card--horizontal .card-content{flex:1}.card--with-image .card-header{padding:0;border-bottom:none}.card--with-image img{width:100%;height:160px;object-fit:cover}.cards-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}@media (max-width: 768px){.card{border-radius:4px}.card-header,.card-content,.card-footer{padding:10px 12px}.cards-grid{grid-template-columns:1fr;gap:10px}.stat-value{font-size:20px}.card-title{font-size:12px}}@media (max-width: 480px){.card-header,.card-content,.card-footer{padding:8px 10px}.stat-value{font-size:18px}.card-title{font-size:11px}.assignment-item{grid-template-columns:1fr;gap:6px}.goal-card.completed:before{width:36px;height:36px}.goal-card.completed:after{font-size:10px;top:2px;right:4px}}@media print{.card{break-inside:avoid;page-break-inside:avoid;box-shadow:none!important;border:1px solid #000!important;border-radius:0!important}.card:hover{transform:none!important}.card--accent,.card--accent-green{border-left:3px solid #000!important}}.card:focus-visible,.note-card:focus-visible,.task-card:focus-visible,.goal-card:focus-visible,.template-card:focus-visible,.milestone-item:focus-visible{outline:2px solid var(--card-gold);outline-offset:2px}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=search],input[type=tel],input[type=url],select,textarea{width:100%;background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border-light);border-radius:12px;padding:10px 12px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,transform .12s ease;font-size:var(--text-sm)}input:focus,select:focus,textarea:focus{border-color:#c9a44c8c;box-shadow:0 0 0 3px #c9a44c24}input:disabled,select:disabled,textarea:disabled{background:var(--color-bg-secondary);color:var(--color-text-tertiary);cursor:not-allowed;opacity:.75}::placeholder{color:var(--color-text-tertiary);opacity:.75}.mini-input{max-width:120px}.neo-input,.neo-select,.add-input,.auth-input,.modal-input{width:100%;background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border-light);border-radius:12px;padding:10px 12px;outline:none}.auth-input{background:color-mix(in srgb,var(--color-bg-surface) 88%,transparent);border:1px solid var(--color-border-light);border-radius:14px;padding:10px 12px;color:var(--color-text-primary);transition:border-color .18s ease,box-shadow .18s ease,transform .12s ease}.auth-input::placeholder{color:var(--color-text-tertiary)}.auth-input:focus{outline:none;border-color:#c9a44c99;box-shadow:0 0 0 3px #c9a44c24,0 12px 26px #0206171f;transform:translateY(-1px)}.modal-input{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:12px;padding:10px 12px;font-size:var(--text-sm)}.modal-input:focus{outline:none;border-color:#c9a44c8c;box-shadow:0 0 0 3px #c9a44c24}.task-input{flex:1;background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:12px;padding:10px 12px;color:var(--color-text-primary)}.gpa-input,.gpa-select{width:100%;padding:10px 12px;border:1px solid var(--color-border-light);border-radius:12px;background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--text-sm)}.gpa-input[disabled]{background:var(--color-bg-secondary)}.weight-input{width:100%;padding:10px 36px 10px 12px;border:1px solid var(--color-border-light);border-radius:12px;background:var(--color-bg-surface);color:var(--color-text-primary);font-size:15px;font-weight:var(--font-weight-medium);transition:border-color .18s ease,box-shadow .18s ease}.weight-input:focus{outline:none;border-color:#c9a44c8c;box-shadow:0 0 0 3px #c9a44c24}.weight-input.valid{border-color:var(--color-success)}.weight-input.invalid{border-color:var(--color-danger)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%238a8f98' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .7rem center;background-repeat:no-repeat;background-size:1.2em 1.2em;padding-right:2.5rem}textarea{min-height:110px;resize:vertical;font-family:inherit;line-height:1.5}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.input-label,.form-label,.auth-label,.modal-label{display:block;font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:6px;font-weight:var(--font-weight-medium)}.hint{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:4px;display:block}.checkbox-label,.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-sm);-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox],.radio-label input[type=radio]{width:16px;height:16px;margin:0}.task-checkbox{position:relative;width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);cursor:pointer}.task-checkbox.checked{background:color-mix(in srgb,var(--color-success) 18%,transparent);border-color:color-mix(in srgb,var(--color-success) 28%,var(--color-border-light))}.assignment-check{width:26px;height:26px;border-radius:50%;border:2px solid rgba(201,164,76,.55);display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:2px;background:var(--color-bg-surface)}.assignment-check.checked{background:var(--color-success);border-color:var(--color-success);color:#fffffff5}.milestone-checkbox input{opacity:0;position:absolute;width:100%;height:100%;cursor:pointer;z-index:1}.milestone-checkbox .checkmark{display:block;width:24px;height:24px;border:2px solid color-mix(in srgb,var(--color-text-tertiary) 70%,transparent);border-radius:8px;position:relative;transition:all .2s ease;background:var(--color-bg-surface)}.milestone-checkbox input:checked+.checkmark:after{content:"✓";position:absolute;color:#fffffff5;font-size:14px;font-weight:700;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes checkmarkPop{0%{transform:scale(.86)}60%{transform:scale(1.08)}to{transform:scale(1)}}.form-grid{display:grid;gap:10px}.form-grid.two-col{grid-template-columns:1fr 1fr}.form-grid.three-col{grid-template-columns:1fr 1fr 1fr}.add-item-form,.task-input-container{display:flex;gap:10px;margin-top:12px}.timer-row{display:grid;gap:6px;margin-top:10px}.timer-row.two{grid-template-columns:1fr 1fr;gap:10px}.weight-row{display:grid;grid-template-columns:minmax(220px,1fr) 360px;gap:18px;align-items:center}.weight-controls{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start;justify-content:end}.weight-control{min-width:0}.weight-input-wrapper{width:100%}.weight-unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);font-size:14px;font-weight:var(--font-weight-medium)}.weight-validation{display:flex;align-items:center;gap:8px;padding:10px 12px;background:color-mix(in srgb,var(--color-danger) 10%,transparent);border-radius:12px;font-size:13px;color:var(--color-danger);margin-top:12px;border:1px solid color-mix(in srgb,var(--color-danger) 18%,var(--color-border-light))}.weight-validation i{font-size:14px}.auth-form{display:none;flex-direction:column;gap:10px;margin-top:4px}.auth-form.active{display:flex}.auth-field{display:flex;flex-direction:column;gap:4px}.auth-pass{position:relative;display:grid}.auth-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:1px solid var(--color-border-light);background:var(--color-bg-surface);color:var(--color-text-secondary);width:36px;height:34px;border-radius:10px;cursor:pointer;display:grid;place-items:center;transition:background-color .16s ease,border-color .16s ease,transform .12s ease}.auth-eye:hover{background:var(--color-bg-tertiary);border-color:#c9a44c4d;transform:translateY(-1px)}.auth-tabs{display:inline-flex;gap:8px;padding:4px;margin-bottom:12px;background:color-mix(in srgb,var(--color-bg-secondary) 72%,transparent);border-radius:999px;border:1px solid var(--color-border-light)}.auth-tab{position:relative;flex:1;padding:7px 14px;border-radius:999px;border:none;background:transparent;color:var(--color-text-secondary);font-size:13px;cursor:pointer;transition:color .2s ease,background-color .2s ease}.auth-tab.active{color:#fffffff5}.auth-tab.active:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:color-mix(in srgb,var(--color-primary) 88%,#000 12%);z-index:-1;border:1px solid rgba(201,164,76,.22);box-shadow:0 12px 26px #02061729}.search-form{position:relative}.search-input{padding-left:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8f98' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 12px center;background-size:16px}.file-input{padding:10px;border:2px dashed var(--color-border);background:var(--color-bg-secondary);text-align:center;cursor:pointer;border-radius:12px}.file-input:hover{border-color:#c9a44c73;background:var(--color-bg-tertiary)}input[type=range]{height:6px;background:var(--color-border);border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-primary);cursor:pointer}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:none}.field-with-icon{position:relative}.field-with-icon i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary)}.field-with-icon input{padding-left:36px}input.error,select.error,textarea.error{border-color:var(--color-danger)}.error-message{font-size:var(--text-xs);color:var(--color-danger);margin-top:4px}input.success,select.success,textarea.success{border-color:var(--color-success)}input.warning,select.warning,textarea.warning{border-color:var(--color-warning)}@media (max-width: 768px){.form-grid.two-col,.form-grid.three-col,.weight-row{grid-template-columns:1fr}.weight-controls{grid-template-columns:1fr;justify-content:start}.add-item-form,.auth-tabs{flex-direction:column}.auth-tab{width:100%}}@media print{input,select,textarea{border:1px solid #000;background:none;box-shadow:none}}:root{--modal-bg: #f5f3ef;--modal-card: #ffffff;--modal-line: #e2ddd4;--modal-line-strong: #d5cfc4;--modal-text: #1a1a1a;--modal-muted: #8a8578;--modal-faint: #c4beb3;--modal-green: #1f6b45;--modal-green-hover: #174f34;--modal-green-soft: rgba(31, 107, 69, .06);--modal-gold: #c9a44c;--modal-gold-soft: rgba(201, 164, 76, .06);--modal-shadow: 0 4px 12px rgba(0, 0, 0, .06);--modal-font: "SF Mono", "JetBrains Mono", monospace}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:none;place-items:center;background:rgba(2,6,23,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop, 1000);padding:16px;opacity:1;transition:opacity .2s ease}.modal[style*="display: none"]{display:none!important}.modal-content{width:100%;max-width:640px;background:var(--modal-card);border:1px solid var(--modal-line);border-radius:4px;box-shadow:0 16px 48px #0000001f;overflow:hidden;z-index:var(--z-modal, 1001);position:relative;animation:modalSlideIn .2s ease}.modal-content.wide{max-width:860px}.event-details-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(2,6,23,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-header{padding:14px 18px;border-bottom:1px solid var(--modal-line);background:var(--modal-gold-soft);display:flex;justify-content:space-between;align-items:center;min-height:48px}.modal-header h3{margin:0;font-size:15px;font-weight:600;color:var(--modal-text);font-family:var(--modal-font);text-transform:uppercase;letter-spacing:.3px}.modal-body{padding:18px;max-height:70vh;overflow-y:auto}.modal-body::-webkit-scrollbar{width:4px}.modal-body::-webkit-scrollbar-track{background:var(--modal-line);border-radius:2px}.modal-body::-webkit-scrollbar-thumb{background:var(--modal-gold);border-radius:2px}.modal-footer{padding:12px 18px;border-top:1px solid var(--modal-line);background:var(--modal-gold-soft);display:flex;gap:8px;justify-content:flex-end}.close-modal{background:var(--modal-card);border:1px solid var(--modal-line);color:var(--modal-muted);border-radius:4px;padding:5px 10px;cursor:pointer;font-size:13px;font-family:var(--modal-font);transition:all .15s ease}.close-modal:hover{background:var(--modal-gold-soft);border-color:var(--modal-gold-border);transform:translateY(-1px);color:var(--modal-text)}.modal-close{background:transparent;border:1px solid transparent;font-size:16px;color:var(--modal-muted);cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s ease;line-height:1}.modal-close:hover{background:var(--modal-gold-soft);border-color:var(--modal-line);color:var(--modal-text)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}@media (max-width: 600px){.grid-2,.grid-3{grid-template-columns:1fr}}.modal-label{display:block;font-size:10px;font-weight:600;color:var(--modal-muted);margin-bottom:4px;font-family:var(--modal-font);text-transform:uppercase;letter-spacing:.3px}.event-detail-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--modal-line)}.detail-title{font-size:18px;font-weight:700;color:var(--modal-text);margin-bottom:8px;line-height:1.3;font-family:var(--modal-font)}.detail-date{font-size:12px;color:var(--modal-muted);margin-bottom:8px;font-family:var(--modal-font)}.detail-time{font-size:12px;color:var(--modal-green);font-weight:600;display:flex;align-items:center;gap:6px;margin-bottom:6px;font-family:var(--modal-font)}.event-detail-content{margin-bottom:18px}.detail-section{margin-bottom:14px}.detail-label{font-size:9px;text-transform:uppercase;color:var(--modal-muted);letter-spacing:.5px;margin-bottom:6px;display:flex;align-items:center;gap:6px;font-family:var(--modal-font);font-weight:600}.detail-value{font-size:13px;color:var(--modal-text);line-height:1.5;padding-left:14px;font-family:var(--modal-font)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--modal-line)}.modal-sm .modal-content{max-width:400px}.modal-lg .modal-content{max-width:860px}.modal-xl .modal-content{max-width:1100px}.modal-full .modal-content{max-width:95vw;max-height:95vh}.modal-top .modal-content{margin-top:20px;margin-bottom:auto}.modal-bottom .modal-content{margin-top:auto;margin-bottom:20px}.modal-center .modal-content{margin:auto}.modal-backdrop-blur .modal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-backdrop-dark .modal{background:rgba(2,6,23,.75)}.modal-backdrop-light .modal{background:rgba(255,255,255,.7)}.modal-scrollable .modal-body{overflow-y:auto}.modal-close-top-right{position:absolute;top:12px;right:12px;z-index:10}.modal-close-top-left{position:absolute;top:12px;left:12px;z-index:10}.modal-with-image .modal-header{padding:0;border-bottom:none}.modal-with-image img{width:100%;height:200px;object-fit:cover}.modal-loading .modal-content{position:relative;min-height:180px}.modal-loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;border:2px solid var(--modal-line);border-top-color:var(--modal-gold);border-radius:50%;animation:modalSpin 1s linear infinite}@keyframes modalSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}.modal-tabs{display:flex;border-bottom:1px solid var(--modal-line);background:var(--modal-gold-soft)}.modal-tab{flex:1;padding:10px 14px;text-align:center;border:none;background:transparent;color:var(--modal-muted);cursor:pointer;transition:all .15s ease;border-bottom:2px solid transparent;font-family:var(--modal-font);font-size:11px;text-transform:uppercase;letter-spacing:.3px}.modal-tab.active{color:var(--modal-green);border-bottom-color:var(--modal-gold);font-weight:600}.modal-tab:hover:not(.active){background:var(--modal-gold-soft);color:var(--modal-text)}.modal-confirmation .modal-content{max-width:400px}.modal-confirmation .modal-body{text-align:center;padding:24px}.modal-confirmation .modal-footer{justify-content:center}.modal-with-sidebar{display:flex;max-height:80vh}.modal-sidebar{width:240px;background:var(--modal-gold-soft);border-right:1px solid var(--modal-line);padding:14px;overflow-y:auto}.modal-sidebar::-webkit-scrollbar{width:4px}.modal-sidebar::-webkit-scrollbar-track{background:var(--modal-line);border-radius:2px}.modal-sidebar::-webkit-scrollbar-thumb{background:var(--modal-gold);border-radius:2px}.modal-main{flex:1;padding:14px;overflow-y:auto}.modal-main::-webkit-scrollbar{width:4px}.modal-main::-webkit-scrollbar-track{background:var(--modal-line);border-radius:2px}.modal-main::-webkit-scrollbar-thumb{background:var(--modal-gold);border-radius:2px}@media (max-width: 768px){.modal{padding:10px}.modal-content{max-width:95%;margin:10px}.modal-actions{flex-direction:column}.modal-actions .btn-primary,.modal-actions .btn-secondary{width:100%}.grid-2,.grid-3{grid-template-columns:1fr}.modal-with-sidebar{flex-direction:column}.modal-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--modal-line)}}@media (max-width: 480px){.modal-header,.modal-body,.modal-footer{padding:12px}.modal-header h3{font-size:13px}.detail-title{font-size:16px}}@media print{.modal{position:static;background:white;display:block!important}.modal-content{box-shadow:none;border:1px solid #000;border-radius:0}.modal-close,.close-modal,.modal-overlay{display:none!important}}.modal:focus{outline:none}.modal-content:focus{outline:2px solid var(--modal-gold);outline-offset:2px}.close-modal:focus-visible,.modal-close:focus-visible,.modal-tab:focus-visible{outline:2px solid var(--modal-gold);outline-offset:2px}.modal .btn-primary{background:var(--modal-green);color:#fff;border:none;padding:6px 18px;border-radius:4px;font-weight:500;font-size:11px;font-family:var(--modal-font);cursor:pointer;transition:all .15s ease;letter-spacing:.3px;text-transform:uppercase}.modal .btn-primary:hover:not(:disabled){background:var(--modal-green-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1f6b4533}.modal .btn-secondary{background:transparent;color:var(--modal-muted);border:1px solid var(--modal-line);padding:6px 18px;border-radius:4px;font-weight:500;font-size:11px;font-family:var(--modal-font);cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.3px}.modal .btn-secondary:hover{background:var(--modal-card);border-color:var(--modal-gold-border);color:var(--modal-text)}.modal .btn-danger{background:#b91c1c;color:#fff;border:none;padding:6px 18px;border-radius:4px;font-weight:500;font-size:11px;font-family:var(--modal-font);cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.3px}.modal .btn-danger:hover{background:#7f1d1d;transform:translateY(-1px)}.modal .modal-input{width:100%;padding:8px 12px;border:1px solid var(--modal-line);border-radius:4px;background:var(--modal-card);color:var(--modal-text);font-size:13px;font-family:var(--modal-font);transition:all .15s ease}.modal .modal-input:focus{outline:none;border-color:var(--modal-gold);box-shadow:0 0 0 3px #c9a44c1f}.modal .modal-input::placeholder{color:var(--modal-faint)}.modal textarea.modal-input{min-height:80px;resize:vertical;padding:10px 12px}.modal select.modal-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a8578'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}#confirmModal,#promptModal,.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000!important}#confirmModal .modal-content,#promptModal .modal-content,.modal .modal-content{position:relative;z-index:20001!important}:root{--table-bg: #f5f3ef;--table-card: #ffffff;--table-line: #e2ddd4;--table-line-strong: #d5cfc4;--table-text: #1a1a1a;--table-muted: #8a8578;--table-faint: #c4beb3;--table-green: #1f6b45;--table-green-soft: rgba(31, 107, 69, .06);--table-gold: #c9a44c;--table-gold-soft: rgba(201, 164, 76, .06);--table-font: "SF Mono", "JetBrains Mono", monospace}table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:4px;font-size:12px;font-family:var(--table-font)}th,td{padding:8px 12px;border-bottom:1px solid var(--table-line);text-align:left;vertical-align:middle}thead th{font-size:9px;color:var(--table-muted);background:var(--table-gold-soft);font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--table-line);position:sticky;top:0;z-index:10}tbody tr{transition:all .15s ease}tbody tr:hover{background:var(--table-gold-soft)}tbody tr:last-child td{border-bottom:none}.schedule-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;background:var(--table-card);color:var(--table-text);border:1px solid var(--table-line);border-radius:4px;overflow:hidden}.schedule-table thead th{position:sticky;top:0;background:var(--table-gold-soft);color:var(--table-muted);font-weight:600;font-size:9px;text-transform:uppercase;letter-spacing:.5px;padding:8px 10px;border-bottom:2px solid var(--table-line);z-index:2}.schedule-table th:first-child,.schedule-table td:first-child{width:70px}.schedule-table tbody td,.schedule-table tbody th{border-bottom:1px solid var(--table-line);border-right:1px solid var(--table-line);padding:8px;vertical-align:top}.time-group-header td{background:var(--table-gold-soft);color:var(--table-muted);border-top:1px solid var(--table-line);border-bottom:1px solid var(--table-line);font-weight:600}.time-group-label{font-weight:600;font-size:9px;text-transform:uppercase;letter-spacing:.5px}.time-slot{color:var(--table-muted);font-weight:500;white-space:nowrap;font-size:11px}.day-cell{min-height:56px;background:var(--table-card);transition:all .15s ease}.day-cell:hover{background:var(--table-gold-soft)}.is-today{background:var(--table-gold-soft);outline:1px solid var(--table-gold-border)}.now-line:after{content:"";position:absolute;left:0;right:0;top:calc(50% - 1px);height:2px;background:var(--table-gold);opacity:.6}.schedule-compact .sched-row td,.schedule-compact .sched-row th{padding-top:4px;padding-bottom:4px}.grades-table{border:1px solid var(--table-line);border-radius:4px;overflow:hidden}.grades-header,.table-header{display:grid;grid-template-columns:1.5fr repeat(3,1fr) 1fr;gap:0;padding:8px 12px;background:var(--table-gold-soft);border-bottom:2px solid var(--table-line);font-size:9px;color:var(--table-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.table-row,.grades-row{display:grid;grid-template-columns:1.5fr repeat(3,1fr) 1fr;gap:0;padding:8px 12px;border-bottom:1px solid var(--table-line);align-items:center;font-size:12px}.course-name{font-weight:600}.grade-table{width:100%;border-collapse:collapse}.grade-table th,.grade-table td{padding:8px 12px;border-bottom:1px solid var(--table-line)}.grade-table th{background:var(--table-gold-soft);color:var(--table-muted);font-size:9px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.gpa-ops-table{background:var(--table-card);border:1px solid var(--table-line);border-radius:4px;overflow:hidden}.gpa-ops-table-head{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:10px;padding:10px 14px;background:var(--table-gold-soft);border-bottom:2px solid var(--table-line);font-size:9px;font-weight:600;color:var(--table-muted);text-transform:uppercase;letter-spacing:.5px;font-family:var(--table-font)}.gpa-ops-table-body{max-height:560px;overflow-y:auto}.gpa-ops-table-body::-webkit-scrollbar{width:4px}.gpa-ops-table-body::-webkit-scrollbar-track{background:var(--table-line);border-radius:2px}.gpa-ops-table-body::-webkit-scrollbar-thumb{background:var(--table-gold);border-radius:2px}.gpa-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:10px;padding:10px 14px;align-items:center;border-top:1px solid var(--table-line);font-size:12px}.gpa-row:hover{background:var(--table-gold-soft)}.gpa-course{font-weight:600;color:var(--table-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-table{width:100%;border-collapse:collapse}.history-table th{background:var(--table-gold-soft);padding:8px 12px;text-align:left;font-weight:600;color:var(--table-muted);border-bottom:2px solid var(--table-line);font-size:9px;text-transform:uppercase;letter-spacing:.5px}.history-table td{padding:8px 12px;border-bottom:1px solid var(--table-line);font-size:12px}.history-term-summary{background:var(--table-gold-soft);font-weight:600}.history-term-summary td{border-top:2px solid var(--table-line)}.ev-cell{vertical-align:top;padding:6px;min-width:100px}.ev-stack{display:flex;flex-direction:column;gap:4px}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.schedule-table th:first-child,.schedule-table td:first-child{position:sticky;left:0;z-index:1;background:var(--table-card)}.table-striped tbody tr:nth-child(odd){background:var(--table-gold-soft)}.table-bordered th,.table-bordered td{border:1px solid var(--table-line)}.table-hover tbody tr:hover{background:var(--table-gold-soft)}.table-sm th,.table-sm td{padding:4px 8px;font-size:10px}.table-lg th,.table-lg td{padding:12px 16px;font-size:14px}caption{caption-side:bottom;padding:6px;color:var(--table-muted);font-size:10px;text-align:center;font-family:var(--table-font)}.table-fixed-header{display:block;overflow-y:auto;max-height:400px}.table-fixed-header thead{position:sticky;top:0;z-index:10}.table-fixed-header::-webkit-scrollbar{width:4px}.table-fixed-header::-webkit-scrollbar-track{background:var(--table-line);border-radius:2px}.table-fixed-header::-webkit-scrollbar-thumb{background:var(--table-gold);border-radius:2px}@media (max-width: 900px){.schedule-table th:nth-child(2),.schedule-table td:nth-child(2),.schedule-table th:nth-child(3),.schedule-table td:nth-child(3),.schedule-table th:nth-child(4),.schedule-table td:nth-child(4){display:none}.schedule-table th:first-child,.schedule-table td:first-child{width:60px}}@media (max-width: 768px){.grade-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.grade-table th,.grade-table td{min-width:100px}.gpa-ops-table-head,.gpa-row{grid-template-columns:1.6fr 1fr 1fr;row-gap:6px}.gpa-ops-table-head span:last-child,.gpa-row span:last-child{display:none}.grades-header,.table-header,.table-row,.grades-row{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:4px}.grades-header span:last-child,.table-header span:last-child,.table-row span:last-child,.grades-row span:last-child{display:none}}@media (max-width: 480px){th,td{padding:6px 8px;font-size:10px}.gpa-ops-table-head,.gpa-row{grid-template-columns:1.4fr .8fr .8fr;gap:4px;padding:8px 10px;font-size:10px}.grades-header,.table-header,.table-row,.grades-row{grid-template-columns:1.2fr .8fr .8fr;font-size:8px;padding:6px 8px}.schedule-table th:first-child,.schedule-table td:first-child{width:50px}.time-slot{font-size:9px}.grade-table th,.grade-table td{min-width:80px;font-size:10px;padding:6px 8px}}@media print{table{border:1px solid #000!important;border-radius:0!important}thead th{background:#f0f0f0!important;border-bottom:2px solid #000!important}tbody tr:hover{background:transparent!important}.schedule-table{border:1px solid #000!important}.is-today{background:#f5f5f5!important;outline:1px solid #000!important}.table-fixed-header{max-height:none!important;overflow:visible!important}.table-fixed-header thead{position:static!important}}th:focus-visible,td:focus-visible{outline:2px solid var(--table-gold);outline-offset:2px}@keyframes tableRowIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}tbody tr{animation:tableRowIn .15s ease}tbody tr:nth-child(2){animation-delay:.05s}tbody tr:nth-child(3){animation-delay:.1s}tbody tr:nth-child(4){animation-delay:.15s}tbody tr:nth-child(5){animation-delay:.2s}.badge,.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border-light);background:var(--color-bg-surface);padding:2px 8px;border-radius:999px;font-size:var(--text-xs);font-weight:var(--font-weight-medium);white-space:nowrap;vertical-align:middle}.badge-sm,.chip-sm{padding:1px 6px;font-size:10px}.badge-lg,.chip-lg{padding:4px 12px;font-size:var(--text-sm)}.badge-primary,.chip-primary{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 22%,var(--color-border-light))}.badge-secondary,.chip-secondary{background:var(--color-bg-secondary);color:var(--color-text-secondary);border-color:var(--color-border-light)}.badge-success,.chip-success{background:color-mix(in srgb,var(--color-success) 12%,transparent);color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 22%,var(--color-border-light))}.badge-warning,.chip-warning{background:color-mix(in srgb,var(--color-warning) 12%,transparent);color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 22%,var(--color-border-light))}.badge-danger,.chip-danger{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 22%,var(--color-border-light))}.badge-info,.chip-info{background:color-mix(in srgb,var(--color-info) 12%,transparent);color:var(--color-info);border-color:color-mix(in srgb,var(--color-info) 22%,var(--color-border-light))}.badge-course{background:color-mix(in srgb,var(--color-accent) 14%,transparent);color:var(--color-text-primary);border:1px solid color-mix(in srgb,var(--color-accent) 26%,var(--color-border-light))}.badge-google{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--color-success);background:color-mix(in srgb,var(--color-success) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-success) 22%,var(--color-border-light));padding:2px 6px;border-radius:999px}.event-chip{display:inline-flex;align-items:center;border:1px solid var(--color-border-light);border-radius:10px;padding:8px;margin:4px 0;background:var(--color-bg-surface);font-size:var(--text-xs)}.event-chip-title{font-weight:var(--font-weight-bold);line-height:1.2}.event-chip-time,.event-chip-loc{opacity:.8;margin-top:4px;font-size:11px}.alert-chip{border:1px solid var(--color-border-light);border-radius:999px;padding:6px 10px;font-size:var(--text-xs);display:inline-block;margin:4px 6px 0 0;background:var(--color-bg-surface);font-weight:var(--font-weight-medium)}.alert-danger{border-color:color-mix(in srgb,var(--color-danger) 28%,var(--color-border-light));background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger)}.alert-warn{border-color:color-mix(in srgb,var(--color-warning) 28%,var(--color-border-light));background:color-mix(in srgb,var(--color-warning) 12%,transparent);color:var(--color-warning)}.alert-ok{opacity:.9;border-color:color-mix(in srgb,var(--color-success) 28%,var(--color-border-light));background:color-mix(in srgb,var(--color-success) 10%,transparent);color:var(--color-success)}.risk-badge{font-size:var(--text-xs);font-weight:var(--font-weight-extrabold);padding:4px 10px;border-radius:999px;border:1px solid var(--color-border-light);background:var(--color-bg-secondary)}.risk-badge.risk-danger{color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 26%,var(--color-border-light))}.risk-badge.risk-warn{color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 26%,var(--color-border-light))}.risk-badge.risk-watch{color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 26%,var(--color-border-light))}.risk-badge.risk-ok{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 26%,var(--color-border-light))}.risk-tag{font-size:var(--text-xs);font-weight:var(--font-weight-bold);padding:4px 8px;border-radius:999px;border:1px solid var(--color-border-light);background:var(--color-bg-secondary);color:var(--color-text-secondary)}.risk-tag-danger{color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 26%,var(--color-border-light))}.risk-tag-warn{color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 26%,var(--color-border-light))}.risk-tag-ok{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 26%,var(--color-border-light))}.grade-badge{padding:2px 8px;border-radius:12px;font-weight:var(--font-weight-bold);font-size:.85em;border:1px solid var(--color-border-light);background:var(--color-bg-secondary);color:var(--color-text-primary)}.grade-A,.grade-A+{background:color-mix(in srgb,var(--color-success) 14%,transparent);color:var(--color-success)}.grade-A-{background:color-mix(in srgb,var(--color-info) 14%,transparent);color:var(--color-info)}.grade-B+,.grade-B{background:color-mix(in srgb,var(--color-warning) 14%,transparent);color:var(--color-warning)}.grade-B-{background:color-mix(in srgb,var(--color-warning) 10%,transparent);color:var(--color-warning)}.grade-C+,.grade-C{background:color-mix(in srgb,var(--color-danger) 10%,transparent);color:var(--color-danger)}.grade-C-{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger)}.grade-D+,.grade-D{background:color-mix(in srgb,var(--color-text-primary) 6%,transparent);color:var(--color-text-primary)}.grade-F{background:var(--color-danger);color:#fffffff5;border-color:color-mix(in srgb,var(--color-danger) 40%,var(--color-border-light))}.grade-P,.grade-CR{background:var(--color-success);color:#fffffff5;border-color:color-mix(in srgb,var(--color-success) 40%,var(--color-border-light))}.grade-W,.grade-I{background:color-mix(in srgb,var(--color-text-primary) 18%,transparent);color:var(--color-text-primary)}.task-priority{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid var(--color-border-light);background:var(--color-bg-surface)}.priority-low{background:color-mix(in srgb,var(--color-info) 10%,transparent);color:var(--color-info)}.priority-medium{background:color-mix(in srgb,var(--color-warning) 12%,transparent);color:var(--color-warning)}.priority-high{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger)}.notification-badge{background:var(--color-danger);color:#fffffff5;border-radius:50%;width:18px;height:18px;font-size:10px;display:flex;align-items:center;justify-content:center;position:absolute;top:-5px;right:-5px;font-weight:var(--font-weight-bold);border:1px solid rgba(255,255,255,.65)}.today-badge{display:inline-block;background:color-mix(in srgb,var(--color-primary) 86%,#000 14%);color:#fffffff5;font-size:11px;padding:2px 8px;border-radius:10px;margin-top:6px;font-weight:var(--font-weight-semibold);border:1px solid rgba(201,164,76,.22)}.goal-progress-badge{font-size:.75rem;font-weight:var(--font-weight-semibold);color:#fffffff5;padding:.25rem .5rem;border-radius:9999px;margin-left:.5rem;background:color-mix(in srgb,var(--color-primary) 86%,#000 14%);border:1px solid rgba(201,164,76,.22)}.overdue-badge{font-size:.7rem;padding:.15rem .5rem;background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger);border-radius:6px;margin-left:.5rem;border:1px solid color-mix(in srgb,var(--color-danger) 22%,var(--color-border-light))}.days-badge{font-size:.7rem;padding:.15rem .5rem;background:color-mix(in srgb,var(--color-info) 10%,transparent);color:var(--color-info);border-radius:6px;margin-left:.5rem;border:1px solid color-mix(in srgb,var(--color-info) 20%,var(--color-border-light))}.badge-pill{border-radius:10rem;padding:.25em .6em;font-size:.75em;font-weight:var(--font-weight-semibold);line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline}.badge-pill.badge-danger{background-color:var(--color-danger);color:#fffffff5}.badge-pill.badge-success{background-color:var(--color-success);color:#fffffff5}.badge-pill.badge-secondary{background-color:var(--color-text-tertiary);color:#fffffff5}.badge-pill.badge-info{background-color:var(--color-info);color:#fffffff5}.badge-pill.badge-light{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-light)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-border)}.status-dot.online{background:var(--color-success)}.status-dot.offline{background:var(--color-danger)}.status-dot.away{background:var(--color-warning)}.status-dot.busy{background:var(--color-danger)}.badge-close{padding-right:4px;cursor:pointer}.badge-close:hover{opacity:.85}.badge-group{display:inline-flex;gap:4px;flex-wrap:wrap}.badge-with-icon,.chip-with-icon{padding-left:6px}.badge-with-icon i,.chip-with-icon i{font-size:10px;opacity:.85}.badge-outlined,.chip-outlined{background:transparent;border:1px solid currentColor}.badge-soft,.chip-soft{background:color-mix(in srgb,var(--color-text-primary) 6%,transparent);border:none}@media (max-width: 480px){.badge,.chip{font-size:10px;padding:1px 6px}.badge-lg,.chip-lg{font-size:var(--text-xs);padding:3px 8px}}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.badge-pulse{animation:badgePulse 2s infinite}a .badge,a .chip{text-decoration:none}a .badge:hover,a .chip:hover{opacity:.92}:root{--nt-bg: #f5f3ef;--nt-card: #ffffff;--nt-soft: #faf8f5;--nt-line: #e2ddd4;--nt-line-strong: #d5cfc4;--nt-text: #1a1a1a;--nt-muted: #8a8578;--nt-faint: #c4beb3;--nt-green: #1f6b45;--nt-green-soft: rgba(31, 107, 69, .06);--nt-gold: #c9a44c;--nt-gold-soft: rgba(201, 164, 76, .06);--nt-shadow: 0 4px 12px rgba(0, 0, 0, .06);--nt-font: "SF Mono", "JetBrains Mono", monospace}section[data-view=notifications]{min-height:calc(100vh - var(--topbar-height, 56px));background:var(--nt-bg)}.notifications-page{padding:16px 20px;color:var(--nt-text)}.notifications-page-header{display:flex;justify-content:space-between;gap:16px;padding:16px 20px;margin-bottom:14px;background:var(--nt-card);border:1px solid var(--nt-line);border-top:3px solid var(--nt-green);border-radius:4px;box-shadow:var(--nt-shadow)}.notifications-kicker{margin:0 0 4px;color:var(--nt-gold);font-weight:600;font-size:9px;font-family:var(--nt-font);letter-spacing:.5px;text-transform:uppercase}.notifications-page-header h1{margin:0;font-size:20px;font-weight:700;font-family:var(--nt-font);text-transform:uppercase;letter-spacing:-.3px}.notifications-page-header p:last-child{margin:4px 0 0;color:var(--nt-muted);font-size:12px;font-family:var(--nt-font)}.notifications-header-actions,.notification-detail-card footer{display:flex;gap:6px;flex-wrap:wrap}.notifications-btn{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 14px;border:1px solid var(--nt-line);border-radius:4px;background:var(--nt-card);color:var(--nt-text);font-weight:500;font-size:10px;font-family:var(--nt-font);text-transform:uppercase;letter-spacing:.3px;cursor:pointer;transition:all .15s ease}.notifications-btn:hover{background:var(--nt-gold-soft);border-color:var(--nt-gold-border);transform:translateY(-1px)}.notifications-btn-primary{background:var(--nt-green);border-color:var(--nt-green);color:#fff}.notifications-btn-primary:hover{background:var(--nt-green-hover, #174f34);border-color:var(--nt-green-hover, #174f34)}#notificationsTopbarBtn,[data-open-notifications]{position:relative;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:#ffffffb3;font-size:18px;cursor:pointer;transition:all .15s ease;padding:0;margin:0}#notificationsTopbarBtn:hover,[data-open-notifications]:hover{color:#fff;background:rgba(255,255,255,.08)}#notificationsTopbarBtn:active,[data-open-notifications]:active{transform:scale(.95)}#notificationsTopbarBadge,[data-notifications-badge]{position:absolute;top:-4px;right:-6px;display:none;min-width:18px;height:18px;padding:0 5px;align-items:center;justify-content:center;border:2px solid var(--nav-bg, #0c5137);border-radius:4px;background:#b91c1c;color:#fff;font-weight:700;font-size:9px;font-family:var(--nt-font);line-height:1;box-shadow:0 2px 6px #b91c1c4d}#notificationsTopbarBadge.visible,[data-notifications-badge].visible{display:flex}.notifications-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.notifications-stats>div{padding:12px 16px;background:var(--nt-card);border:1px solid var(--nt-line);border-radius:4px;box-shadow:var(--nt-shadow);border-bottom:2px solid var(--nt-line-strong);transition:all .15s ease}.notifications-stats>div:hover{border-color:var(--nt-gold-border)}.notifications-stats>div.is-unread{border-bottom-color:var(--nt-green)}.notifications-stats span,.notifications-stats small{display:block;color:var(--nt-muted);font-family:var(--nt-font)}.notifications-stats span{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.notifications-stats strong{display:block;margin:4px 0;font-weight:700;font-size:24px;font-family:var(--nt-font)}.notifications-stats small{font-size:10px}.notifications-workspace{display:grid;grid-template-columns:minmax(380px,.85fr) minmax(400px,1.15fr);gap:12px;align-items:start}.notifications-list-panel,.notification-detail-panel{background:var(--nt-card);border:1px solid var(--nt-line);border-radius:4px;box-shadow:var(--nt-shadow);overflow:hidden}.notifications-panel-heading{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:2px solid var(--nt-line)}.notifications-panel-heading h2{margin:0;font-size:13px;font-weight:600;font-family:var(--nt-font);text-transform:uppercase;letter-spacing:.3px}.notifications-panel-heading>span{font-size:10px;font-family:var(--nt-font);color:var(--nt-muted)}.notifications-filter-bar{display:grid;grid-template-columns:1fr 120px 140px;gap:6px;padding:10px 12px;background:var(--nt-soft);border-bottom:1px solid var(--nt-line)}.notifications-filter-bar label{display:flex;align-items:center;gap:6px;padding:0 10px;background:var(--nt-card);border:1px solid var(--nt-line);border-radius:4px;transition:all .15s ease}.notifications-filter-bar label:focus-within{border-color:var(--nt-gold);box-shadow:0 0 0 3px #c9a44c1f}.notifications-filter-bar input,.notifications-filter-bar select{width:100%;min-height:34px;border:none;border-radius:4px;background:transparent;padding:0 8px;font-family:var(--nt-font);font-size:12px;color:var(--nt-text);outline:none}.notifications-filter-bar select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a8578'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px;cursor:pointer}.notifications-filter-bar label input{border:none;padding:0;outline:none}.notifications-list{max-height:calc(100vh - 340px);overflow:auto}.notifications-list::-webkit-scrollbar{width:4px}.notifications-list::-webkit-scrollbar-track{background:var(--nt-line);border-radius:2px}.notifications-list::-webkit-scrollbar-thumb{background:var(--nt-gold);border-radius:2px}.notification-row{position:relative;display:grid;grid-template-columns:36px 1fr 14px;gap:10px;width:100%;padding:10px 14px;border:none;border-bottom:1px solid var(--nt-line);background:var(--nt-card);text-align:left;cursor:pointer;transition:all .15s ease}.notification-row:hover{background:var(--nt-gold-soft)}.notification-row.is-unread{background:var(--nt-green-soft)}.notification-row.is-selected{background:var(--nt-gold-soft)}.notification-row.is-unread:before,.notification-row.is-selected:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--nt-green)}.notification-row.is-selected:before{background:var(--nt-gold)}.notification-row-icon,.notification-detail-icon{display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0}.notification-row-icon{width:36px;height:36px;font-size:14px}.notification-detail-icon{width:48px;height:48px;font-size:18px}.notification-row-icon.is-support,.notification-detail-icon.is-support{background:var(--nt-green-soft);color:var(--nt-green)}.is-broadcasts{background:var(--nt-gold-soft);color:#8a6500}.is-academics{background:rgba(59,130,246,.08);color:#2563eb}.is-staff{background:rgba(92,67,125,.08);color:#5c437d}.is-system{background:rgba(185,28,28,.06);color:#b91c1c}.notification-row-content{min-width:0}.notification-row-title{display:flex;gap:6px;align-items:center}.notification-row-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:12px;font-family:var(--nt-font)}.notification-row-title em{padding:1px 8px;border-radius:4px;background:var(--nt-green);color:#fff;font-weight:600;font-size:7px;font-family:var(--nt-font);font-style:normal;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.notification-row-message{display:-webkit-box;margin:4px 0 3px;overflow:hidden;color:var(--nt-muted);font-size:11px;font-family:var(--nt-font);line-height:1.4;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notification-row small{color:var(--nt-faint);font-size:9px;font-family:var(--nt-font);text-transform:uppercase;letter-spacing:.3px}.notification-row-arrow{align-self:center;color:var(--nt-faint);font-size:12px}.notification-detail-panel{position:sticky;top:calc(var(--topbar-height, 56px) + 12px);min-height:400px}.notification-detail-card>header{display:flex;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:2px solid var(--nt-line)}.notification-detail-card h2{margin:0;font-size:16px;font-weight:700;font-family:var(--nt-font);text-transform:uppercase;letter-spacing:-.3px}.notification-detail-card header small{display:block;margin-top:4px;color:var(--nt-muted);font-size:9px;font-family:var(--nt-font);text-transform:uppercase;letter-spacing:.3px}.notification-detail-message{padding:16px 20px;border-bottom:1px solid var(--nt-line);font-size:13px;font-family:var(--nt-font);line-height:1.7;color:var(--nt-text)}.notification-detail-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 20px;margin:0}.notification-detail-card dl>div{padding:10px 12px;background:var(--nt-soft);border:1px solid var(--nt-line);border-radius:4px;transition:all .15s ease}.notification-detail-card dl>div:hover{border-color:var(--nt-gold-border)}.notification-detail-card dt{color:var(--nt-muted);font-weight:600;font-size:8px;font-family:var(--nt-font);text-transform:uppercase;letter-spacing:.5px}.notification-detail-card dd{margin:4px 0 0;font-size:12px;font-family:var(--nt-font);overflow-wrap:anywhere;color:var(--nt-text)}.notification-detail-card footer{padding:0 20px 20px}.notification-detail-empty,.notifications-empty{display:flex;min-height:260px;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--nt-muted)}.notification-detail-empty{min-height:400px}.notification-detail-empty i,.notifications-empty i{font-size:32px;color:var(--nt-gold);opacity:.3}.notification-detail-empty h3,.notifications-empty h3{margin:10px 0 4px;color:var(--nt-text);font-size:14px;font-weight:600;font-family:var(--nt-font);text-transform:uppercase;letter-spacing:.3px}.notification-detail-empty p,.notifications-empty p{font-size:12px;font-family:var(--nt-font);color:var(--nt-muted);margin:0}.notifications-mount,.notifications-bell,#notificationsBellBtn,#notificationsModal{display:none!important}@media (max-width: 1100px){.notifications-workspace{grid-template-columns:1fr}.notification-detail-panel{position:static;min-height:auto}.notifications-list{max-height:420px}}@media (max-width: 820px){.notifications-page{padding:12px 14px}.notifications-page-header{flex-direction:column;padding:14px 16px}.notifications-stats{grid-template-columns:1fr 1fr}.notifications-filter-bar{grid-template-columns:1fr}.notifications-header-actions{width:100%}.notifications-header-actions .notifications-btn{flex:1;justify-content:center}}@media (max-width: 520px){.notifications-page{padding:8px 10px}.notifications-stats{grid-template-columns:1fr 1fr;gap:6px}.notifications-stats>div{padding:10px 12px}.notifications-stats strong{font-size:20px}.notifications-page-header h1{font-size:18px}.notification-detail-card dl{grid-template-columns:1fr}.notification-detail-card>header{flex-direction:column;gap:10px}.notification-row{padding:8px 12px;grid-template-columns:32px 1fr 12px;gap:8px}.notification-row-icon{width:32px;height:32px;font-size:12px}.notifications-filter-bar label{padding:0 8px}.notifications-filter-bar input,.notifications-filter-bar select{font-size:11px;min-height:32px}.notification-detail-icon{width:40px;height:40px;font-size:16px}#notificationsTopbarBtn,[data-open-notifications]{width:34px;height:34px;font-size:16px}#notificationsTopbarBadge,[data-notifications-badge]{min-width:16px;height:16px;font-size:8px;top:-3px;right:-5px}}.notifications-btn:focus-visible,.notification-row:focus-visible,.notifications-filter-bar input:focus-visible,.notifications-filter-bar select:focus-visible,#notificationsTopbarBtn:focus-visible,[data-open-notifications]:focus-visible{outline:2px solid var(--nt-gold);outline-offset:2px}@keyframes notifSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.notification-row{animation:notifSlideIn .2s ease}.notification-row:nth-child(2){animation-delay:.05s}.notification-row:nth-child(3){animation-delay:.1s}.notification-row:nth-child(4){animation-delay:.15s}@media print{section[data-view=notifications]{background:white!important;min-height:auto!important}.notifications-page{padding:0!important}.notifications-page-header{border:1px solid #000!important;box-shadow:none!important}.notifications-stats>div{border:1px solid #000!important}.notification-row{border:1px solid #000!important}.notifications-btn,.notifications-filter-bar,#notificationsTopbarBtn{display:none!important}.notification-detail-panel{position:static!important}}:root{--imp-bg: #7f1d1d;--imp-bg-hover: #991b1b;--imp-text: #ffffff;--imp-border: rgba(255, 255, 255, .2);--imp-shadow: 0 4px 16px rgba(0, 0, 0, .2);--imp-font: "SF Mono", "JetBrains Mono", monospace}.impersonation-banner{position:sticky;top:0;z-index:3000;min-height:40px;padding:8px 20px;background:var(--imp-bg);color:var(--imp-text);display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:var(--imp-shadow);font-family:var(--imp-font);border-bottom:2px solid rgba(255,255,255,.08)}.impersonation-banner{position:fixed;top:56px;left:0;right:0;z-index:3000;min-height:44px;padding:8px 24px;background:var(--imp-bg);color:var(--imp-text);display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:var(--imp-shadow);font-family:var(--imp-font);border-bottom:2px solid rgba(255,255,255,.08);animation:impersonationSlideDown .25s ease}.impersonation-banner .impersonation-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.impersonation-banner .impersonation-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.08);font-size:14px;flex-shrink:0}.impersonation-banner strong{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.7;font-family:var(--imp-font)}.impersonation-banner span{font-weight:700;font-size:13px;font-family:var(--imp-font)}.impersonation-banner .impersonation-user{display:inline-flex;align-items:center;gap:6px;padding:2px 12px;background:rgba(255,255,255,.08);border-radius:4px;border:1px solid rgba(255,255,255,.06)}.impersonation-banner .impersonation-user i{font-size:12px;opacity:.6}.impersonation-banner button{border:1px solid var(--imp-border);background:rgba(255,255,255,.08);color:var(--imp-text);border-radius:4px;min-height:32px;padding:0 18px;cursor:pointer;font-weight:600;font-size:10px;font-family:var(--imp-font);text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.impersonation-banner button:hover{background:rgba(255,255,255,.16);border-color:#ffffff4d;transform:translateY(-1px)}.impersonation-banner button:active{transform:translateY(0)}.impersonation-banner button i{font-size:13px}body.is-impersonating .app-main,body.is-impersonating main{padding-top:44px}body.is-impersonating .app-header,body.is-impersonating .sidebar{border-top:3px solid var(--imp-bg)}@media (max-width: 768px){.impersonation-banner{top:52px;min-height:38px;padding:6px 16px;flex-wrap:wrap;gap:8px}.impersonation-banner .impersonation-info{flex:1;min-width:0}.impersonation-banner strong{font-size:9px}.impersonation-banner span{font-size:12px}.impersonation-banner .impersonation-icon{width:24px;height:24px;font-size:12px}.impersonation-banner button{min-height:28px;font-size:9px;padding:0 14px}.impersonation-banner .impersonation-user{padding:1px 10px}body.is-impersonating .app-main,body.is-impersonating main{padding-top:38px}}@media (max-width: 480px){.impersonation-banner{top:48px;min-height:34px;padding:4px 12px;flex-direction:column;align-items:stretch;gap:6px}.impersonation-banner .impersonation-info{flex-wrap:wrap;justify-content:center}.impersonation-banner strong{font-size:8px;letter-spacing:.3px}.impersonation-banner span{font-size:11px}.impersonation-banner .impersonation-icon{width:20px;height:20px;font-size:10px}.impersonation-banner button{min-height:26px;font-size:8px;padding:0 12px;justify-content:center;width:100%}.impersonation-banner .impersonation-user{padding:1px 8px}body.is-impersonating .app-main,body.is-impersonating main{padding-top:34px}body.is-impersonating .app-header,body.is-impersonating .sidebar{border-top-width:2px}}.impersonation-bar{display:flex;justify-content:space-between;align-items:center;background:#8d2020;color:#fff;padding:8px 18px;border-top:1px solid rgba(255,255,255,.15);margin-top:2px}.impersonation-banner button:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}@keyframes impersonationSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media print{.impersonation-banner{display:none!important}}:root{--grid-bg: #f5f3ef;--grid-card: #ffffff;--grid-line: #e2ddd4;--grid-line-strong: #d5cfc4;--grid-text: #1a1a1a;--grid-muted: #8a8578;--grid-faint: #c4beb3;--grid-green: #1f6b45;--grid-gold: #c9a44c;--grid-gold-soft: rgba(201, 164, 76, .06);--grid-shadow: 0 4px 12px rgba(0, 0, 0, .06);--grid-font: "SF Mono", "JetBrains Mono", monospace}.container{display:flex;flex-direction:column;min-height:100dvh;width:100%;overflow-x:hidden;background:var(--grid-bg)}.dashboard-grid-view{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;width:100%;max-width:none;margin:0;padding:0;box-sizing:border-box}section[data-view=dashboard]{width:100%;max-width:none;margin:0;padding:0}.card{grid-column:span 6;background:var(--grid-card);border:1px solid var(--grid-line);border-radius:4px;padding:16px 18px;transition:all .15s ease;box-shadow:var(--grid-shadow)}.card:hover{border-color:var(--grid-gold-border);box-shadow:0 6px 16px #00000014}.card-large{grid-column:span 12}.card-half{grid-column:span 6}.card-tasks{grid-column:span 8}.card-calendar,.card-stats{grid-column:span 4}.card-grades,.card.command-center,.card-gpa{grid-column:span 12}.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.notes-grid .card{grid-column:auto}.goals-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.goals-grid .card{grid-column:auto}.full-width{grid-column:1 / -1}.card .card-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 10px;margin-bottom:12px;border-bottom:1px solid var(--grid-line)}.card .card-header h2,.card .card-header h3{margin:0;font-family:var(--grid-font);font-size:13px;font-weight:600;color:var(--grid-text);text-transform:uppercase;letter-spacing:.3px}.card .card-header .card-actions{display:flex;gap:6px}.card .card-header .card-actions button{background:transparent;border:1px solid var(--grid-line);border-radius:4px;padding:4px 10px;font-family:var(--grid-font);font-size:10px;color:var(--grid-muted);cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.3px}.card .card-header .card-actions button:hover{background:var(--grid-gold-soft);border-color:var(--grid-gold-border);color:var(--grid-text)}.card .card-content{padding:0;font-family:var(--grid-font);color:var(--grid-text)}.card-accent{border-left:3px solid var(--grid-gold)}.card-accent-green{border-left:3px solid var(--grid-green)}.card-no-shadow{box-shadow:none}.card-compact{padding:12px 14px}.card-compact .card-header{padding:0 0 8px;margin-bottom:10px}.card .empty-state{text-align:center;padding:24px 16px;color:var(--grid-muted)}.card .empty-state i{font-size:28px;color:var(--grid-faint);margin-bottom:8px}.card .empty-state p{font-size:12px;margin:0;font-family:var(--grid-font)}@media (max-width: 1200px){.dashboard-grid-view{gap:14px}.card-tasks{grid-column:span 7}.card-calendar{grid-column:span 5}.card-stats{grid-column:span 4}}@media (max-width: 1024px){.card-tasks{grid-column:span 12}.card-calendar,.card-stats{grid-column:span 6}}@media (max-width: 900px){.dashboard-grid-view{grid-template-columns:1fr;gap:12px;padding:16px 0}.card,.card-large,.card-half,.card-tasks,.card-calendar,.card-stats,.card-grades,.card.command-center,.card-gpa{grid-column:1 / -1}.notes-grid,.goals-grid{grid-template-columns:1fr}.card{padding:14px 16px}}@media (max-width: 600px){.dashboard-grid-view{gap:10px;padding:12px 0}.card{padding:12px}.card .card-header h2,.card .card-header h3{font-size:12px}.card .card-header .card-actions button{font-size:9px;padding:3px 8px}.notes-grid,.goals-grid{gap:10px}}@media (max-width: 400px){.card{padding:10px}.card .card-header{flex-direction:column;align-items:flex-start;gap:6px}.card .card-header .card-actions{width:100%}.card .card-header .card-actions button{flex:1;text-align:center}}@media print{.container{background:white!important}.card{break-inside:avoid;page-break-inside:avoid;box-shadow:none!important;border:1px solid #000!important;border-radius:0!important}.card-accent,.card-accent-green{border-left:3px solid #000!important}.dashboard-grid-view{gap:12px}}.card:focus-visible,.card .card-header .card-actions button:focus-visible{outline:2px solid var(--grid-gold);outline-offset:2px}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.card{animation:cardSlideIn .2s ease}.card:nth-child(2){animation-delay:.05s}.card:nth-child(3){animation-delay:.1s}.card:nth-child(4){animation-delay:.15s}.card:nth-child(5){animation-delay:.2s}.card:nth-child(6){animation-delay:.25s}.card .card-content::-webkit-scrollbar{width:3px}.card .card-content::-webkit-scrollbar-track{background:var(--grid-line);border-radius:2px}.card .card-content::-webkit-scrollbar-thumb{background:var(--grid-gold);border-radius:2px}.card .card-content::-webkit-scrollbar-thumb:hover{background:var(--grid-gold-border)}:root{--sidebar-bg: #ffffff;--sidebar-line: #e2ddd4;--sidebar-line-strong: #d5cfc4;--sidebar-text: #1a1a1a;--sidebar-muted: #8a8578;--sidebar-faint: #c4beb3;--sidebar-green: #1f6b45;--sidebar-green-soft: rgba(31, 107, 69, .06);--sidebar-gold: #c9a44c;--sidebar-gold-soft: rgba(201, 164, 76, .06);--sidebar-shadow: 0 4px 16px rgba(0, 0, 0, .1);--sidebar-font: "SF Mono", "JetBrains Mono", monospace}.mobile-nav-drawer{position:fixed;top:0;left:0;width:280px;height:100dvh;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-line);z-index:var(--z-modal, 1000);transform:translate(-100%);transition:transform .25s ease;box-shadow:var(--sidebar-shadow);overflow-y:auto}.mobile-nav-drawer.open{transform:translate(0)}.mobile-nav-drawer::-webkit-scrollbar{width:4px}.mobile-nav-drawer::-webkit-scrollbar-track{background:var(--sidebar-line);border-radius:2px}.mobile-nav-drawer::-webkit-scrollbar-thumb{background:var(--sidebar-gold);border-radius:2px}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(2,6,23,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:calc(var(--z-modal, 1000) - 1);display:none}.mobile-nav-content{padding:0}.mobile-nav-section{margin:0;padding:18px 16px 4px}.mobile-nav-title{margin:0 0 8px;padding:0 10px}.mobile-nav-header{min-height:104px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#176b47 0%,#0b5135 55%,#073d28 100%);border-bottom:3px solid #d9b64f}.mobile-nav-logo{flex:1;min-width:0;display:flex;align-items:center;padding:0;margin:0;background:transparent;border:0;text-decoration:none}.mobile-nav-logo-image{display:block;width:auto;height:68px;max-width:calc(100% - 8px);object-fit:contain;object-position:left center;filter:drop-shadow(0 4px 10px rgba(0,0,0,.18));transition:transform .18s ease}.mobile-nav-logo:hover .mobile-nav-logo-image{transform:scale(1.02)}.mobile-nav-close{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;padding:0;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:8px;font-size:18px;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.mobile-nav-close:hover{background:rgba(255,255,255,.15);border-color:#d9b64f8c}.mobile-nav-close:active{transform:scale(.96)}.mobile-nav-badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#c81e1e;border:2px solid #ffffff;border-radius:999px;font-size:10px;font-weight:700;line-height:1}.mobile-nav-badge[hidden]{display:none!important}.mobile-nav-item.has-unread .fa-bell{color:var(--nav-gold, #d9b64f)}.mobile-nav-section{margin-bottom:24px}.mobile-nav-section:last-child{margin-bottom:0}.mobile-nav-title{font-size:9px;text-transform:uppercase;color:var(--sidebar-muted);font-weight:600;letter-spacing:.5px;margin-bottom:8px;padding-left:8px;font-family:var(--sidebar-font)}.mobile-nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;color:var(--sidebar-text);text-decoration:none;border-radius:4px;transition:all .15s ease;margin-bottom:2px;font-family:var(--sidebar-font);font-size:12px;text-transform:uppercase;letter-spacing:.3px;border:1px solid transparent}.mobile-nav-item:hover{background:var(--sidebar-gold-soft);border-color:var(--sidebar-line)}.mobile-nav-item.active{background:var(--sidebar-green-soft);color:var(--sidebar-green);font-weight:600;border-color:var(--sidebar-gold-border);border-left:3px solid var(--sidebar-gold)}.mobile-nav-item i{width:18px;text-align:center;font-size:14px;color:var(--sidebar-muted)}.mobile-nav-item.active i{color:var(--sidebar-gold)}.mobile-nav-divider{height:1px;background:var(--sidebar-line);margin:16px 8px}.mobile-nav-footer{margin-top:24px;padding-top:14px;border-top:1px solid var(--sidebar-line)}.mobile-nav-footer .mobile-nav-item{font-size:11px;color:var(--sidebar-muted)}.mobile-nav-footer .mobile-nav-item:hover{color:var(--sidebar-text)}.dark-theme .mobile-nav-drawer{background:#1a1a1a;border-right-color:var(--sidebar-border-dark, #2a2a2a)}.dark-theme .mobile-nav-header{border-bottom-color:var(--sidebar-border-dark, #2a2a2a)}.dark-theme .mobile-nav-logo{color:#fff}.dark-theme .mobile-nav-item{color:#fffc}.dark-theme .mobile-nav-item:hover{background:rgba(255,255,255,.06);border-color:#ffffff14}.dark-theme .mobile-nav-item.active{background:rgba(201,164,76,.12);color:var(--sidebar-gold);border-color:#c9a44c33}.dark-theme .mobile-nav-item i{color:#fff6}.dark-theme .mobile-nav-item.active i{color:var(--sidebar-gold)}.dark-theme .mobile-nav-divider{background:var(--sidebar-border-dark, #2a2a2a)}.dark-theme .mobile-nav-footer{border-top-color:var(--sidebar-border-dark, #2a2a2a)}.dark-theme .mobile-nav-title{color:#fff6}.dark-theme .mobile-nav-close{border-color:var(--sidebar-border-dark, #2a2a2a);color:#fff9}.dark-theme .mobile-nav-close:hover{background:rgba(255,255,255,.06);border-color:#c9a44c33;color:#fff}@media (max-width: 900px){.mobile-nav-drawer{width:260px}}@media (max-width: 480px){.mobile-nav-drawer{width:100%;max-width:300px}.mobile-nav-content{padding:16px 12px}.mobile-nav-header{margin-bottom:18px;padding-bottom:10px}.mobile-nav-logo{font-size:14px}.mobile-nav-item{font-size:11px;padding:8px 10px}}@keyframes slideInNav{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.mobile-nav-item{animation:slideInNav .2s ease}.mobile-nav-item:nth-child(2){animation-delay:.05s}.mobile-nav-item:nth-child(3){animation-delay:.1s}.mobile-nav-item:nth-child(4){animation-delay:.15s}.mobile-nav-item:nth-child(5){animation-delay:.2s}.mobile-nav-item:focus-visible,.mobile-nav-close:focus-visible{outline:2px solid var(--sidebar-gold);outline-offset:2px}@media print{.mobile-nav-drawer,.mobile-nav-overlay{display:none!important}}@supports (padding: env(safe-area-inset-left)){.mobile-nav-drawer{padding-left:env(safe-area-inset-left)}}body.nav-open{overflow:hidden}.mobile-nav-drawer,.mobile-nav-overlay{will-change:transform,opacity}.mobile-nav-item{will-change:transform}:root{--topbar-height: 84px;--nav-bg: #0b5135;--nav-bg-start: #176b47;--nav-bg-end: #0a3f2a;--nav-bg-deep: #062f1f;--nav-surface: rgba(255, 255, 255, .08);--nav-surface-hover: rgba(255, 255, 255, .12);--nav-surface-active: rgba(255, 255, 255, .16);--nav-text: rgba(255, 255, 255, .85);--nav-text-strong: #ffffff;--nav-border: rgba(255, 255, 255, .1);--nav-gold: #d9b64f;--nav-gold-soft: rgba(217, 182, 79, .15);--nav-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 8px 24px rgba(2, 26, 17, .24);--nav-font: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}.university-header,.app-header{position:fixed;inset:0 0 auto 0;z-index:var(--z-sticky, 100);width:100%;height:var(--topbar-height);background:linear-gradient(135deg,var(--nav-bg-start) 0%,var(--nav-bg) 48%,var(--nav-bg-end) 100%);border-bottom:1px solid rgba(217,182,79,.3);box-shadow:var(--nav-shadow)}.top-bar,.app-top-bar{width:100%;height:var(--topbar-height);padding:0 22px;display:grid;grid-template-columns:420px 1fr auto;align-items:center;gap:24px;box-sizing:border-box}.app-brand,.university-branding{display:flex;align-items:center;flex:0 0 420px;min-width:420px}.app-brand-link,.wordmark{display:inline-flex;align-items:center;gap:16px;padding:4px 10px;border-radius:12px;text-decoration:none;color:inherit;transition:all .25s ease}.app-brand-link:hover,.wordmark:hover{background:rgba(255,255,255,.05)}.app-brand-icon,.wordmark-logo{width:auto;height:74px;max-width:260px;object-fit:contain;flex:none;filter:drop-shadow(0 6px 18px rgba(0,0,0,.28));transition:transform .25s ease}.app-brand-link:hover .app-brand-icon,.wordmark:hover .wordmark-logo{transform:scale(1.04)}.wordmark-logo-wrap{display:flex;align-items:center;justify-content:flex-start;width:auto;height:74px;flex:none}.app-brand-copy,.wordmark-copy{display:flex;flex-direction:column;justify-content:center}.app-brand-name,.wordmark-main{margin:0;color:#fff;font-family:var(--nav-font);font-size:22px;font-weight:800;letter-spacing:-.04em;line-height:1.05;text-transform:uppercase}.app-brand-badge,.wordmark-sub{display:inline-flex;align-items:center;width:fit-content;margin-top:6px;padding:4px 10px;border-radius:999px;background:rgba(212,173,67,.12);border:1px solid rgba(212,173,67,.28);color:var(--nav-gold);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.app-command-nav,.primary-navigation{justify-self:center;display:inline-flex;align-items:center;gap:2px;min-width:0;padding:4px 6px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:4px;box-shadow:none}.command-nav-item,.nav-link,.mega-trigger{position:relative;min-height:34px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#fffc;background:transparent;border:1px solid transparent;border-radius:4px;font-family:var(--nav-font);font-size:11px;font-weight:500;line-height:1;text-decoration:none;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;cursor:pointer;transition:all .15s ease}.command-nav-item:hover,.nav-link:hover,.mega-trigger:hover{color:#fff;background:rgba(255,255,255,.08);border-color:#ffffff0f}.command-nav-item.active,.nav-link.active{color:#fff;background:rgba(255,255,255,.1);border-color:#c9a44c26}.command-nav-item.active:after,.nav-link.active:after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;border-radius:2px;background:var(--nav-gold);box-shadow:0 0 10px #d9b64f33}.command-nav-item i,.nav-link i,.mega-trigger i{font-size:10px;opacity:.7}.command-chevron{opacity:.65;font-size:8px!important}.mega{position:relative;display:inline-flex;align-items:center}.mega-panel{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);width:310px;display:none;padding:8px;background:#102219;border:1px solid rgba(212,173,67,.18);border-radius:4px;box-shadow:0 18px 48px #00000057;z-index:var(--z-modal, 1000)}.mega-panel.open{display:block}.mega-panel:before{content:"";position:absolute;top:-6px;left:50%;width:12px;height:12px;background:#102219;border-left:1px solid rgba(212,173,67,.18);border-top:1px solid rgba(212,173,67,.18);transform:translate(-50%) rotate(45deg)}.mega-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:4px;color:#ffffffc2;text-decoration:none;font-family:var(--nav-font);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.24px;transition:background .16s ease,color .16s ease}.mega-link i{width:17px;text-align:center;color:#ffffff6b}.mega-link:hover{color:#fff;background:rgba(255,255,255,.06)}.mega-link:hover i{color:var(--nav-gold)}.app-header-actions,.user-controls{display:flex;align-items:center;gap:12px;min-width:0}.app-utilities{display:flex;align-items:center;gap:5px}.utility-button{position:relative;width:38px;height:38px;display:grid;place-items:center;color:#ffffffa8;background:transparent;border:1px solid transparent;border-radius:4px;text-decoration:none;cursor:pointer;transition:color .18s ease,background .18s ease,border-color .18s ease}.utility-button:hover{color:#fff;background:var(--nav-surface-hover);border-color:var(--nav-border)}.utility-indicator{position:absolute;top:7px;right:7px;width:7px;height:7px;background:var(--nav-gold);border:2px solid var(--nav-bg-deep);border-radius:50%}.account-control,.user-profile{min-height:44px;max-width:220px;padding:4px 10px 4px 5px;display:inline-flex;align-items:center;gap:9px;color:inherit;background:rgba(255,255,255,.09);border:1px solid rgba(217,182,79,.34);border-radius:4px;box-shadow:inset 0 1px #ffffff12,0 4px 12px #00000017;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.account-control:hover,.user-profile:hover{background:var(--nav-surface-hover);border-color:#d4ad4361}.account-avatar,.user-avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,rgba(212,173,67,.24),rgba(255,255,255,.06));border:1px solid rgba(212,173,67,.3);border-radius:4px;font-family:var(--nav-font);font-size:11px;font-weight:700}.account-copy,.user-info-mini{display:flex;flex-direction:column;min-width:0;text-align:left}.account-name,.user-name{color:#fff;font-family:var(--nav-font);font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-role,.user-status{margin-top:2px;color:#ffffff6b;font-family:var(--nav-font);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.account-chevron{margin-left:2px;color:#ffffff7a;font-size:9px}.mobile-menu-toggle{display:none;width:38px;height:38px;place-items:center;color:#ffffffd6;background:var(--nav-surface);border:1px solid var(--nav-border);border-radius:4px;cursor:pointer}.mobile-menu-toggle:hover{color:#fff;background:var(--nav-surface-hover);border-color:#d4ad434d}.impersonation-bar{position:absolute;top:100%;left:0;right:0;min-height:38px;padding:6px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#241d0d;border-bottom:1px solid rgba(212,173,67,.26);color:#fff}.impersonation-bar.hidden{display:none}.impersonation-left{display:flex;align-items:center;gap:10px}.impersonation-label{color:var(--nav-gold);font-size:8px;font-weight:700;letter-spacing:.1em}.impersonation-name{font-size:11px;font-weight:650}.impersonation-exit{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;border-radius:4px;padding:7px 10px;font:inherit;font-size:10px;cursor:pointer}.mobile-nav-overlay{display:none;position:fixed;top:var(--topbar-height);left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99}.mobile-nav-overlay.open{display:block}.mobile-nav-panel{position:fixed;top:var(--topbar-height);left:0;right:0;display:none;padding:12px 16px;background:#102219;border-bottom:1px solid rgba(212,173,67,.18);box-shadow:var(--nav-shadow);z-index:100}.mobile-nav-panel.open{display:block}.mobile-nav-panel .nav-link{display:flex;justify-content:flex-start;width:100%;margin-bottom:4px}@media (max-width: 1260px){.top-bar,.app-top-bar{gap:16px;padding:0 16px}.command-nav-item,.nav-link,.mega-trigger{padding:0 12px}}@media (max-width: 1080px){.app-brand-name,.wordmark-main{font-size:14px}.app-command-nav,.primary-navigation{gap:1px;padding:3px 4px}.command-nav-item,.nav-link,.mega-trigger{padding:0 10px;font-size:10px;min-height:32px}}@media (max-width: 940px){.app-command-nav,.primary-navigation{display:none}.mobile-menu-toggle{display:grid}.app-brand-badge,.wordmark-sub{display:none}}@media (max-width: 720px){:root{--topbar-height: 58px}.top-bar,.app-top-bar{padding:0 10px;gap:10px}.wordmark-logo,.app-brand-icon{width:auto;height:52px;max-width:260px;object-fit:contain}.wordmark-logo-wrap{width:auto;height:54px;flex:0 0 auto}.app-brand-link,.wordmark{padding:0;gap:0}.app-brand-name,.wordmark-main{font-size:13px}.app-utilities,.account-copy,.user-info-mini,.account-chevron{display:none}.account-control,.user-profile{padding:3px;min-height:40px;border-radius:4px}.account-avatar,.user-avatar{width:32px;height:32px;flex-basis:32px}}@media (max-width: 480px){.app-brand-name,.wordmark-main{display:none}.app-brand-link,.wordmark{gap:0;padding-right:2px}}.sidebar{background:var(--nav-side-bg, #f8f7f4);border-right:1px solid var(--nav-side-line, #e2ddd4);padding:16px 12px;height:100%;overflow:auto;box-shadow:none}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:var(--nav-side-line, #e2ddd4);border-radius:2px}.sidebar::-webkit-scrollbar-thumb{background:var(--nav-side-gold, #c9a44c);border-radius:2px}.logo{display:flex;align-items:center;gap:10px;color:var(--nav-side-text, #1a1a1a);margin:4px 4px 12px;padding:4px 8px 12px;border-bottom:2px solid var(--nav-side-line, #e2ddd4)}.logo i{color:var(--nav-side-gold, #c9a44c);font-size:16px}.logo h1{margin:0;font-size:13px;letter-spacing:.3px;font-weight:700;text-transform:uppercase;color:var(--nav-side-text, #1a1a1a);font-family:var(--nav-font)}.nav-section{margin:14px 4px}.nav-title{color:var(--nav-side-muted, #8a8578);font-size:9px;text-transform:uppercase;margin:4px 8px 6px;font-weight:600;letter-spacing:.5px;font-family:var(--nav-font)}.nav-item{position:relative;display:flex;align-items:center;gap:10px;color:var(--nav-side-text, #1a1a1a);text-decoration:none;padding:8px 10px;border-radius:4px;transition:all .15s ease;border:1px solid transparent;cursor:pointer;font-family:var(--nav-font);font-size:12px;font-weight:500;background:transparent}.nav-item i{width:18px;text-align:center;opacity:.6;font-size:14px;color:var(--nav-side-muted, #8a8578);transition:all .15s ease}.nav-item:hover{background:var(--nav-side-gold-soft, rgba(201, 164, 76, .06));border-color:var(--nav-side-line, #e2ddd4);transform:translateY(-1px)}.nav-item:hover i{color:var(--nav-side-gold, #c9a44c);opacity:1}.nav-item.active{background:var(--nav-side-green-soft, rgba(31, 107, 69, .06));border-color:var(--nav-side-gold-border, rgba(201, 164, 76, .15));font-weight:600;border-left:3px solid var(--nav-side-gold, #c9a44c)}.nav-item.active i{color:var(--nav-side-gold, #c9a44c);opacity:1}.nav-badge{margin-left:auto;background:var(--nav-side-green, #1f6b45);color:#fff;font-size:9px;padding:2px 8px;border-radius:4px;font-weight:600;min-width:18px;text-align:center;font-family:var(--nav-font);border:1px solid rgba(31,107,69,.15)}.nav-badge.warning{background:#e8a53a;border-color:#e8a53a26}.nav-badge.danger{background:#b91c1c;border-color:#b91c1c26}.nav-submenu{margin-left:20px;margin-top:2px;border-left:2px solid var(--nav-side-line, #e2ddd4);padding-left:10px}.nav-subitem{display:block;padding:5px 8px;font-size:11px;color:var(--nav-side-muted, #8a8578);text-decoration:none;border-radius:4px;transition:all .15s ease;font-family:var(--nav-font);border:1px solid transparent}.nav-subitem:hover{background:var(--nav-side-gold-soft, rgba(201, 164, 76, .06));color:var(--nav-side-text, #1a1a1a);border-color:var(--nav-side-line, #e2ddd4)}.nav-subitem.active{background:var(--nav-side-green-soft, rgba(31, 107, 69, .06));color:var(--nav-side-text, #1a1a1a);font-weight:500;border-color:var(--nav-side-gold-border, rgba(201, 164, 76, .15));border-left:2px solid var(--nav-side-gold, #c9a44c)}.nav-link:focus-visible,.mega-trigger:focus-visible,.mega-link:focus-visible,.mobile-menu-toggle:focus-visible,.user-profile:focus-visible,.account-control:focus-visible,.utility-button:focus-visible,.app-brand-link:focus-visible,.wordmark:focus-visible,.nav-item:focus-visible,.nav-subitem:focus-visible{outline:2px solid var(--nav-gold);outline-offset:2px}@media print{.university-header,.app-header,.sidebar{display:none!important}}:root{--layout-bg: #f5f3ef;--layout-card: #ffffff;--layout-line: #e2ddd4;--layout-line-strong: #d5cfc4;--layout-text: #1a1a1a;--layout-muted: #8a8578;--layout-faint: #c4beb3;--layout-green: #1f6b45;--layout-green-hover: #174f34;--layout-green-soft: rgba(31, 107, 69, .06);--layout-gold: #c9a44c;--layout-gold-soft: rgba(201, 164, 76, .06);--layout-shadow: 0 4px 12px rgba(0, 0, 0, .06);--layout-font: "SF Mono", "JetBrains Mono", monospace}section[data-view]{display:none}section[data-view].active{display:block;opacity:1;animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}main#appMain{flex:1;width:100%;max-width:none;margin-top:var(--topbar-height, 56px);padding:8px 0 24px;background:var(--layout-bg);box-sizing:border-box}.page-header{margin-bottom:24px;padding-bottom:14px;border-bottom:2px solid var(--layout-line)}.page-title{font-family:var(--layout-font);font-size:20px;font-weight:600;color:var(--layout-text);margin:0 0 6px;letter-spacing:-.3px;text-transform:uppercase}.page-subtitle{color:var(--layout-muted);font-size:13px;margin:0;max-width:900px;font-family:var(--layout-font)}.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-bottom:24px}.academic-card{background:var(--layout-card);border:1px solid var(--layout-line);border-radius:4px;padding:16px 18px;transition:all .15s ease;height:100%}.academic-card:hover{border-color:var(--layout-gold-border);box-shadow:var(--layout-shadow)}.academic-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--layout-line)}.academic-card-title{font-family:var(--layout-font);font-size:13px;font-weight:600;color:var(--layout-text);margin:0;text-transform:uppercase;letter-spacing:.3px}.academic-card-subtitle{color:var(--layout-muted);font-size:11px;margin:3px 0 0;font-family:var(--layout-font)}.academic-card-actions{display:flex;gap:6px;align-items:center}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.metric-card{background:var(--layout-card);border:1px solid var(--layout-line);border-radius:4px;padding:16px 18px;text-align:center;transition:all .15s ease;position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--layout-gold);opacity:.6}.metric-card:hover{border-color:var(--layout-gold-border);box-shadow:var(--layout-shadow)}.metric-value{font-family:var(--layout-font);font-size:32px;font-weight:700;color:var(--layout-text);margin:0 0 6px;letter-spacing:-.5px}.metric-label{font-size:10px;font-weight:600;color:var(--layout-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-family:var(--layout-font)}.metric-change{font-size:11px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:4px;font-family:var(--layout-font)}.metric-change.positive{color:var(--layout-green)}.metric-change.negative{color:#b91c1c}.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:24px}.chart-container{background:var(--layout-card);border:1px solid var(--layout-line);border-radius:4px;padding:16px 18px}.chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.chart-title{font-family:var(--layout-font);font-size:13px;font-weight:600;color:var(--layout-text);margin:0 0 3px;text-transform:uppercase;letter-spacing:.3px}.chart-description{color:var(--layout-muted);font-size:11px;margin:0;max-width:500px;font-family:var(--layout-font)}.activity-feed{background:var(--layout-card);border:1px solid var(--layout-line);border-radius:4px;padding:16px 18px;max-height:360px;overflow-y:auto}.activity-feed::-webkit-scrollbar{width:4px}.activity-feed::-webkit-scrollbar-track{background:var(--layout-line);border-radius:2px}.activity-feed::-webkit-scrollbar-thumb{background:var(--layout-gold);border-radius:2px}.activity-title{font-family:var(--layout-font);font-size:13px;font-weight:600;color:var(--layout-text);margin:0 0 14px;text-transform:uppercase;letter-spacing:.3px}.activity-item{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--layout-line)}.activity-item:last-child{border-bottom:none;padding-bottom:0}.activity-icon{width:32px;height:32px;border-radius:4px;background:var(--layout-gold-soft);display:flex;align-items:center;justify-content:center;color:var(--layout-gold);flex-shrink:0;border:1px solid var(--layout-line)}.activity-content{flex:1;min-width:0}.activity-text{font-size:12px;color:var(--layout-text);margin:0 0 3px;line-height:1.4;font-family:var(--layout-font)}.activity-time{font-size:10px;color:var(--layout-muted);margin:0;font-family:var(--layout-font)}.quick-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-item{background:var(--layout-card);border:1px solid var(--layout-line);border-radius:4px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.stat-value{font-family:var(--layout-font);font-size:24px;font-weight:700;color:var(--layout-text);margin:0;letter-spacing:-.3px}.stat-label{font-size:10px;font-weight:600;color:var(--layout-muted);margin:0;text-transform:uppercase;letter-spacing:.5px;font-family:var(--layout-font)}.stat-subtitle{font-size:10px;color:var(--layout-faint);margin:0;font-family:var(--layout-font)}.empty-state{background:var(--layout-card);border:1px solid var(--layout-line);border-radius:4px;padding:32px 20px;text-align:center}.empty-state i{font-size:36px;color:var(--layout-faint);margin-bottom:12px}.empty-state-title{font-size:16px;font-weight:600;color:var(--layout-text);margin:0 0 6px;font-family:var(--layout-font)}.empty-state-description{color:var(--layout-muted);font-size:12px;max-width:400px;margin:0 auto;font-family:var(--layout-font)}@media (max-width: 1200px){.charts-grid{grid-template-columns:1fr}.quick-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){main#appMain{padding:16px 12px}.metrics-grid,.quick-stats-grid{grid-template-columns:1fr}.dashboard-grid{gap:12px}.academic-card{padding:14px 16px}.metric-value{font-size:28px}.chart-container,.activity-feed{padding:14px 16px}.page-title{font-size:18px}.page-subtitle{font-size:12px}}@media (max-width: 680px){.quick-stats-grid{grid-template-columns:1fr 1fr}.charts-grid{grid-template-columns:1fr}.stat-value{font-size:20px}.metric-value{font-size:24px}}@media (max-width: 480px){main#appMain{padding:12px 8px}.page-title{font-size:16px}.page-subtitle{font-size:11px}.quick-stats-grid{grid-template-columns:1fr}.metric-card,.chart-container,.activity-feed,.academic-card{padding:12px}.metric-value{font-size:22px}.stat-value{font-size:18px}.page-header{margin-bottom:16px;padding-bottom:10px}}@media print{main#appMain{background:white!important;box-shadow:none!important;border:1px solid #000!important;padding:20px!important}.academic-card,.metric-card,.chart-container,.activity-feed{break-inside:avoid;page-break-inside:avoid;border-color:#000!important}.activity-feed{max-height:none;overflow:visible}.metric-card:before{background:#000!important}.page-header{border-bottom-color:#000!important}}.academic-card:focus-visible,.metric-card:focus-visible,.stat-item:focus-visible{outline:2px solid var(--layout-gold);outline-offset:2px}.metric-card,.stat-item,.academic-card{animation:statSlideIn .2s ease}.metric-card:nth-child(2),.stat-item:nth-child(2){animation-delay:.05s}.metric-card:nth-child(3),.stat-item:nth-child(3){animation-delay:.1s}.metric-card:nth-child(4),.stat-item:nth-child(4){animation-delay:.15s}section[data-view] .card,section[data-view] .card-content{overflow:visible!important}section[data-view]{background:var(--layout-bg);padding:0;margin:0}section[data-view] .card-content{background:transparent;padding:0}:root{--auth-green-950: #031a12;--auth-green-900: #05271b;--auth-green-800: #0a3b28;--auth-green-700: #0e5737;--auth-green-600: #167044;--auth-green-500: #238451;--auth-gold-500: #c9a44c;--auth-gold-400: #d6b25e;--auth-white: #ffffff;--auth-text: #f7faf8;--auth-muted: rgba(255, 255, 255, .68);--auth-faint: rgba(255, 255, 255, .44);--auth-card-bg: rgba(3, 25, 17, .92);--auth-card-border: rgba(193, 226, 205, .2);--auth-field-bg: rgba(4, 31, 21, .6);--auth-field-border: rgba(83, 179, 114, .3);--auth-shadow: 0 16px 48px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .2);--auth-font: "SF Mono", "JetBrains Mono", monospace}.auth{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;font-family:var(--auth-font);color:var(--auth-text);background:var(--auth-green-950);isolation:isolate}.auth,.auth *{box-sizing:border-box}.auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-3;background:linear-gradient(180deg,rgba(2,18,12,.5) 0%,rgba(2,19,13,.6) 45%,rgba(1,13,9,.85) 100%),linear-gradient(90deg,rgba(0,19,12,.4) 0%,rgba(0,19,12,.08) 48%,rgba(0,19,12,.35) 100%),url(../assets/branding/login-background.png);background-position:center center;background-repeat:no-repeat;background-size:cover;transform:scale(1.015)}.auth-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 34%,transparent 0%,rgba(0,0,0,.08) 38%,rgba(0,0,0,.5) 100%)}.auth-effects{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;overflow:hidden}.auth-effects:before{content:"";position:absolute;top:5%;left:50%;width:540px;height:540px;transform:translate(-50%);border-radius:50%;background:rgba(29,130,72,.08);filter:blur(100px)}.auth-effects:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.05;background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(to bottom,transparent,black 20%,black 75%,transparent);mask-image:linear-gradient(to bottom,transparent,black 20%,black 75%,transparent)}.auth-shell{width:min(100%,1180px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:32px 24px 24px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.auth-brand{width:100%;display:flex;justify-content:center;margin-bottom:18px;animation:authFadeDown .6s ease both}.auth-brand-logo{display:block;width:clamp(220px,28vw,380px);max-height:100px;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(0,0,0,.35)) drop-shadow(0 0 16px rgba(201,164,76,.06))}.auth-card{position:relative;width:min(100%,480px);padding:28px 32px 26px;overflow:hidden;background:var(--auth-card-bg);border:1px solid var(--auth-card-border);border-radius:4px;box-shadow:var(--auth-shadow);backdrop-filter:blur(20px) saturate(120%);-webkit-backdrop-filter:blur(20px) saturate(120%);animation:authFadeUp .6s .08s ease both}.auth-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 50% 0%,rgba(63,167,100,.08),transparent 42%)}.auth-card-accent{position:absolute;top:0;left:20%;right:20%;height:2px;z-index:2;background:linear-gradient(90deg,transparent,var(--auth-gold-500),transparent);box-shadow:0 0 16px #c9a44c66}.auth-card-head{position:relative;z-index:1;margin-bottom:24px;text-align:center}.auth-heading{display:flex;flex-direction:column;align-items:center}.auth-heading-icon{width:40px;height:40px;margin-bottom:10px;display:grid;place-items:center;color:var(--auth-gold-400);border:1px solid rgba(87,187,119,.25);border-radius:4px;background:rgba(19,92,52,.2)}.auth-title{margin:0;color:var(--auth-white);font-size:clamp(24px,2.8vw,32px);font-weight:700;letter-spacing:-.3px;line-height:1.1;font-family:var(--auth-font);text-transform:uppercase}.auth-subtitle{max-width:360px;margin:6px 0 0;color:var(--auth-muted);font-size:12px;line-height:1.5;font-family:var(--auth-font)}.auth-panel{display:none;position:relative;z-index:1}.auth-panel.is-active{display:block;animation:authPanelIn .3s ease both}.auth-field{display:block;margin-bottom:16px}.auth-label{display:block;margin-bottom:4px;color:#ffffffd9;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-family:var(--auth-font)}.auth-input-wrap{position:relative;min-height:44px;display:flex;align-items:center;background:var(--auth-field-bg);border:1px solid var(--auth-field-border);border-radius:4px;transition:all .2s ease}.auth-input-wrap:focus-within{background:rgba(4,39,25,.9);border-color:#5bdd84b3;box-shadow:0 0 0 3px #3dbc651a,0 8px 24px #0000001a;transform:translateY(-1px)}.auth-input-wrap>i{position:absolute;left:14px;color:#5ddd86b3;font-size:14px;pointer-events:none}.auth-input{width:100%;height:42px;padding:0 42px;color:var(--auth-white);background:transparent;border:0;outline:0;font-family:var(--auth-font);font-size:13px}.auth-input::placeholder{color:#ffffff4d;font-weight:400}.auth-eye{position:absolute;right:8px;width:30px;height:30px;display:grid;place-items:center;color:#ffffff80;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .2s ease}.auth-eye:hover{color:var(--auth-white);background:rgba(255,255,255,.06);border-color:#ffffff0f}.auth-meta{margin:2px 0 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-check{display:inline-flex;align-items:center;gap:6px;color:#ffffffb3;font-size:12px;cursor:pointer;font-family:var(--auth-font)}.auth-check input{width:14px;height:14px;accent-color:var(--auth-green-500);cursor:pointer}.auth-link-btn{padding:0;color:#5cdb84;background:transparent;border:0;font-family:var(--auth-font);font-size:12px;font-weight:500;cursor:pointer;transition:color .2s ease;border-bottom:1px solid transparent}.auth-link-btn:hover{color:#8beaab;border-bottom-color:#5bdd844d}.auth-btn{width:100%;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:4px;font-family:var(--auth-font);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;transition:all .2s ease}.auth-btn-primary{color:var(--auth-white);border:1px solid rgba(76,186,109,.5);background:linear-gradient(135deg,#1f6b45,#2a7a52);box-shadow:0 8px 24px #0b5c2e33,inset 0 1px #ffffff0f}.auth-btn-primary:hover:not(:disabled){transform:translateY(-2px);background:linear-gradient(135deg,#2a7a52,#358a5f);box-shadow:0 12px 32px #0b5c2e4d,inset 0 1px #ffffff14}.auth-btn-primary:active{transform:translateY(0)}.auth-btn-primary:disabled{opacity:.5;cursor:not-allowed}.auth-btn-secondary{margin-top:10px;color:#ffffffb3;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}.auth-btn-secondary:hover{color:var(--auth-white);border-color:#fff3;background:rgba(255,255,255,.08);transform:translateY(-1px)}.auth-spinner{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:authSpin .7s linear infinite}.auth-btn.is-loading .auth-spinner{display:inline-block}.auth-btn.is-loading .auth-btn-icon{display:none}.auth-status{display:none;margin-top:12px;padding:8px 12px;color:#fffc;background:rgba(201,164,76,.06);border:1px solid rgba(201,164,76,.15);border-left:3px solid var(--auth-gold-500);border-radius:4px;font-family:var(--auth-font);font-size:11px;line-height:1.5}.auth-status:not(:empty){display:block}.auth-status.error{border-left-color:#b91c1c;background:rgba(185,28,28,.06);border-color:#b91c1c26;color:#f87171}.auth-status.success{border-left-color:var(--auth-green-500);background:rgba(31,107,69,.06);border-color:#1f6b4526;color:#6ee7b7}.auth-social-divider{position:relative;z-index:1;margin:20px 0 16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.auth-social-divider span{height:1px;background:rgba(255,255,255,.1)}.auth-social-divider p{margin:0;color:#fff6;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-family:var(--auth-font)}.auth-social-row{position:relative;z-index:1}.auth-social-btn{width:100%;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#1a1a1a;background:#ffffff;border:1px solid rgba(255,255,255,.8);border-radius:4px;font-family:var(--auth-font);font-size:12px;font-weight:500;cursor:pointer;box-shadow:0 8px 20px #0000001f;transition:all .2s ease}.auth-social-btn:hover{transform:translateY(-2px);background:#f8faf9;box-shadow:0 12px 28px #0000002e}.auth-social-btn i{color:#4285f4;font-size:16px}.auth-switch{position:relative;z-index:1;margin-top:18px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;color:#fff9;font-family:var(--auth-font);font-size:12px}.auth-switch button{padding:0;color:#5cdb84;background:transparent;border:0;font-family:var(--auth-font);font-weight:600;cursor:pointer;transition:color .2s ease;border-bottom:1px solid transparent}.auth-switch button:hover{color:#8beaab;border-bottom-color:#5bdd844d}.auth-signup-switch{display:none}.auth-card:has(#signupForm.is-active) .auth-signin-switch{display:none}.auth-card:has(#signupForm.is-active) .auth-signup-switch{display:flex}.auth-feature-strip{width:min(100%,880px);margin-top:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;animation:authFadeUp .6s .18s ease both}.auth-feature{min-width:0;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;background:rgba(3,29,19,.4);border:1px solid rgba(116,205,143,.08);border-radius:4px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .2s ease}.auth-feature:hover{border-color:#74cd8f26;background:rgba(3,29,19,.5)}.auth-feature-icon{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;color:var(--auth-gold-400);background:rgba(22,112,68,.15);border:1px solid rgba(70,191,107,.2);border-radius:4px}.auth-feature strong{display:block;margin-bottom:2px;color:#fff;font-size:12px;font-weight:600;font-family:var(--auth-font)}.auth-feature small{display:block;color:#ffffff80;font-size:10px;line-height:1.4;font-family:var(--auth-font)}.auth-legal{margin-top:16px;padding-bottom:2px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;color:#ffffff59;font-family:var(--auth-font);font-size:10px}.auth-legal button{padding:0;color:inherit;background:transparent;border:0;font:inherit;cursor:pointer;transition:color .2s ease;border-bottom:1px solid transparent}.auth-legal button:hover{color:#fff9;border-bottom-color:#ffffff1a}.auth button:focus-visible,.auth input:focus-visible{outline:2px solid var(--auth-gold-400);outline-offset:2px}@keyframes authSpin{to{transform:rotate(360deg)}}@keyframes authFadeDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes authFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes authPanelIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-height: 820px) and (min-width: 761px){.auth-shell{justify-content:flex-start;padding-top:16px;padding-bottom:16px}.auth-brand{margin-bottom:10px}.auth-brand-logo{width:220px;max-height:72px}.auth-card{padding:20px 28px 18px}.auth-heading-icon{width:34px;height:34px;margin-bottom:6px}.auth-card-head{margin-bottom:16px}.auth-field{margin-bottom:12px}.auth-input-wrap,.auth-input{min-height:40px;height:40px}.auth-btn{min-height:40px}.auth-social-divider{margin:14px 0 12px}.auth-social-btn{min-height:40px}.auth-switch,.auth-feature-strip{margin-top:12px}.auth-feature{padding:8px 12px}.auth-legal{margin-top:10px}}@media (max-width: 900px){.auth-shell{padding-left:18px;padding-right:18px}.auth-feature-strip{width:min(100%,650px)}.auth-feature{padding:10px 12px}.auth-feature small{display:none}}@media (max-width: 680px){.auth-backdrop{background-position:61% center}.auth-shell{justify-content:flex-start;padding:max(16px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom))}.auth-brand{margin-bottom:10px}.auth-brand-logo{width:min(70vw,260px);max-height:80px}.auth-card{padding:20px 16px 18px;border-radius:4px}.auth-card-head{margin-bottom:18px}.auth-heading-icon{width:36px;height:36px}.auth-title{font-size:24px}.auth-subtitle{font-size:12px}.auth-meta{align-items:flex-start;flex-direction:column;gap:8px}.auth-link-btn{align-self:flex-end;margin-top:-24px}.auth-feature-strip{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.auth-feature{min-height:64px;padding:8px 6px;flex-direction:column;align-items:center;text-align:center;gap:6px}.auth-feature-icon{width:30px;height:30px}.auth-feature strong{margin:0;font-size:10px}.auth-feature small{display:none}.auth-legal{gap:8px 14px;margin-top:12px;font-size:9px}}@media (max-width: 390px){.auth-card{padding-left:12px;padding-right:12px}.auth-input{padding-left:38px;font-size:12px}.auth-switch{font-size:11px}.auth-feature-strip{grid-template-columns:1fr}.auth-feature{min-height:auto;flex-direction:row;justify-content:flex-start;text-align:left}}@media (prefers-reduced-motion: reduce){.auth *,.auth *:before,.auth *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.auth{position:static!important;background:white!important}.auth-backdrop,.auth-effects{display:none!important}.auth-card{border:1px solid #000!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:white!important}.auth-btn,.auth-social-row,.auth-social-divider,.auth-feature-strip{display:none!important}.auth-brand-logo{filter:none!important}.auth-title{color:#000!important}.auth-subtitle{color:#666!important}}section[data-view=profile] .dashboard-grid-view{display:grid;grid-template-columns:1fr;max-width:100%;overflow-x:hidden}section[data-view=profile] .academic-card{width:100%;max-width:100%;min-width:0;box-sizing:border-box}section[data-view=profile] .profile-card{width:100%;max-width:100%;min-width:0;box-sizing:border-box}section[data-view=profile] input,section[data-view=profile] textarea{max-width:100%;box-sizing:border-box}section[data-view=profile] *{min-width:0}section[data-view=profile] .academic-card-header{padding:18px 18px 12px;border-bottom:1px solid var(--border, rgba(255,255,255,.1))}section[data-view=profile] .academic-card-title{margin:0;font-size:18px;font-weight:800;letter-spacing:.2px;color:var(--text, #e9eef5)}section[data-view=profile] .academic-card-subtitle{margin:6px 0 0;font-size:13px;color:var(--muted, rgba(255,255,255,.62))}#profileContent{padding:18px}#profileContent .empty-state{border:1px dashed var(--border, rgba(255,255,255,.18));background:var(--panel, rgba(0,0,0,.08));border-radius:16px;padding:26px 18px;text-align:center;color:var(--muted, rgba(255,255,255,.68))}#profileContent .empty-state i{font-size:22px;margin-bottom:8px;opacity:.75}#profileContent .empty-state p{margin:0}.profile-grid{display:grid;grid-template-columns:1fr;gap:16px}.profile-card{border-radius:16px;border:1px solid var(--border, rgba(255,255,255,.12));background:var(--panel, rgba(0,0,0,.08));padding:16px;box-shadow:var(--shadow, 0 10px 26px rgba(0,0,0,.2))}.profile-row{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.profile-row:last-of-type{border-bottom:none}.profile-row.two{grid-template-columns:1fr 1fr;gap:14px;padding-top:14px}.profile-row.two>div{border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.03);padding:12px}.profile-label{font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--muted, rgba(255,255,255,.65))}.profile-value{font-size:14px;color:var(--text, #e9eef5);word-break:break-word}#profileContent .neo-input{width:100%;border-radius:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.14);color:var(--text, #e9eef5);outline:none;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}#profileContent .neo-input::placeholder{color:#ffffff73}#profileContent .neo-input:focus{border-color:#785aff8c;box-shadow:0 0 0 3px #785aff2e;background:rgba(0,0,0,.18)}.profile-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding-top:14px;margin-top:10px;border-top:1px solid rgba(255,255,255,.06)}#profileContent .btn-primary,#profileContent .btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:10px 12px;min-width:132px;font-weight:800;letter-spacing:.2px}.profile-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06);color:var(--muted, rgba(255,255,255,.58));font-size:12px}.text-line-through{text-decoration:line-through;opacity:.65}@media (max-width: 720px){#profileContent,.profile-card{padding:14px}.profile-row{grid-template-columns:1fr;gap:8px}.profile-actions{justify-content:stretch}#profileContent .btn-primary,#profileContent .btn-secondary{width:100%;min-width:0}.profile-meta{grid-template-columns:1fr}}section[data-view=classes]{background:#f5f3ef;border-radius:0;padding:0;margin:0}section[data-view=classes] .card-content{background:transparent;padding:0}.classes-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:0 0 16px;border-bottom:2px solid #e2ddd4}.classes-header-left h2{margin:0;font-size:20px;font-weight:600;letter-spacing:-.3px;color:#1a1a1a;font-family:SF Mono,JetBrains Mono,monospace;text-transform:uppercase}.classes-header-left p{margin:4px 0 0;color:#8a8578;font-size:12px;font-family:SF Mono,monospace}.classes-header-right{display:flex;gap:12px;align-items:center}#classesContainer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;align-items:stretch;position:relative;overflow:visible}.class-item{position:relative;display:flex;min-width:0;border-radius:8px;overflow:visible;background:#ffffff;border:1px solid #e2ddd4;box-shadow:none;transition:all .15s ease;z-index:1;isolation:isolate}.class-item:hover{transform:translateY(-2px);border-color:#c4beb3;box-shadow:0 4px 12px #0000000f}.class-item.class-menu-open{z-index:50}.class-shell{position:relative;display:flex;flex-direction:column;gap:8px;width:100%;padding:16px}.class-rail{position:absolute;top:0;left:0;bottom:0;width:3px;border-radius:0;background:#c4beb3}.class-tone-excellent .class-rail{background:#4a7c59}.class-tone-good .class-rail{background:#6b8c5c}.class-tone-watch .class-rail{background:#e8a53a}.class-tone-risk .class-rail{background:#d95550}.class-header.class-header-compact{display:flex;flex-direction:column;gap:6px}.class-title-row.class-title-row-compact{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.class-title-wrap{min-width:0}.class-title{margin:0;color:#1a1a1a;font-size:15px;line-height:1.3;font-weight:600;letter-spacing:-.02em;word-break:break-word;font-family:SF Mono,monospace}.class-subtitle{margin-top:2px;color:#8a8578;font-size:11px;line-height:1.35;font-weight:400;font-family:SF Mono,monospace}.class-header-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.class-status-badge{display:inline-flex;align-items:center;gap:5px;min-height:20px;padding:0 8px;border-radius:4px;border:none;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;font-family:SF Mono,monospace}.class-status-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.class-status-excellent{color:#2d6a4f;background:#e8f3ea}.class-status-good{color:#3d6b4a;background:#edf3ec}.class-status-watch{color:#b45309;background:#fef3e2}.class-status-risk{color:#b91c1c;background:#fee9e8}.class-grade-chip{display:inline-flex;align-items:center;gap:5px;min-height:20px;padding:0 8px;border-radius:4px;font-size:9px;font-weight:700;border:1px solid #e2ddd4;background:#ffffff;color:#1a1a1a;white-space:nowrap;font-family:SF Mono,monospace}.class-grade-label{color:#8a8578;font-weight:400}.class-grade-excellent{color:#2d6a4f;background:#e8f3ea;border-color:#e8f3ea}.class-grade-good{color:#3d6b4a;background:#edf3ec;border-color:#edf3ec}.class-grade-watch{color:#b45309;background:#fef3e2;border-color:#fef3e2}.class-grade-risk{color:#b91c1c;background:#fee9e8;border-color:#fee9e8}.class-grade-muted{color:#8a8578;background:#f0ede8;border-color:#f0ede8}.class-progress-strip{display:flex;flex-direction:column;gap:4px}.class-progress-strip-text{font-size:10px;color:#8a8578;font-weight:400;font-family:SF Mono,monospace}.class-main.class-main-compact{display:flex;flex-direction:column;gap:8px;min-width:0}.class-meta-stack{display:flex;flex-direction:column;gap:6px}.class-meta-line{display:flex;align-items:center;gap:8px;color:#8a8578;font-size:12px;line-height:1.35;min-width:0;font-family:SF Mono,monospace}.class-meta-line i{width:14px;flex:0 0 14px;color:#8a8578;font-size:11px;text-align:center}.class-meta-line span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-bar{position:relative;width:100%;height:4px;border-radius:2px;overflow:hidden;background:#e6e2da;border:none}.progress-fill{position:relative;height:100%;width:50%;border-radius:2px;transition:width .35s ease}.progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.18),rgba(255,255,255,.05))}.progress-bar-excellent .progress-fill{background:#4a7c59}.progress-bar-good .progress-fill{background:#6b8c5c}.progress-bar-watch .progress-fill{background:#e8a53a}.progress-bar-risk .progress-fill{background:#d95550}.class-bottom-row.class-bottom-row-compact{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:8px;border-top:1px solid #eeebe6}.class-actions{width:100%;display:flex;align-items:center;gap:6px;justify-content:space-between;position:relative;overflow:visible}.class-actions button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #e2ddd4;background:#ffffff;color:#1a1a1a;cursor:pointer;transition:all .15s ease;font-family:SF Mono,monospace}.class-actions button:hover{transform:translateY(-1px);border-color:#c4beb3;background:#faf8f5}.btn-notes,.btn-assignments,.btn-graduate{min-height:32px;padding:0 12px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:500;box-shadow:none;white-space:nowrap}.btn-notes{flex:1 1 0;background:#faf8f5;border-color:#e2ddd4;color:#5a5548}.btn-notes:hover{background:#f0ede8;border-color:#c4beb3}.btn-assignments{flex:1 1 0;background:#ffffff;border-color:#e2ddd4;color:#1a1a1a}.btn-assignments:hover{background:#faf8f5;border-color:#c4beb3}.btn-graduate{flex:0 0 auto;background:#ffffff;border-color:#e2ddd4;color:#1a1a1a}.btn-graduate:hover{background:#edf3ec;border-color:#6b8c5c;color:#2d6a4f}.class-menu{position:relative;z-index:60;overflow:visible}.class-menu-trigger{width:32px;height:32px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;border:1px solid #e2ddd4;background:#ffffff;color:#8a8578}.class-menu-trigger i{font-size:12px}.class-menu-trigger:hover{border-color:#c4beb3;background:#faf8f5;color:#1a1a1a}.class-menu-dropdown{position:absolute;right:0;bottom:calc(100% + 8px);top:auto;min-width:160px;padding:6px;border-radius:6px;border:1px solid #e2ddd4;background:#ffffff;box-shadow:0 8px 24px #00000014;display:none;z-index:9999}.class-menu.open .class-menu-dropdown{display:block}.class-menu-item{width:100%;min-height:32px;border:0;background:transparent;color:#1a1a1a;border-radius:4px;display:flex;align-items:center;gap:8px;padding:0 10px;font-size:11px;font-weight:500;box-shadow:none;font-family:SF Mono,monospace}.class-menu-item:hover{background:#f0ede8;transform:none}.class-menu-item i{width:14px;text-align:center;font-size:11px}.class-menu-item-danger{color:#b91c1c}.class-menu-item-danger:hover{background:#fee9e8}.classes-empty-command{grid-column:1 / -1;min-height:200px;padding:40px 20px;border-radius:8px;border:1px dashed #e2ddd4;background:#faf8f5;color:#1a1a1a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.classes-empty-icon{width:56px;height:56px;border-radius:8px;display:grid;place-items:center;font-size:24px;color:#8a8578;background:#f0ede8;border:1px solid #e2ddd4}.classes-empty-title{margin:0;color:#1a1a1a;font-size:18px;line-height:1.2;font-weight:600;letter-spacing:-.02em;font-family:SF Mono,monospace}.classes-empty-copy{max-width:520px;margin:0;color:#8a8578;font-size:12px;line-height:1.6;font-family:SF Mono,monospace}#addClassModal .modal-content,#editClassModal .modal-content,#classDatesModal .modal-content{width:min(640px,92vw);max-width:640px;max-height:85vh;border-radius:8px;overflow:hidden;background:#ffffff;border:1px solid #e2ddd4;box-shadow:0 16px 48px #0000001f;color:#1a1a1a}#addClassModal .modal-header,#editClassModal .modal-header,#classDatesModal .modal-header{min-height:56px;padding:16px 24px;border-bottom:1px solid #eeebe6;background:#ffffff;display:flex;align-items:center;justify-content:space-between}#addClassModal .modal-header h2,#editClassModal .modal-header h2,#classDatesModal .modal-header h2{margin:0;color:#1a1a1a;font-family:SF Mono,JetBrains Mono,monospace;font-size:16px;line-height:1.3;font-weight:600;letter-spacing:-.02em;text-transform:uppercase}#addClassModal .close-modal,#editClassModal .close-modal,#classDatesModal .close-modal{width:32px;height:32px;border:1px solid #e2ddd4;border-radius:4px;background:#ffffff;color:#8a8578;font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}#addClassModal .close-modal:hover,#editClassModal .close-modal:hover,#classDatesModal .close-modal:hover{transform:none;border-color:#c4beb3;background:#faf8f5;color:#1a1a1a}#addClassModal .modal-body,#editClassModal .modal-body,#classDatesModal .modal-body{padding:24px;max-height:calc(85vh - 140px);overflow-y:auto;background:#ffffff}#addClassModal form,#editClassModal form,#classDatesModal form{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}#addClassModal .modal-field,#editClassModal .modal-field,#classDatesModal .modal-field{display:flex;flex-direction:column;gap:6px;min-width:0}#addClassModal .modal-field-full,#editClassModal .modal-field-full,#classDatesModal .modal-field-full{grid-column:1 / -1}#addClassModal .modal-label,#editClassModal .modal-label,#classDatesModal .modal-label{display:block;margin:0;color:#8a8578;font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;font-family:SF Mono,monospace}#addClassModal .modal-input,#editClassModal .modal-input,#classDatesModal .modal-input{width:100%;min-height:40px;padding:0 14px;border-radius:4px;border:1px solid #e2ddd4;background:#ffffff;color:#1a1a1a;font-size:13px;font-weight:400;outline:none;transition:all .15s ease;font-family:SF Mono,monospace}#addClassModal .modal-input::placeholder,#editClassModal .modal-input::placeholder,#classDatesModal .modal-input::placeholder{color:#c4beb3;font-weight:400}#addClassModal .modal-input:focus,#editClassModal .modal-input:focus,#classDatesModal .modal-input:focus{border-color:#8a8578;box-shadow:0 0 0 2px #8a85781a}#addClassModal select.modal-input,#editClassModal select.modal-input,#classDatesModal select.modal-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a8578'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}#classDatesModal .modal-help-text,#classDatesModal .muted{margin:16px 0 0;color:#8a8578!important;font-size:11px;line-height:1.5;font-family:SF Mono,monospace}#addClassModal .modal-footer,#editClassModal .modal-footer,#classDatesModal .modal-footer{min-height:64px;display:flex;gap:12px;justify-content:flex-end;align-items:center;padding:16px 24px;border-top:1px solid #eeebe6;background:#faf8f5}#addClassModal .btn-primary,#editClassModal .btn-primary,#classDatesModal .btn-primary{min-width:120px;min-height:40px;padding:0 20px;border:1px solid #1a1a1a;border-radius:4px;background:#1a1a1a;color:#fff;font-size:12px;font-weight:500;letter-spacing:.3px;box-shadow:none;cursor:pointer;font-family:SF Mono,monospace;text-transform:uppercase;transition:all .15s ease}#addClassModal .btn-primary:hover,#editClassModal .btn-primary:hover,#classDatesModal .btn-primary:hover{transform:none;background:#333;border-color:#333;box-shadow:none}#addClassModal .btn-secondary,#editClassModal .btn-secondary,#classDatesModal .btn-secondary{min-width:100px;min-height:40px;padding:0 16px;border-radius:4px;border:1px solid #e2ddd4;background:#ffffff;color:#1a1a1a;font-size:12px;font-weight:500;cursor:pointer;font-family:SF Mono,monospace;transition:all .15s ease}#addClassModal .btn-secondary:hover,#editClassModal .btn-secondary:hover,#classDatesModal .btn-secondary:hover{background:#faf8f5;transform:none;border-color:#c4beb3}.graduation-undo-fab{position:fixed;right:24px;bottom:24px;width:44px;height:44px;border-radius:6px;border:1px solid #e2ddd4;background:#1a1a1a;color:#fff;box-shadow:0 8px 24px #0000001f;display:grid;place-items:center;font-size:16px;cursor:pointer;z-index:9999;transition:all .15s ease}.graduation-undo-fab:hover{transform:translateY(-2px);box-shadow:0 12px 32px #00000029}@media (max-width: 1180px){#classesContainer{grid-template-columns:1fr}}@media (max-width: 900px){#addClassModal .modal-content,#editClassModal .modal-content,#classDatesModal .modal-content{width:94vw;max-width:94vw}#addClassModal form,#editClassModal form,#classDatesModal form{grid-template-columns:1fr}}@media (max-width: 760px){.class-shell{padding:14px}.class-title{font-size:14px}.class-meta-line{font-size:11px}.class-bottom-row.class-bottom-row-compact{align-items:stretch}.class-actions{gap:6px}.btn-notes,.btn-assignments{flex:1;font-size:10px}#addClassModal .modal-header,#editClassModal .modal-header,#classDatesModal .modal-header{min-height:48px;padding:12px 16px}#addClassModal .modal-header h2,#editClassModal .modal-header h2,#classDatesModal .modal-header h2{font-size:14px}#addClassModal .modal-body,#editClassModal .modal-body,#classDatesModal .modal-body{padding:16px;max-height:calc(85vh - 120px)}#addClassModal .modal-footer,#editClassModal .modal-footer,#classDatesModal .modal-footer{min-height:56px;padding:12px 16px;flex-direction:column-reverse;gap:8px}#addClassModal .btn-primary,#editClassModal .btn-primary,#classDatesModal .btn-primary,#addClassModal .btn-secondary,#editClassModal .btn-secondary,#classDatesModal .btn-secondary{width:100%;min-height:36px;font-size:11px}#addClassModal .modal-input,#editClassModal .modal-input,#classDatesModal .modal-input{min-height:36px;font-size:12px;border-radius:4px}}@media (max-width: 540px){.class-actions{flex-wrap:wrap}.btn-notes,.btn-assignments{width:calc(50% - 4px)}.btn-graduate{flex:1 1 100%}.class-menu{margin-left:auto}#addClassModal .modal-content,#editClassModal .modal-content,#classDatesModal .modal-content{width:96vw;border-radius:6px}#addClassModal .close-modal,#editClassModal .close-modal,#classDatesModal .close-modal{width:28px;height:28px;font-size:14px}.classes-empty-icon{width:48px;height:48px;font-size:20px}.classes-empty-title{font-size:16px}}section[data-view=classes],section[data-view=classes] .card,section[data-view=classes] .card-content{overflow:visible!important}.class-menu-trigger:focus-visible,.class-menu-item:focus-visible,.btn-notes:focus-visible,.btn-assignments:focus-visible,.btn-graduate:focus-visible,#addClassModal .modal-input:focus-visible,#editClassModal .modal-input:focus-visible,#classDatesModal .modal-input:focus-visible{outline:2px solid #1a1a1a;outline-offset:2px}:root{--grades-bg: #f5f3ef;--grades-card: #ffffff;--grades-line: #e2ddd4;--grades-line-strong: #d5cfc4;--grades-text: #1a1a1a;--grades-muted: #8a8578;--grades-faint: #c4beb3;--grades-green: #1f6b45;--grades-green-hover: #174f34;--grades-green-soft: rgba(31, 107, 69, .06);--grades-gold: #c9a44c;--grades-gold-soft: rgba(201, 164, 76, .06);--grades-shadow: 0 4px 12px rgba(0, 0, 0, .06);--grades-font: "SF Mono", "JetBrains Mono", monospace}.course-grades-section{background:var(--grades-bg);border-radius:0;padding:0}.grade-layout{display:flex;flex-direction:column;gap:0}.grades-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:0;padding:18px 0 14px;border-bottom:2px solid var(--grades-line)}.grades-header-left h2{margin:0;font-size:18px;font-weight:600;letter-spacing:-.3px;color:var(--grades-text);font-family:var(--grades-font);text-transform:uppercase}.grades-header-left p{margin:4px 0 0;color:var(--grades-muted);font-size:11px;font-family:var(--grades-font)}.grades-header-right{display:flex;gap:10px;align-items:center}.cmd-refresh-btn{background:transparent;border:1px solid var(--grades-line);padding:5px 12px;border-radius:4px;color:var(--grades-muted);font-size:10px;font-family:var(--grades-font);cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.3px}.cmd-refresh-btn:hover{background:var(--grades-gold-soft);border-color:var(--grades-gold-border);color:var(--grades-text)}.grades-summary-bar{display:flex;gap:1px;margin:18px 0 20px;background:var(--grades-line);border-radius:4px;overflow:hidden}.summary-stat{background:var(--grades-card);padding:10px 16px;display:flex;align-items:center;justify-content:space-between;flex:1;gap:12px}.summary-stat .stat-label{font-size:9px;font-weight:600;text-transform:uppercase;color:var(--grades-muted);font-family:var(--grades-font);letter-spacing:.5px}.summary-stat .stat-value{font-size:18px;font-weight:600;color:var(--grades-text);font-family:var(--grades-font)}.summary-stat .stat-value.green{color:var(--grades-green)}.summary-stat .stat-value.gold{color:var(--grades-gold)}.weights-panel{background:transparent;border:none;border-radius:0;padding:0;margin-bottom:24px;box-shadow:none}.panel-title{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--grades-line);font-size:12px;font-weight:600;font-family:var(--grades-font);text-transform:uppercase;letter-spacing:.5px;color:var(--grades-muted)}.panel-title i{color:var(--grades-gold);font-size:13px}.weights-grid{display:flex;flex-direction:column;gap:12px}.weight-row{background:var(--grades-card);border:1px solid var(--grades-line);border-radius:4px;padding:0;transition:all .15s ease;position:relative}.weight-row:hover{border-color:var(--grades-gold-border)}.weight-row.valid{border-left:3px solid var(--grades-green)}.weight-row.warning{border-left:3px solid #e8a53a}.weight-row.invalid{border-left:3px solid #d95550}.weight-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:10px 14px;border-bottom:1px solid var(--grades-line);background:var(--grades-gold-soft)}.weight-course .course-title{font-weight:600;font-size:13px;font-family:var(--grades-font);color:var(--grades-text);margin-bottom:2px}.weight-course .course-code{font-size:10px;color:var(--grades-muted);font-family:var(--grades-font)}.weight-total-display{padding:3px 10px;border-radius:4px;font-weight:500;font-size:11px;font-family:var(--grades-font);background:var(--grades-card);border:1px solid var(--grades-line);color:var(--grades-muted)}.weight-total-display.valid{background:var(--grades-green-soft);border-color:#1f6b4533;color:var(--grades-green)}.weight-total-display.warning{background:#fef3e2;border-color:#e8a53a33;color:#e8a53a}.weight-total-display.invalid{background:#fee9e8;border-color:#d9555033;color:#d95550}.cat-head{display:grid;grid-template-columns:1.6fr .7fr .7fr 44px;gap:10px;padding:8px 14px;background:var(--grades-bg);color:var(--grades-muted);font-size:9px;font-weight:600;font-family:var(--grades-font);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--grades-line)}.cat-list{display:flex;flex-direction:column;gap:0}.cat-row{display:grid;grid-template-columns:1.6fr .7fr .7fr 44px;gap:10px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--grades-line);transition:all .15s ease}.cat-row:last-child{border-bottom:none}.cat-row:hover{background:var(--grades-gold-soft)}.cat-row.error{background:#fee9e8}.cat-name,.cat-weight,.cat-score{width:100%;padding:6px 10px;border:1px solid var(--grades-line);border-radius:4px;background:var(--grades-card);color:var(--grades-text);font-size:11px;font-family:var(--grades-font);transition:all .15s ease}.cat-name:focus,.cat-weight:focus,.cat-score:focus{outline:none;border-color:var(--grades-gold);box-shadow:0 0 0 3px #c9a44c1f}.cat-name.error{border-color:#d95550;background:#fee9e8}.cat-weight-wrap,.cat-score-wrap{position:relative}.cat-unit{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--grades-muted);font-size:10px;font-family:var(--grades-font);pointer-events:none}.cat-weight,.cat-score{padding-right:26px}.cat-del.btn-icon{width:34px;height:34px;border-radius:4px;border:1px solid var(--grades-line);background:var(--grades-card);color:var(--grades-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.cat-del.btn-icon:hover{background:#fee9e8;border-color:#d95550;color:#d95550}.cat-actions{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--grades-gold-soft);border-top:1px solid var(--grades-line);gap:14px}.cat-actions .btn-secondary{background:transparent;border:1px solid var(--grades-line);padding:5px 12px;border-radius:4px;font-size:10px;font-family:var(--grades-font);font-weight:500;color:var(--grades-muted);cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.3px}.cat-actions .btn-secondary:hover{background:var(--grades-card);border-color:var(--grades-gold-border);color:var(--grades-text)}.cat-hint{color:var(--grades-muted);font-size:9px;font-family:var(--grades-font)}.weight-validation{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fee9e8;font-size:10px;font-family:var(--grades-font);color:#d95550;border-top:1px solid #f0c8c4}.weight-validation i{font-size:11px}.weights-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:2px solid var(--grades-line)}.weights-total{font-size:12px;font-family:var(--grades-font);font-weight:500}.weights-total.valid{color:var(--grades-green)}.weights-total.invalid{color:#d95550}.weights-total.warning{color:#e8a53a}.grades-panel{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;overflow-x:auto}.grade-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--grades-font)}.grade-table thead th{text-align:left;padding:10px 12px;font-weight:600;color:var(--grades-muted);font-size:9px;font-family:var(--grades-font);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--grades-line);background:var(--grades-gold-soft)}.grade-table thead th.text-center{text-align:center}.grade-table tbody td{padding:12px;border-bottom:1px solid var(--grades-line);vertical-align:middle}.grade-table tbody tr:hover{background:var(--grades-gold-soft)}.grade-table tbody tr:last-child td{border-bottom:none}.course-info{min-width:180px}.course-name strong{font-size:13px;font-weight:600;font-family:var(--grades-font);color:var(--grades-text)}.course-code{font-size:10px;color:var(--grades-muted);font-family:var(--grades-font);margin-left:6px}.course-meta{display:flex;flex-direction:column;gap:3px;font-size:10px;color:var(--grades-muted);margin-top:3px}.instructor{display:inline-flex;align-items:center;gap:4px}.assignment-count{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--grades-gold-soft);border-radius:4px;font-size:9px;font-family:var(--grades-font);border:1px solid var(--grades-line)}.grade-value{font-size:13px;font-weight:600;font-family:var(--grades-font);margin-bottom:2px}.grade-hint{font-size:8px;color:var(--grades-muted);text-transform:uppercase;letter-spacing:.3px}.value-empty{color:var(--grades-faint);font-style:normal;font-family:var(--grades-font)}.value-filled{display:inline-block}.grade-excellent{color:var(--grades-green)}.grade-good{color:#5a8a4a}.grade-average{color:#e8a53a}.grade-poor{color:#d97a2a}.grade-failing{color:#d95550}.overall-grade{display:flex;flex-direction:column;align-items:center;gap:4px}.overall-numeric{font-size:16px;font-weight:700;font-family:var(--grades-font);padding:4px 12px;border-radius:4px;min-width:70px;text-align:center;background:transparent;border:1px solid var(--grades-line)}.overall-numeric.excellent{background:var(--grades-green-soft);border-color:#1f6b4533;color:var(--grades-green)}.overall-numeric.good{background:#edf3e8;border-color:#5a8a4a33;color:#5a8a4a}.overall-numeric.average{background:#fef3e2;border-color:#e8a53a33;color:#e8a53a}.overall-numeric.poor{background:#fee9e2;border-color:#d97a2a33;color:#d97a2a}.overall-numeric.failing{background:#fee9e8;border-color:#d9555033;color:#d95550}.letter-grade{font-size:10px;font-weight:600;font-family:var(--grades-font);color:var(--grades-muted)}.weight-hint{font-size:8px;color:var(--grades-muted);background:transparent;padding:0;font-family:var(--grades-font)}.no-overall{display:flex;flex-direction:column;align-items:center;gap:4px}.actions-cell{min-width:80px}.action-buttons{display:flex;gap:4px;justify-content:center}.btn-icon{width:30px;height:30px;border-radius:4px;border:1px solid var(--grades-line);background:var(--grades-card);color:var(--grades-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.btn-icon:hover{background:var(--grades-gold-soft);border-color:var(--grades-gold-border);transform:translateY(-1px)}.btn-icon.edit:hover{color:var(--grades-green)}.btn-icon.weights:hover{color:var(--grades-gold)}.empty-state{text-align:center;padding:40px 20px;background:var(--grades-card);border-radius:4px;border:1px solid var(--grades-line)}.empty-content{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--grades-muted)}.empty-content i{font-size:32px;color:var(--grades-faint);margin-bottom:4px}.empty-content p{font-size:13px;font-weight:500;font-family:var(--grades-font);margin:0;color:var(--grades-text)}.empty-content small{font-size:10px;font-family:var(--grades-font);opacity:.7}.empty-weights{text-align:center;padding:32px 20px;background:var(--grades-card);border:1px solid var(--grades-line);border-radius:4px}.empty-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--grades-gold-soft);border-radius:4px;margin:0 auto 12px;color:var(--grades-gold);font-size:20px}.btn-primary{background:var(--grades-green);color:#fff;border:none;padding:6px 18px;border-radius:4px;font-weight:500;font-size:11px;font-family:var(--grades-font);cursor:pointer;transition:all .15s ease;letter-spacing:.3px;text-transform:uppercase}.btn-primary:hover:not(:disabled){background:var(--grades-green-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1f6b4533}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--grades-muted);border:1px solid var(--grades-line);padding:6px 18px;border-radius:4px;font-weight:500;font-size:11px;font-family:var(--grades-font);cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.3px}.btn-secondary:hover{background:var(--grades-card);border-color:var(--grades-gold-border);color:var(--grades-text)}@media (max-width: 900px){.grade-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.grade-table thead th,.grade-table tbody td{min-width:90px}.course-info{min-width:160px}.overall-numeric{font-size:14px;padding:4px 8px;min-width:60px}.cat-head{display:none}.cat-row{grid-template-columns:1fr;gap:8px;padding:12px 14px;border-bottom:1px solid var(--grades-line)}.cat-del.btn-icon{width:100%;height:34px}.cat-actions{flex-direction:column;align-items:stretch}.action-buttons{flex-direction:column;gap:4px}.btn-icon{width:100%}.grades-summary-bar{flex-direction:column;gap:1px}.summary-stat{justify-content:space-between}}@media (max-width: 600px){.grades-header{flex-direction:column;align-items:flex-start}.grades-header-right{width:100%}.cmd-refresh-btn{width:100%;text-align:center}.summary-stat .stat-value{font-size:16px}.weight-header{flex-direction:column;align-items:flex-start;gap:6px}}@media (max-width: 400px){.grades-header-left h2{font-size:15px}.summary-stat{padding:8px 12px}.summary-stat .stat-value{font-size:14px}.grade-table thead th,.grade-table tbody td{font-size:10px;padding:8px;min-width:70px}.course-name strong{font-size:11px}.overall-numeric{font-size:12px;padding:3px 6px;min-width:50px}}.cat-name:focus-visible,.cat-weight:focus-visible,.cat-score:focus-visible,.btn-icon:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.cmd-refresh-btn:focus-visible{outline:2px solid var(--grades-gold);outline-offset:2px}@keyframes gradeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.weight-row,.grade-table tbody tr{animation:gradeSlideIn .2s ease}.weight-row:nth-child(2){animation-delay:.05s}.grades-modal-overlay[hidden]{display:none!important}.grades-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:rgba(15,23,42,.48);display:grid;place-items:center;padding:24px}.grades-modal-card{width:min(760px,100%);max-height:86vh;overflow:auto;background:#fff;border-radius:22px;padding:22px;box-shadow:0 24px 70px #0f172a47}.grades-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.grades-modal-kicker{margin:0 0 4px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#6b7280}.grades-modal-header h3{margin:0;font-size:1.15rem;font-weight:850;color:#111827}.grades-stats,.course-grades-stats,.grades-summary,.course-grades-summary{display:flex!important;align-items:center!important;gap:28px!important;margin:0 0 14px!important;padding:0!important}.grades-stats>*,.course-grades-stats>*,.grades-summary>*,.course-grades-summary>*{display:flex!important;align-items:baseline!important;gap:6px!important;margin:0!important}#courseCount,#gradedCount,#avgGrade{display:inline-block!important;font-size:1.25rem!important;font-weight:850!important;line-height:1!important;margin:0!important}#courseCount+*,#gradedCount+*,#avgGrade+*{font-size:.78rem!important;line-height:1!important;margin:0!important}.weights-section{padding:14px 16px!important;margin-top:10px!important;min-height:0!important}.weights-section.collapsed{padding-bottom:0!important}.weights-header,.grading-weights-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin:0 0 10px!important;padding:0!important}.weights-header h2,.grading-weights-header h2{margin:0!important;line-height:1.1!important}.weights-body,.weights-content,.weights-editor{min-height:0!important;padding:10px 0 0!important;margin:0!important}.weights-actions,.cat-actions{margin-top:12px!important}.grades-modal-card .cat-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding-top:18px;border-top:1px solid #e5e0d8}.grades-modal-card .cat-hint{flex:1}.grades-modal-card #saveWeightsBtn{margin-left:auto;white-space:nowrap}.goals-feature{padding:1.5rem}.goal-stats-container{border-radius:16px;padding:1.5rem;margin-bottom:2rem;color:#fffffff5;background:radial-gradient(900px 520px at 100% 0%,color-mix(in srgb,var(--color-accent) 20%,transparent),transparent 55%),radial-gradient(900px 520px at 0% 100%,color-mix(in srgb,rgba(201,164,76,.28) 70%,transparent),transparent 55%),linear-gradient(135deg,color-mix(in srgb,var(--color-bg-primary) 92%,#0a2415 8%),color-mix(in srgb,var(--color-bg-secondary) 88%,#0a2415 12%));border:1px solid color-mix(in srgb,var(--color-border-light) 70%,rgba(201,164,76,.35));box-shadow:0 18px 44px #02061738}.goal-stats-container h2{font-size:1.35rem;font-weight:var(--font-weight-extrabold);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;letter-spacing:.02em}.goal-stats-container h2 i{font-size:1.15rem;color:#c9a44cf2}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.stat-card{border-radius:14px;padding:1.25rem;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .25s ease,background .25s ease,border-color .25s ease}.stat-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.11);border-color:#ffffff38}.stat-value{font-size:2.15rem;font-weight:var(--font-weight-extrabold);line-height:1;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.stat-value .progress-ring{width:40px;height:40px}.stat-label{font-size:.875rem;opacity:.9;font-weight:var(--font-weight-medium)}.stat-trend{font-size:.75rem;margin-top:.5rem;display:flex;align-items:center;gap:.25rem}.stat-trend.positive{color:var(--color-success)}.stat-trend.negative{color:var(--color-danger)}.category-filter-section{margin-bottom:1.5rem}.category-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.category-filter-header h3{font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.category-filter-grid{display:flex;flex-wrap:wrap;gap:.75rem}.category-filter-item{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:999px;cursor:pointer;background:var(--color-bg-surface);border:1px solid var(--color-border-light);color:var(--color-text-secondary);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease,color .22s ease;font-size:.875rem;font-weight:var(--font-weight-medium)}.category-filter-item:hover{border-color:#c9a44c59;transform:translateY(-2px);box-shadow:0 10px 26px #0206171f;background:var(--color-bg-tertiary);color:var(--color-text-primary)}.category-filter-item.active{background:color-mix(in srgb,rgba(201,164,76,.92) 70%,#000 30%);border-color:#c9a44c40;color:#fffffff5;box-shadow:0 14px 30px #02061729}.category-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.category-count{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:999px;padding:.125rem .625rem;font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);transition:all .22s ease}.category-filter-item.active .category-count{background:rgba(255,255,255,.16);border-color:#ffffff2e;color:#fffffff5}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;margin-top:1.5rem}.goal-card{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:16px;overflow:hidden;position:relative;cursor:pointer;box-shadow:0 10px 26px #0206171a;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,filter .28s ease}.goal-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px #02061729;border-color:#c9a44c38}.goal-card.completed{opacity:.88;filter:saturate(.92);background:linear-gradient(180deg,color-mix(in srgb,rgba(201,164,76,.1) 70%,transparent),transparent),var(--color-bg-surface)}.goal-card.completed:before{content:"";position:absolute;top:0;right:0;width:62px;height:62px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-success) 75%,#000 25%),var(--color-success));clip-path:polygon(100% 0,0 0,100% 100%);opacity:.95}.goal-card.completed:after{content:"✓";position:absolute;top:10px;right:10px;color:#fffffff5;font-size:1rem;font-weight:var(--font-weight-extrabold);z-index:1}.goal-card-header{padding:1.25rem 1.25rem 0;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.goal-category{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .875rem;border-radius:999px;font-size:.75rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;background:color-mix(in srgb,rgba(201,164,76,.14) 60%,transparent);border:1px solid rgba(201,164,76,.22);color:var(--color-text-primary)}.goal-category i{font-size:.75rem}.goal-actions{display:flex;gap:.375rem}.goal-card-body{padding:1.25rem}.goal-title{font-size:1.25rem;font-weight:var(--font-weight-extrabold);color:var(--color-text-primary);margin-bottom:.75rem;line-height:1.4}.goal-card.completed .goal-title{color:var(--color-text-tertiary);text-decoration:line-through}.goal-description{font-size:.9375rem;color:var(--color-text-secondary);margin-bottom:1.25rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.goal-target{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:12px;margin-bottom:1.25rem;background:color-mix(in srgb,var(--color-bg-tertiary) 82%,transparent);border:1px solid var(--color-border-light);border-left:4px solid rgba(201,164,76,.75)}.goal-target i{color:#c9a44cf2;font-size:1.125rem}.goal-target span{font-size:.9375rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.goal-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8125rem;color:var(--color-text-secondary);margin-top:1rem}.goal-due,.goal-milestones{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:10px;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);font-weight:var(--font-weight-medium)}.goal-due.overdue{background:color-mix(in srgb,var(--color-danger) 10%,transparent);border-color:color-mix(in srgb,var(--color-danger) 22%,var(--color-border-light));color:var(--color-danger)}.goal-due.overdue .badge{background:var(--color-danger);color:#fffffff5;padding:.125rem .5rem;border-radius:6px;font-size:.6875rem;font-weight:var(--font-weight-semibold)}.goal-card-footer{padding:1.25rem;border-top:1px solid var(--color-border-light);background:color-mix(in srgb,var(--color-bg-secondary) 84%,transparent)}.goal-progress{margin-bottom:1.25rem}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-label{font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);display:flex;align-items:center;gap:.5rem}.progress-value{font-size:1.125rem;font-weight:var(--font-weight-extrabold);color:var(--color-text-primary)}.progress-bar{height:10px;background:var(--color-border);border-radius:999px;overflow:hidden;position:relative}.progress-fill{height:100%;border-radius:999px;position:relative;overflow:hidden;transition:width .8s cubic-bezier(.4,0,.2,1);background:linear-gradient(90deg,rgba(201,164,76,.85),var(--color-accent))}.progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.28) 50%,rgba(255,255,255,.12) 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.goal-actions-footer{display:flex;gap:.75rem}.goal-actions-footer .btn{flex:1;padding:.625rem 1rem;font-size:.875rem;font-weight:var(--font-weight-semibold);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:.5rem}.milestone-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:14px;margin-bottom:.75rem;background:var(--color-bg-surface);border:1px solid var(--color-border-light);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;position:relative}.milestone-item:hover{border-color:#c9a44c47;transform:translate(4px);box-shadow:0 12px 26px #0206171a}.milestone-item.completed{background:color-mix(in srgb,var(--color-success) 10%,transparent);border-color:color-mix(in srgb,var(--color-success) 22%,var(--color-border-light))}.milestone-checkbox{position:relative;width:24px;height:24px}.milestone-checkbox input{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;z-index:1}.milestone-checkbox .checkmark{display:block;width:24px;height:24px;border:2px solid var(--color-border);border-radius:8px;position:relative;transition:all .22s ease;background:var(--color-bg-secondary)}.milestone-checkbox input:checked+.checkmark{background:var(--color-success);border-color:var(--color-success);animation:checkmarkPop .3s ease}.milestone-checkbox input:checked+.checkmark:after{content:"✓";position:absolute;color:#fffffff5;font-size:14px;font-weight:var(--font-weight-extrabold);top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes checkmarkPop{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}.milestone-main{flex:1;min-width:0}.milestone-title{font-weight:var(--font-weight-semibold);margin-bottom:.375rem;color:var(--color-text-primary);font-size:.9375rem}.milestone-item.completed .milestone-title{color:var(--color-text-secondary);text-decoration:line-through}.milestone-description{font-size:.8125rem;color:var(--color-text-secondary);margin-bottom:.5rem;line-height:1.4}.milestone-meta{display:flex;gap:1rem;font-size:.75rem;color:var(--color-text-tertiary)}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:1rem}.template-card{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:16px;padding:1.5rem;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease;display:flex;align-items:flex-start;gap:1rem;cursor:pointer;position:relative;overflow:hidden}.template-card:hover{border-color:#c9a44c38;transform:translateY(-4px);box-shadow:0 18px 44px #0206171f}.template-card:before{content:"";position:absolute;top:0;right:0;width:64px;height:64px;background:linear-gradient(135deg,rgba(201,164,76,.95),var(--color-accent));clip-path:polygon(100% 0,0 0,100% 100%);opacity:.1}.template-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fffffff5;font-size:1.5rem;flex-shrink:0;background:linear-gradient(135deg,rgba(201,164,76,.92),var(--color-accent));box-shadow:0 14px 30px #0206172e;border:1px solid rgba(201,164,76,.22)}.template-content{flex:1;min-width:0}.template-title{font-size:1.125rem;font-weight:var(--font-weight-extrabold);color:var(--color-text-primary);margin-bottom:.5rem}.template-description{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:1rem;line-height:1.5}.template-meta{display:flex;gap:1rem;font-size:.75rem;color:var(--color-text-tertiary)}.template-category{padding:.25rem .75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:999px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.empty-state{text-align:center;padding:4rem 2rem;background:var(--color-bg-surface);border-radius:16px;border:2px dashed var(--color-border);margin:2rem 0;color:var(--color-text-secondary)}.empty-state-sm{text-align:center;padding:2rem 1rem;background:var(--color-bg-secondary);border-radius:12px;border:1px dashed var(--color-border);margin:1rem 0;color:var(--color-text-tertiary)}.empty-icon i{font-size:3rem;color:#c9a44c8c}.empty-state h3{font-size:1.35rem;font-weight:var(--font-weight-extrabold);margin-bottom:.75rem;color:var(--color-text-primary)}.empty-state p{color:var(--color-text-secondary);margin-bottom:1.5rem;max-width:440px;margin-left:auto;margin-right:auto}.completed-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border-light)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-title{font-size:1.125rem;font-weight:var(--font-weight-extrabold);color:var(--color-text-primary);display:flex;align-items:center;gap:.75rem}.section-title i{color:var(--color-success)}.progress-ring{position:relative;width:80px;height:80px}.progress-ring-bg{fill:none;stroke:var(--color-border);stroke-width:8}.progress-ring-fill{fill:none;stroke-linecap:round;stroke-width:8;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1s ease}.progress-ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.25rem;font-weight:var(--font-weight-extrabold);color:#fffffff5}.goal-progress-badge{font-size:.75rem;font-weight:var(--font-weight-semibold);color:#fffffff5;padding:.25rem .5rem;border-radius:999px;margin-left:.5rem}.goal-click-hint{display:flex;align-items:center;justify-content:center;padding-top:.75rem;border-top:1px solid var(--color-border-light);color:var(--color-accent);font-size:.75rem;font-weight:var(--font-weight-medium)}@media (max-width: 768px){.goals-grid{grid-template-columns:1fr;gap:1rem}.stats-grid{grid-template-columns:1fr 1fr}.category-filter-grid{overflow-x:auto;padding-bottom:.5rem;flex-wrap:nowrap}.template-card{flex-direction:column}.template-icon{align-self:center}.goal-card-header,.goal-card-body,.goal-card-footer{padding:1rem}.goal-title{font-size:1.125rem}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}}@media (max-width: 480px){.goal-stats-container{padding:1rem}.goal-actions-footer{flex-direction:column}.stat-card{padding:1rem}.stat-value{font-size:1.75rem}.template-card{padding:1rem}.template-icon{width:48px;height:48px;font-size:1.25rem}}.card-schedule{background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-large);overflow:hidden}.card-schedule .card-header{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(245,158,11,.08),rgba(245,158,11,0));border-bottom:1px solid var(--color-border);padding:12px 14px}.card-schedule .card-title{font-weight:var(--font-weight-bold);letter-spacing:.2px;color:var(--color-text-primary)}.schedule-toolbar .btn{background:#fff7e0;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:8px;padding:6px 10px;font-size:12px;cursor:pointer;transition:border-color .2s ease}.schedule-toolbar .btn:hover{border-color:var(--color-primary)}.schedule-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.schedule-table thead th{position:sticky;top:0;background:#fff5dd;color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-size:12px;text-transform:uppercase;letter-spacing:.4px;padding:9px 8px;border-bottom:1px solid var(--color-border);z-index:2}.schedule-table tbody td,.schedule-table tbody th{border-bottom:1px solid var(--color-border-light);border-right:1px solid var(--color-border-light);padding:8px;vertical-align:top}.time-group-header td{background:rgba(255,243,205,.9);color:var(--color-text-secondary);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.time-group-label{font-weight:var(--font-weight-bold);font-size:12px;text-transform:uppercase;letter-spacing:.4px}.time-slot{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-feature-settings:"tnum" 1;white-space:nowrap}.day-cell{min-height:60px;background:linear-gradient(180deg,rgba(249,250,251,.8),rgba(250,250,249,.6));transition:background .15s ease}.day-cell:hover{background:rgba(254,249,195,.6)}.is-today{background:linear-gradient(180deg,rgba(254,240,138,.7),rgba(254,240,138,.25));outline:1px solid rgba(234,179,8,.5)}.now-line:after{content:"";position:absolute;left:0;right:0;top:calc(50% - 1px);height:2px;background:var(--color-primary);opacity:.6}.event-card{background:#fff5dd;border:1px solid rgba(245,158,11,.4);border-left:3px solid var(--color-primary);border-radius:9px;padding:7px 9px;margin:6px 0;box-shadow:0 2px 8px #94794d40;max-width:100%;overflow:hidden;cursor:pointer;transition:all .2s ease}.event-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #4361ee26;transform:translateY(-2px)}.event-time{font-size:12px;color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.badge-google{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#16a34a;background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.3);padding:2px 6px;border-radius:999px}.event-title{white-space:normal;word-break:break-word;font-size:14px;font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.3}.event-desc,.event-location,.event-meta{font-size:12px;color:var(--color-text-secondary);margin-top:4px;white-space:pre-wrap;word-break:break-word}.event-chip{display:inline-flex;align-items:center;border:1px solid var(--color-border);background:rgba(249,250,251,.9);padding:2px 6px;border-radius:999px;font-size:11px}.schedule-table th:first-child,.schedule-table td:first-child{position:sticky;left:0;z-index:1;background:#fff5dd}#eventsContainer.compact .event-card{margin:4px 0;padding:6px 8px}.span-fill{height:8px;margin:6px 8px;border-radius:6px;background:rgba(254,240,138,.7);border:1px solid rgba(234,179,8,.6)}.events-calendar-view{background:white;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:24px;margin-bottom:24px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e9ecef}.calendar-title{display:flex;align-items:center;gap:12px}.calendar-title i{font-size:24px;color:#4361ee}.calendar-title h3{margin:0;font-size:20px;font-weight:var(--font-weight-semibold);color:#2d3748}.calendar-summary{color:#718096;font-size:14px;background:#f7fafc;padding:6px 12px;border-radius:20px}.calendar-days-container{display:flex;gap:20px;overflow-x:auto;padding-bottom:16px;min-height:400px}.calendar-days-container::-webkit-scrollbar{height:6px}.calendar-days-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.calendar-days-container::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.calendar-days-container::-webkit-scrollbar-thumb:hover{background:#a0aec0}.event-day-column{flex:0 0 280px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;overflow:hidden;min-height:350px;transition:all .2s ease}.event-day-column:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #0000000d}.event-day-column.today{border-color:#4361ee;background:linear-gradient(to bottom,#f0f4ff,#f8fafc)}.day-header{background:white;padding:16px;border-bottom:1px solid #e2e8f0;text-align:center}.day-name{font-size:14px;color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.day-date{font-size:24px;font-weight:var(--font-weight-bold);color:#2d3748}.today-badge{display:inline-block;background:#4361ee;color:#fff;font-size:11px;padding:2px 8px;border-radius:10px;margin-top:6px;font-weight:var(--font-weight-semibold)}.day-events{padding:16px;display:flex;flex-direction:column;gap:12px;height:calc(100% - 80px);overflow-y:auto}.event-card{background:white;border-radius:8px;padding:16px;border:1px solid #e2e8f0;cursor:pointer;transition:all .2s ease;position:relative}.event-card:hover{border-color:#4361ee;box-shadow:0 4px 12px #4361ee26;transform:translateY(-2px)}.event-time{font-size:13px;color:#4361ee;font-weight:var(--font-weight-semibold);margin-bottom:6px;display:flex;align-items:center;gap:6px}.event-time:before{content:"";width:8px;height:8px;background:#4361ee;border-radius:50%;display:inline-block}.event-title{font-size:16px;font-weight:var(--font-weight-semibold);color:#2d3748;margin-bottom:8px;line-height:1.3}.event-location{font-size:13px;color:#718096;display:flex;align-items:center;gap:6px;margin-bottom:8px}.event-location i{font-size:11px}.event-description-preview{font-size:13px;color:#4a5568;line-height:1.4;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-view-details{display:flex;justify-content:center}.btn-view-details{background:transparent;border:1px solid #e2e8f0;color:#718096;font-size:12px;padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.btn-view-details:hover{background:#f7fafc;border-color:#cbd5e0;color:#4a5568}.no-events{text-align:center;padding:40px 20px;color:#a0aec0}.no-events i{font-size:32px;margin-bottom:12px;opacity:.5}.no-events p{margin:0;font-size:14px}.events-empty-state{text-align:center;padding:60px 20px;background:white;border-radius:12px;border:2px dashed #e2e8f0}.empty-icon{font-size:48px;color:#cbd5e0;margin-bottom:20px}.events-empty-state h3{color:#4a5568;margin-bottom:8px;font-weight:var(--font-weight-semibold)}.events-empty-state p{color:#718096;margin-bottom:24px}.calendar-footer{margin-top:20px;padding-top:16px;border-top:1px solid #e9ecef;text-align:center;color:#718096;font-size:14px}.ev-chip{width:100%;text-align:left;border:1px solid var(--color-border);border-radius:10px;padding:8px;background:var(--color-bg-surface);cursor:pointer}.ev-chip:hover{opacity:.95}.ev-title{font-weight:var(--font-weight-extrabold);font-size:12.5px;color:var(--color-text-primary)}.ev-meta{font-size:11.5px;opacity:.8;margin-top:2px;color:var(--color-text-secondary)}.ev-more{font-size:11px;opacity:.75;padding-left:2px}.ev-compact .ev-meta{display:none}.schedule-table .is-today{background:rgba(120,90,255,.08)}.event-actions .btn-edit,.event-actions .btn-delete{background:#fff7df;border:1px solid var(--color-border);color:var(--color-text-primary);padding:4px 6px;border-radius:7px;cursor:pointer;font-size:12px}.event-actions .btn-edit:hover{border-color:var(--color-primary)}.event-actions .btn-delete:hover{border-color:var(--color-danger)}.ev-time{font-size:12px;opacity:.8;white-space:nowrap;color:var(--color-text-secondary)}@media (max-width: 768px){.calendar-days-container{flex-direction:column;overflow-x:visible;gap:16px}.event-day-column{flex:1;min-width:100%}.calendar-header{flex-direction:column;align-items:flex-start;gap:12px}.events-calendar-view{padding:16px}}.event-details-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:1;transition:opacity .3s ease}.event-details-modal[style*="display: none"]{display:none!important}.modal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:white;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;z-index:10000;position:relative;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease;margin:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}body.modal-open{overflow:hidden}.event-detail-header{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.detail-title{font-size:24px;font-weight:var(--font-weight-bold);color:#2d3748;margin-bottom:12px;line-height:1.3}.detail-date{font-size:15px;color:#718096;margin-bottom:12px}.detail-time{font-size:15px;color:#4361ee;font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:8px;margin-bottom:8px}.event-detail-content{margin-bottom:32px}.detail-section{margin-bottom:20px}.detail-label{font-size:12px;text-transform:uppercase;color:#718096;letter-spacing:.5px;margin-bottom:8px;display:flex;align-items:center;gap:6px}.detail-value{font-size:15px;color:#4a5568;line-height:1.5;padding-left:18px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid #e2e8f0}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:var(--font-weight-semibold);cursor:pointer;border:none;display:flex;align-items:center;gap:8px;transition:all .2s ease;min-width:100px;justify-content:center}.btn-primary{background:#4361ee;color:#fff}.btn-primary:hover{background:#3a56d4;transform:translateY(-1px);box-shadow:0 4px 12px #4361ee4d}.btn-secondary{background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.btn-secondary:hover{background:#edf2f7}@media (max-width: 768px){.event-details-modal{padding:10px}.modal-content{max-width:95%;margin:10px}.modal-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.detail-title{font-size:20px}}section[data-view=assignments],section[data-view=classAssignments]{background:#f5f3ef;border-radius:0;padding:0;margin:0}section[data-view=assignments] .card-content,section[data-view=classAssignments] .card-content{background:transparent;padding:0}.assignments-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:0 0 16px;border-bottom:2px solid #e2ddd4}.assignments-header-left h2,#assignmentsHeaderTitle{margin:0;font-size:20px;font-weight:600;letter-spacing:-.3px;color:#1a1a1a;font-family:SF Mono,JetBrains Mono,monospace;text-transform:uppercase}.assignments-header-left p,#assignmentsHeaderSubtitle{margin:4px 0 0;color:#8a8578;font-size:12px;font-family:SF Mono,monospace}.assignments-header-right{display:flex;gap:12px;align-items:center}.cmd-add-btn{background:#1a1a1a;border:none;padding:8px 18px;border-radius:4px;color:#fff;font-size:12px;font-weight:500;font-family:SF Mono,monospace;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .15s ease;letter-spacing:.3px;text-transform:uppercase}.cmd-add-btn:hover{background:#333;transform:translateY(-1px)}.cmd-add-btn i{font-size:12px}.class-assignments-header{align-items:center;flex-direction:row;justify-content:space-between;flex-wrap:wrap}.class-assignments-topline{margin-bottom:0}.class-assignments-back{background:transparent;border:1px solid #e2ddd4;padding:6px 14px;border-radius:4px;font-size:12px;font-weight:500;font-family:SF Mono,monospace;color:#5a5548;cursor:pointer;transition:all .15s ease}.class-assignments-back:hover{background:#f0ede8;border-color:#c4beb3}.class-assignments-summary{display:flex;gap:1px;margin-bottom:28px;background:#e2ddd4;border-radius:4px;overflow:hidden}.class-assignments-summary-card{background:#faf8f5;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;flex:1;gap:12px}.class-assignments-summary-card .summary-label{font-size:10px;font-weight:600;text-transform:uppercase;color:#8a8578;font-family:SF Mono,monospace;letter-spacing:.5px}.class-assignments-summary-card strong{font-size:24px;font-weight:600;color:#1a1a1a;font-family:SF Mono,monospace}.class-assignments-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:0 0 16px;border-bottom:1px solid #e2ddd4}.filter-chip{background:transparent;border:1px solid transparent;padding:6px 14px;border-radius:4px;font-size:11px;font-weight:500;font-family:SF Mono,monospace;color:#6b6558;cursor:pointer;transition:all .12s ease;text-transform:uppercase;letter-spacing:.3px}.filter-chip:hover{background:#edebe6;color:#1a1a1a;border-color:#e2ddd4}.filter-chip.is-active{background:#1a1a1a;color:#fff;border-color:#1a1a1a}#assignmentsContainer,#classAssignmentsContainer{display:block;width:100%}.assignments-table-header{display:grid;grid-template-columns:32px minmax(200px,2fr) 120px 100px 80px 100px 80px;gap:12px;padding:10px 16px;background:#f0ede8;border-radius:4px 4px 0 0;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:#6b6558;font-family:SF Mono,monospace;border-bottom:2px solid #e2ddd4}.assignment-row{display:grid;grid-template-columns:32px minmax(200px,2fr) 120px 100px 80px 100px 80px;gap:12px;align-items:center;padding:12px 16px;background:#ffffff;border-bottom:1px solid #eeebe6;transition:all .12s ease;font-size:13px;font-family:SF Mono,monospace}.assignment-row:hover{background:#fefcf9;transform:translate(2px)}.assignment-priority-indicator{width:6px;height:6px;border-radius:50%;display:inline-block}.priority-good{background:#4a7c59}.priority-watch{background:#e8a53a}.priority-risk{background:#d95550}.priority-neutral{background:#9a9588}.priority-completed{background:#6b8c5c}.assignment-name-cell{display:flex;align-items:center;gap:10px;font-weight:500;color:#2a2a2a;font-size:13px}.assignment-name-cell.completed{text-decoration:line-through;opacity:.6}.assignment-checkbox{width:16px;height:16px;border-radius:3px;border:1.5px solid #c4beb3;background:white;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .12s ease;flex-shrink:0}.assignment-checkbox.checked{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.assignment-checkbox.checked i{font-size:9px}.assignment-meta-cell{color:#6b6558;font-size:11px;font-family:SF Mono,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assignment-status-badge{display:inline-block;padding:3px 8px;border-radius:3px;font-size:9px;font-weight:600;font-family:SF Mono,monospace;text-transform:uppercase;letter-spacing:.3px}.status-good{background:#e8f3ea;color:#2d6a4f}.status-watch{background:#fef3e2;color:#b45309}.status-risk{background:#fee9e8;color:#b91c1c}.status-neutral{background:#f0ede8;color:#6b6558}.status-completed{background:#e8f0e6;color:#4a7c59}.assignment-actions-cell{display:flex;gap:6px;justify-content:flex-end}.cmd-action-btn{background:transparent;border:1px solid transparent;padding:4px 8px;border-radius:3px;color:#9a9588;cursor:pointer;font-size:11px;transition:all .1s ease}.cmd-action-btn:hover{background:#f0ede8;border-color:#e2ddd4;color:#1a1a1a}.cmd-action-btn.delete:hover{background:#fee9e8;border-color:#fee9e8;color:#b91c1c}.assignment-notes-preview{font-size:10px;color:#9a9588;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;font-family:SF Mono,monospace}.empty-state-cmd{text-align:center;padding:60px 20px;background:#faf8f5;border-radius:4px;color:#8a8578}.empty-state-cmd i{font-size:40px;margin-bottom:16px;opacity:.4}.empty-state-cmd h3{font-size:16px;font-weight:600;margin:0 0 8px;color:#4a4538;font-family:SF Mono,monospace}.empty-state-cmd p{font-size:12px;margin:0 0 20px;font-family:SF Mono,monospace}#addAssignmentModal .modal-content,#editAssignmentModal .modal-content,#assignmentDetailsModal .modal-content{width:min(640px,92vw);max-width:640px;max-height:85vh;border-radius:8px;overflow:hidden;background:#ffffff;border:1px solid #e2ddd4;box-shadow:0 16px 48px #0000001f;color:#1a1a1a}#addAssignmentModal .modal-header,#editAssignmentModal .modal-header,#assignmentDetailsModal .modal-header{min-height:56px;padding:16px 24px;border-bottom:1px solid #eeebe6;background:#ffffff;display:flex;align-items:center;justify-content:space-between}#addAssignmentModal .modal-header h2,#editAssignmentModal .modal-header h2,#assignmentDetailsModal .modal-header h2{margin:0;color:#1a1a1a;font-family:SF Mono,JetBrains Mono,monospace;font-size:16px;line-height:1.3;font-weight:600;letter-spacing:-.02em;text-transform:uppercase}#addAssignmentModal .close-modal,#editAssignmentModal .close-modal,#assignmentDetailsModal .close-modal{width:32px;height:32px;border:1px solid #e2ddd4;border-radius:4px;background:#ffffff;color:#8a8578;font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}#addAssignmentModal .close-modal:hover,#editAssignmentModal .close-modal:hover,#assignmentDetailsModal .close-modal:hover{transform:none;border-color:#c4beb3;background:#faf8f5;color:#1a1a1a}#addAssignmentModal .modal-body,#editAssignmentModal .modal-body,#assignmentDetailsModal .modal-body{padding:24px;max-height:calc(85vh - 140px);overflow-y:auto;background:#ffffff}#addAssignmentModal form,#editAssignmentModal form,#assignmentDetailsModal form{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}#addAssignmentModal .modal-field,#editAssignmentModal .modal-field,#assignmentDetailsModal .modal-field{display:flex;flex-direction:column;gap:6px;min-width:0}#addAssignmentModal .modal-field-full,#editAssignmentModal .modal-field-full,#assignmentDetailsModal .modal-field-full{grid-column:1 / -1}#addAssignmentModal .modal-label,#editAssignmentModal .modal-label,#assignmentDetailsModal .modal-label{display:block;margin:0;color:#8a8578;font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;font-family:SF Mono,monospace}#addAssignmentModal .modal-input,#editAssignmentModal .modal-input,#assignmentDetailsModal .modal-input{width:100%;min-height:40px;padding:0 14px;border-radius:4px;border:1px solid #e2ddd4;background:#ffffff;color:#1a1a1a;font-size:13px;font-weight:400;outline:none;transition:all .15s ease;font-family:SF Mono,monospace}#addAssignmentModal .modal-input::placeholder,#editAssignmentModal .modal-input::placeholder,#assignmentDetailsModal .modal-input::placeholder{color:#c4beb3;font-weight:400}#addAssignmentModal .modal-input:focus,#editAssignmentModal .modal-input:focus,#assignmentDetailsModal .modal-input:focus{border-color:#8a8578;box-shadow:0 0 0 2px #8a85781a}#addAssignmentModal select.modal-input,#editAssignmentModal select.modal-input,#assignmentDetailsModal select.modal-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a8578'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}#addAssignmentModal textarea.modal-input,#editAssignmentModal textarea.modal-input,#assignmentDetailsModal textarea.modal-input{min-height:80px;padding:12px 14px;resize:vertical;font-family:SF Mono,monospace}#addAssignmentModal .modal-footer,#editAssignmentModal .modal-footer,#assignmentDetailsModal .modal-footer{min-height:64px;display:flex;gap:12px;justify-content:flex-end;align-items:center;padding:16px 24px;border-top:1px solid #eeebe6;background:#faf8f5}#addAssignmentModal .btn-primary,#editAssignmentModal .btn-primary,#assignmentDetailsModal .btn-primary{min-width:120px;min-height:40px;padding:0 20px;border:1px solid #1a1a1a;border-radius:4px;background:#1a1a1a;color:#fff;font-size:12px;font-weight:500;letter-spacing:.3px;box-shadow:none;cursor:pointer;font-family:SF Mono,monospace;text-transform:uppercase;transition:all .15s ease}#addAssignmentModal .btn-primary:hover,#editAssignmentModal .btn-primary:hover,#assignmentDetailsModal .btn-primary:hover{transform:none;background:#333;border-color:#333;box-shadow:none}#addAssignmentModal .btn-secondary,#editAssignmentModal .btn-secondary,#assignmentDetailsModal .btn-secondary{min-width:100px;min-height:40px;padding:0 16px;border-radius:4px;border:1px solid #e2ddd4;background:#ffffff;color:#1a1a1a;font-size:12px;font-weight:500;cursor:pointer;font-family:SF Mono,monospace;transition:all .15s ease}#addAssignmentModal .btn-secondary:hover,#editAssignmentModal .btn-secondary:hover,#assignmentDetailsModal .btn-secondary:hover{background:#faf8f5;transform:none;border-color:#c4beb3}@media (max-width: 900px){.assignments-table-header{display:none}.assignment-row{display:block;padding:14px 16px;margin-bottom:12px;background:#ffffff;border:1px solid #eeebe6;border-radius:4px}.assignment-row>*{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.assignment-row>*:last-child{margin-bottom:0}.assignment-row .assignment-name-cell:before{content:"Assignment";font-size:9px;font-weight:600;text-transform:uppercase;color:#9a9588;margin-right:12px;font-family:SF Mono,monospace;letter-spacing:.3px}.assignment-row .assignment-meta-cell.due:before{content:"Due";font-size:9px;font-weight:600;text-transform:uppercase;color:#9a9588;margin-right:12px;font-family:SF Mono,monospace;letter-spacing:.3px}.assignment-row .assignment-meta-cell.weight:before{content:"Weight";font-size:9px;font-weight:600;text-transform:uppercase;color:#9a9588;margin-right:12px;font-family:SF Mono,monospace;letter-spacing:.3px}.assignment-row .assignment-status-badge{text-align:right}.assignment-actions-cell{justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid #eeebe6}.class-assignments-summary{flex-direction:column;gap:1px;border-radius:4px}.class-assignments-summary-card{justify-content:space-between}#addAssignmentModal .modal-content,#editAssignmentModal .modal-content,#assignmentDetailsModal .modal-content{width:94vw;max-width:94vw}#addAssignmentModal form,#editAssignmentModal form,#assignmentDetailsModal form{grid-template-columns:1fr}}@media (max-width: 760px){.class-assignments-summary-card{padding:12px 16px}.class-assignments-summary-card strong{font-size:20px}#addAssignmentModal .modal-header,#editAssignmentModal .modal-header,#assignmentDetailsModal .modal-header{min-height:48px;padding:12px 16px}#addAssignmentModal .modal-header h2,#editAssignmentModal .modal-header h2,#assignmentDetailsModal .modal-header h2{font-size:14px}#addAssignmentModal .modal-body,#editAssignmentModal .modal-body,#assignmentDetailsModal .modal-body{padding:16px;max-height:calc(85vh - 120px)}#addAssignmentModal .modal-footer,#editAssignmentModal .modal-footer,#assignmentDetailsModal .modal-footer{min-height:56px;padding:12px 16px;flex-direction:column-reverse;gap:8px}#addAssignmentModal .btn-primary,#editAssignmentModal .btn-primary,#assignmentDetailsModal .btn-primary,#addAssignmentModal .btn-secondary,#editAssignmentModal .btn-secondary,#assignmentDetailsModal .btn-secondary{width:100%;min-height:36px;font-size:11px}#addAssignmentModal .modal-input,#editAssignmentModal .modal-input,#assignmentDetailsModal .modal-input{min-height:36px;font-size:12px;border-radius:4px}}@media (max-width: 600px){.assignments-header{flex-direction:column;align-items:flex-start}.assignments-header-right{width:100%}.cmd-add-btn{width:100%;justify-content:center}.class-assignments-header{flex-direction:column;align-items:flex-start}.class-assignments-back{width:100%;justify-content:center;display:inline-flex}}@media (max-width: 540px){#addAssignmentModal .modal-content,#editAssignmentModal .modal-content,#assignmentDetailsModal .modal-content{width:96vw;border-radius:6px}#addAssignmentModal .close-modal,#editAssignmentModal .close-modal,#assignmentDetailsModal .close-modal{width:28px;height:28px;font-size:14px}}.filter-chip:focus-visible,.cmd-action-btn:focus-visible,.assignment-checkbox:focus-visible,.class-assignments-back:focus-visible,.cmd-add-btn:focus-visible{outline:2px solid #1a1a1a;outline-offset:2px}#addAssignmentModal .modal-body::-webkit-scrollbar,#editAssignmentModal .modal-body::-webkit-scrollbar,#assignmentDetailsModal .modal-body::-webkit-scrollbar,#addClassModal .modal-body::-webkit-scrollbar,#editClassModal .modal-body::-webkit-scrollbar,#classDatesModal .modal-body::-webkit-scrollbar{width:4px}#addAssignmentModal .modal-body::-webkit-scrollbar-track,#editAssignmentModal .modal-body::-webkit-scrollbar-track,#assignmentDetailsModal .modal-body::-webkit-scrollbar-track,#addClassModal .modal-body::-webkit-scrollbar-track,#editClassModal .modal-body::-webkit-scrollbar-track,#classDatesModal .modal-body::-webkit-scrollbar-track{background:#f0ede8;border-radius:2px}#addAssignmentModal .modal-body::-webkit-scrollbar-thumb,#editAssignmentModal .modal-body::-webkit-scrollbar-thumb,#assignmentDetailsModal .modal-body::-webkit-scrollbar-thumb,#addClassModal .modal-body::-webkit-scrollbar-thumb,#editClassModal .modal-body::-webkit-scrollbar-thumb,#classDatesModal .modal-body::-webkit-scrollbar-thumb{background:#c4beb3;border-radius:2px}#addAssignmentModal .modal-body::-webkit-scrollbar-thumb:hover,#editAssignmentModal .modal-body::-webkit-scrollbar-thumb:hover,#assignmentDetailsModal .modal-body::-webkit-scrollbar-thumb:hover,#addClassModal .modal-body::-webkit-scrollbar-thumb:hover,#editClassModal .modal-body::-webkit-scrollbar-thumb:hover,#classDatesModal .modal-body::-webkit-scrollbar-thumb:hover{background:#9a9588}section[data-view=tasks]{width:100%;max-width:none;margin:0}section[data-view=tasks] .dashboard-grid-view{display:block;width:100%;max-width:none;margin:0}section[data-view=tasks] .card-tasks{width:100%;max-width:none;grid-column:1 / -1}section[data-view=tasks] #tasksContainer{width:100%;max-width:none}.tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:10px 0}.task-card{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:16px;padding:20px;display:flex;flex-direction:column;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0206170d;position:relative;overflow:hidden}.task-card:hover{transform:translateY(-4px);border-color:#c9a44c66;box-shadow:0 12px 40px #0206171f;background:color-mix(in srgb,var(--color-bg-surface) 96%,var(--color-bg-secondary) 4%)}.task-card.completed{opacity:.7;background:color-mix(in srgb,var(--color-bg-secondary) 90%,transparent)}.task-card.completed:hover{opacity:.85}.task-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.task-checkbox{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:var(--color-bg-secondary);border:2px solid var(--color-border-light);cursor:pointer;position:relative;transition:all .2s ease}.task-checkbox:hover{border-color:#c9a44c80;transform:scale(1.05)}.task-checkbox input[type=checkbox]{opacity:0;position:absolute;width:100%;height:100%;cursor:pointer;z-index:2}.task-checkbox .checkmark{display:inline-block;width:20px;height:20px;border-radius:5px;background:var(--color-bg-surface);transition:all .2s ease;position:relative}.task-checkbox input:checked+.checkmark{background:var(--color-success);border-color:var(--color-success);transform:scale(1.1)}.task-checkbox input:checked+.checkmark:after{content:"✓";position:absolute;color:#fffffffa;font-size:14px;font-weight:700;top:50%;left:50%;transform:translate(-50%,-50%)}.task-priority{font-size:11px;padding:6px 12px;border-radius:999px;font-weight:var(--font-weight-extrabold);letter-spacing:.05em;text-transform:uppercase;border:2px solid transparent}.priority-high{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 25%,transparent)}.priority-medium{background:color-mix(in srgb,var(--color-warning) 12%,transparent);color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 25%,transparent)}.priority-low{background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 25%,transparent)}.task-card-body{flex:1;margin-bottom:16px}.task-title{font-size:16px;font-weight:var(--font-weight-extrabold);color:var(--color-text-primary);margin-bottom:12px;line-height:1.4;word-break:break-word}.task-title.text-line-through{text-decoration:line-through;color:var(--color-text-tertiary)}.task-description{font-size:13px;color:var(--color-text-secondary);line-height:1.5;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.task-due-info{margin-top:auto}.due-date{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--color-bg-secondary);border-radius:999px;font-size:12px;color:var(--color-text-secondary);border:1px solid var(--color-border-light)}.due-date.overdue{background:color-mix(in srgb,var(--color-danger) 10%,transparent);color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 25%,transparent)}.due-date.due-soon{background:color-mix(in srgb,var(--color-warning) 10%,transparent);color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 25%,transparent)}.due-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:var(--font-weight-extrabold);margin-left:4px}.overdue-badge{background:var(--color-danger);color:#fff}.due-soon-badge{background:var(--color-warning);color:#fff}.task-card-footer{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--color-border-light)}.task-card-footer .btn{flex:1;padding:8px 12px;font-size:13px}.task-details-modal{max-width:600px;background:var(--color-bg-surface);border-radius:24px;border:1px solid var(--color-border-light);box-shadow:0 20px 60px #02061733;overflow:hidden}.task-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.task-details-priority{font-size:12px;padding:8px 16px;border-radius:999px;font-weight:var(--font-weight-extrabold);letter-spacing:.05em;text-transform:uppercase}.task-details-status{font-size:13px;padding:6px 12px;border-radius:999px;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.task-details-status.completed{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.task-details-title{font-size:24px;font-weight:var(--font-weight-extrabold);color:var(--color-text-primary);margin-bottom:24px;line-height:1.3;word-break:break-word}.task-details-description{margin-bottom:32px}.task-details-description h4{font-size:16px;font-weight:var(--font-weight-extrabold);color:var(--color-text-secondary);margin-bottom:12px}.task-details-description p{font-size:15px;color:var(--color-text-primary);line-height:1.6;background:var(--color-bg-secondary);padding:20px;border-radius:12px;border:1px solid var(--color-border-light)}.task-details-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:24px;background:var(--color-bg-secondary);border-radius:16px;border:1px solid var(--color-border-light)}.meta-item{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--color-text-primary)}.meta-item i{width:20px;color:var(--color-text-secondary);font-size:14px}.task-details-actions{display:flex;justify-content:space-between;align-items:center;width:100%;padding:20px 0 0;border-top:1px solid var(--color-border-light)}.action-buttons{display:flex;gap:12px}.task-details-actions .btn{padding:10px 20px;font-size:14px;font-weight:var(--font-weight-semibold)}.task-details-actions .btn-toggle-complete{min-width:150px}@media (max-width: 768px){.tasks-grid{grid-template-columns:1fr;gap:16px}.task-card{padding:16px}.task-details-modal{margin:10px;max-width:calc(100% - 20px)}.task-details-meta{grid-template-columns:1fr}.task-details-actions{flex-direction:column;gap:16px}.action-buttons{width:100%;flex-direction:column}.action-buttons .btn{width:100%}}@media (max-width: 480px){.task-card-header{flex-direction:column;align-items:flex-start;gap:12px}.task-priority{align-self:flex-start}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.task-card{animation:fadeInUp .4s ease forwards}.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-secondary)}.empty-state i{font-size:48px;margin-bottom:20px;opacity:.3}.empty-state p{font-size:16px;margin-bottom:8px;color:var(--color-text-secondary)}.empty-state .text-muted{font-size:14px;opacity:.7}#taskDetailsModal .modal-footer{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}#taskDetailsModal .modal-footer .btn-primary,#taskDetailsModal .modal-footer .btn-secondary{min-width:110px}.note-card{border:1px solid var(--color-border-light);border-radius:16px;padding:14px;background:var(--color-bg-surface);cursor:pointer;box-shadow:0 10px 26px #0206171a;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;position:relative;overflow:hidden}.note-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(700px 320px at 100% 0%,color-mix(in srgb,var(--color-accent) 16%,transparent),transparent 55%),radial-gradient(700px 320px at 0% 100%,color-mix(in srgb,rgba(201,164,76,.18) 70%,transparent),transparent 55%);opacity:.55;pointer-events:none}.note-card>*{position:relative;z-index:1}.note-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px #02061724;border-color:#c9a44c4d;background:color-mix(in srgb,var(--color-bg-surface) 92%,var(--color-bg-secondary) 8%)}.note-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}.note-title{font-weight:var(--font-weight-extrabold);font-size:16px;color:var(--color-text-primary);flex:1;line-height:1.3}.note-tag{font-size:12px;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,rgba(201,164,76,.14) 60%,transparent);border:1px solid rgba(201,164,76,.22);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);white-space:nowrap}.note-body,.note-content{font-size:13px;color:var(--color-text-secondary);line-height:1.5;margin-bottom:8px;white-space:pre-wrap;word-break:break-word}.note-date{font-size:12px;color:var(--color-text-tertiary);text-align:right}.note-actions{display:flex;gap:6px}.note-actions .btn-edit,.note-actions .btn-delete{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);padding:8px;border-radius:12px;cursor:pointer;font-size:12px;color:var(--color-text-secondary);transition:background .18s ease,border-color .18s ease,transform .12s ease,color .18s ease}.note-actions .btn-edit:hover{background:color-mix(in srgb,var(--color-accent) 12%,transparent);border-color:color-mix(in srgb,var(--color-accent) 28%,var(--color-border-light));color:var(--color-accent);transform:translateY(-1px)}.note-actions .btn-delete:hover{background:color-mix(in srgb,var(--color-danger) 10%,transparent);border-color:color-mix(in srgb,var(--color-danger) 24%,var(--color-border-light));color:var(--color-danger);transform:translateY(-1px)}.note-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.note-tag-item{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:999px;font-size:11px;color:var(--color-text-secondary);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.note-tag-item:hover{background:var(--color-bg-tertiary);border-color:#c9a44c4d;color:var(--color-text-primary)}.note-category{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:999px;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:10px}.note-priority{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:var(--font-weight-extrabold);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--color-border-light)}.note-priority.high{background:color-mix(in srgb,var(--color-danger) 10%,transparent);color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 24%,var(--color-border-light))}.note-priority.medium{background:color-mix(in srgb,var(--color-warning) 10%,transparent);color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 24%,var(--color-border-light))}.note-priority.low{background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 24%,var(--color-border-light))}.note-preview{max-height:200px;overflow:hidden;position:relative}.note-preview:after{content:"";position:absolute;bottom:0;left:0;right:0;height:46px;background:linear-gradient(transparent,var(--color-bg-surface));pointer-events:none}.note-full-content{max-height:none;overflow:visible}.note-full-content .note-preview:after{display:none}.note-metadata{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-light);font-size:11px;color:var(--color-text-tertiary)}.note-info{display:flex;align-items:center;gap:12px}.note-stat{display:flex;align-items:center;gap:6px}.note-stat i{font-size:10px;opacity:.85}.note-search{margin-bottom:16px}.search-input-wrapper{position:relative}.search-input-wrapper i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);font-size:14px}.note-search-input{width:100%;padding:10px 12px 10px 36px;border:1px solid var(--color-border-light);border-radius:12px;background:var(--color-bg-surface);color:var(--color-text-primary);font-size:14px}.note-search-input:focus{outline:none;border-color:#c9a44c8c;box-shadow:0 0 0 3px #c9a44c24}.note-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filter-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--color-border-light);border-radius:999px;background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:12px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .12s ease}.filter-chip:hover{background:var(--color-bg-tertiary);border-color:#c9a44c4d;color:var(--color-text-primary);transform:translateY(-1px)}.filter-chip.active{background:color-mix(in srgb,rgba(201,164,76,.92) 70%,#000 30%);border-color:#c9a44c38;color:#fffffff5}.note-sort{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:13px;color:var(--color-text-secondary)}.sort-options{display:flex;gap:8px;flex-wrap:wrap}.sort-option{padding:7px 12px;border:1px solid var(--color-border-light);border-radius:12px;background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:12px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.sort-option:hover{background:var(--color-bg-tertiary);border-color:#c9a44c4d;color:var(--color-text-primary)}.sort-option.active{background:color-mix(in srgb,rgba(201,164,76,.92) 70%,#000 30%);border-color:#c9a44c38;color:#fffffff5}.note-editor{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:16px;padding:18px;margin-bottom:18px;box-shadow:0 10px 26px #02061714}.editor-toolbar{display:flex;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--color-border-light);flex-wrap:wrap}.toolbar-button{width:38px;height:38px;border:1px solid var(--color-border-light);border-radius:12px;background:var(--color-bg-secondary);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .12s ease}.toolbar-button:hover{background:var(--color-bg-tertiary);border-color:#c9a44c4d;color:var(--color-text-primary);transform:translateY(-1px)}.toolbar-button.active{background:color-mix(in srgb,rgba(201,164,76,.92) 70%,#000 30%);border-color:#c9a44c38;color:#fffffff5}.note-editor-input{width:100%;min-height:200px;padding:12px;border:1px solid var(--color-border-light);border-radius:14px;background:var(--color-bg-surface);color:var(--color-text-primary);font-size:14px;line-height:1.6;resize:vertical}.note-editor-input:focus{outline:none;border-color:#c9a44c8c;box-shadow:0 0 0 3px #c9a44c24}.note-empty-state{text-align:center;padding:60px 20px;color:var(--color-text-secondary);background:var(--color-bg-surface);border:2px dashed var(--color-border);border-radius:16px}.note-empty-icon{font-size:48px;color:#c9a44c8c;margin-bottom:16px;opacity:.7}.note-empty-state h3{font-size:18px;font-weight:var(--font-weight-extrabold);color:var(--color-text-primary);margin-bottom:8px}.note-empty-state p{color:var(--color-text-secondary);margin-bottom:24px;max-width:320px;margin-left:auto;margin-right:auto}.note-pinned{border-left:4px solid rgba(201,164,76,.95);background:linear-gradient(90deg,color-mix(in srgb,rgba(201,164,76,.14) 60%,transparent) 0%,transparent 14%),var(--color-bg-surface)}.note-shared{border-left:4px solid var(--color-accent);background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 10%,transparent) 0%,transparent 14%),var(--color-bg-surface)}.note-locked{opacity:.85;position:relative}.note-locked .note-body{filter:blur(4px);-webkit-user-select:none;user-select:none}.note-locked:hover .note-body{filter:none;-webkit-user-select:text;user-select:text}@media (max-width: 1100px){.notes-grid{grid-template-columns:1fr}}@media (max-width: 768px){.note-card-head{flex-direction:column;align-items:flex-start;gap:8px}}:root{--event-default-bg: #ffffff;--event-default-border: var(--cal-line);--event-default-text: var(--cal-text);--event-class-bg: rgba(31, 107, 69, .06);--event-class-border: #1f6b45;--event-class-text: #1f6b45;--event-meeting-bg: rgba(201, 164, 76, .06);--event-meeting-border: #c9a44c;--event-meeting-text: #c9a44c;--event-personal-bg: rgba(31, 107, 69, .04);--event-personal-border: #1f6b45;--event-personal-text: #1f6b45;--event-deadline-bg: rgba(185, 28, 28, .06);--event-deadline-border: #b91c1c;--event-deadline-text: #b91c1c;--event-study-bg: rgba(31, 107, 69, .06);--event-study-border: #1f6b45;--event-study-text: #1f6b45;--event-workout-bg: rgba(201, 164, 76, .06);--event-workout-border: #c9a44c;--event-workout-text: #c9a44c;--event-social-bg: rgba(201, 164, 76, .04);--event-social-border: #c9a44c;--event-social-text: #c9a44c;--cal-bg: #f5f3ef;--cal-card: #ffffff;--cal-line: #e2ddd4;--cal-line-strong: #d5cfc4;--cal-text: #1a1a1a;--cal-muted: #8a8578;--cal-faint: #c4beb3;--cal-green: #1f6b45;--cal-green-soft: rgba(31, 107, 69, .06);--cal-gold: #c9a44c;--cal-gold-soft: rgba(201, 164, 76, .06);--cal-shadow: 0 4px 12px rgba(0, 0, 0, .06);--cal-font: "SF Mono", "JetBrains Mono", monospace}.calendar-grid-view{background:transparent;border-radius:0;box-shadow:none;padding:0;margin-bottom:24px;border:none}.calendar-week-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--cal-line);flex-wrap:wrap;gap:10px}.week-number-badge{display:inline-flex;align-items:center;gap:8px;background:var(--cal-gold-soft);padding:6px 14px;border-radius:4px;border:1px solid var(--cal-line);font-weight:600;font-size:11px;color:var(--cal-text);font-family:var(--cal-font);text-transform:uppercase;letter-spacing:.3px}.week-number-badge i{color:var(--cal-gold);font-size:14px}.week-range{color:var(--cal-muted);font-size:12px;background:var(--cal-card);padding:4px 12px;border-radius:4px;border:1px solid var(--cal-line);font-family:var(--cal-font)}.calendar-view-tools{display:flex;gap:6px}.btn-icon{background:var(--cal-card);border:1px solid var(--cal-line);border-radius:4px;padding:6px 10px;cursor:pointer;transition:all .15s ease;color:var(--cal-muted);font-size:13px;display:inline-flex;align-items:center;gap:6px;font-family:var(--cal-font)}.btn-icon:hover{border-color:var(--cal-gold-border);color:var(--cal-green);transform:translateY(-1px);background:var(--cal-gold-soft)}.search-bar-container{margin-bottom:16px;padding:12px 14px;background:var(--cal-card);border-radius:4px;border:1px solid var(--cal-line);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.search-bar{display:flex;align-items:center;gap:10px;background:var(--cal-card);border:1px solid var(--cal-line);border-radius:4px;padding:4px 12px;margin-bottom:12px;transition:all .15s ease}.search-bar:focus-within{border-color:var(--cal-gold);box-shadow:0 0 0 3px #c9a44c1f}.search-bar i{color:var(--cal-gold);font-size:13px}.search-bar input{flex:1;background:transparent;border:none;outline:none;color:var(--cal-text);font-size:13px;font-family:var(--cal-font);padding:6px 0}.search-bar input::placeholder{color:var(--cal-faint)}.btn-clear-search{background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;color:var(--cal-muted);padding:4px 6px;transition:all .15s ease;font-size:12px}.btn-clear-search:hover{color:var(--cal-text);background:var(--cal-gold-soft);border-color:var(--cal-line)}.filter-tags{display:flex;flex-wrap:wrap;gap:6px}.filter-tag{background:var(--cal-card);border:1px solid var(--cal-line);border-radius:4px;padding:4px 12px;font-size:10px;cursor:pointer;transition:all .15s ease;color:var(--cal-muted);font-family:var(--cal-font);text-transform:uppercase;letter-spacing:.3px;font-weight:500}.filter-tag:hover{border-color:var(--cal-gold-border);color:var(--cal-text);background:var(--cal-gold-soft)}.filter-tag.active{background:var(--cal-green);border-color:var(--cal-green);color:#fff}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--cal-line);border-radius:4px;overflow:hidden;margin-bottom:20px}.calendar-day-cell{background:var(--cal-card);min-height:360px;padding:10px;position:relative;transition:all .15s ease;display:flex;flex-direction:column}.calendar-day-cell.is-today{background:var(--cal-gold-soft);position:relative}.calendar-day-cell.is-today:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--cal-gold)}.calendar-day-cell.is-weekend{background:#faf8f5}.calendar-day-header{text-align:center;padding-bottom:8px;margin-bottom:10px;border-bottom:1px solid var(--cal-line);position:relative}.day-name{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--cal-muted);font-weight:600;margin-bottom:2px;font-family:var(--cal-font)}.day-date{font-size:18px;font-weight:700;color:var(--cal-text);font-family:var(--cal-font)}.today-badge{display:inline-block;background:var(--cal-gold);color:#fff;font-size:8px;padding:1px 8px;border-radius:3px;margin-top:4px;font-weight:600;font-family:var(--cal-font);text-transform:uppercase;letter-spacing:.3px}.calendar-day-events{flex:1;overflow-y:auto;min-height:260px;max-height:300px;display:flex;flex-direction:column;gap:6px;padding-right:2px}.empty-day-message{text-align:center;color:var(--cal-faint);font-size:10px;padding:20px 10px;font-family:var(--cal-font)}.event-card{background:var(--cal-card);border-radius:4px;padding:8px 10px;border-left:3px solid var(--event-color, var(--cal-line));cursor:pointer;transition:all .15s ease;position:relative;box-shadow:none;border:1px solid var(--cal-line)}.event-card:hover{transform:translate(2px);box-shadow:var(--cal-shadow);border-color:var(--cal-gold-border)}.event-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.event-time-badge{font-size:10px;font-weight:600;color:var(--cal-gold);display:flex;align-items:center;gap:4px;font-family:var(--cal-font)}.event-time-badge i{font-size:9px}.event-duration{font-size:9px;color:var(--cal-muted);font-weight:400}.event-category-dot{width:6px;height:6px;border-radius:50%;background:var(--event-color)}.event-title{font-size:12px;font-weight:600;color:var(--cal-text);margin-bottom:3px;line-height:1.3;font-family:var(--cal-font)}.event-location{font-size:10px;color:var(--cal-muted);display:flex;align-items:center;gap:4px;font-family:var(--cal-font)}.event-location i{font-size:8px}.event-description-preview{font-size:10px;color:var(--cal-muted);line-height:1.3;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--cal-font)}.event-card-compact{background:var(--cal-card);border-radius:4px;padding:6px 8px;border-left:2px solid var(--event-color);cursor:pointer;transition:all .15s ease;border:1px solid var(--cal-line)}.event-card-compact:hover{transform:translate(2px);box-shadow:var(--cal-shadow)}.event-time-compact{font-size:9px;font-weight:600;color:var(--cal-gold);margin-bottom:2px;font-family:var(--cal-font)}.event-title-compact{font-size:11px;font-weight:600;color:var(--cal-text);font-family:var(--cal-font)}.event-location-compact{font-size:9px;color:var(--cal-muted);margin-top:2px;display:flex;align-items:center;gap:4px;font-family:var(--cal-font)}.event-card[data-color-category=class]{--event-color: var(--event-class-border);background:var(--event-class-bg);border-left-color:var(--event-class-border)}.event-card[data-color-category=meeting]{--event-color: var(--event-meeting-border);background:var(--event-meeting-bg);border-left-color:var(--event-meeting-border)}.event-card[data-color-category=personal]{--event-color: var(--event-personal-border);background:var(--event-personal-bg);border-left-color:var(--event-personal-border)}.event-card[data-color-category=deadline]{--event-color: var(--event-deadline-border);background:var(--event-deadline-bg);border-left-color:var(--event-deadline-border)}.event-card[data-color-category=study]{--event-color: var(--event-study-border);background:var(--event-study-bg);border-left-color:var(--event-study-border)}.event-card[data-color-category=workout]{--event-color: var(--event-workout-border);background:var(--event-workout-bg);border-left-color:var(--event-workout-border)}.event-card[data-color-category=social]{--event-color: var(--event-social-border);background:var(--event-social-bg);border-left-color:var(--event-social-border)}.add-event-quick{position:absolute;bottom:6px;right:6px;background:var(--cal-card);border:1px solid var(--cal-line);border-radius:4px;padding:4px 8px;cursor:pointer;transition:all .15s ease;color:var(--cal-muted);opacity:0;font-size:10px;display:flex;align-items:center;gap:4px;font-family:var(--cal-font)}.calendar-day-cell:hover .add-event-quick{opacity:1}.add-event-quick:hover{background:var(--cal-gold-soft);border-color:var(--cal-gold);color:var(--cal-green)}.mini-calendar-container{margin-top:20px;padding-top:16px;border-top:1px solid var(--cal-line)}.mini-calendar{background:var(--cal-card);border-radius:4px;padding:14px;max-width:300px;margin:0 auto;border:1px solid var(--cal-line)}.mini-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 4px}.mini-calendar-header button{background:transparent;border:1px solid var(--cal-line);border-radius:4px;padding:4px 8px;cursor:pointer;transition:all .15s ease;color:var(--cal-muted);font-size:12px}.mini-calendar-header button:hover{border-color:var(--cal-gold);color:var(--cal-green);background:var(--cal-gold-soft)}.mini-cal-month{font-weight:600;color:var(--cal-text);font-size:12px;font-family:var(--cal-font);text-transform:uppercase;letter-spacing:.3px}.mini-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:8px;font-size:9px;color:var(--cal-muted);text-transform:uppercase;letter-spacing:.3px;font-weight:600;font-family:var(--cal-font)}.mini-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.mini-cal-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;transition:all .15s ease;font-size:11px;color:var(--cal-text);position:relative;font-family:var(--cal-font)}.mini-cal-day:hover{background:var(--cal-gold-soft)}.mini-cal-day.today{background:var(--cal-gold-soft);font-weight:700;color:var(--cal-gold)}.mini-cal-day.selected{background:var(--cal-green);color:#fff}.mini-cal-day.has-events{position:relative}.day-number{font-size:11px}.event-dot{position:absolute;bottom:2px;font-size:6px;background:var(--cal-gold);color:#fff;border-radius:2px;padding:1px 4px;min-width:12px;text-align:center}.event-card[data-recurring=true]:after{content:"⟳";position:absolute;top:6px;right:6px;font-size:9px;color:var(--cal-gold);opacity:.6}.modal-section{margin-bottom:14px}.modal-section label{display:block;margin-bottom:4px;font-size:10px;font-weight:600;color:var(--cal-muted);text-transform:uppercase;letter-spacing:.3px;font-family:var(--cal-font)}.form-select{width:100%;padding:8px 12px;background:var(--cal-card);border:1px solid var(--cal-line);border-radius:4px;color:var(--cal-text);font-size:13px;font-family:var(--cal-font);transition:all .15s ease}.form-select:focus{outline:none;border-color:var(--cal-gold);box-shadow:0 0 0 3px #c9a44c1f}.category-preview{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:11px;color:var(--cal-muted);font-family:var(--cal-font)}.category-dot-preview{width:10px;height:10px;border-radius:50%}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:14px;border-top:1px solid var(--cal-line)}.modal-actions .btn-danger{margin-right:auto}#deleteSeriesBtn{background:rgba(185,28,28,.06);border-color:#b91c1c26;color:#b91c1c}#deleteSeriesBtn:hover{background:rgba(185,28,28,.12);border-color:#b91c1c}.event-detail-header{position:relative;padding-left:12px}.category-indicator{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:2px}.detail-title{font-size:18px;font-weight:700;margin-bottom:6px;color:var(--cal-text);font-family:var(--cal-font)}.detail-date{font-size:12px;color:var(--cal-muted);margin-bottom:6px;font-family:var(--cal-font)}.detail-time{font-size:12px;color:var(--cal-gold);display:flex;align-items:center;gap:6px;font-family:var(--cal-font)}.modal-header{border-left:3px solid var(--event-color, var(--cal-gold))}.events-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;align-items:center;justify-content:space-between}.toolbar-group{display:flex;gap:6px;align-items:center}#naturalLangBtn{background:var(--cal-gold-soft);border-color:var(--cal-gold-border);transition:all .15s ease;color:var(--cal-green)}#naturalLangBtn:hover{background:var(--cal-gold-soft);border-color:var(--cal-gold);transform:scale(1.02)}#naturalLangBtn i{animation:magicSparkle 2s infinite}@keyframes magicSparkle{0%,to{opacity:.5}50%{opacity:1}}@keyframes eventAppear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.event-card{animation:eventAppear .2s ease}.event-card.dragging{opacity:.4;cursor:grabbing}.calendar-day-cell.drag-over{background:var(--cal-gold-soft);border:2px dashed var(--cal-gold)}@media (max-width: 1200px){.calendar-grid{grid-template-columns:repeat(7,minmax(180px,1fr));overflow-x:auto}.calendar-day-cell{min-width:180px;min-height:300px}}@media (max-width: 900px){.calendar-grid{display:flex;overflow-x:auto;gap:10px;background:transparent;padding-bottom:8px}.calendar-day-cell{min-width:250px;min-height:320px;background:var(--cal-card);border-radius:4px;border:1px solid var(--cal-line)}.calendar-week-header{flex-direction:column;align-items:flex-start}.filter-tags{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.filter-tag{white-space:nowrap}.toolbar-group{flex-wrap:wrap}.events-toolbar{flex-direction:column;align-items:stretch}}@media (max-width: 600px){.calendar-day-cell{min-width:220px;min-height:280px;padding:8px}.event-card{padding:6px 8px}.event-title{font-size:11px}.mini-calendar{max-width:100%}.calendar-grid-view{padding:0}}@media (max-width: 400px){.calendar-day-cell{min-width:180px;min-height:240px}.day-date{font-size:15px}.calendar-day-events{min-height:180px;max-height:200px}}.event-card:focus-visible,.filter-tag:focus-visible,.btn-icon:focus-visible,.add-event-quick:focus-visible,.mini-cal-day:focus-visible{outline:2px solid var(--cal-gold);outline-offset:2px}.calendar-day-events::-webkit-scrollbar{width:3px}.calendar-day-events::-webkit-scrollbar-track{background:var(--cal-line);border-radius:2px}.calendar-day-events::-webkit-scrollbar-thumb{background:var(--cal-gold);border-radius:2px}.calendar-day-events::-webkit-scrollbar-thumb:hover{background:var(--cal-gold-border)}@media print{.calendar-grid-view{box-shadow:none;padding:0}.btn-icon,.add-event-quick,.search-bar-container,.calendar-view-tools,.mini-calendar-container{display:none!important}.calendar-day-cell{break-inside:avoid;page-break-inside:avoid}.event-card{box-shadow:none;border:1px solid var(--cal-line)}}:root{--dash-bg: #f5f3ef;--dash-card: #ffffff;--dash-line: #e2ddd4;--dash-line-strong: #d5cfc4;--dash-text: #1a1a1a;--dash-muted: #8a8578;--dash-faint: #c4beb3;--dash-green: #1f6b45;--dash-green-hover: #174f34;--dash-green-soft: rgba(31, 107, 69, .06);--dash-green-border: rgba(31, 107, 69, .12);--dash-gold: #c9a44c;--dash-gold-soft: rgba(201, 164, 76, .06);--dash-gold-border: rgba(201, 164, 76, .15);--dash-shadow: 0 4px 12px rgba(0, 0, 0, .06);--dash-font: "SF Mono", "JetBrains Mono", monospace}.card.command-center{background:transparent;border:none;box-shadow:none}.card.command-center .card-content.acc-grid,.acc-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);gap:16px;align-items:stretch;padding:0}.acc-charts,.acc-risk-insights{display:flex;flex-direction:column;gap:16px;height:100%;min-width:0}.acc-side{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:16px;align-content:stretch}.acc-chart,.chart-container,.risk-section,.focus-card,.insights-card{background:var(--dash-card);border:1px solid var(--dash-line);border-radius:4px;box-shadow:var(--dash-shadow);transition:all .15s ease}.acc-chart:hover,.chart-container:hover,.risk-section:hover,.focus-card:hover,.insights-card:hover{border-color:var(--dash-gold-border)}.acc-chart,.chart-container{padding:14px 16px;min-height:0;flex:1}.risk-section,.focus-card,.insights-card{padding:14px 16px;flex:1;display:flex;flex-direction:column}.chart-container:first-child,.risk-section{min-height:240px}.chart-container:last-child,.insights-card{min-height:260px}.acc-chart-title,.chart-title,.acc-subtitle,.insights-title,.focus-title,.section-header h3{color:var(--dash-text);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;font-family:var(--dash-font)}.acc-chart-title,.chart-title,.acc-subtitle{margin-bottom:8px}.chart-header,.insights-header,.section-header,.focus-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.section-header{padding-bottom:6px;border-bottom:1px solid var(--dash-line)}.chart-header{margin-bottom:10px}.chart-legend{font-size:10px;color:var(--dash-muted);font-family:var(--dash-font)}.legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}.chart-container canvas{flex:1;width:100%!important;height:100%!important;min-height:160px}.risk-summary,.risk-summary-badges,.alerts-strip{display:flex;flex-wrap:wrap;gap:6px}.risk-summary-badge,.alert-chip,.risk-tag,.risk-badge,.focus-meta,.status-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:3px 8px;border-radius:3px;font-size:9px;font-weight:600;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;font-family:var(--dash-font);border:1px solid transparent}.risk-summary-badge,.alert-chip,.risk-tag,.risk-badge,.focus-meta{border-color:var(--dash-line);background:var(--dash-card);color:var(--dash-muted)}.risk-summary-badge.high,.risk-tag-danger,.risk-badge.risk-danger,.alert-danger{color:#b91c1c;border-color:#b91c1c26;background:#fee9e8}.risk-summary-badge.medium,.risk-tag-warn,.risk-badge.risk-warn,.alert-warn{color:#b45309;border-color:#b4530926;background:#fef3e2}.risk-summary-badge.low,.risk-tag-ok,.risk-badge.risk-ok,.alert-ok,.status-badge.status-ok{color:var(--dash-green);border-color:var(--dash-green-border);background:var(--dash-green-soft)}.status-badge.status-watch,.status-badge.status-warn{color:#b45309;background:#fef3e2}.status-badge.status-danger{color:#b91c1c;background:#fee9e8}.risk-list{display:block}.risk-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed;font-family:var(--dash-font)}.risk-table thead th{text-align:left;padding:8px 6px 6px;font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--dash-muted);background:transparent;border-bottom:2px solid var(--dash-line)}.risk-table tbody td{padding:8px 6px;border-bottom:1px solid var(--dash-line);vertical-align:middle}.risk-table tbody tr:last-child td{border-bottom:none}.risk-table tbody tr:hover{background:var(--dash-gold-soft)}.risk-table .course-name{width:100%;font-weight:500;color:var(--dash-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-table .risk-percent{width:56px;font-weight:600;color:var(--dash-text)}.risk-table .progress-cell{width:100px}.risk-table .status-cell{width:72px;text-align:right}.progress-bar,.risk-bar,.risk-factor-bar{width:100%;height:4px;border-radius:2px;background:var(--dash-line);overflow:hidden}.progress-fill,.risk-fill,.risk-factor-fill{height:100%;border-radius:inherit;background:var(--dash-green);transition:width .3s ease}.risk-row.risk-high .progress-fill,.risk-row.risk-danger .progress-fill,.risk-item.risk-danger .risk-fill{background:#b91c1c}.risk-row.risk-medium .progress-fill,.risk-row.risk-warn .progress-fill,.risk-item.risk-warn .risk-fill{background:#e8a53a}.risk-row.risk-watch .progress-fill,.risk-item.risk-watch .risk-fill{background:#fbbf24}.risk-item,.risk-card{background:var(--dash-card);border:1px solid var(--dash-line);border-radius:4px;padding:10px 12px}.risk-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.risk-name{max-width:62%;font-weight:600;color:var(--dash-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.risk-right,.risk-header{display:inline-flex;align-items:center;gap:6px}.risk-footnote,.insights-list,.focus-reason,.empty-state,.empty-subtitle,.risk-factor-value,.risk-meter-labels,.risk-confidence,.mini-link{color:var(--dash-muted)}.risk-footnote,.risk-factor-value,.risk-confidence,.stat-label{font-size:10px;font-family:var(--dash-font)}.risk-meta,.risk-stats,.risk-actions,.focus-actions,.quick-actions-grid,.quick-stats{display:grid;gap:8px}.risk-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.risk-stats,.quick-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.risk-actions,.focus-actions,.quick-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-kv,.risk-stat,.stat-card{background:var(--dash-gold-soft);border:1px solid var(--dash-line);border-radius:4px;padding:8px 10px}.risk-kv{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.risk-kv .k,.risk-stat-label{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--dash-muted);font-family:var(--dash-font)}.risk-kv .v,.risk-stat-value,.stat-value{font-weight:600;color:var(--dash-text);font-size:12px}.risk-stat-value.warning{color:#b45309}.risk-stat-value.danger{color:#b91c1c}.btn-mini,.quick-action-btn{border-radius:4px;padding:6px 10px;border:1px solid var(--dash-line);background:var(--dash-card);color:var(--dash-text);font-weight:500;cursor:pointer;font-size:10px;font-family:var(--dash-font);transition:all .15s ease;text-transform:uppercase;letter-spacing:.3px}.btn-mini:hover,.quick-action-btn:hover{border-color:var(--dash-gold);background:var(--dash-gold-soft);transform:translateY(-1px)}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;font-size:9px}.quick-action-btn i{font-size:16px;color:var(--dash-green)}.quick-actions-card{background:linear-gradient(135deg,var(--dash-green),var(--dash-green-hover));color:#fff;padding:16px 18px;border-radius:4px;border:none}.quick-actions-header{font-size:14px;font-weight:600;margin-bottom:12px;font-family:var(--dash-font);text-transform:uppercase;letter-spacing:.3px}.quick-actions-card .quick-action-btn{border-color:#ffffff26;background:rgba(255,255,255,.06);color:#fff}.quick-actions-card .quick-action-btn:hover{border-color:var(--dash-gold);background:rgba(255,255,255,.12)}.quick-actions-card .quick-action-btn i{color:var(--dash-gold)}.insights-card{display:flex;flex-direction:column}.insights-header{margin-bottom:8px;font-weight:600;color:var(--dash-text);font-size:12px;text-transform:uppercase;letter-spacing:.5px;font-family:var(--dash-font)}.insights-list{margin:0;padding-left:16px;line-height:1.5;flex:1;overflow-y:auto;max-height:180px;font-size:12px}.insight-item{margin:4px 0;color:var(--dash-text)}.insights-tabs,.insights-chips{display:flex;flex-wrap:wrap;gap:6px}.insights-tabs{margin:10px 0;padding-bottom:8px;border-bottom:1px solid var(--dash-line)}.insights-tab,.insight-chip{padding:4px 10px;border-radius:3px;font-size:10px;font-family:var(--dash-font);text-transform:uppercase;letter-spacing:.3px}.insights-tab{border:1px solid transparent;background:transparent;color:var(--dash-muted);cursor:pointer;transition:all .15s ease}.insights-tab:hover{border-color:var(--dash-gold-border);background:var(--dash-gold-soft);color:var(--dash-text)}.insights-tab.active{background:var(--dash-green);color:#fff;border-color:var(--dash-green)}.insight-chip{background:var(--dash-gold-soft);color:var(--dash-text);font-weight:500;border:1px solid var(--dash-line)}.focus-card{display:flex;flex-direction:column}.focus-head{margin-bottom:8px}.focus-course{font-size:14px;font-weight:700;color:var(--dash-green);margin-bottom:4px;font-family:var(--dash-font)}.focus-reason{font-size:12px;line-height:1.4;color:var(--dash-muted)}.focus-meta{font-size:9px}.term-gpa-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;padding:6px 0 10px;border-bottom:1px solid var(--dash-line);font-size:12px;font-weight:600;color:var(--dash-muted);font-family:var(--dash-font);text-transform:uppercase;letter-spacing:.3px}.term-gpa-value{font-size:20px;font-weight:700;color:var(--dash-green);font-family:var(--dash-font)}.empty-state{text-align:center;padding:30px 16px;color:var(--dash-muted)}.empty-icon{font-size:32px;margin-bottom:10px;opacity:.4;color:var(--dash-gold)}.empty-subtitle{font-size:12px;font-family:var(--dash-font)}.mini-link{background:transparent;border:none;font-weight:600;cursor:pointer;color:var(--dash-green);font-size:10px;font-family:var(--dash-font);transition:all .15s ease;text-transform:uppercase;letter-spacing:.3px}.mini-link:hover{color:var(--dash-green-hover);text-decoration:underline}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.risk-card,.insight-item,.risk-row{animation:slideIn .25s ease}@media (max-width: 1200px){.card.command-center .card-content.acc-grid,.acc-grid{grid-template-columns:1fr;gap:16px}.acc-charts,.acc-risk-insights,.acc-side{grid-template-rows:auto}.risk-table .course-name{max-width:140px}}@media (max-width: 1100px){.acc-grid{grid-template-columns:1fr}.chart-container,.risk-section,.insights-card{min-height:auto}}@media (max-width: 768px){.risk-table{font-size:11px}.risk-table .course-name{max-width:100px}.risk-table .progress-cell{width:80px}.risk-table .status-cell{width:64px}.risk-stats,.quick-stats,.risk-actions,.focus-actions,.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.risk-meta{grid-template-columns:1fr}}@media (max-width: 540px){.acc-chart,.chart-container,.risk-section,.focus-card,.insights-card{padding:10px 12px}.risk-stats,.quick-stats,.risk-actions,.focus-actions,.quick-actions-grid{grid-template-columns:1fr}.risk-table{font-size:10px}.risk-table .course-name{max-width:72px}.risk-table .progress-cell{width:60px}.risk-table .status-cell{width:56px}.chart-container canvas{min-height:120px}}.insights-list::-webkit-scrollbar{width:3px}.insights-list::-webkit-scrollbar-track{background:var(--dash-gold-soft);border-radius:2px}.insights-list::-webkit-scrollbar-thumb{background:var(--dash-gold);border-radius:2px}.insights-list::-webkit-scrollbar-thumb:hover{background:var(--dash-gold-border)}.btn-mini:focus-visible,.quick-action-btn:focus-visible,.insights-tab:focus-visible,.mini-link:focus-visible{outline:2px solid var(--dash-gold);outline-offset:2px}:root{--prep-bg: #f4f8f4;--prep-panel: rgba(255, 255, 255, .92);--prep-panel-strong: #ffffff;--prep-ink: #121a2f;--prep-muted: #667085;--prep-line: rgba(18, 26, 47, .1);--prep-green: #062f1b;--prep-green-2: #0d5a38;--prep-gold: #c9a44c;--prep-gold-soft: #f4e7bc;--prep-red: #b42318;--prep-shadow: 0 22px 60px rgba(15, 23, 42, .08);--prep-radius: 24px}.prepcenter-section{min-height:calc(100vh - 96px);background:radial-gradient(circle at 20% 0%,rgba(201,164,76,.16),transparent 34%),radial-gradient(circle at 100% 20%,rgba(6,47,27,.11),transparent 30%),var(--prep-bg);color:var(--prep-ink)}.compact-prep-header{position:sticky;top:0;z-index:5;padding:14px 22px;background:rgba(245,242,226,.82);border-bottom:1px solid rgba(18,26,47,.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.compact-prep-header .card-title{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:900;letter-spacing:-.03em}.prep-grid{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(640px,1.6fr) minmax(320px,.95fr);gap:20px;align-items:start;padding:22px}.prep-timer,.prep-history{min-width:0}.prep-timer{position:sticky;top:78px;display:grid;gap:16px;padding:22px;border:1px solid var(--prep-line);border-radius:var(--prep-radius);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,252,242,.9)),var(--prep-panel);box-shadow:var(--prep-shadow)}.prep-timer-topbar{display:grid;gap:14px}.prep-eyebrow,.input-label,.prep-mini-kicker,.stat-label,.prep-overview-kicker,.session-notes-label{display:block;color:var(--prep-muted);font-size:.72rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.prep-timer h3,.prep-overview-heading h3,.prep-panel-head h4,.prep-goal-head h4{margin:4px 0 0;color:var(--prep-ink);font-family:Georgia,Times New Roman,serif;font-weight:900;letter-spacing:-.04em}.prep-timer h3{font-size:1.65rem}.prep-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.prep-actions .btn-primary,.prep-actions .btn-secondary,#distractionBtn{min-height:48px;border-radius:14px;font-weight:900;letter-spacing:.03em}.prep-actions .btn-primary{background:linear-gradient(135deg,var(--prep-green),var(--prep-green-2));box-shadow:0 14px 28px #062f1b33}#distractionBtn{grid-column:1 / -1;border:1px solid rgba(180,35,24,.18);color:var(--prep-red);background:rgba(255,255,255,.86)}.timer-big{display:grid;place-items:center;min-height:168px;border:1px solid rgba(201,164,76,.34);border-radius:30px;background:radial-gradient(circle,rgba(244,231,188,.9),rgba(255,255,255,.28) 58%),linear-gradient(135deg,rgba(6,47,27,.04),rgba(201,164,76,.1));color:var(--prep-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(2.4rem,4vw,4.4rem);font-weight:950;letter-spacing:.03em;box-shadow:inset 0 0 0 12px #ffffff6b}.timer-pulse{animation:prepPulse 1.4s ease-in-out infinite}@keyframes prepPulse{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.timer-row{display:grid;gap:8px}.timer-row.two{grid-template-columns:1fr 1fr;gap:12px}.neo-input,.neo-select,#studyNotesInput{width:100%;border:1px solid var(--prep-line);border-radius:14px;background:rgba(255,255,255,.92);color:var(--prep-ink);font-size:.95rem;outline:none;padding:13px 14px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.neo-input:focus,.neo-select:focus,#studyNotesInput:focus{border-color:#0d5a3873;box-shadow:0 0 0 4px #0d5a381a}.tag-selector{display:grid;grid-template-columns:1fr 48px;gap:8px}#studyTagsSelect{min-height:48px}.btn-icon{border-radius:14px;border:1px solid var(--prep-line);background:rgba(6,47,27,.06);color:var(--prep-green);font-weight:900}.timer-hint,.keyboard-hint{border-radius:14px;padding:12px 14px;font-size:.88rem}.timer-hint{border:1px solid rgba(201,164,76,.26);background:rgba(244,231,188,.46);color:#51400f;font-weight:750}.hint-success{border-color:#0d5a383d;background:rgba(13,90,56,.08);color:var(--prep-green)}.hint-warning{border-color:#b423183d;background:rgba(180,35,24,.08);color:var(--prep-red)}.keyboard-hint{color:var(--prep-muted);background:rgba(255,255,255,.58)}.keyboard-hint kbd{padding:2px 6px;border-radius:6px;border:1px solid var(--prep-line);background:#fff;color:var(--prep-ink);font-weight:850}.prep-history{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:18px;align-items:start}#statsContainer{grid-column:1 / 2}#goalDisplay{grid-column:2 / 3}#studySessionsList{grid-column:1 / -1}.prep-overview-shell,.prep-goal-card,.prep-session-panel{border:1px solid var(--prep-line);border-radius:var(--prep-radius);background:var(--prep-panel-strong);box-shadow:var(--prep-shadow)}.prep-overview-shell{padding:20px}.prep-overview-top,.prep-goal-head,.prep-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.prep-overview-heading p{max-width:560px;margin:6px 0 0;color:var(--prep-muted)}.prep-momentum-ring{--prep-score: 0;width:92px;height:92px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle closest-side,#fff 70%,transparent 72%),conic-gradient(var(--prep-green) calc(var(--prep-score) * 1%),rgba(18,26,47,.1) 0)}.prep-momentum-ring span{font-size:1.25rem;font-weight:950}.prep-momentum-ring small{margin-top:-22px;color:var(--prep-muted);font-size:.62rem;font-weight:800;text-transform:uppercase}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.stat-card{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--prep-line);border-radius:18px;background:linear-gradient(180deg,#fff,rgba(244,248,244,.7))}.stat-card.primary{background:linear-gradient(135deg,rgba(6,47,27,.96),rgba(13,90,56,.9));color:#fff}.stat-card.primary .stat-label,.stat-card.primary .stat-icon{color:#ffffffb8}.stat-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:rgba(201,164,76,.14);color:var(--prep-green)}.stat-value{font-size:1.65rem;font-weight:950;line-height:1}.prep-progress-rows{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.prep-progress-card,.prep-goal-row{display:grid;gap:9px}.prep-progress-card{padding:14px;border:1px solid var(--prep-line);border-radius:18px;background:rgba(255,255,255,.72)}.prep-progress-head,.prep-progress-meta,.prep-goal-row-top{display:flex;justify-content:space-between;gap:12px}.prep-progress-head,.prep-goal-row-top{font-weight:850}.prep-progress-meta{color:var(--prep-muted);font-size:.82rem}.prep-progress-bar{height:9px;overflow:hidden;border-radius:999px;background:rgba(18,26,47,.09)}.prep-progress-bar span,.progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--prep-green),var(--prep-gold))}.prep-goal-card{padding:18px}.prep-goal-card h4{font-size:1.08rem}.streak-badge,.prep-count-pill,.session-duration-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 10px;background:rgba(244,231,188,.78);color:#4d3b07;font-size:.8rem;font-weight:900;white-space:nowrap}.prep-goal-row{margin-top:16px}.prep-session-panel{padding:18px}.prep-session-stack{display:grid;gap:12px;margin-top:14px;max-height:390px;overflow:auto;padding-right:4px}.session-item{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:14px;border:1px solid var(--prep-line);border-radius:18px;background:linear-gradient(180deg,#fff,rgba(244,248,244,.64))}.session-rank{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:rgba(6,47,27,.08);color:var(--prep-green);font-weight:950}.session-top,.session-meta-row,.session-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.session-top{justify-content:space-between}.session-title{display:flex;align-items:center;gap:8px;font-weight:950}.session-time{margin-top:3px;color:var(--prep-muted);font-size:.8rem}.session-meta-row{margin-top:8px}.session-meta-pill,.session-tag{border:1px solid rgba(18,26,47,.08);border-radius:999px;padding:5px 8px;background:rgba(18,26,47,.04);color:var(--prep-muted);font-size:.75rem;font-weight:800}.session-meta-pill.warning{background:rgba(180,35,24,.08);color:var(--prep-red)}.session-tags{margin-top:9px}.session-tag{background:rgba(201,164,76,.14);color:#5a470f}.session-notes{margin-top:10px;padding:10px;border-radius:14px;background:rgba(255,255,255,.72)}.session-notes p{margin:4px 0 0;color:var(--prep-muted);line-height:1.45}.prep-empty-state.upgraded{margin-top:14px;padding:18px;border-radius:18px;background:rgba(244,231,188,.32);text-align:left}.prep-empty-state h4,.prep-empty-state p{margin:0}.prep-empty-state p{margin-top:8px;color:var(--prep-muted)}.prep-empty-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.prep-empty-suggestions span{border-radius:999px;padding:7px 10px;background:#fff;color:var(--prep-green);font-size:.8rem;font-weight:850}@media (max-width: 1350px){.prep-grid{grid-template-columns:360px minmax(0,1fr)}.prep-history{grid-template-columns:1fr}#statsContainer,#goalDisplay,#studySessionsList{grid-column:1}}@media (max-width: 980px){.prep-grid{grid-template-columns:1fr;padding:14px}.prep-timer{position:relative;top:auto}.stats-grid,.prep-progress-rows{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.prep-actions,.stats-grid,.prep-progress-rows,.timer-row.two{grid-template-columns:1fr}.prep-overview-top,.prep-goal-head,.prep-panel-head{align-items:stretch;flex-direction:column}.prep-momentum-ring{width:78px;height:78px}}:root{--hist-bg: #f5f3ef;--hist-card: #ffffff;--hist-line: #e2ddd4;--hist-line-strong: #d5cfc4;--hist-text: #1a1a1a;--hist-muted: #8a8578;--hist-faint: #c4beb3;--hist-green: #1f6b45;--hist-green-soft: rgba(31, 107, 69, .06);--hist-gold: #c9a44c;--hist-gold-soft: rgba(201, 164, 76, .06);--hist-shadow: 0 4px 12px rgba(0, 0, 0, .06);--hist-font: "SF Mono", "JetBrains Mono", monospace}#historyContainer{display:flex;flex-direction:column;gap:10px;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none;color:var(--hist-text);min-height:120px;max-height:10880px;overflow-y:auto}#historyContainer::-webkit-scrollbar{width:4px}#historyContainer::-webkit-scrollbar-track{background:var(--hist-line);border-radius:2px}#historyContainer::-webkit-scrollbar-thumb{background:var(--hist-gold);border-radius:2px}#historyContainer::-webkit-scrollbar-thumb:hover{background:var(--hist-gold-border)}.history-item{background:var(--hist-card);border:1px solid var(--hist-line);border-left:3px solid var(--hist-gold);border-radius:4px;padding:10px 14px;box-shadow:var(--hist-shadow);transition:all .15s ease}.history-item:hover{background:var(--hist-gold-soft);border-color:var(--hist-gold-border);transform:translateY(-1px);box-shadow:0 6px 16px #00000014}.history-title{font-weight:600;font-size:14px;color:var(--hist-text);margin-bottom:3px;font-family:var(--hist-font)}.history-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--hist-muted);font-size:11px;margin-bottom:4px;font-family:var(--hist-font)}.history-meta i{color:var(--hist-gold);font-size:10px;opacity:.8}.history-desc{font-size:12px;color:var(--hist-muted);white-space:pre-wrap;line-height:1.4;margin-top:2px;font-family:var(--hist-font)}#historyContainer .empty-state{text-align:center;padding:30px 16px;color:var(--hist-muted);display:flex;flex-direction:column;align-items:center;gap:8px}#historyContainer .empty-state i{font-size:24px;color:var(--hist-gold);opacity:.4}#historyContainer .empty-state p{font-size:13px;font-family:var(--hist-font)}.history-term-block{margin-bottom:14px;border:1px solid var(--hist-line);border-radius:4px;overflow:hidden;background:var(--hist-card);box-shadow:var(--hist-shadow)}.history-term-header{background:var(--hist-gold-soft);padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--hist-line)}.history-term-title{margin:0;color:var(--hist-text);font-size:14px;font-weight:600;font-family:var(--hist-font);text-transform:uppercase;letter-spacing:.3px}.history-term-gpa{color:var(--hist-text);font-size:12px;font-weight:600;padding:4px 10px;border-radius:4px;border:1px solid var(--hist-line);background:var(--hist-card);white-space:nowrap;font-family:var(--hist-font)}.history-term-gpa i{color:var(--hist-gold);margin-right:4px}.history-table{width:100%;border-collapse:collapse;font-family:var(--hist-font)}.history-table th{background:var(--hist-gold-soft);padding:8px 12px;text-align:left;font-weight:600;color:var(--hist-muted);border-bottom:2px solid var(--hist-line);font-size:9px;letter-spacing:.5px;text-transform:uppercase}.history-table td{padding:8px 12px;border-bottom:1px solid var(--hist-line);color:var(--hist-text);font-size:12px}.history-table tr:last-child td{border-bottom:none}.history-table tr:hover td{background:var(--hist-gold-soft)}.history-term-summary{background:var(--hist-gold-soft);font-weight:600}.history-term-summary td{border-top:2px solid var(--hist-line)}#advPreviewWrap{max-height:240px;overflow-y:auto;padding:8px;border-radius:4px;border:1px solid var(--hist-line);background:var(--hist-card)}#advPreviewWrap::-webkit-scrollbar{width:4px}#advPreviewWrap::-webkit-scrollbar-track{background:var(--hist-line);border-radius:2px}#advPreviewWrap::-webkit-scrollbar-thumb{background:var(--hist-gold);border-radius:2px}.adv-preview-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--hist-font)}.adv-preview-table th,.adv-preview-table td{padding:6px 10px;border-bottom:1px solid var(--hist-line);text-align:left;white-space:nowrap}.adv-preview-table th{background:var(--hist-gold-soft);font-weight:600;color:var(--hist-muted);font-size:9px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--hist-line)}.adv-preview-table th:nth-child(2),.adv-preview-table td:nth-child(2){white-space:normal;min-width:160px;max-width:240px}.adv-preview-table td.editing{background:var(--hist-gold-soft);padding:4px}.adv-preview-table input[type=text],.adv-preview-table input[type=number]{width:100%;padding:4px 8px;border:1px solid var(--hist-line);border-radius:4px;font-size:12px;background:var(--hist-card);font-family:var(--hist-font);transition:all .15s ease}.adv-preview-table input[type=text]:focus,.adv-preview-table input[type=number]:focus{outline:none;border-color:var(--hist-gold);box-shadow:0 0 0 3px #c9a44c1f}.adv-preview-table select{width:100%;padding:4px 8px;border:1px solid var(--hist-line);border-radius:4px;font-size:12px;background:var(--hist-card);font-family:var(--hist-font);transition:all .15s ease}.adv-preview-table select:focus{outline:none;border-color:var(--hist-gold);box-shadow:0 0 0 3px #c9a44c1f}.row-actions{display:flex;gap:4px;justify-content:center}.row-actions button{padding:3px 8px;font-size:10px;border-radius:4px;border:1px solid var(--hist-line);background:var(--hist-card);cursor:pointer;font-family:var(--hist-font);transition:all .15s ease}.row-actions button:hover{background:var(--hist-gold-soft);border-color:var(--hist-gold-border)}.row-actions .save-btn{background:var(--hist-green);color:#fff;border-color:var(--hist-green)}.row-actions .save-btn:hover{background:var(--hist-green-hover);border-color:var(--hist-green-hover)}.row-actions .cancel-btn{background:#b91c1c;color:#fff;border-color:#b91c1c}.row-actions .cancel-btn:hover{background:#7f1d1d;border-color:#7f1d1d}.adv-preview-table tr.valid-row{background:var(--hist-green-soft)}.adv-preview-table tr.invalid-row{background:rgba(185,28,28,.04)}.adv-preview-table tr.invalid-row td{border-left:2px solid #b91c1c}@media (max-width: 900px){#historyContainer{padding:0}.history-term-header{flex-direction:column;align-items:flex-start;gap:6px}.adv-preview-table th:nth-child(2),.adv-preview-table td:nth-child(2){min-width:120px;max-width:160px}.adv-preview-table{font-size:11px}.adv-preview-table th,.adv-preview-table td{padding:4px 8px}}@media (max-width: 680px){.history-item{padding:8px 12px}.history-title{font-size:13px}.history-meta{font-size:10px;gap:4px}.history-desc{font-size:11px}.history-term-title{font-size:12px}.history-term-gpa{font-size:11px;padding:3px 8px}.history-table{font-size:11px}.history-table th,.history-table td{padding:6px 8px}.adv-preview-table{font-size:10px}.adv-preview-table th,.adv-preview-table td{padding:4px 6px}.adv-preview-table th:nth-child(2),.adv-preview-table td:nth-child(2){min-width:100px;max-width:140px}.row-actions button{font-size:9px;padding:2px 6px}#advPreviewWrap{max-height:180px;padding:4px}}@media (max-width: 480px){.history-item{padding:6px 10px}.history-title{font-size:12px}.history-meta{font-size:9px}.history-desc{font-size:10px}.history-term-header{padding:8px 10px}.history-table th,.history-table td{padding:4px 6px;font-size:10px}.adv-preview-table th,.adv-preview-table td{padding:3px 4px;font-size:9px}.adv-preview-table th:nth-child(2),.adv-preview-table td:nth-child(2){min-width:80px;max-width:100px}.adv-preview-table input[type=text],.adv-preview-table input[type=number],.adv-preview-table select{font-size:9px;padding:2px 4px}.row-actions{gap:2px}.row-actions button{font-size:8px;padding:2px 4px}}.history-item:focus-visible,.row-actions button:focus-visible,.adv-preview-table input:focus-visible,.adv-preview-table select:focus-visible{outline:2px solid var(--hist-gold);outline-offset:2px}@keyframes historySlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.history-item,.history-term-block{animation:historySlideIn .2s ease}.history-term-block{animation-delay:.05s}@media print{#historyContainer{border:none;box-shadow:none;padding:0}.history-item{break-inside:avoid;page-break-inside:avoid;box-shadow:none;border:1px solid #ddd}.history-term-block{break-inside:avoid;page-break-inside:avoid;box-shadow:none}}:root{--gpa-bg: #f5f3ef;--gpa-card: #ffffff;--gpa-line: #e2ddd4;--gpa-line-strong: #d5cfc4;--gpa-text: #1a1a1a;--gpa-muted: #8a8578;--gpa-faint: #c4beb3;--gpa-green: #1f6b45;--gpa-green-hover: #174f34;--gpa-green-soft: rgba(31, 107, 69, .06);--gpa-green-border: rgba(31, 107, 69, .12);--gpa-gold: #c9a44c;--gpa-gold-soft: rgba(201, 164, 76, .06);--gpa-gold-border: rgba(201, 164, 76, .15);--gpa-shadow: 0 4px 12px rgba(0, 0, 0, .06);--gpa-font: "SF Mono", "JetBrains Mono", monospace}.card.gpa-ops{background:transparent;border:none;box-shadow:none;border-radius:0;overflow:visible}.card.gpa-ops .card-header{background:transparent;border-bottom:2px solid var(--gpa-line);padding:0 0 12px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.card.gpa-ops .gpa-ops-title{font-size:16px;font-weight:600;color:var(--gpa-text);font-family:var(--gpa-font);text-transform:uppercase;letter-spacing:.3px}.card.gpa-ops .card-actions{display:flex;gap:8px}.card.gpa-ops .card-action{width:32px;height:32px;border-radius:4px;background:var(--gpa-card);border:1px solid var(--gpa-line);color:var(--gpa-muted);cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center}.card.gpa-ops .card-action:hover{transform:translateY(-1px);border-color:var(--gpa-gold-border);background:var(--gpa-gold-soft);color:var(--gpa-text)}.card.gpa-ops .card-content{padding:0;background:transparent}.gpa-ops-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(560px,1.3fr);gap:20px;align-items:start}.gpa-ops-section-title{font-size:10px;font-weight:600;color:var(--gpa-muted);text-transform:uppercase;letter-spacing:.5px;padding-bottom:8px;margin-bottom:14px;border-bottom:2px solid var(--gpa-line);font-family:var(--gpa-font);position:relative}.gpa-ops-section-title:after{content:"";position:absolute;left:0;bottom:-2px;width:40px;height:2px;background:var(--gpa-gold)}.gpa-ops-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gpa-ops-cards .gpa-ops-card:nth-child(3){grid-column:1 / -1}.gpa-ops-card{background:var(--gpa-card);border:1px solid var(--gpa-line);border-radius:4px;padding:14px 16px;min-height:120px;box-shadow:var(--gpa-shadow);transition:all .15s ease}.gpa-ops-card:hover{border-color:var(--gpa-gold-border)}.gpa-ops-card-head{font-size:9px;font-weight:600;color:var(--gpa-muted);text-transform:uppercase;letter-spacing:.5px;font-family:var(--gpa-font)}.gpa-ops-big{font-size:36px;font-weight:700;color:var(--gpa-text);text-align:center;line-height:1;margin:12px 0 8px;font-family:var(--gpa-font)}.gpa-ops-big.gpa-green-text{color:var(--gpa-green)}.gpa-ops-big.gpa-gold-text{color:var(--gpa-gold)}.gpa-ops-sub,.gpa-ops-footnote{font-size:11px;color:var(--gpa-muted);text-align:center;font-family:var(--gpa-font)}.gpa-change{font-size:12px;font-weight:600;margin-top:6px;text-align:center;font-family:var(--gpa-font)}.gpa-change .positive{color:var(--gpa-green)}.gpa-change .negative{color:#b91c1c}.gpa-whatif-panel{background:var(--gpa-card);border:1px solid var(--gpa-line);border-radius:4px;overflow:hidden;box-shadow:var(--gpa-shadow)}.gpa-whatif-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;padding:16px 20px 14px;background:var(--gpa-gold-soft);border-bottom:1px solid var(--gpa-line)}.gpa-whatif-kicker{font-size:9px;font-weight:600;color:var(--gpa-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-family:var(--gpa-font)}.gpa-whatif-header h3{margin:0;font-size:20px;line-height:1.1;color:var(--gpa-text);font-weight:700;font-family:var(--gpa-font)}.gpa-whatif-header p{max-width:280px;margin:0;color:var(--gpa-muted);font-size:12px;line-height:1.4;text-align:right;font-family:var(--gpa-font)}.gpa-whatif-table{width:100%}.gpa-whatif-head,.gpa-row{display:grid;grid-template-columns:minmax(300px,1.7fr) 100px minmax(180px,.7fr);align-items:center;gap:12px}.gpa-whatif-head{padding:10px 20px;background:var(--gpa-gold-soft);border-bottom:2px solid var(--gpa-line)}.gpa-whatif-head span{font-size:9px;font-weight:600;color:var(--gpa-muted);text-transform:uppercase;letter-spacing:.5px;font-family:var(--gpa-font)}.gpa-row{min-height:72px;padding:12px 20px;border-bottom:1px solid var(--gpa-line);transition:all .15s ease}.gpa-row:last-child{border-bottom:0}.gpa-row:hover{background:var(--gpa-gold-soft)}.gpa-course{display:flex;flex-direction:column;gap:4px;min-width:0}.course-code{display:block;color:var(--gpa-text);font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1.2;white-space:normal;overflow:visible;text-overflow:unset;font-family:var(--gpa-font)}.course-title{display:block;color:var(--gpa-muted);font-size:11px;font-weight:400;line-height:1.25;font-family:var(--gpa-font)}.gpa-credits-cell{display:flex;justify-content:flex-start}.course-credits-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:30px;padding:0 12px;border-radius:3px;background:var(--gpa-green-soft);color:var(--gpa-green);border:1px solid var(--gpa-green-border);font-size:12px;font-weight:600;font-family:var(--gpa-font)}.gpa-controls-cell{display:flex;justify-content:flex-start}.gpa-select{width:160px;height:40px;border:1px solid var(--gpa-line);border-left-width:3px;border-radius:4px;background:var(--gpa-card);color:var(--gpa-text);font-size:14px;font-weight:600;padding:0 32px 0 12px;cursor:pointer;box-shadow:none;transition:all .15s ease;font-family:var(--gpa-font);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a8578'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.gpa-select:hover{border-color:var(--gpa-gold-border);background:var(--gpa-card)}.gpa-select:focus{outline:none;border-color:var(--gpa-gold);box-shadow:0 0 0 3px #c9a44c26}.gpa-select option{font-weight:400}.gpa-empty-state{background:var(--gpa-card);border:1px dashed var(--gpa-line);border-radius:4px;padding:32px 20px;text-align:center;color:var(--gpa-muted)}.gpa-empty-icon{width:48px;height:48px;margin:0 auto 10px;border-radius:4px;display:grid;place-items:center;background:var(--gpa-green-soft);color:var(--gpa-green);font-size:20px}.gpa-empty-title{font-size:16px;font-weight:600;color:var(--gpa-text);font-family:var(--gpa-font)}.gpa-empty-copy{font-size:12px;margin-top:4px;font-family:var(--gpa-font)}.gpa-ops-table-head{display:none!important}.gpa-ops-table{background:transparent;border:0;box-shadow:none;overflow:visible}.gpa-ops-table-body{max-height:none;overflow:visible}.gpa-btn,.gpa-btn.add,.gpa-btn.remove{display:none!important}@media (max-width: 1200px){.gpa-ops-grid{grid-template-columns:1fr}.gpa-whatif-head,.gpa-row{grid-template-columns:minmax(240px,1fr) 80px 160px}}@media (max-width: 900px){.gpa-whatif-head,.gpa-row{grid-template-columns:minmax(200px,1fr) 70px 140px;gap:8px}.gpa-select{width:130px;height:36px;font-size:12px}.course-code{font-size:12px}}@media (max-width: 768px){.card.gpa-ops .card-content{padding:0}.gpa-ops-cards{grid-template-columns:1fr 1fr}.gpa-ops-cards .gpa-ops-card:nth-child(3){grid-column:1 / -1}.gpa-whatif-header{flex-direction:column;align-items:flex-start;padding:14px 16px 12px}.gpa-whatif-header p{text-align:left;max-width:none;font-size:11px}.gpa-whatif-head{display:none}.gpa-row{grid-template-columns:1fr;gap:10px;padding:14px 16px}.gpa-row .gpa-credits-cell,.gpa-row .gpa-controls-cell{justify-content:flex-start}.gpa-select{width:100%;max-width:200px}.gpa-ops-big{font-size:28px}}@media (max-width: 540px){.gpa-ops-cards{grid-template-columns:1fr}.gpa-ops-cards .gpa-ops-card:nth-child(3){grid-column:1}.gpa-ops-card{min-height:100px;padding:12px 14px}.gpa-ops-big{font-size:24px;margin:8px 0 6px}.gpa-whatif-header h3{font-size:16px}.gpa-select{height:34px;font-size:12px;padding:0 28px 0 10px}.course-code{font-size:13px}.course-title{font-size:10px}.card.gpa-ops .card-header{flex-direction:column;align-items:flex-start;gap:8px}}.gpa-select:focus-visible,.card.gpa-ops .card-action:focus-visible{outline:2px solid var(--gpa-gold);outline-offset:2px}@keyframes gpaSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.gpa-ops-card,.gpa-row{animation:gpaSlideIn .2s ease}.gpa-ops-card:nth-child(2){animation-delay:.05s}.gpa-ops-card:nth-child(3){animation-delay:.1s}:root{--cn-app-bg: #f5f3ef;--cn-panel: #ffffff;--cn-paper: #ffffff;--cn-line: #e2ddd4;--cn-line-strong: #d5cfc4;--cn-text: #1a1a1a;--cn-muted: #8a8578;--cn-faint: #c4beb3;--cn-green: #4a7c59;--cn-green-hover: #3d6b4a;--cn-green-soft: rgba(74, 124, 89, .08);--cn-green-border: rgba(74, 124, 89, .15);--cn-gold: #c4beb3;--cn-gold-soft: rgba(196, 190, 179, .08);--cn-gold-border: rgba(196, 190, 179, .2);--cn-shadow: 0 4px 12px rgba(0, 0, 0, .06);--cn-font-ui: "SF Mono", "JetBrains Mono", monospace;--cn-font-doc: "SF Mono", "JetBrains Mono", monospace}.cn-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000!important;display:none;background:var(--cn-app-bg);color:var(--cn-text);font-family:var(--cn-font-ui)}.cn-overlay.is-open{display:flex}.cn-shell{width:100%;height:100vh;display:grid;grid-template-rows:56px 48px minmax(0,1fr) 32px;overflow:hidden;background:var(--cn-app-bg)}.cn-topbar{height:56px;display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,480px) minmax(240px,1fr);align-items:center;gap:12px;padding:0 16px;background:#1a1a1a;border-bottom:2px solid #2a2a2a;position:relative}.cn-topbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#c4beb3;opacity:.3}.cn-top-left,.cn-top-right,.cn-toolbar-inner,.cn-status-left,.cn-status-right{display:flex;align-items:center}.cn-top-left{gap:10px;min-width:0}.cn-top-right{gap:8px;justify-content:flex-end;min-width:0}.cn-breadcrumbs{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;color:#ffffffb3;white-space:nowrap;font-family:var(--cn-font-ui)}.cn-breadcrumbs span,.cn-breadcrumbs strong{overflow:hidden;text-overflow:ellipsis}.cn-breadcrumbs strong{font-weight:600;color:#fff}.cn-icon-btn,.cn-mini-btn,.cn-format-btn,.cn-share-btn,.cn-new-note,.cn-module-nav button,.cn-note-item{font-family:var(--cn-font-ui)}.cn-icon-btn{width:32px;height:32px;border:1px solid transparent;border-radius:4px;background:transparent;color:#ffffffb3;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:all .15s ease}.cn-icon-btn:hover{background:rgba(255,255,255,.08);color:#fff;border-color:#ffffff14}.cn-back-btn{font-size:20px;line-height:1}.cn-title-center{display:flex;justify-content:center;min-width:0}.cn-lecture-title{width:100%;max-width:420px;height:34px;border:1px solid rgba(255,255,255,.08);border-radius:4px;background:rgba(255,255,255,.06);color:#fff;text-align:center;font-size:14px;font-weight:600;outline:none;padding:0 12px;font-family:var(--cn-font-ui);letter-spacing:.2px;transition:all .15s ease}.cn-lecture-title::placeholder{color:#fff6}.cn-lecture-title:hover,.cn-lecture-title:focus{border-color:#ffffff29;background:rgba(255,255,255,.1)}.cn-status{display:inline-flex;align-items:center;gap:6px;color:#fff9;font-size:11px;white-space:nowrap;font-family:var(--cn-font-ui)}.cn-status-dot{width:12px;height:12px;border:1.5px solid rgba(255,255,255,.4);border-radius:50%;position:relative}.cn-status-saved .cn-status-dot:after{content:"";position:absolute;left:2px;top:2px;width:6px;height:3px;border-left:1.5px solid rgba(255,255,255,.6);border-bottom:1.5px solid rgba(255,255,255,.6);transform:rotate(-45deg)}.cn-status-saving .cn-status-dot{border-color:#e8a53a;border-top-color:transparent;animation:cnSpin .8s linear infinite}.cn-status-error .cn-status-dot{border-color:#d95550}@keyframes cnSpin{to{transform:rotate(360deg)}}.cn-share-btn{height:34px;padding:0 16px;border:1px solid rgba(255,255,255,.08);border-radius:4px;background:#c4beb3;color:#1a1a1a;font-weight:600;font-size:11px;cursor:pointer;font-family:var(--cn-font-ui);text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease}.cn-share-btn:hover{background:#d5cfc4;transform:translateY(-1px)}.cn-format-toolbar{height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff;border-bottom:1px solid var(--cn-line);padding:0 16px}.cn-toolbar-inner{gap:6px;position:relative;max-width:860px;width:max-content}.cn-format-select{height:30px;border:1px solid var(--cn-line);border-radius:4px;background:#ffffff;color:var(--cn-text);padding:0 28px 0 10px;font-size:11px;outline:none;font-family:var(--cn-font-ui);cursor:pointer;transition:all .15s ease}.cn-format-select:hover{border-color:var(--cn-line-strong)}.cn-format-select:focus{border-color:var(--cn-muted);box-shadow:0 0 0 2px #8a85781a}.cn-size-select{width:54px;padding-right:6px}.cn-format-btn{min-width:30px;height:30px;padding:0 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--cn-muted);display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:13px;cursor:pointer;transition:all .15s ease;font-family:var(--cn-font-ui)}.cn-format-btn:hover{background:var(--cn-gold-soft);border-color:var(--cn-line);color:var(--cn-text)}.cn-color-btn{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}.cn-divider{width:1px;height:20px;background:var(--cn-line);margin:0 4px}.cn-hidden-tool{display:none!important}.cn-main{min-height:0;display:grid;grid-template-columns:260px minmax(0,1fr);background:var(--cn-app-bg)}.cn-sidebar{min-width:0;background:#ffffff;border-right:1px solid var(--cn-line);display:flex;flex-direction:column;overflow:hidden}.cn-current-class{margin:12px 14px 8px;padding:12px 14px;border-radius:4px;background:var(--cn-gold-soft);border:1px solid var(--cn-line)}.cn-current-class-label{display:block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--cn-muted);margin-bottom:4px;font-family:var(--cn-font-ui)}.cn-current-class-name{font-size:13px;font-weight:600;color:var(--cn-text);font-family:var(--cn-font-ui)}.cn-class-picker{display:none}.cn-module-nav{display:none!important}.cn-notes-head{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;color:var(--cn-muted);text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:600;font-family:var(--cn-font-ui);border-bottom:1px solid var(--cn-line)}.cn-mini-btn{border:1px solid transparent;background:transparent;color:var(--cn-muted);width:24px;height:24px;border-radius:4px;font-size:16px;cursor:pointer;transition:all .15s ease}.cn-mini-btn:hover{background:var(--cn-gold-soft);border-color:var(--cn-line);color:var(--cn-text)}.cn-notes-list{overflow:auto;padding:8px 12px 12px;display:grid;gap:4px;flex:1}.cn-note-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;border-radius:4px;position:relative}.cn-note-row:hover{background:var(--cn-gold-soft)}.cn-note-row.is-active{background:var(--cn-green-soft);box-shadow:inset 2px 0 0 var(--cn-green)}.cn-note-row .cn-note-item,.cn-note-row .cn-note-item:hover{background:transparent;box-shadow:none}.cn-note-item{width:100%;border:1px solid transparent;background:transparent;border-radius:4px;min-height:44px;display:grid;align-content:center;gap:3px;text-align:left;padding:6px 10px;cursor:pointer;color:var(--cn-text);position:relative;transition:all .15s ease;font-family:var(--cn-font-ui)}.cn-note-item:hover{background:var(--cn-gold-soft);border-color:var(--cn-line)}.cn-note-item.is-active{background:var(--cn-green-soft);border-color:var(--cn-green-border);box-shadow:inset 2px 0 0 var(--cn-green)}.cn-note-title{font-size:12px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cn-note-date{color:var(--cn-muted);font-size:10px;font-family:var(--cn-font-ui)}.cn-notes-list{overflow:auto;padding:0;display:block;flex:1}.cn-note-row{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;min-height:76px;padding:0 18px;border-radius:0;border-bottom:1px solid var(--cn-line);background:#ffffff;position:relative}.cn-note-row:hover{background:#faf8f5}.cn-note-row.is-active{background:#f4f8f5;box-shadow:inset 3px 0 0 var(--cn-green)}.cn-note-item{min-height:76px;padding:12px 10px 12px 6px;border:0;border-radius:0;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:7px}.cn-note-item:hover{background:transparent;border-color:transparent}.cn-note-title{font-size:14px;font-weight:500;color:var(--cn-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cn-note-date{font-size:12px;color:var(--cn-muted)}.cn-note-action{opacity:0;width:28px;height:28px;font-size:18px;border:0;background:transparent;color:var(--cn-muted)}.cn-note-row:hover .cn-note-action{opacity:1}.cn-note-action:hover{background:transparent;color:#1a1a1a}.cn-new-note{margin:14px 18px 18px;height:48px;border-radius:5px;justify-content:flex-start;padding:0 20px;font-size:13px}.cn-new-note{margin:4px 12px 12px;height:34px;border:1px solid var(--cn-line);background:transparent;color:var(--cn-green);border-radius:4px;display:inline-flex;align-items:center;justify-content:flex-start;padding:0 12px;gap:8px;cursor:pointer;font-size:11px;font-weight:500;font-family:var(--cn-font-ui);transition:all .15s ease;text-transform:uppercase;letter-spacing:.3px}.cn-new-note:hover{background:var(--cn-green-soft);border-color:var(--cn-green-border)}.cn-trash-head{padding:14px 18px 10px;border-top:1px solid var(--cn-line)}.cn-trash-list{max-height:220px;padding:0;overflow:auto}.cn-trash-row{grid-template-columns:minmax(0,1fr) 70px;opacity:1}.cn-note-actions{display:flex;justify-content:flex-end;gap:8px}.cn-doc-wrap{min-width:0;overflow:auto;background:var(--cn-app-bg);padding:20px 0 40px}.cn-page{width:min(8.5in,calc(100vw - 320px));min-height:11in;margin:0 auto;background:var(--cn-paper);box-shadow:var(--cn-shadow);border:1px solid var(--cn-line);padding:.7in .85in}.cn-editor{min-height:9.35in;outline:none;color:var(--cn-text);font-family:var(--cn-font-doc);font-size:12pt;line-height:1.6;caret-color:var(--cn-green)}.cn-editor:empty:before{content:attr(data-placeholder);color:var(--cn-faint)}.cn-editor h1{font-size:24pt;line-height:1.2;margin-bottom:12pt;font-weight:700;letter-spacing:-.02em}.cn-editor h2{font-size:18pt;line-height:1.25;margin:20pt 0 10pt;font-weight:600}.cn-editor h3{font-size:15pt;line-height:1.3;margin:16pt 0 8pt;font-weight:600}.cn-editor h4{font-size:13pt;margin:14pt 0 6pt;font-weight:600}.cn-editor p{margin-bottom:10pt}.cn-editor ul,.cn-editor ol{padding-left:22px;margin-bottom:10pt}.cn-editor li{margin:2pt 0}.cn-editor hr{border:0;border-top:1px solid var(--cn-line);margin:14pt 0 18pt}.cn-editor blockquote{margin:12pt 0;padding:8pt 14pt;border-left:3px solid var(--cn-muted);color:var(--cn-muted);background:var(--cn-gold-soft);border-radius:0 4px 4px 0}.cn-editor table{width:100%;border-collapse:collapse;margin-bottom:12pt}.cn-editor th,.cn-editor td{border:1px solid var(--cn-line);padding:6px 8px;text-align:left;font-size:11pt}.cn-editor th{background:var(--cn-gold-soft);font-weight:600}.cn-editor pre{background:var(--cn-gold-soft);border:1px solid var(--cn-line);border-radius:4px;padding:10px;overflow:auto;font-family:SF Mono,Menlo,Consolas,monospace;font-size:10pt}.cn-editor code{font-family:SF Mono,Menlo,Consolas,monospace;background:var(--cn-gold-soft);border-radius:3px;padding:1px 4px;font-size:10.5pt}.cn-editor img{max-width:100%;height:auto;display:block;margin:10pt auto}.cn-editor figcaption{text-align:center;color:var(--cn-muted);font-size:10pt}.math-notation{font-family:SF Mono,"Cambria Math",serif;background:var(--cn-gold-soft);border:1px solid var(--cn-line);border-radius:4px;padding:0 4px}.cn-group{position:relative}.cn-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:170px;padding:6px;background:#ffffff;border:1px solid var(--cn-line);border-radius:6px;box-shadow:0 8px 24px #00000014;z-index:20}.cn-menu-right{left:auto;right:0}.cn-menu button{width:100%;border:1px solid transparent;border-radius:4px;background:transparent;padding:8px 10px;text-align:left;font-size:12px;color:var(--cn-text);cursor:pointer;font-family:var(--cn-font-ui);transition:all .15s ease}.cn-menu button:hover{background:var(--cn-gold-soft);border-color:var(--cn-line)}.cn-status-bar{display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 20px;background:#ffffff;border-top:1px solid var(--cn-line);color:var(--cn-muted);font-size:10px;font-family:var(--cn-font-ui)}.cn-status-left,.cn-status-right{gap:16px;display:flex;align-items:center}.cn-status-right [data-cn-date]{color:var(--cn-faint)}.cn-zoom-control{height:24px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--cn-line);border-radius:4px;padding:0 6px;background:#ffffff;color:var(--cn-text);font-size:10px}.cn-zoom-control button{border:1px solid transparent;background:transparent;cursor:pointer;font-size:14px;color:var(--cn-muted);padding:0 4px;transition:all .15s ease}.cn-zoom-control button:hover{background:var(--cn-gold-soft);border-color:var(--cn-line);color:var(--cn-text)}.cn-focus .cn-sidebar,.cn-focus .cn-format-toolbar,.cn-focus .cn-status-bar{display:none}.cn-focus .cn-shell{grid-template-rows:56px minmax(0,1fr)}.cn-focus .cn-main{grid-template-columns:1fr}.cn-focus .cn-page{width:min(8.5in,calc(100vw - 80px))}.cn-context-menu{position:fixed;min-width:160px;background:#ffffff;border:1px solid var(--cn-line);border-radius:6px;box-shadow:0 8px 24px #00000014;padding:6px;z-index:60010}.cn-context-menu-item{width:100%;border:1px solid transparent;background:transparent;border-radius:4px;padding:8px 10px;text-align:left;cursor:pointer;font-size:12px;font-family:var(--cn-font-ui);transition:all .15s ease}.cn-context-menu-item:hover{background:var(--cn-gold-soft);border-color:var(--cn-line)}.cn-context-menu-divider{height:1px;background:var(--cn-line);margin:4px 0}@media (max-width: 1050px){.cn-topbar{grid-template-columns:minmax(180px,1fr) minmax(200px,340px) auto;gap:8px}.cn-main{grid-template-columns:220px minmax(0,1fr)}.cn-page{width:min(8.5in,calc(100vw - 270px));padding:.6in .65in}.cn-toolbar-inner{overflow-x:auto;width:100%;justify-content:flex-start}}@media (max-width: 760px){.cn-shell{grid-template-rows:auto 48px minmax(0,1fr) 32px}.cn-topbar{grid-template-columns:1fr;height:auto;padding:8px 12px;gap:8px}.cn-title-center{justify-content:flex-start}.cn-lecture-title{text-align:left;padding-left:0}.cn-main{grid-template-columns:1fr}.cn-sidebar{display:none}.cn-page{width:calc(100vw - 24px);min-height:10in;padding:28px 20px}.cn-status-right [data-cn-date]{display:none}.cn-toolbar-inner{flex-wrap:nowrap}}@media (max-width: 540px){.cn-topbar{padding:6px 10px}.cn-breadcrumbs{font-size:10px}.cn-lecture-title{font-size:12px;height:30px}.cn-page{padding:20px 16px}.cn-editor{font-size:11pt}.cn-editor h1{font-size:20pt}.cn-editor h2{font-size:16pt}.cn-editor h3{font-size:14pt}.cn-share-btn{font-size:10px;height:30px;padding:0 12px}}.cn-notes-list::-webkit-scrollbar,.cn-trash-list::-webkit-scrollbar,.cn-doc-wrap::-webkit-scrollbar{width:4px}.cn-notes-list::-webkit-scrollbar-track,.cn-trash-list::-webkit-scrollbar-track,.cn-doc-wrap::-webkit-scrollbar-track{background:var(--cn-app-bg);border-radius:2px}.cn-notes-list::-webkit-scrollbar-thumb,.cn-trash-list::-webkit-scrollbar-thumb,.cn-doc-wrap::-webkit-scrollbar-thumb{background:var(--cn-line);border-radius:2px}.cn-notes-list::-webkit-scrollbar-thumb:hover,.cn-trash-list::-webkit-scrollbar-thumb:hover,.cn-doc-wrap::-webkit-scrollbar-thumb:hover{background:var(--cn-line-strong)}.cn-format-btn:focus-visible,.cn-icon-btn:focus-visible,.cn-mini-btn:focus-visible,.cn-note-item:focus-visible,.cn-new-note:focus-visible,.cn-share-btn:focus-visible,.cn-lecture-title:focus-visible{outline:2px solid #1a1a1a;outline-offset:2px}:root{--staff-bg: #f5f3ef;--staff-card: #ffffff;--staff-line: #e2ddd4;--staff-line-strong: #d5cfc4;--staff-text: #1a1a1a;--staff-muted: #8a8578;--staff-faint: #c4beb3;--staff-green: #1f6b45;--staff-green-soft: rgba(31, 107, 69, .06);--staff-gold: #c9a44c;--staff-gold-soft: rgba(201, 164, 76, .06);--staff-shadow: 0 4px 12px rgba(0, 0, 0, .06);--staff-font: "SF Mono", "JetBrains Mono", monospace;--tactical-sidebar-width: 56px;--tactical-sidebar-expanded: 200px}.staff-page{padding:20px;background:var(--staff-bg);min-height:100%}.staff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid var(--staff-line)}.staff-kicker{text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:600;color:var(--staff-gold);margin-bottom:4px;font-family:var(--staff-font)}.staff-header h1{font-size:20px;font-weight:700;margin:0;color:var(--staff-text);font-family:var(--staff-font);text-transform:uppercase;letter-spacing:-.3px}.staff-header p{color:var(--staff-muted);margin-top:4px;font-size:12px;font-family:var(--staff-font)}.staff-stats{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px;margin-bottom:20px}.staff-stat-card{background:var(--staff-card);border:1px solid var(--staff-line);border-radius:4px;padding:14px 16px;transition:all .15s ease}.staff-stat-card:hover{border-color:var(--staff-gold-border);box-shadow:var(--staff-shadow)}.staff-stat-card span{display:block;color:var(--staff-muted);font-size:10px;font-weight:600;margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px;font-family:var(--staff-font)}.staff-stat-card strong{font-size:24px;font-weight:700;color:var(--staff-text);font-family:var(--staff-font)}.staff-layout{display:grid;grid-template-columns:1fr;gap:0;position:relative}.staff-sidebar{position:fixed;top:50%;left:20px;transform:translateY(-50%);width:var(--tactical-sidebar-width);padding:12px 8px;background:rgba(255,255,255,.95);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(201,164,76,.15);border-radius:8px;box-shadow:0 8px 32px #00000014,inset 0 1px #fffc;z-index:100;transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden;max-height:70vh;overflow-y:auto}.staff-sidebar:hover{width:var(--tactical-sidebar-expanded)}.staff-sidebar::-webkit-scrollbar{width:2px}.staff-sidebar::-webkit-scrollbar-track{background:transparent}.staff-sidebar::-webkit-scrollbar-thumb{background:var(--staff-gold);border-radius:2px}.staff-nav-group{margin-bottom:8px}.staff-nav-title{display:block;margin:4px 8px 6px;color:var(--staff-muted);font-size:7px;text-transform:uppercase;letter-spacing:3px;font-weight:700;opacity:.4;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-sidebar:hover .staff-nav-title{opacity:.6;letter-spacing:2px}.staff-tab{width:100%;border:1px solid transparent;background:transparent;padding:10px 12px;border-radius:6px;display:flex;gap:12px;align-items:center;font-weight:500;cursor:pointer;color:var(--staff-muted);text-align:left;font-family:var(--staff-font);font-size:10px;text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease;white-space:nowrap;position:relative}.staff-tab i{width:20px;text-align:center;font-size:14px;flex-shrink:0;transition:all .2s ease}.staff-tab span{opacity:0;transition:opacity .2s ease;overflow:hidden;text-overflow:ellipsis}.staff-sidebar:hover .staff-tab span{opacity:1}.staff-tab:hover{background:var(--staff-gold-soft);border-color:var(--staff-line);color:var(--staff-text);transform:translate(2px)}.staff-tab.active{background:var(--staff-green);color:#fff;border-color:var(--staff-green);box-shadow:0 2px 8px #1f6b4533}.staff-tab.active i{color:#fff}.staff-tab.active:hover{background:var(--staff-green-hover, #174f34);border-color:var(--staff-green-hover, #174f34);transform:translate(2px)}.staff-tab.active:before{content:"";position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:3px;height:24px;background:var(--staff-gold);border-radius:0 3px 3px 0;opacity:0;transition:opacity .2s ease}.staff-sidebar:hover .staff-tab.active:before{opacity:1}.staff-content{padding:0 0 0 calc(var(--tactical-sidebar-width) + 32px);min-height:70vh;background:transparent;border:none;border-radius:0;box-shadow:none;transition:padding .3s cubic-bezier(.4,0,.2,1)}.staff-sidebar:hover~.staff-content,.staff-content:has(~.staff-sidebar:hover){padding-left:calc(var(--tactical-sidebar-expanded) + 32px)}.staff-layout:has(.staff-sidebar:hover) .staff-content{padding-left:calc(var(--tactical-sidebar-expanded) + 32px)}.staff-module-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--staff-line)}.staff-module-header h2{margin:0;font-size:14px;font-weight:600;color:var(--staff-text);font-family:var(--staff-font);text-transform:uppercase;letter-spacing:.3px}.staff-module-header p{color:var(--staff-muted);margin-top:4px;font-size:11px;font-family:var(--staff-font)}.staff-table,.staff-history{display:grid;gap:8px}.staff-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 14px;border:1px solid var(--staff-line);border-radius:4px;background:var(--staff-card);transition:all .15s ease}.staff-row:hover{border-color:var(--staff-gold-border);background:var(--staff-gold-soft)}.staff-row p{margin:4px 0 0;color:var(--staff-muted);font-size:11px;font-family:var(--staff-font)}.staff-row strong{font-family:var(--staff-font);font-size:13px;color:var(--staff-text)}.staff-badge{display:inline-flex;padding:4px 10px;border-radius:4px;background:var(--staff-gold-soft);border:1px solid var(--staff-line);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--staff-muted);font-family:var(--staff-font)}.staff-badge.active{background:var(--staff-green-soft);border-color:#1f6b4533;color:var(--staff-green)}.staff-badge.inactive{background:#fee9e8;border-color:#b91c1c26;color:#b91c1c}.staff-form{display:grid;gap:14px;margin-bottom:24px}.staff-form label{display:grid;gap:4px;font-weight:600;color:var(--staff-text);font-size:10px;text-transform:uppercase;letter-spacing:.3px;font-family:var(--staff-font)}.staff-form input,.staff-form textarea,.staff-form select,.staff-row select{border:1px solid var(--staff-line);border-radius:4px;padding:8px 12px;font:inherit;background:var(--staff-card);color:var(--staff-text);font-family:var(--staff-font);font-size:12px;transition:all .15s ease}.staff-form input:focus,.staff-form textarea:focus,.staff-form select:focus,.staff-row select:focus{outline:none;border-color:var(--staff-gold);box-shadow:0 0 0 3px #c9a44c1f}.staff-form textarea{min-height:140px;resize:vertical}.staff-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border:1px solid var(--staff-line);border-radius:4px;background:var(--staff-card);color:var(--staff-text);font-family:var(--staff-font);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;transition:all .15s ease}.staff-btn:hover{background:var(--staff-gold-soft);border-color:var(--staff-gold-border);transform:translateY(-1px)}.staff-btn-primary{background:var(--staff-green);border-color:var(--staff-green);color:#fff}.staff-btn-primary:hover{background:var(--staff-green-hover, #174f34);border-color:var(--staff-green-hover, #174f34)}.staff-btn-danger{background:#b91c1c;border-color:#b91c1c;color:#fff}.staff-btn-danger:hover{background:#7f1d1d;border-color:#7f1d1d}.staff-empty,.staff-loading,.staff-error{padding:32px 20px;text-align:center;color:var(--staff-muted)}.staff-empty i,.staff-denied-card i{font-size:32px;margin-bottom:10px;color:var(--staff-gold);opacity:.4}.staff-empty p,.staff-loading p,.staff-error p{font-family:var(--staff-font);font-size:12px}.ticket-assignment{display:flex;gap:10px;margin-top:12px}.ticket-assignment select{flex:1;min-width:220px;padding:6px 32px 6px 12px;border:1px solid var(--staff-line);border-radius:4px;background:var(--staff-card);font-family:var(--staff-font);font-size:11px;color:var(--staff-text);outline:none;transition:all .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a8578'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.ticket-assignment select:focus{border-color:var(--staff-gold);box-shadow:0 0 0 3px #c9a44c1f}.ticket-assignment button{flex-shrink:0;padding:6px 16px;border:1px solid var(--staff-line);border-radius:4px;background:var(--staff-card);font-family:var(--staff-font);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:var(--staff-text);cursor:pointer;transition:all .15s ease}.ticket-assignment button:hover{background:var(--staff-gold-soft);border-color:var(--staff-gold-border);transform:translateY(-1px)}.staff-denied{display:grid;place-items:center;min-height:60vh}.staff-denied-card{background:var(--staff-card);border:1px solid var(--staff-line);border-radius:4px;padding:32px 36px;text-align:center;max-width:400px;box-shadow:var(--staff-shadow)}.staff-denied-card i{font-size:36px;color:var(--staff-gold);margin-bottom:12px;opacity:.5}.staff-denied-card h2{font-size:16px;font-weight:700;color:var(--staff-text);font-family:var(--staff-font);text-transform:uppercase;letter-spacing:.3px;margin:0 0 6px}.staff-denied-card p{color:var(--staff-muted);font-size:12px;font-family:var(--staff-font);margin:0}@media (max-width: 1024px){.staff-sidebar{top:70px;left:12px}.staff-content{padding-left:calc(var(--tactical-sidebar-width) + 20px)}}@media (max-width: 768px){.staff-sidebar{position:relative;top:0;left:0;transform:none;width:100%;max-height:none;display:flex;flex-wrap:wrap;gap:4px;padding:12px;margin-bottom:16px;border-radius:8px;background:var(--staff-card);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--staff-shadow);overflow:visible}.staff-sidebar:hover{width:100%}.staff-nav-group{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;width:100%}.staff-nav-title{width:100%;margin:4px 0 6px;font-size:8px;opacity:.4}.staff-tab{flex:1;min-width:80px;padding:8px 12px;font-size:9px;justify-content:center;border-radius:4px}.staff-tab span{opacity:1;font-size:9px}.staff-tab i{font-size:12px;width:16px}.staff-tab.active:before{display:none}.staff-content{padding:0;min-height:60vh}.staff-sidebar:hover~.staff-content,.staff-content:has(~.staff-sidebar:hover){padding-left:0}.staff-layout:has(.staff-sidebar:hover) .staff-content{padding-left:0}.staff-stats{grid-template-columns:repeat(2,1fr)}.staff-header{flex-direction:column;align-items:flex-start;gap:10px}.ticket-assignment{flex-direction:column}.ticket-assignment select{min-width:unset;width:100%}.ticket-assignment button{width:100%}}@media (max-width: 600px){.staff-page{padding:12px}.staff-stats{grid-template-columns:1fr 1fr;gap:8px}.staff-stat-card{padding:10px 12px}.staff-stat-card strong{font-size:20px}.staff-row{grid-template-columns:1fr;gap:8px}.staff-content{padding:0;min-height:300px}.staff-header h1{font-size:18px}.staff-module-header{flex-direction:column;align-items:flex-start;gap:6px}.staff-denied-card{padding:24px 20px;margin:0 12px}.staff-tab{min-width:60px;padding:6px 10px;font-size:8px}.staff-tab i{font-size:10px;width:14px}.staff-tab span{font-size:8px}}@media (max-width: 400px){.staff-stats{grid-template-columns:1fr}.staff-sidebar{padding:8px}.staff-tab{min-width:50px;padding:4px 8px}}.staff-content::-webkit-scrollbar{width:4px}.staff-content::-webkit-scrollbar-track{background:var(--staff-line);border-radius:2px}.staff-content::-webkit-scrollbar-thumb{background:var(--staff-gold);border-radius:2px}.staff-tab:focus-visible,.staff-btn:focus-visible,.staff-form input:focus-visible,.staff-form textarea:focus-visible,.staff-form select:focus-visible,.ticket-assignment select:focus-visible,.ticket-assignment button:focus-visible{outline:2px solid var(--staff-gold);outline-offset:2px}@keyframes staffSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.staff-stat-card,.staff-row{animation:staffSlideIn .2s ease}.staff-stat-card:nth-child(2){animation-delay:.05s}.staff-row:nth-child(2){animation-delay:.05s}.staff-row:nth-child(3){animation-delay:.1s}@media print{.staff-page{background:white!important;padding:0!important}.staff-sidebar,.staff-btn,.ticket-assignment{display:none!important}.staff-content{border:1px solid #000!important;box-shadow:none!important;padding:20px!important}.staff-stat-card,.staff-row{border:1px solid #000!important}}:root{--ticket-bg: #f5f3ef;--ticket-card: #ffffff;--ticket-line: #e2ddd4;--ticket-line-strong: #d5cfc4;--ticket-text: #1a1a1a;--ticket-muted: #8a8578;--ticket-faint: #c4beb3;--ticket-green: #1f6b45;--ticket-green-hover: #174f34;--ticket-green-soft: rgba(31, 107, 69, .06);--ticket-gold: #c9a44c;--ticket-gold-soft: rgba(201, 164, 76, .06);--ticket-shadow: 0 4px 12px rgba(0, 0, 0, .06);--ticket-font: "SF Mono", "JetBrains Mono", monospace}.tickets-module{display:flex;flex-direction:column;gap:16px}.tickets-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:2px solid var(--ticket-line)}.staff-search{flex:1;min-width:280px;padding:8px 14px;border:1px solid var(--ticket-line);border-radius:4px;background:var(--ticket-card);font:inherit;color:var(--ticket-text);font-family:var(--ticket-font);font-size:12px;transition:all .15s ease}.staff-search:focus{outline:none;border-color:var(--ticket-gold);box-shadow:0 0 0 3px #c9a44c1f}.staff-search::placeholder{color:var(--ticket-faint)}.tickets-filters{display:flex;gap:6px;flex-wrap:wrap}.filter-chip{border:1px solid var(--ticket-line);background:var(--ticket-card);color:var(--ticket-muted);border-radius:4px;padding:5px 14px;cursor:pointer;font-size:10px;font-weight:500;font-family:var(--ticket-font);text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease}.filter-chip:hover{background:var(--ticket-gold-soft);border-color:var(--ticket-gold-border);color:var(--ticket-text)}.filter-chip.is-active{background:var(--ticket-green);color:#fff;border-color:var(--ticket-green)}.tickets-workspace{display:grid;grid-template-columns:340px 1fr;gap:16px;min-height:600px}.tickets-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:700px;padding-right:4px}.tickets-list::-webkit-scrollbar{width:4px}.tickets-list::-webkit-scrollbar-track{background:var(--ticket-line);border-radius:2px}.tickets-list::-webkit-scrollbar-thumb{background:var(--ticket-gold);border-radius:2px}.ticket-list-item{width:100%;text-align:left;border:1px solid var(--ticket-line);background:var(--ticket-card);border-radius:4px;padding:12px 14px;cursor:pointer;transition:all .15s ease;font-family:var(--ticket-font)}.ticket-list-item:hover{border-color:var(--ticket-gold-border);transform:translateY(-1px);box-shadow:var(--ticket-shadow)}.ticket-list-item.is-selected{border-color:var(--ticket-green);box-shadow:0 0 0 2px #1f6b451f}.ticket-list-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.ticket-list-top strong{font-size:13px;font-weight:600;color:var(--ticket-text);font-family:var(--ticket-font)}.ticket-list-top .ticket-status{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:2px 10px;border-radius:4px}.ticket-list-item p{color:var(--ticket-muted);font-size:12px;line-height:1.5;margin:0;font-family:var(--ticket-font)}.ticket-list-meta{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.ticket-list-meta span{font-size:10px;color:var(--ticket-faint);font-family:var(--ticket-font)}.ticket-detail{min-width:0}.ticket-detail-card{background:var(--ticket-card);border:1px solid var(--ticket-line);border-radius:4px;padding:18px 20px;box-shadow:var(--ticket-shadow)}.ticket-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--ticket-line)}.ticket-detail-header h3{margin:4px 0 8px;font-size:18px;font-weight:700;color:var(--ticket-text);font-family:var(--ticket-font);text-transform:uppercase;letter-spacing:-.3px}.ticket-detail-header p{color:var(--ticket-muted);line-height:1.6;font-size:12px;font-family:var(--ticket-font)}.ticket-actions{display:flex;gap:8px;flex-wrap:wrap}.ticket-actions select{min-width:120px;padding:6px 32px 6px 12px;border-radius:4px;border:1px solid var(--ticket-line);background:var(--ticket-card);color:var(--ticket-text);font-family:var(--ticket-font);font-size:11px;transition:all .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a8578'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.ticket-actions select:focus{outline:none;border-color:var(--ticket-gold);box-shadow:0 0 0 3px #c9a44c1f}.ticket-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 16px;border:1px solid var(--ticket-line);border-radius:4px;background:var(--ticket-card);color:var(--ticket-text);font-family:var(--ticket-font);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;transition:all .15s ease;min-height:34px}.ticket-btn:hover{background:var(--ticket-gold-soft);border-color:var(--ticket-gold-border);transform:translateY(-1px)}.ticket-btn:active{transform:translateY(0)}.ticket-btn-primary{background:var(--ticket-green);border-color:var(--ticket-green);color:#fff}.ticket-btn-primary:hover{background:var(--ticket-green-hover);border-color:var(--ticket-green-hover)}.ticket-btn-danger{background:#b91c1c;border-color:#b91c1c;color:#fff}.ticket-btn-danger:hover{background:#7f1d1d;border-color:#7f1d1d}.ticket-btn-secondary{background:transparent;border-color:var(--ticket-line);color:var(--ticket-muted)}.ticket-btn-secondary:hover{background:var(--ticket-gold-soft);border-color:var(--ticket-gold-border);color:var(--ticket-text)}.ticket-btn.small{padding:4px 12px;font-size:9px;min-height:28px}.ticket-assignment-box{min-width:260px;display:grid;gap:8px;position:relative}.ticket-assignment-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ticket-muted);font-family:var(--ticket-font)}.ticket-assignment-search-wrap{position:relative}.ticket-assignment-search-wrap i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ticket-muted);font-size:13px;pointer-events:none}.ticket-assignment-search{width:100%;min-height:36px;border:1px solid var(--ticket-line);border-radius:4px;padding:0 12px 0 34px;background:var(--ticket-card);color:var(--ticket-text);font-family:var(--ticket-font);font-size:12px;outline:none;transition:all .15s ease}.ticket-assignment-search::placeholder{color:var(--ticket-faint)}.ticket-assignment-search:focus{border-color:var(--ticket-gold);box-shadow:0 0 0 3px #c9a44c1f}.ticket-assignment-results{display:none;max-height:220px;overflow:auto;border:1px solid var(--ticket-line);border-radius:4px;background:var(--ticket-card);box-shadow:0 12px 32px #0000001f;padding:6px;z-index:20;position:absolute;top:calc(100% + 4px);left:0;right:0;animation:resultsSlideDown .15s ease}.ticket-assignment-results.is-open{display:grid;gap:4px}.ticket-assignment-results::-webkit-scrollbar{width:4px}.ticket-assignment-results::-webkit-scrollbar-track{background:var(--ticket-line);border-radius:2px}.ticket-assignment-results::-webkit-scrollbar-thumb{background:var(--ticket-gold);border-radius:2px}.ticket-assignment-option{width:100%;display:grid;grid-template-columns:32px 1fr 18px;align-items:center;gap:10px;border:1px solid transparent;background:var(--ticket-card);padding:8px 10px;border-radius:4px;text-align:left;cursor:pointer;transition:all .15s ease}.ticket-assignment-option:hover{background:var(--ticket-gold-soft);border-color:var(--ticket-line)}.ticket-assignment-option.is-selected{background:var(--ticket-green-soft);border-color:var(--ticket-green-border)}.ticket-assignment-option.is-selected:hover{background:rgba(31,107,69,.1)}.ticket-assignment-avatar{width:32px;height:32px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;background:var(--ticket-green-soft);color:var(--ticket-green);font-size:11px;font-weight:700;font-family:var(--ticket-font);flex-shrink:0;border:1px solid rgba(31,107,69,.08)}.ticket-assignment-person{min-width:0}.ticket-assignment-person strong{display:block;font-size:12px;font-weight:600;color:var(--ticket-text);font-family:var(--ticket-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-assignment-person small{display:block;margin-top:1px;font-size:10px;font-weight:400;color:var(--ticket-muted);font-family:var(--ticket-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-assignment-option>i{color:var(--ticket-green);opacity:0;font-size:14px;transition:all .15s ease}.ticket-assignment-option.is-selected>i{opacity:1}.ticket-assignment-empty{padding:12px 14px;color:var(--ticket-muted);font-size:11px;text-align:center;font-family:var(--ticket-font)}.ticket-assign-submit{width:100%;min-height:36px;padding:6px 16px;border:1px solid var(--ticket-line);border-radius:4px;background:var(--ticket-card);color:var(--ticket-text);font-family:var(--ticket-font);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;transition:all .15s ease}.ticket-assign-submit:hover{background:var(--ticket-gold-soft);border-color:var(--ticket-gold-border);transform:translateY(-1px)}.ticket-assign-submit.btn-primary{background:var(--ticket-green);border-color:var(--ticket-green);color:#fff}.ticket-assign-submit.btn-primary:hover{background:var(--ticket-green-hover);border-color:var(--ticket-green-hover)}.ticket-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-bottom:20px}.ticket-meta-card{border:1px solid var(--ticket-line);border-radius:4px;padding:10px 12px;background:var(--ticket-gold-soft)}.ticket-meta-card span{display:block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ticket-muted);margin-bottom:4px;font-family:var(--ticket-font)}.ticket-meta-card strong{font-size:13px;font-weight:600;color:var(--ticket-text);font-family:var(--ticket-font)}.ticket-thread{margin-bottom:20px}.ticket-thread h4{margin-bottom:10px;font-size:12px;font-weight:600;color:var(--ticket-muted);font-family:var(--ticket-font);text-transform:uppercase;letter-spacing:.3px}.ticket-message{border:1px solid var(--ticket-line);border-radius:4px;padding:10px 14px;background:var(--ticket-card);margin-bottom:8px}.ticket-message-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.ticket-message-head strong{font-size:12px;font-weight:600;color:var(--ticket-text);font-family:var(--ticket-font)}.ticket-message-head span{font-size:10px;color:var(--ticket-faint);font-family:var(--ticket-font)}.ticket-message p{margin:0;line-height:1.6;font-size:12px;color:var(--ticket-muted);font-family:var(--ticket-font)}.ticket-message.is-internal{background:var(--ticket-gold-soft);border-color:var(--ticket-gold-border);border-left:3px solid var(--ticket-gold)}.ticket-reply-form{display:flex;flex-direction:column;gap:10px}.ticket-reply-form textarea{min-height:100px;resize:vertical;padding:10px 12px;border:1px solid var(--ticket-line);border-radius:4px;font-family:var(--ticket-font);font-size:12px;color:var(--ticket-text);background:var(--ticket-card);transition:all .15s ease}.ticket-reply-form textarea:focus{outline:none;border-color:var(--ticket-gold);box-shadow:0 0 0 3px #c9a44c1f}.input-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--ticket-muted);font-family:var(--ticket-font)}.checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--ticket-muted);font-size:12px;font-family:var(--ticket-font)}.checkbox-label input[type=checkbox]{accent-color:var(--ticket-green);cursor:pointer}.staff-status{padding:8px 12px;border-radius:4px;margin-bottom:12px;font-size:12px;font-family:var(--ticket-font);border-left:3px solid transparent}.staff-status.success{background:var(--ticket-green-soft);color:var(--ticket-green);border-left-color:var(--ticket-green)}.staff-status.error{background:#fee9e8;color:#b91c1c;border-left-color:#b91c1c}.staff-status.info{background:var(--ticket-gold-soft);color:var(--ticket-gold);border-left-color:var(--ticket-gold)}.ticket-activity{margin:20px 0;padding:16px 18px;background:var(--ticket-card);border:1px solid var(--ticket-line);border-radius:4px;box-shadow:var(--ticket-shadow)}.ticket-activity h4{margin:0 0 14px;font-size:12px;font-weight:600;color:var(--ticket-muted);font-family:var(--ticket-font);text-transform:uppercase;letter-spacing:.5px;padding-bottom:10px;border-bottom:2px solid var(--ticket-line)}.ticket-activity-item{display:grid;grid-template-columns:20px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--ticket-line);transition:all .15s ease}.ticket-activity-item:last-child{border-bottom:none;padding-bottom:0}.ticket-activity-item:hover{background:var(--ticket-gold-soft);margin:0 -4px;padding-left:4px;padding-right:4px;border-radius:4px}.ticket-activity-dot{width:8px;height:8px;border-radius:50%;background:var(--ticket-green);margin-top:6px;flex-shrink:0;border:1px solid rgba(31,107,69,.2)}.ticket-activity-dot.gold{background:var(--ticket-gold);border-color:#c9a44c33}.ticket-activity-dot.muted{background:var(--ticket-muted);border-color:#8a857833}.ticket-activity-dot.danger{background:#b91c1c;border-color:#b91c1c33}.ticket-activity-item strong{font-size:13px;font-weight:600;color:var(--ticket-text);font-family:var(--ticket-font);display:block}.ticket-activity-item p{margin:4px 0 0;color:var(--ticket-muted);font-size:12px;font-family:var(--ticket-font);line-height:1.5}.ticket-activity-item .activity-time{font-size:10px;color:var(--ticket-faint);font-family:var(--ticket-font);display:block;margin-top:2px}.ticket-activity-item.has-icon{grid-template-columns:32px 1fr}.ticket-activity-item .activity-icon{width:28px;height:28px;border-radius:4px;background:var(--ticket-gold-soft);border:1px solid var(--ticket-line);display:flex;align-items:center;justify-content:center;color:var(--ticket-gold);font-size:12px;flex-shrink:0;margin-top:2px}.ticket-activity-badge{display:inline-block;padding:2px 10px;border-radius:4px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-family:var(--ticket-font);margin-left:8px}.ticket-activity-badge.new{background:var(--ticket-green-soft);color:var(--ticket-green);border:1px solid rgba(31,107,69,.15)}.ticket-activity-badge.updated{background:var(--ticket-gold-soft);color:var(--ticket-gold);border:1px solid rgba(201,164,76,.15)}.ticket-activity-badge.resolved{background:#e8f3ea;color:#2d6a4f;border:1px solid rgba(45,106,79,.15)}.ticket-activity-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:4px;background:var(--ticket-gold-soft);border:1px solid var(--ticket-line);font-size:10px;font-weight:600;color:var(--ticket-muted);font-family:var(--ticket-font);margin-left:8px}.ticket-activity-empty{text-align:center;padding:24px 16px;color:var(--ticket-muted)}.ticket-activity-empty i{display:block;font-size:28px;color:var(--ticket-faint);margin-bottom:8px;opacity:.4}.ticket-activity-empty p{font-size:12px;font-family:var(--ticket-font);margin:0}.staff-empty{border:2px dashed var(--ticket-line);border-radius:4px;padding:40px 20px;text-align:center;color:var(--ticket-muted)}.staff-empty i{font-size:28px;margin-bottom:10px;display:block;color:var(--ticket-gold);opacity:.4}.staff-empty p{font-family:var(--ticket-font);font-size:12px}@media (max-width: 1200px){.tickets-workspace{grid-template-columns:1fr}.ticket-meta-grid{grid-template-columns:repeat(2,1fr)}.tickets-list{max-height:400px}}@media (max-width: 900px){.ticket-meta-grid{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.ticket-detail-header{flex-direction:column}.ticket-meta-grid{grid-template-columns:1fr}.tickets-toolbar{flex-direction:column;align-items:stretch}.staff-search{min-width:unset}.ticket-actions{flex-direction:column;width:100%}.ticket-actions select{width:100%}.ticket-detail-card{padding:14px 16px}.ticket-detail-header h3{font-size:16px}.ticket-assignment-box{min-width:unset;width:100%}.ticket-assignment-search{min-height:34px;font-size:11px;padding:0 10px 0 32px}.ticket-assignment-search-wrap i{font-size:12px;left:10px}.ticket-assignment-results{max-height:180px}.ticket-assignment-option{padding:6px 8px;gap:8px}.ticket-assignment-avatar{width:28px;height:28px;font-size:10px}.ticket-assignment-person strong{font-size:11px}.ticket-assignment-person small{font-size:9px}.ticket-assign-submit{min-height:34px;font-size:9px}.ticket-activity{padding:12px 14px;margin:16px 0}.ticket-activity-item{grid-template-columns:16px 1fr;gap:10px;padding:8px 0}.ticket-activity-dot{width:6px;height:6px;margin-top:5px}.ticket-activity-item strong{font-size:12px}.ticket-activity-item p{font-size:11px}.ticket-activity-item.has-icon{grid-template-columns:28px 1fr}.ticket-activity-item .activity-icon{width:24px;height:24px;font-size:10px}.ticket-activity-badge{font-size:8px;padding:1px 8px;margin-left:4px}}@media (max-width: 480px){.tickets-filters{gap:4px}.filter-chip{font-size:9px;padding:4px 10px}.ticket-list-item{padding:10px 12px}.ticket-message{padding:8px 10px}.ticket-reply-form textarea{min-height:80px}.ticket-assignment-search{min-height:32px;font-size:10px;padding:0 8px 0 30px}.ticket-assignment-search-wrap i{font-size:11px;left:8px}.ticket-assignment-results{max-height:160px;padding:4px}.ticket-assignment-option{grid-template-columns:26px 1fr 16px;gap:6px;padding:4px 6px}.ticket-assignment-avatar{width:24px;height:24px;font-size:9px}.ticket-assignment-person strong{font-size:10px}.ticket-assignment-person small{font-size:8px}.ticket-assignment-option>i{font-size:12px}.ticket-assignment-label{font-size:8px}.ticket-assign-submit{min-height:32px;font-size:8px;padding:4px 12px}.ticket-activity{padding:10px 12px}.ticket-activity h4{font-size:11px;margin-bottom:10px}.ticket-activity-item{padding:6px 0}.ticket-activity-item strong{font-size:11px}.ticket-activity-item p{font-size:10px}.ticket-activity-item .activity-time{font-size:9px}.ticket-activity-badge{font-size:7px;padding:1px 6px}}.filter-chip:focus-visible,.ticket-list-item:focus-visible,.ticket-btn:focus-visible,.staff-search:focus-visible,.ticket-reply-form textarea:focus-visible,.ticket-actions select:focus-visible,.ticket-assignment-search:focus-visible,.ticket-assignment-option:focus-visible,.ticket-assign-submit:focus-visible,.ticket-activity-item:focus-visible{outline:2px solid var(--ticket-gold);outline-offset:2px}.ticket-assign-submit:disabled,.ticket-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ticket-assignment-search:disabled{opacity:.6;cursor:not-allowed}@keyframes ticketSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes resultsSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes optionSlideIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}@keyframes activitySlideIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.ticket-list-item,.ticket-message{animation:ticketSlideIn .2s ease}.ticket-list-item:nth-child(2){animation-delay:.05s}.ticket-list-item:nth-child(3){animation-delay:.1s}.ticket-assignment-option{animation:optionSlideIn .15s ease}.ticket-assignment-option:nth-child(2){animation-delay:.03s}.ticket-assignment-option:nth-child(3){animation-delay:.06s}.ticket-assignment-option:nth-child(4){animation-delay:.09s}.ticket-activity-item{animation:activitySlideIn .2s ease}.ticket-activity-item:nth-child(2){animation-delay:.05s}.ticket-activity-item:nth-child(3){animation-delay:.1s}.ticket-activity-item:nth-child(4){animation-delay:.15s}.ticket-activity-item:nth-child(5){animation-delay:.2s}@media print{.tickets-toolbar,.tickets-filters,.ticket-actions,.ticket-reply-form,.ticket-assignment-box{display:none!important}.tickets-workspace{display:block!important}.tickets-list{display:none!important}.ticket-detail-card{border:1px solid #000!important;box-shadow:none!important}.ticket-meta-card{border:1px solid #000!important}.ticket-activity{border:1px solid #000!important;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}.ticket-activity-item{border-bottom-color:#000!important}.ticket-activity-dot{border:1px solid #000!important}}:root{--bc-bg: #f5f3ef;--bc-card: #ffffff;--bc-line: #e2ddd4;--bc-line-strong: #d5cfc4;--bc-text: #1a1a1a;--bc-muted: #8a8578;--bc-faint: #c4beb3;--bc-green: #1f6b45;--bc-green-hover: #174f34;--bc-green-soft: rgba(31, 107, 69, .06);--bc-gold: #c9a44c;--bc-gold-soft: rgba(201, 164, 76, .06);--bc-shadow: 0 4px 12px rgba(0, 0, 0, .06);--bc-font: "SF Mono", "JetBrains Mono", monospace}.broadcasts-module{display:grid;gap:16px}.broadcasts-layout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(380px,1.15fr);gap:16px;align-items:start}.broadcast-card{background:var(--bc-card);border:1px solid var(--bc-line);border-radius:4px;padding:16px 18px;box-shadow:var(--bc-shadow);transition:all .15s ease}.broadcast-card:hover{border-color:var(--bc-gold-border)}.broadcast-card-header{margin-bottom:14px;padding-bottom:12px;border-bottom:2px solid var(--bc-line)}.broadcast-card-header h3{margin:0;font-size:14px;font-weight:600;color:var(--bc-text);font-family:var(--bc-font);text-transform:uppercase;letter-spacing:.3px}.broadcast-card-header p{margin:4px 0 0;color:var(--bc-muted);font-size:12px;font-family:var(--bc-font)}.broadcast-form{display:grid;gap:14px}.broadcast-form label{display:grid;gap:4px;font-weight:600;color:var(--bc-text);font-size:10px;text-transform:uppercase;letter-spacing:.3px;font-family:var(--bc-font)}.broadcast-form input,.broadcast-form textarea,.broadcast-form select{border:1px solid var(--bc-line);border-radius:4px;padding:8px 12px;font:inherit;background:var(--bc-card);color:var(--bc-text);font-family:var(--bc-font);font-size:12px;outline:none;transition:all .15s ease}.broadcast-form input:focus,.broadcast-form textarea:focus,.broadcast-form select:focus{border-color:var(--bc-gold);box-shadow:0 0 0 3px #c9a44c1f}.broadcast-form input::placeholder,.broadcast-form textarea::placeholder{color:var(--bc-faint)}.broadcast-form textarea{min-height:200px;resize:vertical;line-height:1.5}.broadcast-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px}.broadcast-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--bc-line)}.broadcast-filter-chip{border:1px solid var(--bc-line);background:var(--bc-card);color:var(--bc-muted);border-radius:4px;padding:4px 14px;cursor:pointer;font-size:10px;font-weight:500;font-family:var(--bc-font);text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease}.broadcast-filter-chip:hover{background:var(--bc-gold-soft);border-color:var(--bc-gold-border);color:var(--bc-text)}.broadcast-filter-chip.is-active{background:var(--bc-green);color:#fff;border-color:var(--bc-green)}.broadcast-list{display:grid;gap:10px}.broadcast-row{border:1px solid var(--bc-line);background:var(--bc-card);border-radius:4px;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start;transition:all .15s ease}.broadcast-row:hover{border-color:var(--bc-gold-border);box-shadow:var(--bc-shadow)}.broadcast-row-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.broadcast-row-top strong{font-size:13px;font-weight:600;color:var(--bc-text);font-family:var(--bc-font)}.broadcast-row-main p{color:var(--bc-muted);margin:0 0 10px;line-height:1.5;font-size:12px;font-family:var(--bc-font)}.broadcast-meta{display:flex;flex-wrap:wrap;gap:8px}.broadcast-meta span{font-size:10px;color:var(--bc-faint);font-family:var(--bc-font)}.broadcast-status{display:inline-flex;padding:2px 10px;border-radius:4px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-family:var(--bc-font)}.broadcast-status.active{background:var(--bc-green-soft);border:1px solid rgba(31,107,69,.15);color:var(--bc-green)}.broadcast-status.draft{background:var(--bc-gold-soft);border:1px solid rgba(201,164,76,.15);color:var(--bc-gold)}.broadcast-status.expired{background:#fee9e8;border:1px solid rgba(185,28,28,.15);color:#b91c1c}.broadcast-status.sent{background:#d1fae5;border:1px solid rgba(16,185,129,.2);color:#065f46}.broadcast-status.failed{background:#fee2e2;border:1px solid rgba(239,68,68,.2);color:#991b1b}.broadcast-row-actions{display:flex;flex-direction:column;gap:6px;min-width:100px}.broadcast-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 16px;border:1px solid var(--bc-line);border-radius:4px;background:var(--bc-card);color:var(--bc-text);font-family:var(--bc-font);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;transition:all .15s ease}.broadcast-btn:hover{background:var(--bc-gold-soft);border-color:var(--bc-gold-border);transform:translateY(-1px)}.broadcast-btn:active{transform:translateY(0)}.broadcast-btn-primary{background:var(--bc-green);border-color:var(--bc-green);color:#fff}.broadcast-btn-primary:hover{background:var(--bc-green-hover);border-color:var(--bc-green-hover)}.broadcast-btn-danger{background:#b91c1c;border-color:#b91c1c;color:#fff}.broadcast-btn-danger:hover{background:#7f1d1d;border-color:#7f1d1d}.broadcast-btn-secondary{background:transparent;border-color:var(--bc-line);color:var(--bc-muted)}.broadcast-btn-secondary:hover{background:var(--bc-gold-soft);border-color:var(--bc-gold-border);color:var(--bc-text)}.broadcast-btn.small{padding:4px 12px;font-size:9px}.broadcast-empty{border:2px dashed var(--bc-line);border-radius:4px;padding:32px 20px;text-align:center;color:var(--bc-muted)}.broadcast-empty i{display:block;font-size:28px;color:var(--bc-gold);margin-bottom:8px;opacity:.4}.broadcast-empty p{font-family:var(--bc-font);font-size:12px;margin:0}.broadcast-preview-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(2,6,23,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:previewFadeIn .2s ease}.broadcast-preview-modal.hidden{display:none}@keyframes previewFadeIn{0%{opacity:0}to{opacity:1}}.broadcast-preview-container{position:relative;width:min(75vw,1400px);max-height:calc(100vh - 40px);background:var(--bc-card);border:1px solid var(--bc-line);border-radius:4px;box-shadow:0 16px 48px #00000026;display:flex;flex-direction:column;overflow:hidden;animation:previewSlideUp .2s ease}@keyframes previewSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.broadcast-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:var(--bc-gold-soft);border-bottom:2px solid var(--bc-line);flex-shrink:0}.broadcast-preview-header-left{display:flex;align-items:center;gap:12px;min-width:0}.broadcast-preview-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 12px;background:var(--bc-green);color:#fff;border-radius:4px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-family:var(--bc-font)}.broadcast-preview-title{margin:0;font-size:15px;font-weight:600;color:var(--bc-text);font-family:var(--bc-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.broadcast-preview-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.broadcast-preview-close{width:32px;height:32px;border:1px solid var(--bc-line);border-radius:4px;background:var(--bc-card);color:var(--bc-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:16px;transition:all .15s ease}.broadcast-preview-close:hover{background:var(--bc-gold-soft);border-color:var(--bc-gold-border);color:var(--bc-text);transform:rotate(90deg)}.broadcast-preview-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:12px 22px;background:var(--bc-gold-soft);border-bottom:1px solid var(--bc-line);flex-shrink:0}.broadcast-preview-meta-item{display:flex;flex-direction:column;gap:2px}.broadcast-preview-meta-item .meta-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--bc-muted);font-family:var(--bc-font)}.broadcast-preview-meta-item .meta-value{font-size:12px;font-weight:500;color:var(--bc-text);font-family:var(--bc-font)}.broadcast-preview-body-wrapper{flex:1;overflow-y:auto;padding:20px 22px 24px;background:var(--bc-card)}.broadcast-preview-body-wrapper::-webkit-scrollbar{width:4px}.broadcast-preview-body-wrapper::-webkit-scrollbar-track{background:var(--bc-line);border-radius:2px}.broadcast-preview-body-wrapper::-webkit-scrollbar-thumb{background:var(--bc-gold);border-radius:2px}.broadcast-preview-subject{font-size:18px;font-weight:700;color:var(--bc-text);font-family:var(--bc-font);line-height:1.3;margin-bottom:10px;padding-bottom:10px;border-bottom:2px solid var(--bc-line)}.broadcast-preview-divider{height:2px;background:var(--bc-gold);margin-bottom:16px;opacity:.3}.broadcast-preview-body{font-size:13px;line-height:1.7;color:var(--bc-text);font-family:var(--bc-font)}.broadcast-preview-body .preview-placeholder{color:var(--bc-muted);font-style:italic;text-align:center;padding:32px 0;margin:0}.broadcast-preview-body p{margin-bottom:12px;color:var(--bc-text);font-size:13px;line-height:1.7}.broadcast-preview-body p:last-child{margin-bottom:0}.broadcast-preview-body h1,.broadcast-preview-body h2,.broadcast-preview-body h3,.broadcast-preview-body h4{font-family:var(--bc-font);color:var(--bc-text);margin:16px 0 10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.broadcast-preview-body h1{font-size:20px}.broadcast-preview-body h2{font-size:17px}.broadcast-preview-body h3{font-size:15px}.broadcast-preview-body h4{font-size:13px}.broadcast-preview-body ul,.broadcast-preview-body ol{padding-left:20px;margin-bottom:12px}.broadcast-preview-body li{margin-bottom:4px;font-size:13px;line-height:1.6}.broadcast-preview-body blockquote{border-left:3px solid var(--bc-gold);padding:10px 16px;margin:12px 0;background:var(--bc-gold-soft);border-radius:0 4px 4px 0;color:var(--bc-muted);font-style:italic}.broadcast-preview-body code{font-family:var(--bc-font);background:var(--bc-gold-soft);padding:1px 6px;border-radius:2px;font-size:.9em;border:1px solid rgba(201,164,76,.15);color:var(--bc-green)}.broadcast-preview-body pre{background:var(--bc-gold-soft);border:1px solid var(--bc-line);border-radius:4px;padding:12px 14px;overflow-x:auto;font-size:12px;margin:12px 0;font-family:var(--bc-font)}.broadcast-preview-body pre code{background:transparent;padding:0;border:none;color:var(--bc-text)}.broadcast-preview-body a{color:var(--bc-green);text-decoration:none;border-bottom:1px dotted var(--bc-gold);transition:all .15s ease}.broadcast-preview-body a:hover{color:var(--bc-green-hover);border-bottom-color:var(--bc-green)}.broadcast-preview-body hr{border:0;border-top:1px solid var(--bc-line);margin:16px 0}.broadcast-preview-body img{max-width:100%;height:auto;border-radius:4px;margin:12px 0}.broadcast-preview-body table{width:100%;border-collapse:collapse;margin:12px 0}.broadcast-preview-body th,.broadcast-preview-body td{border:1px solid var(--bc-line);padding:6px 10px;text-align:left;font-size:12px}.broadcast-preview-body th{background:var(--bc-gold-soft);font-weight:600}.broadcast-preview-status{display:inline-flex;padding:2px 12px;border-radius:4px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-family:var(--bc-font)}.broadcast-preview-status.draft{background:var(--bc-gold-soft);border:1px solid rgba(201,164,76,.15);color:var(--bc-gold)}.broadcast-preview-status.sent{background:#d1fae5;border:1px solid rgba(16,185,129,.2);color:#065f46}.broadcast-preview-status.failed{background:#fee2e2;border:1px solid rgba(239,68,68,.2);color:#991b1b}.broadcast-preview-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;background:var(--bc-gold-soft);border-top:2px solid var(--bc-line);flex-shrink:0}.broadcast-preview-actions{display:flex;gap:8px}.preview-action-btn{padding:6px 16px;font-size:10px;font-weight:500;font-family:var(--bc-font);text-transform:uppercase;letter-spacing:.3px;border-radius:4px;border:1px solid var(--bc-line);transition:all .15s ease;cursor:pointer}.preview-action-btn.btn-primary{background:var(--bc-green);border-color:var(--bc-green);color:#fff}.preview-action-btn.btn-primary:hover{background:var(--bc-green-hover);border-color:var(--bc-green-hover);transform:translateY(-1px)}.preview-action-btn.btn-secondary{background:var(--bc-card);border-color:var(--bc-line);color:var(--bc-text)}.preview-action-btn.btn-secondary:hover{background:var(--bc-gold-soft);border-color:var(--bc-gold-border);transform:translateY(-1px)}.broadcast-preview-timestamp{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--bc-muted);font-family:var(--bc-font)}@media (max-width: 1100px){.broadcasts-layout,.broadcast-row{grid-template-columns:1fr}.broadcast-row-actions{flex-direction:row;flex-wrap:wrap;min-width:unset}.broadcast-row-actions .broadcast-btn{flex:1;min-width:80px}}@media (max-width: 900px){.broadcast-preview-meta-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.broadcasts-module{gap:12px}.broadcast-card{padding:14px 16px}.broadcast-form textarea{min-height:160px}.broadcast-row{padding:10px 12px}.broadcast-row-top{flex-direction:column;align-items:flex-start;gap:4px}.broadcast-preview-container{width:calc(100vw - 24px);max-height:calc(100vh - 30px)}.broadcast-preview-header{padding:14px 18px;flex-wrap:wrap;gap:8px}.broadcast-preview-title{font-size:13px;white-space:normal}.broadcast-preview-meta-grid{padding:10px 18px;gap:8px}.broadcast-preview-body-wrapper{padding:16px 18px}.broadcast-preview-subject{font-size:16px}.broadcast-preview-footer{flex-direction:column;gap:10px;padding:12px 18px}.broadcast-preview-actions{width:100%}.preview-action-btn{flex:1;text-align:center;justify-content:center}}@media (max-width: 640px){.broadcast-actions{flex-direction:column}.broadcast-actions .broadcast-btn{width:100%;justify-content:center}.broadcast-card-header h3{font-size:13px}.broadcast-filters{gap:4px}.broadcast-filter-chip{font-size:9px;padding:3px 10px}.broadcast-row-actions .broadcast-btn{font-size:9px;padding:4px 10px;min-width:60px}.broadcast-preview-modal{padding:10px}.broadcast-preview-container{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.broadcast-preview-header{padding:10px 14px}.broadcast-preview-badge{font-size:8px;padding:2px 10px}.broadcast-preview-title{font-size:12px}.broadcast-preview-meta-grid{grid-template-columns:1fr 1fr;padding:8px 14px;gap:6px}.broadcast-preview-meta-item .meta-value{font-size:11px}.broadcast-preview-body-wrapper{padding:14px 16px}.broadcast-preview-subject{font-size:14px}.broadcast-preview-body,.broadcast-preview-body p{font-size:12px}.broadcast-preview-footer{padding:10px 14px}.broadcast-preview-actions{flex-direction:column}.preview-action-btn{width:100%;justify-content:center;padding:8px}}@media (max-width: 400px){.broadcast-card{padding:10px 12px}.broadcast-form label{font-size:9px}.broadcast-form input,.broadcast-form textarea,.broadcast-form select{font-size:11px;padding:6px 10px}.broadcast-form textarea{min-height:120px}.broadcast-row{padding:8px 10px}.broadcast-row-top strong{font-size:12px}.broadcast-row-main p{font-size:11px}.broadcast-preview-meta-grid{grid-template-columns:1fr}}.broadcast-btn:focus-visible,.broadcast-filter-chip:focus-visible,.broadcast-form input:focus-visible,.broadcast-form textarea:focus-visible,.broadcast-form select:focus-visible,.broadcast-preview-close:focus-visible,.preview-action-btn:focus-visible{outline:2px solid var(--bc-gold);outline-offset:2px}@keyframes bcSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.broadcast-row,.broadcast-card{animation:bcSlideIn .2s ease}.broadcast-row:nth-child(2){animation-delay:.05s}.broadcast-row:nth-child(3){animation-delay:.1s}@media print{.broadcast-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important;box-shadow:none!important}.broadcast-row{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important}.broadcast-actions,.broadcast-row-actions,.broadcast-filters,.broadcast-preview-close,.broadcast-preview-actions{display:none!important}.broadcast-preview-modal{position:static!important;background:white!important;padding:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.broadcast-preview-container{border:1px solid #000!important;box-shadow:none!important;border-radius:0!important;max-height:none!important;overflow:visible!important}.broadcast-preview-header,.broadcast-preview-footer{display:none!important}.broadcast-preview-meta-grid,.broadcast-preview-body{border:1px solid #000!important}}:root{--users-bg: #f5f3ef;--users-card: #ffffff;--users-line: #e2ddd4;--users-line-strong: #d5cfc4;--users-text: #1a1a1a;--users-muted: #8a8578;--users-faint: #c4beb3;--users-green: #1f6b45;--users-green-hover: #174f34;--users-green-soft: rgba(31, 107, 69, .06);--users-gold: #c9a44c;--users-gold-soft: rgba(201, 164, 76, .06);--users-shadow: 0 4px 12px rgba(0, 0, 0, .06);--users-font: "SF Mono", "JetBrains Mono", monospace}.users-module{display:grid;gap:16px}.users-card{background:var(--users-card);border:1px solid var(--users-line);border-radius:4px;padding:16px 18px;box-shadow:var(--users-shadow);transition:all .15s ease}.users-card:hover{border-color:var(--users-gold-border)}.users-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:14px;border-bottom:2px solid var(--users-line)}.users-search-wrap{position:relative;width:min(480px,100%)}.users-search-wrap i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--users-muted);font-size:13px;pointer-events:none}.users-search-wrap input{width:100%;padding:8px 14px 8px 36px;border:1px solid var(--users-line);border-radius:4px;background:var(--users-card);color:var(--users-text);font-size:12px;font-family:var(--users-font);outline:none;transition:all .15s ease}.users-search-wrap input::placeholder{color:var(--users-faint)}.users-search-wrap input:focus{border-color:var(--users-gold);box-shadow:0 0 0 3px #c9a44c1f}.users-list{display:grid;gap:8px}.user-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--users-line);background:var(--users-card);border-radius:4px;padding:12px 14px;transition:all .15s ease}.user-row:hover{border-color:var(--users-gold-border);box-shadow:var(--users-shadow)}.user-row-main{display:flex;gap:12px;min-width:0}.user-avatar-mini{width:40px;height:40px;border-radius:4px;background:var(--users-green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;font-family:var(--users-font);border:1px solid rgba(31,107,69,.2)}.user-row-info{min-width:0}.user-row-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:2px}.user-row-top strong{color:var(--users-text);font-size:13px;font-weight:600;font-family:var(--users-font)}.user-row-info p{margin:0 0 6px;color:var(--users-muted);font-size:12px;word-break:break-word;font-family:var(--users-font)}.user-role-pills{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.user-role-pill{display:inline-flex;align-items:center;border:1px solid rgba(31,107,69,.15);background:var(--users-green-soft);color:var(--users-green);border-radius:4px;padding:2px 10px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-family:var(--users-font)}.user-role-pill.muted{border-color:var(--users-line);background:var(--users-gold-soft);color:var(--users-muted)}.user-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--users-muted);font-size:10px;font-family:var(--users-font)}.user-row-actions{display:flex;gap:6px;align-items:center}.users-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border:1px solid var(--users-line);border-radius:4px;background:var(--users-card);color:var(--users-text);font-family:var(--users-font);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;transition:all .15s ease}.users-btn:hover{background:var(--users-gold-soft);border-color:var(--users-gold-border);transform:translateY(-1px)}.users-btn:active{transform:translateY(0)}.users-btn-primary{background:var(--users-green);border-color:var(--users-green);color:#fff}.users-btn-primary:hover{background:var(--users-green-hover);border-color:var(--users-green-hover)}.users-btn-secondary{background:transparent;border-color:var(--users-line);color:var(--users-muted)}.users-btn-secondary:hover{background:var(--users-gold-soft);border-color:var(--users-gold-border);color:var(--users-text)}.users-btn-danger{background:#b91c1c;border-color:#b91c1c;color:#fff}.users-btn-danger:hover{background:#7f1d1d;border-color:#7f1d1d}.users-btn.small{padding:4px 12px;font-size:9px}.users-filter-select{border:1px solid var(--users-line);border-radius:4px;background:var(--users-card);padding:8px 32px 8px 12px;color:var(--users-text);font-family:var(--users-font);font-size:12px;min-width:150px;outline:none;transition:all .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a8578'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}@media (max-width: 768px){.users-filter-select{min-width:120px;font-size:11px;padding:6px 28px 6px 10px}.user-details-panel{width:min(400px,100vw)}.user-avatar-large{width:56px;height:56px;font-size:18px}.user-details-profile h2{font-size:15px}.user-details-grid>div{padding:8px 12px}.user-details-grid strong{font-size:12px}}@media (max-width: 480px){.users-filter-select{min-width:100px;font-size:10px;padding:5px 24px 5px 8px}.user-details-panel{width:100vw;border-left:none}.user-details-head{padding:12px 16px}.user-details-head h3{font-size:13px}.user-details-body{padding:16px}.user-avatar-large{width:48px;height:48px;font-size:16px;border-radius:4px}.user-details-profile h2{font-size:14px}.user-details-grid{gap:6px}.user-details-grid>div{padding:6px 10px}.user-details-grid strong{font-size:11px}.user-details-close{width:28px;height:28px;font-size:14px}}.users-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-bottom:16px}.users-stats-grid>div{background:var(--users-card);border:1px solid var(--users-line);border-radius:4px;padding:12px 16px;transition:all .15s ease}.users-stats-grid>div:hover{border-color:var(--users-gold-border);box-shadow:var(--users-shadow)}.users-stats-grid span{display:block;color:var(--users-muted);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-family:var(--users-font)}.users-stats-grid strong{font-size:22px;font-weight:700;color:var(--users-green);font-family:var(--users-font)}.users-filter-select{border:1px solid var(--users-line);border-radius:4px;background:var(--users-card);padding:8px 32px 8px 12px;color:var(--users-text);font-family:var(--users-font);font-size:12px;min-width:150px;outline:none;transition:all .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a8578'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.users-filter-select:hover{border-color:var(--users-gold-border)}.users-filter-select:focus{border-color:var(--users-gold);box-shadow:0 0 0 3px #c9a44c1f}.users-filter-select option{padding:4px 8px;font-family:var(--users-font)}.user-details-drawer{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999}.user-details-drawer.open{display:block;animation:drawerFadeIn .2s ease}@keyframes drawerFadeIn{0%{opacity:0}to{opacity:1}}.user-details-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(2,6,23,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.user-details-panel{position:absolute;top:0;right:0;width:min(440px,100vw);height:100%;background:var(--users-card);border-left:1px solid var(--users-line);box-shadow:-8px 0 32px #0000001a;overflow:auto;animation:slideInDrawer .25s ease}@keyframes slideInDrawer{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.user-details-panel::-webkit-scrollbar{width:4px}.user-details-panel::-webkit-scrollbar-track{background:var(--users-line);border-radius:2px}.user-details-panel::-webkit-scrollbar-thumb{background:var(--users-gold);border-radius:2px}.user-details-head{display:flex;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:2px solid var(--users-line);background:var(--users-gold-soft);align-items:center}.user-details-head h3{margin:0;font-size:14px;font-weight:600;color:var(--users-text);font-family:var(--users-font);text-transform:uppercase;letter-spacing:.3px}.user-details-close{width:32px;height:32px;border:1px solid var(--users-line);border-radius:4px;background:var(--users-card);color:var(--users-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:16px;transition:all .15s ease;flex-shrink:0}.user-details-close:hover{background:var(--users-gold-soft);border-color:var(--users-gold-border);color:var(--users-text);transform:rotate(90deg)}.user-details-body{padding:20px}.user-details-profile{text-align:center;padding-bottom:18px;border-bottom:1px solid var(--users-line)}.user-avatar-large{width:64px;height:64px;border-radius:4px;background:var(--users-green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;margin-bottom:10px;font-family:var(--users-font);border:1px solid rgba(31,107,69,.2)}.user-details-profile h2{margin:0;font-size:16px;font-weight:600;color:var(--users-text);font-family:var(--users-font);text-transform:uppercase;letter-spacing:.3px}.user-details-profile p{margin:4px 0 0;color:var(--users-muted);font-size:12px;font-family:var(--users-font)}.user-details-status-row{margin-top:10px;display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.user-details-grid{display:grid;gap:8px;margin-top:16px}.user-details-grid>div{border:1px solid var(--users-line);border-radius:4px;background:var(--users-card);padding:10px 14px;transition:all .15s ease}.user-details-grid>div:hover{border-color:var(--users-gold-border);background:var(--users-gold-soft)}.user-details-grid span{display:block;color:var(--users-muted);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px;font-family:var(--users-font)}.user-details-grid strong{color:var(--users-text);font-size:13px;font-weight:500;word-break:break-word;font-family:var(--users-font)}.user-details-section{margin-top:18px}.user-details-section h4{margin:0 0 10px;font-size:11px;font-weight:600;color:var(--users-muted);font-family:var(--users-font);text-transform:uppercase;letter-spacing:.5px}.user-details-actions{margin-top:20px}.user-details-actions .btn-primary,.user-details-actions .users-btn-primary{width:100%;justify-content:center}@media (max-width: 900px){.users-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.users-toolbar{align-items:stretch;flex-direction:column}.users-filter-select{width:100%;min-width:unset}}@media (max-width: 768px){.users-stats-grid{gap:8px}.users-stats-grid>div{padding:10px 14px}.users-stats-grid strong{font-size:18px}.users-filter-select{font-size:11px;padding:6px 28px 6px 10px}.user-details-panel{width:min(400px,100vw)}.user-avatar-large{width:56px;height:56px;font-size:18px}.user-details-profile h2{font-size:15px}.user-details-grid>div{padding:8px 12px}.user-details-grid strong{font-size:12px}}@media (max-width: 480px){.users-stats-grid{grid-template-columns:1fr 1fr;gap:6px}.users-stats-grid>div{padding:8px 12px}.users-stats-grid strong{font-size:16px}.users-stats-grid span{font-size:8px}.users-filter-select{min-width:100px;font-size:10px;padding:5px 24px 5px 8px}.user-details-panel{width:100vw;border-left:none}.user-details-head{padding:12px 16px}.user-details-head h3{font-size:13px}.user-details-body{padding:16px}.user-avatar-large{width:48px;height:48px;font-size:16px}.user-details-profile h2{font-size:14px}.user-details-grid{gap:6px}.user-details-grid>div{padding:6px 10px}.user-details-grid strong{font-size:11px}.user-details-close{width:28px;height:28px;font-size:14px}}@keyframes statSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.users-stats-grid>div{animation:statSlideIn .2s ease}.users-stats-grid>div:nth-child(2){animation-delay:.05s}.users-stats-grid>div:nth-child(3){animation-delay:.1s}.users-stats-grid>div:nth-child(4){animation-delay:.15s}.users-filter-select:focus-visible,.user-details-close:focus-visible{outline:2px solid var(--users-gold);outline-offset:2px}.staff-badge{display:inline-flex;padding:3px 10px;border-radius:4px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-family:var(--users-font);border:1px solid transparent}.staff-badge.success{background:var(--users-green-soft);color:var(--users-green);border-color:#1f6b4526}.staff-badge.warn{background:var(--users-gold-soft);color:#8a6500;border-color:#c9a44c33}.staff-badge.danger{background:rgba(185,28,28,.08);color:#b91c1c;border-color:#b91c1c26}.user-role-options{display:grid;gap:10px}.role-options-list{display:grid;gap:8px}.role-option{display:flex;align-items:center;gap:10px;border:1px solid var(--users-line);border-radius:4px;padding:10px 14px;background:var(--users-card);cursor:pointer;transition:all .15s ease}.role-option:hover{border-color:var(--users-gold-border);background:var(--users-gold-soft)}.role-option input[type=radio]{width:16px;height:16px;accent-color:var(--users-green);cursor:pointer;flex-shrink:0}.role-option strong{display:block;color:var(--users-text);font-size:13px;font-weight:600;font-family:var(--users-font)}.role-option span{display:block;margin-top:2px;color:var(--users-muted);font-size:11px;font-family:var(--users-font)}.modal-subtitle{margin:4px 0 0;color:var(--users-muted);font-size:12px;font-family:var(--users-font)}.user-details-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;padding-top:16px;border-top:2px solid var(--uda-line)}.user-details-actions .btn-primary,.user-details-actions .btn-secondary,.user-details-actions .btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:160px;min-height:38px;padding:0 20px;border-radius:4px;font-size:11px;font-weight:500;font-family:var(--uda-font);text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease;cursor:pointer;border:1px solid transparent}.user-details-actions .btn-primary i,.user-details-actions .btn-secondary i,.user-details-actions .btn-danger i{font-size:14px}.user-details-actions .btn-primary{background:var(--uda-green);border-color:var(--uda-green);color:#fff}.user-details-actions .btn-primary:hover{background:var(--uda-green-hover);border-color:var(--uda-green-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1f6b4533}.user-details-actions .btn-primary:active{transform:translateY(0)}.user-details-actions .btn-secondary{background:var(--uda-card);border-color:var(--uda-line);color:var(--uda-text)}.user-details-actions .btn-secondary:hover{background:var(--uda-gold-soft);border-color:var(--uda-gold-border);transform:translateY(-1px)}.user-details-actions .btn-danger{background:#b91c1c;border-color:#b91c1c;color:#fff}.user-details-actions .btn-danger:hover{background:#7f1d1d;border-color:#7f1d1d;transform:translateY(-1px);box-shadow:0 4px 12px #b91c1c33}#drawerResetPasswordBtn{background:var(--uda-card);border:1px solid var(--uda-line);color:var(--uda-muted);font-weight:600}#drawerResetPasswordBtn:hover{background:var(--uda-gold-soft);border-color:var(--uda-gold-border);color:var(--uda-text);transform:translateY(-1px)}#drawerSuspendUserBtn{background:#b91c1c;border:1px solid #b91c1c;color:#fff}#drawerSuspendUserBtn:hover{background:#7f1d1d;border-color:#7f1d1d;transform:translateY(-1px);box-shadow:0 4px 12px #b91c1c33}#drawerUnsuspendUserBtn{background:var(--uda-green);border:1px solid var(--uda-green);color:#fff}#drawerUnsuspendUserBtn:hover{background:var(--uda-green-hover);border-color:var(--uda-green-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1f6b4533}#drawerManageRolesBtn{background:var(--uda-green);border:1px solid var(--uda-green);color:#fff}#drawerManageRolesBtn:hover{background:var(--uda-green-hover);border-color:var(--uda-green-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1f6b4533}.user-details-actions button i{font-size:14px;flex-shrink:0}.user-details-actions .btn-small{min-width:120px;min-height:32px;font-size:10px;padding:0 14px}.user-details-actions .btn-large{min-width:200px;min-height:44px;font-size:12px;padding:0 24px}.user-details-actions .btn-icon-only{min-width:38px;min-height:38px;padding:0;border-radius:4px}@media (max-width: 768px){.user-details-actions{flex-direction:column;gap:8px;margin-top:20px;padding-top:14px}.user-details-actions .btn-primary,.user-details-actions .btn-secondary,.user-details-actions .btn-danger,#drawerResetPasswordBtn,#drawerSuspendUserBtn,#drawerUnsuspendUserBtn,#drawerManageRolesBtn{width:100%;min-width:unset;justify-content:center}.user-details-actions .btn-small,.user-details-actions .btn-large{min-width:unset;width:100%}}@media (max-width: 480px){.user-details-actions{gap:6px;margin-top:16px;padding-top:12px}.user-details-actions .btn-primary,.user-details-actions .btn-secondary,.user-details-actions .btn-danger,#drawerResetPasswordBtn,#drawerSuspendUserBtn,#drawerUnsuspendUserBtn,#drawerManageRolesBtn{min-height:34px;font-size:10px;padding:0 16px}.user-details-actions button i{font-size:13px}}.user-details-actions .btn-primary:focus-visible,.user-details-actions .btn-secondary:focus-visible,.user-details-actions .btn-danger:focus-visible,#drawerResetPasswordBtn:focus-visible,#drawerSuspendUserBtn:focus-visible,#drawerUnsuspendUserBtn:focus-visible,#drawerManageRolesBtn:focus-visible{outline:2px solid var(--uda-gold);outline-offset:2px}.user-details-actions .btn-primary:disabled,.user-details-actions .btn-secondary:disabled,.user-details-actions .btn-danger:disabled,#drawerResetPasswordBtn:disabled,#drawerSuspendUserBtn:disabled,#drawerUnsuspendUserBtn:disabled,#drawerManageRolesBtn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none!important}@media print{.user-details-actions{display:none!important}}@media (max-width: 900px){.users-toolbar{flex-direction:column;align-items:stretch}.users-search-wrap{width:100%}}@media (max-width: 768px){.users-card{padding:14px 16px}.user-row{grid-template-columns:1fr;gap:10px}.user-row-actions{justify-content:flex-start;flex-wrap:wrap}.user-row-main{flex-wrap:wrap}.user-avatar-mini{width:36px;height:36px;font-size:11px}.user-row-top strong{font-size:12px}.user-row-info p{font-size:11px}}@media (max-width: 480px){.users-card{padding:12px}.users-search-wrap input{font-size:11px;padding:6px 12px 6px 34px}.users-search-wrap i{font-size:12px;left:10px}.user-row{padding:10px 12px}.user-row-top{flex-direction:column;align-items:flex-start;gap:4px}.user-row-actions{flex-direction:column;align-items:stretch;width:100%}.user-row-actions .users-btn{width:100%;justify-content:center}.role-option{padding:8px 12px}.role-option strong{font-size:12px}.role-option span{font-size:10px}}.users-btn:focus-visible,.users-search-wrap input:focus-visible,.role-option input:focus-visible{outline:2px solid var(--users-gold);outline-offset:2px}@keyframes usersSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.user-row{animation:usersSlideIn .2s ease}.user-row:nth-child(2){animation-delay:.05s}.user-row:nth-child(3){animation-delay:.1s}.user-row:nth-child(4){animation-delay:.15s}@media print{.users-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important;box-shadow:none!important}.user-row{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important}.users-toolbar,.user-row-actions{display:none!important}}.user-details-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#drawerManageRolesBtn{grid-column:1 / -1;width:100%}.user-details-actions button{width:100%}.user-details-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;padding-top:16px;border-top:2px solid var(--uda-line, #e2ddd4)}.user-details-actions button{width:100%!important;min-width:0!important;min-height:42px;display:inline-flex!important;align-items:center;justify-content:center;gap:8px}#drawerManageRolesBtn{display:inline-flex!important;grid-column:1 / -1;background:var(--uda-green, #1f6b45)!important;border:1px solid var(--uda-green, #1f6b45)!important;color:#fff!important;visibility:visible!important;opacity:1!important}#drawerResetPasswordBtn{grid-column:1 / 2}#drawerSuspendUserBtn,#drawerUnsuspendUserBtn{grid-column:2 / 3}@media (max-width: 640px){.user-details-actions{grid-template-columns:1fr}#drawerManageRolesBtn,#drawerResetPasswordBtn,#drawerSuspendUserBtn,#drawerUnsuspendUserBtn{grid-column:1 / -1}}#drawerManageRolesBtn,#drawerResetPasswordBtn,#drawerSuspendUserBtn,#drawerUnsuspendUserBtn{display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;width:100%!important;min-width:0!important;min-height:44px!important;align-items:center!important;justify-content:center!important;padding:0 18px!important;pointer-events:auto!important;overflow:visible!important;white-space:nowrap!important}.user-details-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}#drawerManageRolesBtn{grid-column:1 / -1!important}#drawerResetPasswordBtn{grid-column:1!important}#drawerSuspendUserBtn,#drawerUnsuspendUserBtn{grid-column:2!important}#drawerUnsuspendUserBtn{background:#1f6b45!important;color:#fff!important;border:1px solid #1f6b45!important}#drawerUnsuspendUserBtn:hover{background:#185437!important}#drawerSuspendUserBtn{background:#b91c1c!important;color:#fff!important;border:1px solid #b91c1c!important}#drawerResetPasswordBtn{background:#ffffff!important;color:#1d2742!important;border:1px solid #d6d1c7!important}:root{--audit-bg: #f5f3ef;--audit-card: #ffffff;--audit-line: #e2ddd4;--audit-line-strong: #d5cfc4;--audit-text: #1a1a1a;--audit-muted: #8a8578;--audit-faint: #c4beb3;--audit-green: #1f6b45;--audit-green-hover: #174f34;--audit-green-soft: rgba(31, 107, 69, .06);--audit-gold: #c9a44c;--audit-gold-soft: rgba(201, 164, 76, .06);--audit-shadow: 0 4px 12px rgba(0, 0, 0, .06);--audit-font: "SF Mono", "JetBrains Mono", monospace}.audit-module{display:grid;gap:16px}.audit-card{background:var(--audit-card);border:1px solid var(--audit-line);border-radius:4px;padding:16px 18px;box-shadow:var(--audit-shadow);transition:all .15s ease}.audit-card:hover{border-color:var(--audit-gold-border)}.audit-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:14px;border-bottom:2px solid var(--audit-line);align-items:center}.audit-search-wrap{position:relative;flex:1;min-width:240px}.audit-search-wrap i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--audit-muted);font-size:13px;pointer-events:none}.audit-search-wrap input{width:100%;padding:8px 14px 8px 36px;border:1px solid var(--audit-line);border-radius:4px;background:var(--audit-card);color:var(--audit-text);font-family:var(--audit-font);font-size:12px;outline:none;transition:all .15s ease}.audit-search-wrap input::placeholder{color:var(--audit-faint)}.audit-search-wrap input:focus{border-color:var(--audit-gold);box-shadow:0 0 0 3px #c9a44c1f}.audit-filter-select{border:1px solid var(--audit-line);border-radius:4px;background:var(--audit-card);padding:8px 32px 8px 12px;color:var(--audit-text);font-family:var(--audit-font);font-size:12px;min-width:140px;outline:none;transition:all .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a8578'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.audit-filter-select:hover{border-color:var(--audit-gold-border)}.audit-filter-select:focus{border-color:var(--audit-gold);box-shadow:0 0 0 3px #c9a44c1f}.audit-filter-select option{padding:4px 8px;font-family:var(--audit-font)}.audit-list{display:grid;gap:8px}.audit-row{display:grid;grid-template-columns:40px 1fr;gap:12px;border:1px solid var(--audit-line);border-radius:4px;padding:12px 14px;background:var(--audit-card);transition:all .15s ease;align-items:start}.audit-row:hover{border-color:var(--audit-gold-border);box-shadow:var(--audit-shadow)}.audit-icon{width:40px;height:40px;border-radius:4px;background:var(--audit-green-soft);color:var(--audit-green);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;border:1px solid rgba(31,107,69,.1)}.audit-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.audit-top strong{color:var(--audit-text);font-size:13px;font-weight:600;font-family:var(--audit-font)}.audit-top span{color:var(--audit-muted);font-size:11px;font-family:var(--audit-font);white-space:nowrap}.audit-main p{margin:6px 0 8px;color:var(--audit-text);font-size:12px;font-family:var(--audit-font);line-height:1.5}.audit-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.audit-meta span{color:var(--audit-muted);font-size:10px;font-family:var(--audit-font)}.audit-meta .audit-badge{display:inline-flex;padding:2px 10px;border-radius:4px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-family:var(--audit-font);border:1px solid transparent}.audit-badge.success{background:var(--audit-green-soft);color:var(--audit-green);border-color:#1f6b4526}.audit-badge.warning{background:var(--audit-gold-soft);color:#8a6500;border-color:#c9a44c33}.audit-badge.danger{background:rgba(185,28,28,.08);color:#b91c1c;border-color:#b91c1c26}.audit-badge.info{background:rgba(59,130,246,.08);color:#2563eb;border-color:#3b82f626}.audit-empty{border:2px dashed var(--audit-line);border-radius:4px;padding:32px 20px;text-align:center;color:var(--audit-muted)}.audit-empty i{display:block;font-size:28px;color:var(--audit-gold);margin-bottom:8px;opacity:.4}.audit-empty p{font-family:var(--audit-font);font-size:12px;margin:0}@media (max-width: 900px){.audit-toolbar{flex-direction:column;align-items:stretch}.audit-search-wrap{min-width:unset}.audit-filter-select{width:100%;min-width:unset}}@media (max-width: 768px){.audit-card{padding:14px 16px}.audit-row{grid-template-columns:1fr;gap:8px;padding:10px 14px}.audit-icon{width:36px;height:36px;font-size:14px}.audit-top{flex-wrap:wrap}.audit-top strong{font-size:12px}.audit-top span{font-size:10px}.audit-main p{font-size:11px}.audit-meta span{font-size:9px}}@media (max-width: 480px){.audit-card{padding:12px}.audit-search-wrap input{font-size:11px;padding:6px 12px 6px 34px}.audit-search-wrap i{font-size:12px;left:10px}.audit-filter-select{font-size:11px;padding:6px 28px 6px 10px}.audit-row{padding:8px 12px}.audit-top strong{font-size:11px}.audit-main p{font-size:10px}.audit-meta{gap:4px}.audit-meta span{font-size:8px}}.audit-search-wrap input:focus-visible,.audit-filter-select:focus-visible{outline:2px solid var(--audit-gold);outline-offset:2px}@keyframes auditSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.audit-row{animation:auditSlideIn .2s ease}.audit-row:nth-child(2){animation-delay:.05s}.audit-row:nth-child(3){animation-delay:.1s}.audit-row:nth-child(4){animation-delay:.15s}@media print{.audit-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important;box-shadow:none!important}.audit-row{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important}.audit-toolbar{display:none!important}}:root{--roles-bg: #f5f3ef;--roles-card: #ffffff;--roles-line: #e2ddd4;--roles-line-strong: #d5cfc4;--roles-text: #1a1a1a;--roles-muted: #8a8578;--roles-faint: #c4beb3;--roles-green: #1f6b45;--roles-green-hover: #174f34;--roles-green-soft: rgba(31, 107, 69, .06);--roles-gold: #c9a44c;--roles-gold-soft: rgba(201, 164, 76, .06);--roles-shadow: 0 4px 12px rgba(0, 0, 0, .06);--roles-font: "SF Mono", "JetBrains Mono", monospace}.roles-module{display:grid;gap:16px}.roles-editor-layout{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.roles-list-card,.permissions-editor-card{background:var(--roles-card);border:1px solid var(--roles-line);border-radius:4px;padding:16px 18px;box-shadow:var(--roles-shadow);transition:all .15s ease}.roles-list-card:hover,.permissions-editor-card:hover{border-color:var(--roles-gold-border)}.roles-list-card h3,.permissions-editor-card h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--roles-text);font-family:var(--roles-font);text-transform:uppercase;letter-spacing:.3px}.roles-list{display:grid;gap:6px}.role-editor-row{width:100%;border:1px solid var(--roles-line);background:var(--roles-card);border-radius:4px;padding:10px 14px;display:flex;justify-content:space-between;gap:10px;text-align:left;cursor:pointer;transition:all .15s ease;font-family:var(--roles-font)}.role-editor-row:hover{border-color:var(--roles-gold-border);background:var(--roles-gold-soft)}.role-editor-row.is-active{border-color:var(--roles-green);background:var(--roles-green-soft);box-shadow:0 0 0 2px #1f6b451a}.role-editor-row strong{display:block;color:var(--roles-text);font-size:13px;font-weight:600;font-family:var(--roles-font)}.role-editor-row span{display:block;margin-top:2px;color:var(--roles-muted);font-size:11px;font-family:var(--roles-font)}.role-editor-row .role-badge{display:inline-flex;padding:2px 10px;border-radius:4px;font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-family:var(--roles-font);border:1px solid transparent;flex-shrink:0;align-self:center}.role-badge.admin{background:var(--roles-green-soft);color:var(--roles-green);border-color:#1f6b4526}.role-badge.staff{background:var(--roles-gold-soft);color:#8a6500;border-color:#c9a44c33}.role-badge.user{background:rgba(59,130,246,.08);color:#2563eb;border-color:#3b82f626}.permission-editor-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:12px;border-bottom:2px solid var(--roles-line);margin-bottom:14px}.permission-editor-head h3{margin:0;font-size:14px;font-weight:600;color:var(--roles-text);font-family:var(--roles-font);text-transform:uppercase;letter-spacing:.3px}.permission-editor-head p{margin:4px 0 0;color:var(--roles-muted);font-size:12px;font-family:var(--roles-font)}.permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:8px}.permission-option{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--roles-line);border-radius:4px;background:var(--roles-card);padding:10px 14px;cursor:pointer;transition:all .15s ease}.permission-option:hover{border-color:var(--roles-gold-border);background:var(--roles-gold-soft)}.permission-option input[type=checkbox]{margin-top:2px;width:16px;height:16px;accent-color:var(--roles-green);cursor:pointer;flex-shrink:0}.permission-option strong{display:block;color:var(--roles-text);font-size:12px;font-weight:600;font-family:var(--roles-font)}.permission-option span{display:block;margin-top:2px;color:var(--roles-muted);font-size:11px;font-family:var(--roles-font)}.roles-empty{border:2px dashed var(--roles-line);border-radius:4px;padding:32px 20px;text-align:center;color:var(--roles-muted)}.roles-empty i{display:block;font-size:28px;color:var(--roles-gold);margin-bottom:8px;opacity:.4}.roles-empty p{font-family:var(--roles-font);font-size:12px;margin:0}@media (max-width: 1024px){.permissions-grid{grid-template-columns:1fr}}@media (max-width: 900px){.roles-editor-layout{grid-template-columns:1fr}.roles-list-card{max-height:300px;overflow-y:auto}.roles-list-card::-webkit-scrollbar{width:4px}.roles-list-card::-webkit-scrollbar-track{background:var(--roles-line);border-radius:2px}.roles-list-card::-webkit-scrollbar-thumb{background:var(--roles-gold);border-radius:2px}}@media (max-width: 768px){.roles-list-card,.permissions-editor-card{padding:14px 16px}.roles-list-card h3,.permissions-editor-card h3{font-size:13px}.role-editor-row{padding:8px 12px}.role-editor-row strong{font-size:12px}.role-editor-row span{font-size:10px}.permission-editor-head{flex-direction:column;gap:8px}.permission-editor-head h3{font-size:13px}.permission-editor-head p{font-size:11px}.permission-option{padding:8px 12px}.permission-option strong{font-size:11px}.permission-option span{font-size:10px}}@media (max-width: 480px){.roles-list-card,.permissions-editor-card{padding:12px}.role-editor-row{padding:6px 10px;flex-wrap:wrap}.role-editor-row strong{font-size:11px}.role-editor-row span{font-size:9px}.permission-option{padding:6px 10px}.permission-option input[type=checkbox]{width:14px;height:14px}.permission-option strong{font-size:10px}.permission-option span{font-size:9px}}.role-editor-row:focus-visible,.permission-option:focus-visible{outline:2px solid var(--roles-gold);outline-offset:2px}@keyframes rolesSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.role-editor-row,.permission-option{animation:rolesSlideIn .2s ease}.role-editor-row:nth-child(2),.permission-option:nth-child(2){animation-delay:.05s}.role-editor-row:nth-child(3),.permission-option:nth-child(3){animation-delay:.1s}@media print{.roles-list-card,.permissions-editor-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important;box-shadow:none!important}.role-editor-row,.permission-option{border:1px solid #000!important}}:root{--ov-bg: #f5f3ef;--ov-card: #ffffff;--ov-line: #e2ddd4;--ov-line-strong: #d5cfc4;--ov-text: #1a1a1a;--ov-muted: #8a8578;--ov-faint: #c4beb3;--ov-green: #1f6b45;--ov-green-hover: #174f34;--ov-green-soft: rgba(31, 107, 69, .06);--ov-gold: #c9a44c;--ov-gold-soft: rgba(201, 164, 76, .06);--ov-shadow: 0 4px 12px rgba(0, 0, 0, .06);--ov-font: "SF Mono", "JetBrains Mono", monospace}.overview-module{display:flex;flex-direction:column;gap:20px}.overview-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.overview-stat-card{background:var(--ov-card);border:1px solid var(--ov-line);border-radius:4px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;transition:all .15s ease;box-shadow:var(--ov-shadow)}.overview-stat-card:hover{transform:translateY(-2px);border-color:var(--ov-gold-border);box-shadow:0 8px 20px #00000014}.overview-stat-card span{display:block;color:var(--ov-muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-family:var(--ov-font)}.overview-stat-card strong{display:block;font-size:24px;font-weight:700;color:var(--ov-green);font-family:var(--ov-font)}.overview-stat-card i{font-size:28px;color:var(--ov-gold);opacity:.8}.overview-layout{display:grid;grid-template-columns:2fr 1fr;gap:16px}.overview-card{background:var(--ov-card);border:1px solid var(--ov-line);border-radius:4px;overflow:hidden;box-shadow:var(--ov-shadow);transition:all .15s ease}.overview-card:hover{border-color:var(--ov-gold-border)}.overview-card-header{padding:14px 18px;border-bottom:2px solid var(--ov-line);background:var(--ov-gold-soft)}.overview-card-header h3{margin:0;color:var(--ov-text);font-size:13px;font-weight:600;font-family:var(--ov-font);text-transform:uppercase;letter-spacing:.3px}.overview-card-header p{margin-top:4px;color:var(--ov-muted);font-size:12px;font-family:var(--ov-font)}.overview-audit-list{display:flex;flex-direction:column}.overview-audit-item{display:flex;gap:14px;padding:14px 18px;border-bottom:1px solid var(--ov-line);transition:all .15s ease}.overview-audit-item:last-child{border-bottom:none}.overview-audit-item:hover{background:var(--ov-gold-soft)}.overview-audit-icon{width:40px;height:40px;border-radius:4px;background:var(--ov-green-soft);display:flex;align-items:center;justify-content:center;color:var(--ov-green);flex-shrink:0;border:1px solid rgba(31,107,69,.1)}.overview-audit-icon i{font-size:16px}.overview-audit-item strong{display:block;color:var(--ov-text);font-size:13px;font-weight:600;font-family:var(--ov-font);margin-bottom:3px}.overview-audit-item p{margin:0;color:var(--ov-muted);font-size:12px;line-height:1.5;font-family:var(--ov-font)}.overview-audit-item span{display:block;margin-top:4px;color:var(--ov-faint);font-size:10px;font-family:var(--ov-font)}.overview-actions{display:grid;gap:10px;padding:16px 18px}.overview-action{display:flex;gap:14px;align-items:center;padding:12px 16px;border:1px solid var(--ov-line);border-radius:4px;background:var(--ov-card);cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.overview-action:hover{border-color:var(--ov-gold-border);background:var(--ov-gold-soft);transform:translateY(-1px);box-shadow:var(--ov-shadow)}.overview-action i{width:38px;height:38px;border-radius:4px;background:var(--ov-green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;border:1px solid rgba(31,107,69,.2)}.overview-action strong{display:block;color:var(--ov-text);font-size:13px;font-weight:600;font-family:var(--ov-font)}.overview-action span{display:block;color:var(--ov-muted);margin-top:2px;font-size:11px;font-family:var(--ov-font)}.overview-card .staff-empty{padding:32px 20px;border:2px dashed var(--ov-line);border-radius:4px;margin:16px;text-align:center;color:var(--ov-muted)}.overview-card .staff-empty i{display:block;font-size:28px;color:var(--ov-gold);margin-bottom:8px;opacity:.4}.overview-card .staff-empty p{font-family:var(--ov-font);font-size:12px;margin:0}@media (max-width: 1200px){.overview-layout{grid-template-columns:1fr}}@media (max-width: 768px){.overview-module{gap:16px}.overview-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.overview-stat-card{padding:14px 16px}.overview-stat-card strong{font-size:20px}.overview-stat-card i{font-size:22px}.overview-card-header{padding:12px 16px}.overview-card-header h3{font-size:12px}.overview-audit-item{padding:12px 16px}.overview-audit-icon{width:36px;height:36px}.overview-audit-icon i{font-size:14px}.overview-audit-item strong{font-size:12px}.overview-audit-item p{font-size:11px}.overview-actions{padding:12px 16px}.overview-action{padding:10px 14px}.overview-action i{width:34px;height:34px;font-size:14px}.overview-action strong{font-size:12px}.overview-action span{font-size:10px}}@media (max-width: 480px){.overview-stats-grid{grid-template-columns:1fr 1fr;gap:8px}.overview-stat-card{padding:12px}.overview-stat-card strong{font-size:18px}.overview-stat-card span{font-size:9px}.overview-stat-card i{font-size:20px}.overview-card-header{padding:10px 14px}.overview-card-header h3{font-size:11px}.overview-card-header p{font-size:10px}.overview-audit-item{padding:10px 14px;gap:10px}.overview-audit-icon{width:32px;height:32px}.overview-audit-icon i{font-size:12px}.overview-audit-item strong{font-size:11px}.overview-audit-item p{font-size:10px}.overview-audit-item span{font-size:9px}.overview-actions{padding:10px 14px;gap:8px}.overview-action{padding:8px 12px}.overview-action i{width:30px;height:30px;font-size:12px}.overview-action strong{font-size:11px}.overview-action span{font-size:9px}}.overview-action:focus-visible{outline:2px solid var(--ov-gold);outline-offset:2px}@keyframes ovSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.overview-stat-card,.overview-audit-item,.overview-action{animation:ovSlideIn .2s ease}.overview-stat-card:nth-child(2),.overview-audit-item:nth-child(2),.overview-action:nth-child(2){animation-delay:.05s}.overview-stat-card:nth-child(3),.overview-audit-item:nth-child(3),.overview-action:nth-child(3){animation-delay:.1s}.overview-stat-card:nth-child(4),.overview-audit-item:nth-child(4),.overview-action:nth-child(4){animation-delay:.15s}@media print{.overview-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important;box-shadow:none!important}.overview-stat-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important}.overview-action{display:none!important}}:root{--sys-bg: #f5f3ef;--sys-card: #ffffff;--sys-line: #e2ddd4;--sys-line-strong: #d5cfc4;--sys-text: #1a1a1a;--sys-muted: #8a8578;--sys-faint: #c4beb3;--sys-green: #1f6b45;--sys-green-hover: #174f34;--sys-green-soft: rgba(31, 107, 69, .06);--sys-gold: #c9a44c;--sys-gold-soft: rgba(201, 164, 76, .06);--sys-shadow: 0 4px 12px rgba(0, 0, 0, .06);--sys-font: "SF Mono", "JetBrains Mono", monospace}.system-module{display:grid;gap:16px}.system-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}.system-status-card{background:var(--sys-card);border:1px solid var(--sys-line);border-radius:4px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;box-shadow:var(--sys-shadow);transition:all .15s ease}.system-status-card:hover{border-color:var(--sys-gold-border);box-shadow:0 6px 16px #00000014}.system-status-card i{width:36px;height:36px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;background:var(--sys-green-soft);color:var(--sys-green);flex-shrink:0;font-size:16px}.system-status-card.warn i{background:var(--sys-gold-soft);color:var(--sys-gold)}.system-status-card.danger i{background:rgba(185,28,28,.08);color:#b91c1c}.system-status-card.success i{background:var(--sys-green-soft);color:var(--sys-green)}.system-status-card span{display:block;color:var(--sys-muted);font-size:9px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;font-family:var(--sys-font)}.system-status-card strong{display:block;margin-top:2px;color:var(--sys-text);font-size:13px;font-weight:600;font-family:var(--sys-font)}.system-status-card p{margin:4px 0 0;color:var(--sys-muted);font-size:10px;line-height:1.5;font-family:var(--sys-font)}.system-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.system-card{background:var(--sys-card);border:1px solid var(--sys-line);border-radius:4px;overflow:hidden;box-shadow:var(--sys-shadow);transition:all .15s ease}.system-card:hover{border-color:var(--sys-gold-border)}.system-card-header{padding:12px 16px;border-bottom:2px solid var(--sys-line);background:var(--sys-gold-soft)}.system-card-header h3{margin:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--sys-text);font-family:var(--sys-font)}.system-card-header p{margin:3px 0 0;color:var(--sys-muted);font-size:10px;font-family:var(--sys-font)}.system-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}.system-metric-card{background:var(--sys-card);border:1px solid var(--sys-line);border-radius:4px;padding:14px 16px;display:flex;gap:12px;align-items:center;box-shadow:var(--sys-shadow)}.system-metric-card i{width:34px;height:34px;border-radius:4px;background:var(--sys-green-soft);color:var(--sys-green);display:inline-flex;align-items:center;justify-content:center}.system-metric-card span{display:block;color:var(--sys-muted);font-size:9px;text-transform:uppercase;letter-spacing:.5px;font-family:var(--sys-font)}.system-metric-card strong{display:block;margin-top:2px;font-size:16px;color:var(--sys-text);font-family:var(--sys-font)}.system-kv-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--sys-line)}.system-kv-row:last-child{border-bottom:none}.system-kv-row span{color:var(--sys-muted);font-size:10px;font-family:var(--sys-font);text-transform:uppercase;letter-spacing:.3px}.system-kv-row strong{color:var(--sys-text);font-size:12px;font-family:var(--sys-font)}.system-state.online{color:var(--sys-green)}.system-state.offline{color:#b91c1c}@media (max-width: 1100px){.system-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.system-metrics-grid{grid-template-columns:1fr}}.system-list{display:grid}.system-list-item{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid var(--sys-line);transition:all .15s ease}.system-list-item:last-child{border-bottom:none}.system-list-item:hover{background:var(--sys-gold-soft)}.system-list-item>i{width:34px;height:34px;border-radius:4px;background:var(--sys-green-soft);color:var(--sys-green);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}.system-list-item>i.warn{background:var(--sys-gold-soft);color:var(--sys-gold)}.system-list-item>i.danger{background:rgba(185,28,28,.08);color:#b91c1c}.system-list-item strong{display:block;font-size:12px;font-weight:600;color:var(--sys-text);font-family:var(--sys-font)}.system-list-item p{margin:3px 0 4px;color:var(--sys-muted);font-size:10px;font-family:var(--sys-font);line-height:1.5}.system-list-item span{color:var(--sys-faint);font-size:9px;font-family:var(--sys-font)}.system-badge{display:inline-flex;padding:2px 10px;border-radius:4px;font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-family:var(--sys-font);border:1px solid transparent}.system-badge.online{background:var(--sys-green-soft);color:var(--sys-green);border-color:#1f6b4526}.system-badge.offline{background:rgba(185,28,28,.08);color:#b91c1c;border-color:#b91c1c26}.system-badge.warning{background:var(--sys-gold-soft);color:#8a6500;border-color:#c9a44c33}.system-badge.maintenance{background:rgba(59,130,246,.08);color:#2563eb;border-color:#3b82f626}.system-empty{border:2px dashed var(--sys-line);border-radius:4px;padding:32px 20px;text-align:center;color:var(--sys-muted)}.system-empty i{display:block;font-size:28px;color:var(--sys-gold);margin-bottom:8px;opacity:.4}.system-empty p{font-family:var(--sys-font);font-size:12px;margin:0}@media (max-width: 1100px){.system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-layout{grid-template-columns:1fr}}@media (max-width: 768px){.system-module{gap:14px}.system-grid{gap:8px}.system-status-card{padding:12px 14px}.system-status-card strong{font-size:12px}.system-status-card p{font-size:9px}.system-card-header{padding:10px 14px}.system-card-header h3{font-size:11px}.system-list-item{padding:10px 14px}.system-list-item strong{font-size:11px}.system-list-item p{font-size:9px}}@media (max-width: 560px){.system-grid{grid-template-columns:1fr}.system-module{gap:12px}.system-status-card{padding:10px 12px}.system-status-card i{width:32px;height:32px;font-size:14px}.system-status-card strong{font-size:11px}.system-card-header{padding:8px 12px}.system-card-header h3{font-size:10px}.system-card-header p{font-size:9px}.system-list-item{padding:8px 12px;gap:8px}.system-list-item>i{width:30px;height:30px;font-size:12px}.system-list-item strong{font-size:10px}.system-list-item p,.system-list-item span{font-size:8px}.system-badge{font-size:7px;padding:1px 8px}}.system-status-card:focus-visible,.system-list-item:focus-visible{outline:2px solid var(--sys-gold);outline-offset:2px}@keyframes sysSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.system-status-card,.system-list-item{animation:sysSlideIn .2s ease}.system-status-card:nth-child(2),.system-list-item:nth-child(2){animation-delay:.05s}.system-status-card:nth-child(3),.system-list-item:nth-child(3){animation-delay:.1s}.system-status-card:nth-child(4),.system-list-item:nth-child(4){animation-delay:.15s}@media print{.system-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important;box-shadow:none!important}.system-status-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important}}:root{--ops-bg: #f5f3ef;--ops-card: #ffffff;--ops-line: #e2ddd4;--ops-line-strong: #d5cfc4;--ops-text: #1a1a1a;--ops-muted: #8a8578;--ops-faint: #c4beb3;--ops-green: #1f6b45;--ops-green-hover: #174f34;--ops-green-soft: rgba(31, 107, 69, .06);--ops-gold: #c9a44c;--ops-gold-soft: rgba(201, 164, 76, .06);--ops-shadow: 0 4px 12px rgba(0, 0, 0, .06);--ops-font: "SF Mono", "JetBrains Mono", monospace}.operations-module{display:grid;gap:16px}.operations-health-grid,.operations-count-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}.operations-health-card{background:var(--ops-card);border:1px solid var(--ops-line);border-radius:4px;box-shadow:var(--ops-shadow);display:flex;gap:12px;align-items:center;padding:14px 16px;transition:all .15s ease}.operations-health-card:hover{border-color:var(--ops-gold-border);box-shadow:0 6px 16px #00000014}.operations-health-card i{width:36px;height:36px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;background:var(--ops-green-soft);color:var(--ops-green);flex-shrink:0;font-size:16px}.operations-health-card.warn i{background:var(--ops-gold-soft);color:var(--ops-gold)}.operations-health-card.danger i{background:rgba(185,28,28,.08);color:#b91c1c}.operations-health-card.success i{background:var(--ops-green-soft);color:var(--ops-green)}.operations-health-card span{display:block;color:var(--ops-muted);font-size:9px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;font-family:var(--ops-font)}.operations-health-card strong{display:block;margin-top:2px;color:var(--ops-text);font-size:13px;font-weight:600;font-family:var(--ops-font)}.operations-count-card{background:var(--ops-card);border:1px solid var(--ops-line);border-radius:4px;box-shadow:var(--ops-shadow);padding:14px 16px;transition:all .15s ease}.operations-count-card:hover{border-color:var(--ops-gold-border);box-shadow:0 6px 16px #00000014}.operations-count-card span{display:block;color:var(--ops-muted);font-size:9px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;font-family:var(--ops-font)}.operations-count-card strong{display:block;margin-top:2px;color:var(--ops-text);font-size:20px;font-weight:700;font-family:var(--ops-font)}.operations-count-card .count-green{color:var(--ops-green)}.operations-count-card .count-gold{color:var(--ops-gold)}.operations-count-card .count-danger{color:#b91c1c}.operations-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.operations-card{background:var(--ops-card);border:1px solid var(--ops-line);border-radius:4px;box-shadow:var(--ops-shadow);overflow:hidden;transition:all .15s ease}.operations-card:hover{border-color:var(--ops-gold-border)}.operations-card.wide{grid-column:1 / -1}.operations-card-header{padding:12px 16px;border-bottom:2px solid var(--ops-line);background:var(--ops-gold-soft)}.operations-card-header h3{margin:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--ops-text);font-family:var(--ops-font)}.operations-card-header p{margin:3px 0 0;color:var(--ops-muted);font-size:10px;font-family:var(--ops-font)}.operations-form{display:grid;gap:12px;padding:16px}.operations-form label{display:grid;gap:4px;color:var(--ops-text);font-size:10px;font-weight:600;font-family:var(--ops-font);text-transform:uppercase;letter-spacing:.3px}.operations-form textarea,.operations-form select{border:1px solid var(--ops-line);border-radius:4px;padding:8px 12px;font:inherit;font-family:var(--ops-font);font-size:12px;text-transform:none;background:var(--ops-card);color:var(--ops-text);outline:none;transition:all .15s ease}.operations-form textarea:focus,.operations-form select:focus{border-color:var(--ops-gold);box-shadow:0 0 0 3px #c9a44c1f}.operations-form textarea{min-height:100px;resize:vertical;line-height:1.5}.operations-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a8578'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}.operations-toggle-row,.operations-feature-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--ops-line);border-radius:4px;padding:10px 14px;background:var(--ops-card);transition:all .15s ease}.operations-toggle-row:hover,.operations-feature-toggle:hover{border-color:var(--ops-gold-border)}.operations-toggle-row strong,.operations-feature-toggle strong{font-size:12px;font-weight:600;color:var(--ops-text);font-family:var(--ops-font)}.operations-toggle-row small,.operations-feature-toggle small{display:block;margin-top:2px;color:var(--ops-muted);font-size:9px;font-weight:400;text-transform:none;font-family:var(--ops-font)}.toggle-switch{position:relative;width:40px;height:22px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--ops-line);border-radius:11px;transition:all .3s ease}.toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:var(--ops-card);border-radius:50%;transition:all .3s ease}.toggle-switch input:checked+.toggle-slider{background:var(--ops-green)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.toggle-switch input:focus-visible+.toggle-slider{outline:2px solid var(--ops-gold);outline-offset:2px}.operations-feature-grid,.operations-emergency-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:16px}.operations-emergency-btn{justify-content:center;min-height:44px}.danger-zone{border-color:#b91c1c33!important}.danger-zone .operations-card-header{background:rgba(185,28,28,.06);border-bottom-color:#b91c1c26}.danger-zone .operations-card-header h3{color:#b91c1c}.ops-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 16px;border:1px solid var(--ops-line);border-radius:4px;background:var(--ops-card);color:var(--ops-text);font-family:var(--ops-font);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;transition:all .15s ease}.ops-btn:hover{background:var(--ops-gold-soft);border-color:var(--ops-gold-border);transform:translateY(-1px)}.ops-btn-primary{background:var(--ops-green);border-color:var(--ops-green);color:#fff}.ops-btn-primary:hover{background:var(--ops-green-hover);border-color:var(--ops-green-hover)}.ops-btn-danger{background:#b91c1c;border-color:#b91c1c;color:#fff}.ops-btn-danger:hover{background:#7f1d1d;border-color:#7f1d1d;box-shadow:0 4px 12px #b91c1c33}.ops-btn-secondary{background:transparent;border-color:var(--ops-line);color:var(--ops-muted)}.ops-btn-secondary:hover{background:var(--ops-gold-soft);border-color:var(--ops-gold-border);color:var(--ops-text)}.ops-empty{border:2px dashed var(--ops-line);border-radius:4px;padding:32px 20px;text-align:center;color:var(--ops-muted)}.ops-empty i{display:block;font-size:28px;color:var(--ops-gold);margin-bottom:8px;opacity:.4}.ops-empty p{font-family:var(--ops-font);font-size:12px;margin:0}@media (max-width: 1024px){.operations-health-grid,.operations-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.operations-health-grid,.operations-count-grid,.operations-layout,.operations-feature-grid,.operations-emergency-grid{grid-template-columns:1fr}.operations-card.wide{grid-column:auto}.operations-module{gap:14px}}@media (max-width: 768px){.operations-health-card,.operations-count-card{padding:12px 14px}.operations-health-card strong,.operations-count-card strong{font-size:12px}.operations-card-header{padding:10px 14px}.operations-card-header h3{font-size:11px}.operations-form{padding:14px}.operations-form textarea{min-height:80px}.operations-toggle-row,.operations-feature-toggle{padding:8px 12px}.operations-feature-grid,.operations-emergency-grid{padding:14px}}@media (max-width: 480px){.operations-health-grid,.operations-count-grid{gap:8px}.operations-health-card,.operations-count-card{padding:10px 12px}.operations-health-card i{width:32px;height:32px;font-size:14px}.operations-health-card strong,.operations-count-card strong{font-size:11px}.operations-health-card span,.operations-count-card span{font-size:8px}.operations-form{padding:12px;gap:10px}.operations-form textarea{min-height:60px}.operations-toggle-row,.operations-feature-toggle{flex-direction:column;align-items:stretch;gap:8px}.operations-feature-grid,.operations-emergency-grid{padding:12px}.ops-btn{width:100%;justify-content:center}}.operations-health-card:focus-visible,.operations-count-card:focus-visible,.ops-btn:focus-visible,.operations-form textarea:focus-visible,.operations-form select:focus-visible{outline:2px solid var(--ops-gold);outline-offset:2px}@keyframes opsSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.operations-health-card,.operations-count-card{animation:opsSlideIn .2s ease}.operations-health-card:nth-child(2),.operations-count-card:nth-child(2){animation-delay:.05s}.operations-health-card:nth-child(3),.operations-count-card:nth-child(3){animation-delay:.1s}.operations-health-card:nth-child(4),.operations-count-card:nth-child(4){animation-delay:.15s}@media print{.operations-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important;box-shadow:none!important}.operations-health-card,.operations-count-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important}.ops-btn,.toggle-switch{display:none!important}}:root{--maint-bg: #f5f3ef;--maint-card: #ffffff;--maint-line: #e2ddd4;--maint-line-strong: #d5cfc4;--maint-text: #1a1a1a;--maint-muted: #8a8578;--maint-faint: #c4beb3;--maint-green: #1f6b45;--maint-gold: #c9a44c;--maint-gold-soft: rgba(201, 164, 76, .06);--maint-shadow: 0 8px 24px rgba(0, 0, 0, .08);--maint-font: "SF Mono", "JetBrains Mono", monospace}.maintenance-screen{min-height:100vh;display:grid;place-items:center;background:var(--maint-bg);padding:24px}.maintenance-card{max-width:560px;width:100%;background:var(--maint-card);border:1px solid var(--maint-line);border-radius:4px;padding:40px 44px;text-align:center;box-shadow:var(--maint-shadow);transition:all .15s ease}.maintenance-card:hover{border-color:var(--maint-gold-border)}.maintenance-card i{display:block;font-size:40px;color:var(--maint-gold);margin-bottom:16px;opacity:.85}.maintenance-card h1{margin:0 0 10px;font-size:22px;font-weight:700;color:var(--maint-text);font-family:var(--maint-font);text-transform:uppercase;letter-spacing:-.3px}.maintenance-card .maintenance-status{display:inline-block;padding:4px 16px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;background:var(--maint-gold-soft);border:1px solid var(--maint-line);color:var(--maint-muted);margin-bottom:14px;font-family:var(--maint-font)}.maintenance-card .maintenance-status.active{background:rgba(185,28,28,.08);border-color:#b91c1c26;color:#b91c1c}.maintenance-card .maintenance-status.scheduled{background:var(--maint-gold-soft);border-color:#c9a44c33;color:#8a6500}.maintenance-card .maintenance-status.completed{background:rgba(31,107,69,.06);border-color:#1f6b4526;color:var(--maint-green)}.maintenance-card p{color:var(--maint-muted);line-height:1.7;font-size:13px;font-family:var(--maint-font);margin:0 0 16px}.maintenance-card p:last-child{margin-bottom:0}.maintenance-card .maintenance-time{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--maint-gold-soft);border:1px solid var(--maint-line);border-radius:4px;font-size:11px;color:var(--maint-muted);font-family:var(--maint-font);margin:12px 0 16px}.maintenance-card .maintenance-time i{font-size:14px;margin:0;color:var(--maint-gold)}.maintenance-card .maintenance-time strong{color:var(--maint-text);font-weight:600}.maintenance-card .maintenance-progress{width:100%;height:4px;border-radius:2px;background:var(--maint-line);overflow:hidden;margin:16px 0 12px}.maintenance-card .maintenance-progress .progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--maint-green),var(--maint-gold));transition:width .6s ease;width:0%}.maintenance-card .maintenance-progress .progress-fill.active{animation:progressPulse 1.5s ease-in-out infinite}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.6}}.maintenance-card .maint-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 24px;border:1px solid var(--maint-line);border-radius:4px;background:var(--maint-card);color:var(--maint-text);font-family:var(--maint-font);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;transition:all .15s ease;margin-top:12px;text-decoration:none}.maintenance-card .maint-btn:hover{background:var(--maint-gold-soft);border-color:var(--maint-gold-border);transform:translateY(-1px)}.maintenance-card .maint-btn-primary{background:var(--maint-green);border-color:var(--maint-green);color:#fff}.maintenance-card .maint-btn-primary:hover{background:var(--maint-green-hover, #174f34);border-color:var(--maint-green-hover, #174f34)}.maintenance-card .maint-divider{height:1px;background:var(--maint-line);margin:20px 0}@media (max-width: 640px){.maintenance-card{padding:28px 24px}.maintenance-card h1{font-size:18px}.maintenance-card i{font-size:32px}.maintenance-card p{font-size:12px}.maintenance-card .maintenance-time{font-size:10px;padding:6px 14px}.maintenance-card .maint-btn{font-size:10px;padding:6px 18px}}@media (max-width: 400px){.maintenance-card{padding:20px 16px}.maintenance-card h1{font-size:16px}.maintenance-card i{font-size:28px}.maintenance-card p{font-size:11px}.maintenance-card .maintenance-status{font-size:8px;padding:3px 12px}.maintenance-card .maintenance-time{font-size:9px;padding:4px 12px;flex-wrap:wrap;justify-content:center}.maintenance-card .maint-btn{font-size:9px;padding:6px 16px;width:100%;justify-content:center}}.maintenance-card .maint-btn:focus-visible{outline:2px solid var(--maint-gold);outline-offset:2px}@media print{.maintenance-screen{background:white!important;padding:0!important}.maintenance-card{border:1px solid #000!important;box-shadow:none!important;padding:32px!important}.maintenance-card .maint-btn{display:none!important}}:root{--security-bg: #f5f3ef;--security-panel: #ffffff;--security-panel-soft: #faf8f5;--security-border: #e2ddd4;--security-border-strong: #d5cfc4;--security-text: #1a1a1a;--security-muted: #8a8578;--security-faint: #c4beb3;--security-green: #1f6b45;--security-green-hover: #174f34;--security-green-soft: rgba(31, 107, 69, .06);--security-gold: #c9a44c;--security-gold-soft: rgba(201, 164, 76, .06);--security-red: #b91c1c;--security-red-soft: rgba(185, 28, 28, .06);--security-orange: #e8a53a;--security-orange-soft: rgba(232, 165, 58, .06);--security-blue: #3b82f6;--security-blue-soft: rgba(59, 130, 246, .06);--security-shadow: 0 4px 12px rgba(0, 0, 0, .06);--security-font: "SF Mono", "JetBrains Mono", monospace}.security-center{width:100%;min-height:100%;padding:0;color:var(--security-text);font-family:var(--security-font)}.security-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:0 0 16px;margin-bottom:16px;border-bottom:2px solid var(--security-border)}.security-header>div{min-width:0}.security-eyebrow{margin:0 0 4px;color:var(--security-gold);font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;font-family:var(--security-font)}.security-header h2{margin:0;color:var(--security-text);font-size:clamp(20px,2.5vw,28px);font-weight:700;line-height:1.1;letter-spacing:-.3px;font-family:var(--security-font);text-transform:uppercase}.security-header p:not(.security-eyebrow){max-width:720px;margin:6px 0 0;color:var(--security-muted);font-size:12px;line-height:1.6;font-family:var(--security-font)}.security-header #securityRefreshBtn{flex:0 0 auto;min-height:36px;padding:0 18px;border:1px solid var(--security-green);border-radius:4px;background:var(--security-green);color:#fff;font-family:var(--security-font);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease}.security-header #securityRefreshBtn:hover{background:var(--security-green-hover);box-shadow:0 4px 12px #1f6b4533;transform:translateY(-1px)}.security-header #securityRefreshBtn:active{transform:translateY(0)}.security-status{margin-bottom:14px;padding:8px 14px;border:1px solid var(--security-border);border-radius:4px;background:var(--security-panel);color:var(--security-text);font-size:11px;font-weight:500;font-family:var(--security-font)}.security-status[hidden]{display:none}.security-status.info{border-color:#3b82f633;background:var(--security-blue-soft);color:#2563eb;border-left:3px solid #2563eb}.security-status.success{border-color:#1f6b4533;background:var(--security-green-soft);color:var(--security-green);border-left:3px solid var(--security-green)}.security-status.warning{border-color:#e8a53a33;background:var(--security-orange-soft);color:#b45309;border-left:3px solid #b45309}.security-status.error{border-color:#b91c1c33;background:var(--security-red-soft);color:var(--security-red);border-left:3px solid var(--security-red)}.security-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,200px);gap:10px;margin-bottom:16px}.security-search-wrap{position:relative}.security-search-wrap>i{position:absolute;left:12px;top:50%;z-index:1;transform:translateY(-50%);color:var(--security-muted);font-size:13px;pointer-events:none}.security-search-wrap input,#securityFilter{width:100%;min-height:36px;border:1px solid var(--security-border);border-radius:4px;background:var(--security-panel);color:var(--security-text);font-family:var(--security-font);font-size:12px;transition:all .15s ease}.security-search-wrap input{padding:0 12px 0 36px}#securityFilter{padding:0 32px 0 12px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a8578'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.security-search-wrap input::placeholder{color:var(--security-faint)}.security-search-wrap input:focus,#securityFilter:focus{outline:none;border-color:var(--security-gold);background:var(--security-panel);box-shadow:0 0 0 3px #c9a44c1f}.security-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.security-card{min-width:0;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--security-border);border-radius:4px;background:var(--security-panel);box-shadow:var(--security-shadow);transition:all .15s ease}.security-card:hover{border-color:var(--security-gold-border);box-shadow:0 6px 16px #00000014;transform:translateY(-2px)}.security-card-icon{width:34px;height:34px;flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:var(--security-green-soft);color:var(--security-green);font-size:14px}.security-card[data-type=locked] .security-card-icon,.security-card[data-type=error] .security-card-icon{background:var(--security-red-soft);color:var(--security-red)}.security-card[data-type=impersonation] .security-card-icon{background:var(--security-orange-soft);color:#b45309}.security-card[data-type=role] .security-card-icon,.security-card[data-type=permission] .security-card-icon{background:var(--security-gold-soft);color:var(--security-gold)}.security-card span{display:block;margin-bottom:2px;color:var(--security-muted);font-size:8px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;font-family:var(--security-font)}.security-card strong{display:block;color:var(--security-text);font-size:20px;font-weight:700;line-height:1;font-family:var(--security-font)}.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.security-panel{min-width:0;overflow:hidden;border:1px solid var(--security-border);border-radius:4px;background:var(--security-panel);box-shadow:var(--security-shadow)}.security-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:2px solid var(--security-border);background:var(--security-panel-soft)}.security-panel-header h3{margin:0;color:var(--security-text);font-size:12px;font-weight:600;font-family:var(--security-font);text-transform:uppercase;letter-spacing:.3px}.security-panel-header p{margin:3px 0 0;color:var(--security-muted);font-size:10px;line-height:1.4;font-family:var(--security-font)}.security-table{max-height:360px;overflow:auto}.security-table::-webkit-scrollbar{width:4px}.security-table::-webkit-scrollbar-track{background:var(--security-border);border-radius:2px}.security-table::-webkit-scrollbar-thumb{background:var(--security-gold);border-radius:2px}.security-row{display:grid;grid-template-columns:minmax(160px,1.4fr) repeat(2,minmax(100px,.75fr)) auto;align-items:center;gap:12px;min-height:60px;padding:10px 14px;border-bottom:1px solid var(--security-border);background:var(--security-panel);transition:all .15s ease}.security-row:last-child{border-bottom:0}.security-row:hover{background:var(--security-gold-soft)}.security-row[hidden]{display:none!important}.security-row>div{min-width:0}.security-row strong{display:block;color:var(--security-text);font-size:12px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;font-family:var(--security-font)}.security-row small{display:block;margin-top:2px;color:var(--security-muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere;font-family:var(--security-font)}.security-person{display:flex;align-items:center;gap:10px}.security-avatar{width:32px;height:32px;flex:0 0 32px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:var(--security-green-soft);color:var(--security-green);font-size:11px;font-weight:700;font-family:var(--security-font);border:1px solid rgba(31,107,69,.08)}.security-meta span{display:block;margin-bottom:2px;color:var(--security-muted);font-size:8px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;font-family:var(--security-font)}.security-meta strong{font-size:11px;font-family:var(--security-font)}.security-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px}.security-actions button,.security-center .btn-secondary{min-height:30px;padding:0 12px;border:1px solid var(--security-border-strong);border-radius:4px;background:var(--security-panel);color:var(--security-text);font-family:var(--security-font);font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;transition:all .15s ease}.security-actions button:hover,.security-center .btn-secondary:hover{border-color:var(--security-green);background:var(--security-green);color:#fff;transform:translateY(-1px)}.security-actions button[data-security-action=revokeSessions],.security-actions button[data-security-action=forceLogout],.security-actions button[data-security-action=lockUser]{border-color:#b91c1c33;color:var(--security-red)}.security-actions button[data-security-action=revokeSessions]:hover,.security-actions button[data-security-action=forceLogout]:hover,.security-actions button[data-security-action=lockUser]:hover{border-color:var(--security-red);background:var(--security-red);color:#fff}.security-audit-row{grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(90px,.7fr))}.security-audit-row>div:first-child strong{color:var(--security-green)}.security-empty-row{min-height:72px;padding:16px 20px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--security-muted);font-size:11px;text-align:center;font-family:var(--security-font)}.security-empty-row i{color:var(--security-gold);opacity:.4}.security-loading,.security-empty,.security-error{margin-top:14px;padding:24px 20px;border:2px dashed var(--security-border);border-radius:4px;background:var(--security-panel);color:var(--security-muted);font-size:12px;text-align:center;font-family:var(--security-font)}.security-loading i{margin-right:6px;color:var(--security-gold)}.security-error{border-color:#b91c1c33;background:var(--security-red-soft);color:var(--security-red)}.security-loading.hidden,.security-empty.hidden,.security-error.hidden{display:none}.security-error-state{min-height:320px;display:grid;place-items:center}.security-error-card{max-width:480px;padding:32px 36px;border:1px solid rgba(185,28,28,.15);border-radius:4px;background:var(--security-panel);box-shadow:var(--security-shadow);text-align:center}.security-error-card>i{margin-bottom:12px;color:var(--security-red);font-size:32px;opacity:.6}.security-error-card h2{margin:0 0 6px;font-size:18px;font-weight:700;font-family:var(--security-font);text-transform:uppercase;letter-spacing:.3px}.security-error-card p{margin:0 0 16px;color:var(--security-muted);font-size:12px;line-height:1.6;font-family:var(--security-font)}.security-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:7000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(2,6,23,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.security-modal.open{display:flex;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.security-modal-card{width:min(100%,480px);overflow:hidden;border:1px solid var(--security-border-strong);border-radius:4px;background:var(--security-panel);box-shadow:0 16px 48px #00000026;animation:modalSlideUp .2s ease}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.security-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:2px solid var(--security-border);background:var(--security-panel-soft)}.security-modal-header h3{margin:0;font-size:14px;font-weight:600;font-family:var(--security-font);text-transform:uppercase;letter-spacing:.3px}.security-modal-header p{margin:3px 0 0;color:var(--security-muted);font-size:10px;font-family:var(--security-font)}.security-modal-close{width:30px;height:30px;border:1px solid var(--security-border);border-radius:4px;background:var(--security-panel);color:var(--security-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s ease;flex-shrink:0}.security-modal-close:hover{background:var(--security-gold-soft);border-color:var(--security-gold-border);color:var(--security-text);transform:rotate(90deg)}.security-modal-body{padding:18px}.security-modal-body label{display:block;margin-bottom:4px;color:var(--security-muted);font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;font-family:var(--security-font)}.security-modal-body input,.security-modal-body textarea,.security-modal-body select{width:100%;border:1px solid var(--security-border);border-radius:4px;background:var(--security-panel);color:var(--security-text);font-family:var(--security-font);font-size:12px;transition:all .15s ease}.security-modal-body input,.security-modal-body select{min-height:36px;padding:0 12px}.security-modal-body textarea{min-height:100px;padding:10px 12px;resize:vertical;line-height:1.5}.security-modal-body input:focus,.security-modal-body textarea:focus,.security-modal-body select:focus{outline:none;border-color:var(--security-gold);box-shadow:0 0 0 3px #c9a44c1f}.security-modal-body input::placeholder,.security-modal-body textarea::placeholder{color:var(--security-faint)}.security-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:2px solid var(--security-border);background:var(--security-panel-soft)}.security-modal-footer button{min-height:34px;padding:0 16px;border-radius:4px;font-family:var(--security-font);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;transition:all .15s ease}.security-modal-cancel{border:1px solid var(--security-border-strong);background:var(--security-panel);color:var(--security-text)}.security-modal-cancel:hover{background:var(--security-gold-soft);border-color:var(--security-gold-border)}.security-modal-confirm{border:1px solid var(--security-red);background:var(--security-red);color:#fff}.security-modal-confirm:hover{background:#7f1d1d;border-color:#7f1d1d}@media (max-width: 1180px){.security-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.security-grid{grid-template-columns:1fr}}@media (max-width: 820px){.security-header{flex-direction:column}.security-header #securityRefreshBtn{width:100%;justify-content:center}.security-toolbar{grid-template-columns:1fr}.security-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.security-row,.security-audit-row{grid-template-columns:1fr;gap:8px;min-height:52px;padding:10px 14px}.security-actions{justify-content:flex-start}}@media (max-width: 600px){.security-cards{grid-template-columns:1fr 1fr;gap:8px}.security-card{padding:10px 12px}.security-card strong{font-size:18px}}@media (max-width: 520px){.security-center{padding:0}.security-cards{grid-template-columns:1fr}.security-card,.security-panel-header{padding:10px 12px}.security-panel-header h3{font-size:11px}.security-row{padding:8px 12px}.security-actions{display:grid;grid-template-columns:1fr}.security-actions button{width:100%;justify-content:center}.security-modal-card{width:calc(100% - 16px)}.security-modal-footer{flex-direction:column}.security-modal-footer button{width:100%;justify-content:center}.security-header h2{font-size:18px}.security-error-card{padding:24px 20px}}.security-header #securityRefreshBtn:focus-visible,.security-search-wrap input:focus-visible,#securityFilter:focus-visible,.security-actions button:focus-visible,.security-modal-close:focus-visible,.security-modal-confirm:focus-visible,.security-modal-cancel:focus-visible{outline:2px solid var(--security-gold);outline-offset:2px}@media print{.security-center{background:white!important;padding:0!important}.security-panel{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important;box-shadow:none!important}.security-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #000!important}.security-header #securityRefreshBtn,.security-actions,.security-toolbar{display:none!important}.security-status{border:1px solid #000!important}}:root{--support-bg: #f4f1eb;--support-surface: #ffffff;--support-surface-soft: #faf8f4;--support-border: #ded8cd;--support-border-strong: #cfc7b9;--support-text: #171a18;--support-muted: #777166;--support-faint: #aaa397;--support-green: #1f6b45;--support-green-dark: #164f34;--support-green-soft: rgba(31, 107, 69, .08);--support-gold: #c59b3d;--support-gold-soft: rgba(197, 155, 61, .1);--support-red: #b83b36;--support-red-soft: rgba(184, 59, 54, .09);--support-shadow: 0 8px 24px rgba(28, 32, 29, .06);--support-radius: 8px;--support-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--support-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace}section[data-view=support]{width:100%;min-width:0}.support-shell{width:100%;padding:18px;background:var(--support-bg);color:var(--support-text);font-family:var(--support-font)}.support-command-header{display:grid;grid-template-columns:minmax(260px,1fr) minmax(560px,1.7fr);gap:18px;align-items:stretch;margin-bottom:14px}.support-command-title,.support-stat-card,.support-create-panel,.support-workspace,.support-detail-panel{background:var(--support-surface);border:1px solid var(--support-border);box-shadow:var(--support-shadow)}.support-command-title{border-radius:var(--support-radius);padding:18px 20px;border-top:3px solid var(--support-green)}.support-kicker{margin:0 0 5px;color:var(--support-gold);font:700 10px/1 var(--support-mono);letter-spacing:.11em;text-transform:uppercase}.support-command-title h1,.support-panel-heading h2,.support-workspace-header h2,.support-detail-header h3{margin:0;color:var(--support-text);font-weight:750}.support-command-title h1{font-size:clamp(22px,2vw,30px);letter-spacing:-.04em}.support-command-title>p:last-child{margin:7px 0 0;color:var(--support-muted);font-size:13px;line-height:1.5}.support-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.support-stat-card{min-width:0;border-radius:var(--support-radius);padding:14px 16px;position:relative;overflow:hidden}.support-stat-card:after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--support-border-strong)}.support-stat-card.is-open:after{background:var(--support-green)}.support-stat-card.is-pending:after{background:var(--support-gold)}.support-stat-card.is-closed:after{background:#7d877f}.support-stat-card span{display:block;color:var(--support-muted);font:700 9px/1 var(--support-mono);letter-spacing:.08em;text-transform:uppercase}.support-stat-card strong{display:block;margin-top:8px;font-size:26px;line-height:1}.support-stat-card small{display:block;margin-top:7px;color:var(--support-muted);font-size:11px}.support-command-grid{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(620px,1.72fr);gap:14px;align-items:start}.support-create-panel,.support-workspace{border-radius:var(--support-radius);min-width:0}.support-create-panel{padding:16px;position:sticky;top:calc(var(--topbar-height, 56px) + 12px)}.support-panel-heading,.support-workspace-header,.support-detail-header,.support-thread-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.support-panel-heading{padding-bottom:13px;margin-bottom:13px;border-bottom:1px solid var(--support-border)}.support-panel-heading h2,.support-workspace-header h2{font-size:15px;text-transform:uppercase;letter-spacing:.02em;font-family:var(--support-mono)}.support-panel-heading>i{color:var(--support-green);font-size:22px}.support-form{display:grid;gap:11px}.support-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.support-field{display:grid;gap:5px;min-width:0}.support-field>span{color:var(--support-muted);font:700 9px/1 var(--support-mono);letter-spacing:.06em;text-transform:uppercase}.support-field input,.support-field select,.support-field textarea,.support-search-box,.support-filter-select,.support-reply-bar textarea{border:1px solid var(--support-border);background:var(--support-surface-soft);color:var(--support-text);border-radius:6px;font:13px/1.4 var(--support-font);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.support-field input,.support-field select{height:40px;padding:0 11px}.support-field textarea{width:100%;min-height:150px;padding:10px 11px;resize:vertical}.support-field input:focus,.support-field select:focus,.support-field textarea:focus,.support-filter-select:focus,.support-search-box:focus-within,.support-reply-bar textarea:focus{outline:none;border-color:var(--support-gold);box-shadow:0 0 0 3px var(--support-gold-soft);background:#fff}.support-form-actions{display:flex;gap:8px;padding-top:2px}.support-btn{min-height:36px;padding:0 13px;border:1px solid var(--support-border-strong);border-radius:6px;background:var(--support-surface);color:var(--support-text);font:700 10px/1 var(--support-mono);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.16s ease}.support-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 12px #0000000f}.support-btn:disabled{opacity:.6;cursor:wait}.support-btn-primary{color:#fff;background:var(--support-green);border-color:var(--support-green)}.support-btn-primary:hover:not(:disabled){background:var(--support-green-dark);border-color:var(--support-green-dark)}.support-btn-danger{color:var(--support-red);border-color:#b83b3647;background:var(--support-red-soft)}.support-workspace{overflow:hidden}.support-workspace-header{padding:14px 16px;border-bottom:1px solid var(--support-border)}.support-toolbar{display:flex;align-items:center;gap:8px;min-width:0}.support-search-box{height:38px;min-width:260px;padding:0 11px;display:flex;align-items:center;gap:8px}.support-search-box i{color:var(--support-faint);font-size:12px}.support-search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--support-text);font-size:12px}.support-filter-select{height:38px;padding:0 30px 0 10px;min-width:120px}.support-table-wrap{overflow-x:auto}.support-ticket-table{width:100%;border-collapse:collapse;table-layout:fixed}.support-ticket-table th{padding:9px 12px;color:var(--support-muted);background:#f6f3ed;border-bottom:1px solid var(--support-border);text-align:left;font:700 9px/1 var(--support-mono);letter-spacing:.07em;text-transform:uppercase}.support-ticket-table th:first-child{width:48%}.support-ticket-table th:nth-child(2){width:14%}.support-ticket-table th:nth-child(3){width:14%}.support-ticket-table th:nth-child(4){width:20%}.support-ticket-table th:last-child{width:4%}.support-ticket-row{cursor:pointer;transition:background .14s ease,box-shadow .14s ease}.support-ticket-row td{padding:11px 12px;border-bottom:1px solid var(--support-border);color:var(--support-muted);font-size:12px;vertical-align:middle}.support-ticket-row:hover,.support-ticket-row.is-selected{background:var(--support-green-soft)}.support-ticket-row.is-selected{box-shadow:inset 3px 0 0 var(--support-green)}.support-ticket-row td:first-child strong{display:block;color:var(--support-text);font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.support-ticket-row td:first-child span{display:block;margin-top:3px;color:var(--support-faint);font:10px/1.2 var(--support-mono)}.support-ticket-row td:last-child{color:var(--support-faint);text-align:right}.support-badge{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:999px;font:700 9px/1 var(--support-mono);text-transform:uppercase;letter-spacing:.04em}.status-open,.priority-normal{color:var(--support-green);background:var(--support-green-soft)}.status-pending,.priority-low{color:#8a6a20;background:var(--support-gold-soft)}.status-closed{color:#677068;background:#eef0ed}.priority-high,.priority-urgent{color:var(--support-red);background:var(--support-red-soft)}.priority-urgent{box-shadow:inset 0 0 0 1px #b83b3640}.support-detail-panel{margin:12px;border-radius:7px;box-shadow:none;overflow:hidden}.support-detail-header{align-items:flex-start;padding:14px;border-bottom:1px solid var(--support-border)}.support-detail-header h3{font-family:var(--support-mono);font-size:16px;text-transform:uppercase;letter-spacing:.01em}.support-detail-meta-line{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:7px;color:var(--support-muted);font-size:11px}.support-detail-meta-line strong{color:var(--support-text)}.support-detail-badges{display:flex;gap:6px;flex-shrink:0}.support-ticket-summary{padding:12px 14px;color:var(--support-muted);background:var(--support-surface-soft);border-bottom:1px solid var(--support-border);font-size:12px;line-height:1.55}.support-thread{padding:13px 14px 8px}.support-thread-heading{margin-bottom:9px}.support-thread-heading h4{margin:0;font:750 12px/1 var(--support-mono);text-transform:uppercase}.support-thread-heading span{color:var(--support-faint);font-size:11px}.support-message-list{display:grid;gap:7px;max-height:300px;overflow-y:auto;padding-right:2px}.support-message{padding:10px 12px;border:1px solid var(--support-border);border-radius:6px;background:var(--support-surface)}.support-message.is-staff{background:var(--support-gold-soft);border-left:3px solid var(--support-gold)}.support-message header{display:flex;justify-content:space-between;gap:12px;align-items:center}.support-message header div{display:flex;align-items:center;gap:7px}.support-message header strong{color:var(--support-text);font-size:11px}.support-message header span{color:#8a6a20;font:700 8px/1 var(--support-mono);text-transform:uppercase}.support-message time{color:var(--support-faint);font:9px/1 var(--support-mono)}.support-message p{margin:7px 0 0;color:var(--support-muted);font-size:12px;line-height:1.5}.support-reply-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:10px 14px 14px}.support-reply-bar textarea{min-height:44px;padding:10px 11px;resize:vertical}.support-closed-notice{margin:10px 14px 14px;padding:10px 12px;border-radius:6px;background:#eef0ed;color:#677068;font-size:12px}.support-status{margin-bottom:12px;padding:10px 13px;border-radius:6px;border:1px solid transparent;font-size:12px}.support-status.is-info{color:#765b1f;background:var(--support-gold-soft);border-color:#c59b3d38}.support-status.is-success{color:var(--support-green);background:var(--support-green-soft);border-color:#1f6b452e}.support-status.is-error{color:var(--support-red);background:var(--support-red-soft);border-color:#b83b362e}.support-empty-state,.support-detail-empty,.support-loading-state,.support-error-state,.support-thread-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--support-muted)}.support-empty-state{min-height:180px;padding:24px}.support-detail-empty{min-height:220px;flex-direction:row;gap:12px}.support-empty-state i,.support-detail-empty i,.support-loading-state i,.support-error-state i{color:var(--support-gold);font-size:24px}.support-empty-state h3,.support-detail-empty h3,.support-error-state h2{margin:8px 0 3px}.support-empty-state p,.support-detail-empty p,.support-error-state p{margin:0;font-size:12px}.support-loading-state,.support-error-state{min-height:420px;gap:10px;background:var(--support-bg)}.support-thread-empty{min-height:80px;border:1px dashed var(--support-border);border-radius:6px}@media (max-width: 1180px){.support-command-header{grid-template-columns:1fr}.support-command-grid{grid-template-columns:minmax(300px,.85fr) minmax(540px,1.4fr)}.support-stat-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 980px){.support-command-grid{grid-template-columns:1fr}.support-create-panel{position:static}.support-workspace-header{align-items:flex-start;flex-direction:column}.support-toolbar{width:100%}.support-search-box{flex:1}}@media (max-width: 720px){.support-shell{padding:10px}.support-stat-grid{grid-template-columns:repeat(2,1fr)}.support-field-row,.support-reply-bar{grid-template-columns:1fr}.support-toolbar{display:grid;grid-template-columns:1fr 1fr}.support-search-box{grid-column:1 / -1;min-width:0}.support-ticket-table th:nth-child(3),.support-ticket-table td:nth-child(3),.support-ticket-table th:nth-child(4),.support-ticket-table td:nth-child(4){display:none}.support-ticket-table th:first-child{width:65%}.support-ticket-table th:nth-child(2){width:30%}.support-ticket-table th:last-child{width:5%}.support-detail-header{flex-direction:column}}@media (max-width: 440px){.support-stat-grid,.support-toolbar{grid-template-columns:1fr}.support-search-box{grid-column:auto}.support-filter-select{width:100%}}:root{--bg: #f6fbf7;--bg-2: #eef6f0;--panel: #f6fbf7;--card: #ffffff;--card-2: #f7faf8;--text: #0f172a;--muted: #475569;--brand: #0A2415;--brand-2: #123a22;--accent: #D6B25E;--danger: #b91c1c;--success: #166534;--warning: #a16207;--border: rgba(15, 23, 42, .12);--shadow: 0 14px 38px rgba(2, 6, 23, .1);--radius: 12px;--container-max-width: 1400px;--color-bg-primary: var(--bg);--color-bg-secondary: var(--bg-2);--color-bg-surface: var(--card);--color-border: rgba(15, 23, 42, .14);--color-border-light: rgba(15, 23, 42, .08);--color-border-accent: rgba(10, 36, 21, .25);--color-text-primary: var(--text);--color-text-secondary: rgba(15, 23, 42, .72);--color-text-tertiary: rgba(15, 23, 42, .52);--color-primary: var(--brand);--color-primary-light: rgba(10, 36, 21, .12);--color-primary-dark: #06160D;--font-serif: Georgia, "Times New Roman", Times, serif;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 18px;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--border-color: var(--color-border);--card-bg: var(--color-bg-surface);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-tertiary: var(--color-text-tertiary);--primary: var(--color-primary);--primary-light: var(--color-primary-light)}body{margin:0;color:var(--text);font:400 14px/1.45 system-ui,Segoe UI,Inter,Arial;background:radial-gradient(1200px 600px at 18% -10%,rgba(10,36,21,.1),transparent 55%),radial-gradient(900px 500px at 90% 10%,rgba(214,178,94,.1),transparent 58%),linear-gradient(180deg,#f8fcf9 0%,#eff6f1 55%,#f6fbf7 100%)}.sidebar{background:linear-gradient(180deg,rgba(10,36,21,.98) 0%,rgba(6,22,13,.98) 100%);color:#ffffffeb;border-right:1px solid rgba(255,255,255,.1);padding:18px 14px;position:sticky;top:0;height:100vh;overflow:auto}.sidebar a,.sidebar button,.sidebar .nav-link{color:#ffffffe0}.sidebar a:hover,.sidebar button:hover,.sidebar .nav-link:hover{color:#fff}.card{grid-column:span 4;background:linear-gradient(180deg,var(--card),var(--card-2));border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;min-width:0}.notes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.note-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px;background:#ffffff;border:1px solid var(--color-border-light);border-radius:12px}.note-title{font-weight:600}.note-content{color:var(--color-text-secondary)}.note-actions .btn-edit,.note-actions .btn-delete{background:rgba(10,36,21,.06);border:1px solid rgba(10,36,21,.16);padding:7px;border-radius:10px;color:var(--color-text-primary)}.note-actions .btn-edit:hover,.note-actions .btn-delete:hover{border-color:#0a24154d}.task-item{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:10px;background:#ffffff;border:1px solid var(--color-border-light);border-radius:12px}.task-checkbox{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:rgba(10,36,21,.06);border:1px solid rgba(10,36,21,.18)}.task-checkbox.checked{background:linear-gradient(135deg,rgba(22,101,52,.95),rgba(34,197,94,.85));border-color:#16653473}.task-text.completed{opacity:.6;text-decoration:line-through}.mini-input,.neo-input,.neo-select,.add-input,.auth-input,.modal-input,textarea,input,select{width:100%;background:#ffffff;color:var(--color-text-primary);border:1px solid var(--color-border-light);border-radius:10px;padding:10px 12px;outline:none}.mini-input:focus,.neo-input:focus,.neo-select:focus,.add-input:focus,.auth-input:focus,.modal-input:focus,textarea:focus,input:focus,select:focus{border-color:#0a241566;box-shadow:0 0 0 3px #0a24151f}.btn-primary,.btn-secondary,.card-action,.add-button,.neo-btn{cursor:pointer;border:0;border-radius:10px;padding:10px 14px;box-shadow:0 10px 24px #0206171a;transition:transform .08s ease,filter .15s ease,box-shadow .15s ease}.btn-primary,.add-button{background:linear-gradient(180deg,var(--brand),var(--color-primary-dark));color:#fff}.btn-primary:hover,.add-button:hover{filter:brightness(1.05)}.btn-primary:active,.add-button:active{transform:translateY(1px)}.btn-secondary{background:#ffffff;color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:none}.btn-secondary:hover{background:rgba(10,36,21,.04);border-color:#0a241538}.neo-btn{background:rgba(214,178,94,.14);border:1px solid rgba(214,178,94,.32);color:var(--color-text-primary);box-shadow:none}.neo-btn.warn{background:rgba(185,28,28,.1);border-color:#b91c1c40;color:#7f1d1d}.note-card{border:1px solid var(--border-color);border-radius:12px;padding:12px;background:var(--card-bg);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.note-card:hover{transform:translateY(-2px);border-color:#0a241538;box-shadow:0 14px 28px #0206171f}.note-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.note-title{font-weight:650;font-size:16px;color:var(--text-primary);flex:1}.note-tag{font-size:12px;padding:3px 9px;border-radius:999px;background:rgba(10,36,21,.1);color:var(--primary);margin-left:8px;border:1px solid rgba(10,36,21,.18)}.note-body{color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:8px}.note-date{font-size:12px;color:var(--text-tertiary);text-align:right}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card{background:#ffffff;border:1px solid var(--color-border-light);border-radius:12px;padding:12px}.stat-icon{font-size:18px;opacity:.9}.stat-value{font-size:22px;font-weight:750;margin:6px 0}.stat-label{color:var(--muted);font-size:12px}@media (max-width: 900px){.notes-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}}:root{--deep-bg: var(--color-bg-primary, #f6fbf7);--deep-card: var(--color-bg-surface, #ffffff);--deep-ink: var(--color-text-primary, #0f172a);--deep-ink-muted: var(--color-text-secondary, rgba(15, 23, 42, .72));--deep-grid: var(--color-border, rgba(15, 23, 42, .14));--deep-grid-soft: var(--color-border-light, rgba(15, 23, 42, .08));--deep-accent: var(--color-primary, #0A2415);--deep-accent-2: rgba(10, 36, 21, .7);--google: #16a34a;--shadow: 0 14px 32px rgba(2, 6, 23, .12);--surface: var(--deep-card);--border: var(--deep-grid)}.card-schedule{background:var(--deep-card);color:var(--deep-ink);border:1px solid var(--deep-grid);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.card-schedule .card-header{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(10,36,21,.1),rgba(10,36,21,0));border-bottom:1px solid var(--deep-grid);padding:12px 14px}.card-schedule .card-title{font-weight:700;letter-spacing:.2px}.schedule-toolbar{display:flex;gap:8px}.schedule-toolbar .btn{background:rgba(10,36,21,.08);color:var(--deep-ink);border:1px solid rgba(10,36,21,.16);border-radius:10px;padding:6px 10px;font-size:12px;cursor:pointer}.schedule-toolbar .btn:hover{border-color:#0a241552}.schedule-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;background:var(--deep-card);color:var(--deep-ink);border:1px solid var(--deep-grid);border-radius:12px;overflow:hidden}.schedule-table thead th{position:sticky;top:0;background:rgba(10,36,21,.06);color:var(--deep-ink);font-weight:650;font-size:12px;text-transform:uppercase;letter-spacing:.4px;padding:10px 8px;border-bottom:1px solid var(--deep-grid);z-index:2}.schedule-table th:first-child,.schedule-table td:first-child{width:80px}.schedule-table tbody td,.schedule-table tbody th{border-bottom:1px solid var(--deep-grid-soft);border-right:1px solid var(--deep-grid-soft);padding:8px;vertical-align:top}.schedule-table tbody td:last-child,.schedule-table thead th:last-child{border-right:none}.time-group-header td{background:rgba(10,36,21,.06);color:var(--deep-ink-muted);border-top:1px solid var(--deep-grid);border-bottom:1px solid var(--deep-grid)}.time-group-label{font-weight:750;font-size:12px;text-transform:uppercase;letter-spacing:.4px}.time-slot{color:var(--deep-ink-muted);font-weight:650;font-feature-settings:"tnum" 1;white-space:nowrap}.day-cell{min-height:60px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,250,248,.92));transition:background .15s ease}.day-cell:hover{background:rgba(10,36,21,.05)}.is-today{background:linear-gradient(180deg,rgba(10,36,21,.1),rgba(10,36,21,.04));outline:1px solid rgba(10,36,21,.22)}.now-line{position:relative}.now-line:after{content:"";position:absolute;left:0;right:0;top:calc(50% - 1px);height:2px;background:var(--deep-accent);opacity:.55}.event-card{background:#ffffff;border:1px solid rgba(10,36,21,.18);border-left:3px solid var(--deep-accent);border-radius:11px;padding:8px 10px;margin:6px 0;box-shadow:0 10px 22px #02061714;max-width:100%;overflow:hidden}.event-card .event-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.event-time{font-size:12px;color:var(--deep-ink-muted);font-weight:650}.badge-google{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--google);background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.28);padding:2px 6px;border-radius:999px}.event-title{white-space:normal;word-break:break-word;font-size:14px}.event-desc,.event-location,.event-meta{font-size:12px;color:var(--deep-ink-muted);margin-top:4px;white-space:pre-wrap;word-break:break-word}.event-meta{display:flex;flex-wrap:wrap;gap:8px}.event-chip{display:inline-flex;align-items:center;border:1px solid var(--deep-grid);background:rgba(10,36,21,.05);padding:2px 8px;border-radius:999px;font-size:11px}.events-only .time-row td{padding-top:10px;padding-bottom:10px}.schedule-table th:first-child,.schedule-table td:first-child{position:sticky;left:0;z-index:1;background:rgba(10,36,21,.04)}#eventsContainer.compact .day-cell{padding:4px}#eventsContainer.compact .event-card{margin:4px 0;padding:7px 9px}.event-actions{display:flex;gap:6px;margin-top:6px}.event-actions .btn-edit,.event-actions .btn-delete{background:rgba(10,36,21,.06);border:1px solid rgba(10,36,21,.16);color:var(--deep-ink);padding:5px 7px;border-radius:9px;cursor:pointer}.event-actions .btn-edit:hover{border-color:#0a24154d}.event-actions .btn-delete:hover{border-color:#b91c1c59}.span-fill{height:8px;margin:6px 8px;border-radius:6px;background:rgba(10,36,21,.1);border:1px solid rgba(10,36,21,.22)}.event-chip{border:1px solid var(--border);border-radius:10px;padding:8px;margin:4px 0;background:var(--surface);font-size:12px}.event-chip.is-complete{opacity:.7;text-decoration:line-through}.event-chip-top{display:flex;gap:8px;justify-content:space-between;align-items:flex-start}.event-chip-title{font-weight:750;line-height:1.2}.event-chip-actions{display:flex;gap:6px}.mini-icon{border:1px solid rgba(10,36,21,.18);background:transparent;border-radius:8px;padding:4px 6px;cursor:pointer}.event-chip-time,.event-chip-loc{opacity:.82;margin-top:4px}.schedule-compact .sched-row td,.schedule-compact .sched-row th{padding-top:6px;padding-bottom:6px}.schedule-table .is-today{background:rgba(10,36,21,.06)}#assignmentsContainer{display:flex;flex-direction:column;gap:10px;background:var(--deep-card);border:1px solid var(--deep-grid);border-radius:12px;box-shadow:var(--shadow);padding:10px;color:var(--deep-ink);min-height:140px}.assignment-item{display:grid;grid-template-columns:36px 1fr auto;align-items:start;gap:12px;background:#ffffff;border:1px solid rgba(10,36,21,.18);border-left:3px solid var(--deep-accent);border-radius:12px;padding:10px 12px;box-shadow:0 12px 22px #02061714;transition:background .2s ease,border-color .2s ease,transform .05s ease}.assignment-item:hover{background:rgba(10,36,21,.04);border-color:#0a241547}.assignment-check{width:26px;height:26px;border-radius:50%;border:2px solid rgba(10,36,21,.5);display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:2px;background:rgba(10,36,21,.06)}.assignment-check.checked{background:rgba(22,101,52,.95);border-color:#16653473;color:#fff}.assignment-check i{font-size:13px}.assignment-main{min-width:0}.assignment-title{font-weight:800;letter-spacing:.2px;line-height:1.2;margin-bottom:4px;color:var(--deep-ink);word-break:break-word}.assignment-main.completed .assignment-title{opacity:.65;text-decoration:line-through}.assignment-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--deep-ink-muted)}.assignment-meta .sep{opacity:.55}.badge,.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(10,36,21,.18);background:rgba(10,36,21,.05);padding:2px 8px;border-radius:999px;font-size:11px}.chip-danger{border-color:#b91c1c47;background:rgba(185,28,28,.08);color:#7f1d1d}.chip-warning{border-color:#a162074d;background:rgba(161,98,7,.1);color:#854d0e}.chip-success{border-color:#16653447;background:rgba(22,101,52,.1);color:#166534}.assignment-actions{display:flex;gap:8px}.btn-icon{background:rgba(10,36,21,.06);border:1px solid rgba(10,36,21,.18);color:var(--deep-ink);padding:6px 8px;border-radius:10px;cursor:pointer}.btn-icon:hover{border-color:#0a241552}#assignmentsContainer .empty-state{text-align:center;padding:24px 8px;color:var(--deep-ink-muted);display:flex;flex-direction:column;align-items:center;gap:8px}#assignmentsContainer .empty-state i{font-size:26px;color:#0a2415bf}@media (max-width: 900px){.schedule-table th:nth-child(2),.schedule-table td:nth-child(2),.schedule-table th:nth-child(3),.schedule-table td:nth-child(3),.schedule-table th:nth-child(4),.schedule-table td:nth-child(4){display:none}.schedule-table th:first-child,.schedule-table td:first-child{width:64px}}
