@charset "UTF-8";:root{--color-action: #2476c5;--color-brand-blue: #174f9a;--color-brand-yellow: #ffd00d;--color-brand-red: #e41f28;--color-brand-blue-soft: #c7e0ff;--color-brand-yellow-soft: #fff1bb;--color-brand-red-soft: #f7bfc2;--color-primary: #174f9a;--color-primary-soft: #c7e0ff;--color-secondary: #ffd00d;--color-secondary-soft: #fff1bb;--color-accent: #e41f28;--color-accent-soft: #f7bfc2;--color-background: #f5f8fb;--color-surface: #ffffff;--color-text: #111111;--color-text-muted: #5f6368;--color-border: #d9dee5;--color-surface-muted: #f7f9fc;--color-surface-glass: rgb(255 255 255 / 93%);--color-muted: #5f6368;--color-primary-hover: #123f7d;--color-action-hover-bg: #f0f5fc;--color-action-hover-border: #a6bfdc;--color-focus: #bfdafa;--color-backdrop: rgb(16 33 60 / 40%);--shadow-raised: 0 8px 24px rgb(23 79 154 / 12%);--shadow-overlay: 0 16px 60px rgb(16 33 60 / 20%);--color-on-primary: #ffffff;--color-on-primary-soft: #d6e4f6;--color-on-primary-muted: #c4d7f0;--color-on-primary-line: rgb(255 255 255 / 18%);--color-on-primary-hover: rgb(255 255 255 / 7%);--color-on-primary-active: rgb(255 255 255 / 12%);--color-on-primary-accent: #86d5ff;--color-success: #067647;--color-success-soft: #ecfdf3;--color-warning: #b54708;--color-warning-soft: #fffaeb;--color-warning-text: #93370d;--color-danger: #b42318;--color-danger-soft: #fef3f2;--color-attention: #ffd00d;--color-attention-soft: #fff1bb;--color-attention-text: #6b4e00;--radius-control: 8px;--radius-card: 12px;--radius-tag: 4px;--control-height: 36px;--control-padding-y: 6px;--tab-height: 36px;--row-action-height: 28px;--row-action-padding-x: 10px;--table-cell-padding-y: 10px;--table-cell-padding-x: 12px;--font-primary: Inter, system-ui, Segoe UI, Arial, sans-serif;--font-secondary: Inter, system-ui, Segoe UI, Arial, sans-serif;--duration-stagger: 40ms;--duration-micro: 80ms;--duration-quick: .15s;--duration-fast: .25s;--duration-medium: .35s;--duration-slow: .4s;--duration-very-slow: .5s;--ease-smooth-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: ease-in-out;--ease-out: ease-out;--ease-linear: linear;--ease-bounce: cubic-bezier(.34, 1.36, .64, 1);--distance-micro: 4px;--distance-small: 6px;--distance-base: 8px;--distance-medium: 12px;--scale-large: .96;--scale-medium: .97;--scale-small: .98;--scale-tiny: .99;--blur-small: 2px;--blur-medium: 3px}@media(pointer:coarse){:root{--control-height: 44px;--control-padding-y: 10px;--tab-height: 44px;--row-action-height: 44px;--row-action-padding-x: 14px;--table-cell-padding-y: 12px}}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}*,*:before,*:after{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;background:var(--color-background);color:var(--color-text);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,picture,svg,canvas{display:block;max-width:100%}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/InterVariable.woff2) format("woff2")}body{font-family:var(--font-secondary);line-height:1.5}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-primary);line-height:1.2}p{margin:0}strong,b{font-weight:700}body:has(app-dashboard-layout .menu-open){overflow:hidden}.subject-color-red{--subject-background: rgb(251.5, 233.3, 233.3);--subject-border: rgb(237.5, 146.5, 146.5);--subject-text: rgb(77, 13.3, 13.3);--subject-accent: #dc2626}.subject-color-yellow{--subject-background: rgb(252.9, 247.4, 230.3);--subject-border: rgb(244.5, 217, 131.5);--subject-text: rgb(81.9, 62.65, 2.8);--subject-accent: #eab308}.subject-color-orange{--subject-background: rgb(252.9, 238.3, 230.7);--subject-border: rgb(244.5, 171.5, 133.5);--subject-text: rgb(81.9, 30.8, 4.2);--subject-accent: #ea580c}.subject-color-amber{--subject-background: rgb(251.2, 241.4, 230.1);--subject-border: rgb(236, 187, 130.5);--subject-text: rgb(75.95, 41.65, 2.1);--subject-accent: #d97706}.subject-color-gold{--subject-background: rgb(249.7, 243.3, 229.9);--subject-border: rgb(228.5, 196.5, 129.5);--subject-text: rgb(70.7, 48.3, 1.4);--subject-accent: #ca8a04}.subject-color-lime{--subject-background: rgb(239.6, 245.8, 230.8);--subject-border: #b2d186;--subject-text: rgb(35.35, 57.05, 4.55);--subject-accent: #65a30d}.subject-color-green{--subject-background: rgb(231.7, 245.8, 236.9);--subject-border: rgb(138.5, 209, 164.5);--subject-text: rgb(7.7, 57.05, 25.9);--subject-accent: #16a34a}.subject-color-emerald{--subject-background: rgb(230, 244.5, 240);--subject-border: rgb(130, 202.5, 180);--subject-text: rgb(1.75, 52.5, 36.75);--subject-accent: #059669}.subject-color-mint{--subject-background: rgb(234.7, 248.4, 245.5);--subject-border: rgb(153.5, 222, 207.5);--subject-text: rgb(18.2, 66.15, 56);--subject-accent: #34bda0}.subject-color-teal{--subject-background: rgb(230.8, 244.3, 243.1);--subject-border: rgb(134, 201.5, 195.5);--subject-text: rgb(4.55, 51.8, 47.6);--subject-accent: #0d9488}.subject-color-cyan{--subject-background: rgb(230.3, 244, 247.3);--subject-border: rgb(131.5, 200, 216.5);--subject-text: rgb(2.8, 50.75, 62.3);--subject-accent: #0891b2}.subject-color-turquoise{--subject-background: rgb(231.5, 247.9, 246.1);--subject-border: rgb(137.5, 219.5, 210.5);--subject-text: rgb(7, 64.4, 58.1);--subject-accent: #14b8a6}.subject-color-sky{--subject-background: rgb(229.7, 242.7, 249.4);--subject-border: rgb(128.5, 193.5, 227);--subject-text: rgb(.7, 46.2, 69.65);--subject-accent: #0284c7}.subject-color-blue{--subject-background: rgb(233.2, 239.4, 253);--subject-border: #92b1f5;--subject-text: rgb(12.95, 34.65, 82.25);--subject-accent: #2563eb}.subject-color-cobalt{--subject-background: rgb(232.4, 237.3, 251.1);--subject-border: rgb(142, 166.5, 235.5);--subject-text: rgb(10.15, 27.3, 75.6);--subject-accent: #1d4ed8}.subject-color-navy{--subject-background: rgb(232.5, 235.3, 243.3);--subject-border: rgb(142.5, 156.5, 196.5);--subject-text: rgb(10.5, 20.3, 48.3);--subject-accent: #1e3a8a}.subject-color-indigo{--subject-background: rgb(237.4, 236.5, 252.4);--subject-border: rgb(167, 162.5, 242);--subject-text: rgb(27.65, 24.5, 80.15);--subject-accent: #4f46e5}.subject-color-violet{--subject-background: rgb(241.9, 235.3, 253.2);--subject-border: rgb(189.5, 156.5, 246);--subject-text: rgb(43.4, 20.3, 82.95);--subject-accent: #7c3aed}.subject-color-purple{--subject-background: rgb(244.2, 234.6, 252.9);--subject-border: rgb(201, 153, 244.5);--subject-text: rgb(51.45, 17.85, 81.9);--subject-accent: #9333ea}.subject-color-lavender{--subject-background: rgb(246.2, 243.4, 254.5);--subject-border: rgb(211, 197, 252.5);--subject-text: rgb(58.45, 48.65, 87.5);--subject-accent: #a78bfa}.subject-color-lilac{--subject-background: rgb(248.7, 242.7, 254.7);--subject-border: rgb(223.5, 193.5, 253.5);--subject-text: rgb(67.2, 46.2, 88.2);--subject-accent: #c084fc}.subject-color-magenta{--subject-background: rgb(248.7, 233.3, 250.6);--subject-border: rgb(223.5, 146.5, 233);--subject-text: rgb(67.2, 13.3, 73.85);--subject-accent: #c026d3}.subject-color-fuchsia{--subject-background: rgb(251.2, 236.5, 253.4);--subject-border: rgb(236, 162.5, 247);--subject-text: rgb(75.95, 24.5, 83.65);--subject-accent: #d946ef}.subject-color-pink{--subject-background: rgb(251.4, 233.4, 241.4);--subject-border: #ed93bb;--subject-text: rgb(76.65, 13.65, 41.65);--subject-accent: #db2777}.subject-color-rose{--subject-background: rgb(252, 232.4, 236.7);--subject-border: rgb(240, 142, 163.5);--subject-text: rgb(78.75, 10.15, 25.2);--subject-accent: #e11d48}.subject-color-coral{--subject-background: rgb(254.4, 241, 239.1);--subject-border: rgb(252, 185, 175.5);--subject-text: rgb(87.15, 40.25, 33.6);--subject-accent: #f97360}.subject-color-salmon{--subject-background: rgb(253.7, 243.5, 242.5);--subject-border: rgb(248.5, 197.5, 192.5);--subject-text: rgb(84.7, 49, 45.5);--subject-accent: #f28c82}.subject-color-peach{--subject-background: rgb(254.6, 246.8, 241.5);--subject-border: rgb(253, 214, 187.5);--subject-text: rgb(87.85, 60.55, 42);--subject-accent: #fbad78}.subject-color-apricot{--subject-background: rgb(254.1, 248.4, 239.1);--subject-border: rgb(250.5, 222, 175.5);--subject-text: rgb(86.1, 66.15, 33.6);--subject-accent: #f6bd60}.subject-color-crimson{--subject-background: rgb(248.5, 231.3, 235.5);--subject-border: rgb(222.5, 136.5, 157.5);--subject-text: rgb(66.5, 6.3, 21);--subject-accent: #be123c}.subject-color-burgundy{--subject-background: rgb(243.1, 231.4, 235);--subject-border: rgb(195.5, 137, 155);--subject-text: rgb(47.6, 6.65, 19.25);--subject-accent: #881337}.subject-color-plum{--subject-background: rgb(242.9, 232, 243.8);--subject-border: rgb(194.5, 140, 199);--subject-text: rgb(46.9, 8.75, 50.05);--subject-accent: #86198f}.subject-color-brown{--subject-background: rgb(244.1, 235.9, 230.9);--subject-border: rgb(200.5, 159.5, 134.5);--subject-text: rgb(51.1, 22.4, 4.9);--subject-accent: #92400e}.subject-color-copper{--subject-background: rgb(247.5, 239.6, 235.3);--subject-border: rgb(217.5, 178, 156.5);--subject-text: rgb(63, 35.35, 20.3);--subject-accent: #b4653a}.subject-color-terracotta{--subject-background: rgb(249.1, 239.7, 236.9);--subject-border: rgb(225.5, 178.5, 164.5);--subject-text: rgb(68.6, 35.7, 25.9);--subject-accent: #c4664a}.subject-color-olive{--subject-background: rgb(240.2, 240.9, 232.5);--subject-border: rgb(181, 184.5, 142.5);--subject-text: rgb(37.45, 39.9, 10.5);--subject-accent: #6b721e}.subject-color-sage{--subject-background: rgb(241.5, 244.6, 240.2);--subject-border: rgb(187.5, 203, 181);--subject-text: rgb(42, 52.85, 37.45);--subject-accent: #78976b}.subject-color-slate{--subject-background: rgb(236.6, 238, 240);--subject-border: #a3aab4;--subject-text: rgb(24.85, 29.75, 36.75);--subject-accent: #475569}.subject-color-gray{--subject-background: rgb(240.2, 240.9, 242.3);--subject-border: rgb(181, 184.5, 191.5);--subject-text: rgb(37.45, 39.9, 44.8);--subject-accent: #6b7280}.subject-color-silver{--subject-background: rgb(244.3, 245.8, 247.9);--subject-border: rgb(201.5, 209, 219.5);--subject-text: rgb(51.8, 57.05, 64.4);--subject-accent: #94a3b8}.subject-swatch{display:inline-block;flex:0 0 10px;width:10px;height:10px;margin-right:6px;border-radius:2px;background:var(--subject-color, var(--subject-accent, var(--color-border)));vertical-align:baseline}button{font:inherit;cursor:pointer}.btn{border:1px solid var(--color-border);border-radius:var(--radius-control, 8px);background:var(--color-surface);padding:var(--control-padding-y, 6px) 14px;color:var(--color-primary);font-size:13px;font-weight:600;min-height:var(--control-height, 36px)}.btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface)}.btn.danger{border-color:var(--color-danger);color:var(--color-danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.btn:not(:disabled):hover{background:var(--color-action-hover-bg);border-color:var(--color-action-hover-border)}.btn.primary:not(:disabled):hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn.danger:not(:disabled):hover{background:var(--color-danger-soft);border-color:var(--color-danger)}.page-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 20px;margin:0 0 20px;padding:0 0 16px;border-bottom:1px solid var(--color-border)}.page-head h1{margin:4px 0;font-size:1.5rem;line-height:1.33;letter-spacing:-.025em}.page-head p{margin:0;max-width:80ch;color:var(--color-text-muted);font-size:.875rem}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--color-primary);text-transform:uppercase}.tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 16px;border-bottom:1px solid var(--color-border)}.tabs>button{min-height:var(--tab-height);padding:0 16px;border:0;border-bottom:3px solid transparent;background:none;color:var(--color-text);font:inherit;font-size:.875rem;cursor:pointer;transition:color var(--duration-quick) var(--ease-out),border-bottom-color var(--duration-quick) var(--ease-out)}.tabs>button:hover{color:var(--color-primary)}.tabs>button.active,.tabs>button[aria-selected=true]{border-bottom-color:var(--color-primary);color:var(--color-primary);font-weight:600}.tabs>button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.switch{display:inline-flex;align-items:center;gap:10px;min-height:var(--control-height);cursor:pointer}.switch input{appearance:none;flex:0 0 38px;width:38px;height:22px;margin:0;padding:3px;border:0;border-radius:20px;background:var(--color-action-hover-border);cursor:pointer;transition:background-color var(--duration-quick) var(--ease-out)}.switch input:before{content:"";display:block;width:16px;height:16px;border-radius:50%;background:var(--color-surface);transition:transform var(--duration-fast) var(--ease-smooth-out)}.switch input:checked{background:var(--color-primary)}.switch input:checked:before{transform:translate(16px)}.switch input:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.switch input:disabled{opacity:.5;cursor:not-allowed}.mark{--mark-color: var(--color-text-muted);--mark-bg: var(--color-surface-muted);--mark-text: var(--color-text);display:inline-flex;align-items:center;gap:6px;min-height:22px;padding:2px 10px 2px 8px;border-radius:999px;background:var(--mark-bg);color:var(--mark-text);font-size:.8125rem;font-weight:550;line-height:1.3;white-space:nowrap}.mark:before{content:"";flex:0 0 8px;box-sizing:border-box;width:8px;height:8px;border:1.5px solid var(--mark-color);border-radius:50%;background:var(--mark-color)}.mark.ok{--mark-color: var(--color-success);--mark-bg: var(--color-success-soft);--mark-text: var(--color-success)}.mark.pending{--mark-color: var(--color-warning);--mark-bg: var(--color-warning-soft);--mark-text: var(--color-warning-text)}.mark.pending:before{background:linear-gradient(to right,var(--mark-color) 50%,transparent 50%)}.mark.conflict{--mark-color: var(--color-danger);--mark-bg: var(--color-danger-soft);--mark-text: var(--color-danger)}.mark.info{--mark-color: var(--color-primary);--mark-bg: var(--color-action-hover-bg);--mark-text: var(--color-primary)}.mark.info:before{background:transparent}.mark.muted{--mark-color: var(--color-text-muted);--mark-text: var(--color-text-muted)}@media(forced-colors:active){.mark{border:1px solid CanvasText}.mark:before{forced-color-adjust:none;border-color:CanvasText}.mark.ok:before,.mark.conflict:before,.mark.muted:before{background:CanvasText}}.count{color:var(--color-text-muted);font-size:.8125rem;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}.num{font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;min-height:22px;padding:1px 8px;border:1px solid transparent;border-radius:var(--radius-tag);background:var(--color-surface-muted);color:var(--color-text);font-size:.75rem;font-weight:600;white-space:nowrap}.badge.success{background:var(--color-success-soft);color:var(--color-success)}.badge.warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.badge.danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge.muted{color:var(--color-text-muted)}.badge.info{background:var(--color-primary-soft);color:var(--color-primary)}.badge.attention{background:var(--color-attention-soft);color:var(--color-attention-text)}.badge.dot:before{content:"";flex:0 0 8px;width:8px;height:8px;margin-right:6px;border-radius:1px;background:currentColor}.field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;color:var(--color-text);font-size:.8125rem;font-weight:600;line-height:1.4}.field>:is(input,select,textarea,app-institution-select){width:100%;min-width:0}.field>:is(input,select,textarea){min-height:var(--control-height);margin:0;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font-size:.875rem;font-weight:400;transition:border-color var(--duration-quick) var(--ease-out)}.field>textarea{resize:vertical}.field>:is(input,select,textarea):not(:disabled):hover{border-color:var(--color-action-hover-border)}.field>:is(input,select,textarea):focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.field>[aria-invalid=true]{border-color:var(--color-danger)}.field-hint{color:var(--color-text-muted);font-size:.75rem;font-weight:400}.field-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}.field-row>.field{flex:1 1 220px;max-width:360px}.field-row>:is(.btn,.check){flex:0 0 auto}.check{display:inline-flex;align-items:center;gap:8px;min-height:var(--control-height);font-size:.875rem;font-weight:400;cursor:pointer}.check>input:is([type=checkbox],[type=radio]){flex:0 0 20px;width:20px;height:20px;margin:0;accent-color:var(--color-primary)}.stack{display:grid;gap:16px;align-content:start;min-width:0}.panel{min-width:0;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.panel.plain{padding:16px 0 0;border:0;border-top:1px solid var(--color-border);border-radius:0;background:none}.section-divider{height:0;margin:16px 0;border:0;border-top:1px solid var(--color-border)}.panel>h2,.panel-head>h2{margin:0 0 12px;font-size:1.125rem;font-weight:600;line-height:1.45}.panel-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin:0 0 12px}.panel-head>h2{margin:0}.item-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.item-list>.item{display:grid;gap:6px;min-width:0;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.item-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.item-meta{margin:0;color:var(--color-text-muted);font-size:.8125rem;font-weight:400}.item-actions{display:flex;flex-wrap:wrap;gap:8px}.row-actions .btn:not(.link){min-height:var(--row-action-height);padding:0 var(--row-action-padding-x)}.btn.link{min-height:var(--row-action-height);padding:0 2px;border-color:transparent;background:none;color:var(--color-action);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.btn.link.danger{color:var(--color-danger)}.btn.link:not(:disabled):hover{border-color:transparent;background:none;text-decoration-color:currentColor}.table-scroll{max-width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left}.data-table th{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:.75rem;font-weight:600;white-space:nowrap}.data-table td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);border-bottom:1px solid var(--color-border);vertical-align:middle;font-variant-numeric:tabular-nums}.data-table .num{text-align:right}.data-table .actions{text-align:right;white-space:nowrap}.data-table td:is(.actions,.row-actions){padding-block:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:480px){.field-row>.field{flex-basis:100%;max-width:none}}@media(prefers-reduced-motion:reduce){.switch input:before{transition:none}}@keyframes motion-fade-in{0%{opacity:0}}@keyframes motion-view-enter{0%{opacity:0;transform:translateY(var(--distance-micro))}}@keyframes motion-rise-in{0%{opacity:0;transform:translateY(var(--distance-base));filter:blur(var(--blur-small))}}@keyframes motion-text-enter{0%{opacity:0;transform:translateY(var(--distance-micro));filter:blur(var(--blur-small))}}@keyframes motion-pop-in{0%{opacity:0;transform:scale(0)}}@keyframes motion-outline-in{0%{outline-color:transparent}}.btn{transition:background-color var(--duration-quick) var(--ease-out),border-color var(--duration-quick) var(--ease-out),color var(--duration-quick) var(--ease-out),transform var(--duration-micro) var(--ease-out)}.btn:active:not(:disabled){transform:scale(var(--scale-small))}dialog{opacity:0;transform:scale(var(--scale-large));transition:opacity var(--duration-quick) var(--ease-smooth-out),transform var(--duration-quick) var(--ease-smooth-out),display var(--duration-quick) allow-discrete,overlay var(--duration-quick) allow-discrete}dialog[open]{opacity:1;transform:none;transition-duration:var(--duration-fast)}dialog::backdrop{opacity:0;transition:opacity var(--duration-quick) var(--ease-smooth-out),display var(--duration-quick) allow-discrete,overlay var(--duration-quick) allow-discrete}dialog[open]::backdrop{opacity:1;transition-duration:var(--duration-fast)}@starting-style{dialog[open]{opacity:0;transform:scale(var(--scale-large))}dialog[open]::backdrop{opacity:0}}[popover]{opacity:0;transform:scale(var(--scale-tiny));transform-origin:top right;transition:opacity var(--duration-quick) var(--ease-smooth-out),transform var(--duration-quick) var(--ease-smooth-out),display var(--duration-quick) allow-discrete,overlay var(--duration-quick) allow-discrete}[popover]:popover-open{opacity:1;transform:none;transition-duration:var(--duration-fast)}@starting-style{[popover]:popover-open{opacity:0;transform:scale(var(--scale-medium))}}:where(.production-content app-role-workspace)>*{display:block;animation:motion-view-enter var(--duration-fast) var(--ease-smooth-out) backwards}app-status-notice .notice-box,.production-saving,.history-banner{animation:motion-rise-in var(--duration-fast) var(--ease-smooth-out) backwards}@media(prefers-reduced-motion:reduce){.btn:active:not(:disabled),dialog,dialog[open],[popover],[popover]:popover-open{transform:none}@starting-style{dialog[open],[popover]:popover-open{transform:none}}:where(.production-content app-role-workspace)>*,app-status-notice .notice-box,.production-saving,.history-banner{animation-name:motion-fade-in}}.app-shell.academic-workspace .sidebar{padding-top:20px}.app-shell.academic-workspace main.main-content .topbar{min-height:64px;padding-block:10px}.app-shell.academic-workspace main.main-content .page-content{max-width:1336px;padding:24px 28px 88px}.app-shell.academic-workspace main.main-content .page-head,.app-shell.academic-workspace main.main-content .page-heading{padding:0 0 16px;margin:0 0 20px;border-left:0;border-bottom:1px solid var(--color-border)}.app-shell.academic-workspace main.main-content .page-head>div:first-child{border-left:0;padding-left:0}.app-shell.academic-workspace main.main-content .page-head h1,.app-shell.academic-workspace main.main-content .page-heading h1{font-size:1.5rem;line-height:1.33;margin:4px 0;letter-spacing:-.025em}.app-shell.academic-workspace main.main-content h2,.app-shell.academic-workspace main.main-content .panel h2,.app-shell.academic-workspace main.main-content .card-surface h2{font-size:1.125rem;line-height:1.45}.app-shell.academic-workspace main.main-content h3{font-size:.875rem}.app-shell.academic-workspace main.main-content p,.app-shell.academic-workspace main.main-content table,.app-shell.academic-workspace main.main-content label:not(.field,.role-switch,app-filter-bar label),.app-shell.academic-workspace main.main-content .btn,.app-shell.academic-workspace main.main-content .button{font-size:.875rem;line-height:1.45}.app-shell.academic-workspace main.main-content .eyebrow{font-size:.75rem;letter-spacing:.04em}.app-shell.academic-workspace main.main-content .panel,.app-shell.academic-workspace main.main-content .card-surface{padding:20px;border-radius:var(--radius-card);box-shadow:none;margin-bottom:20px}.app-shell.academic-workspace main.main-content .stack>:is(.panel,.card-surface){margin-bottom:0}.app-shell.academic-workspace main.main-content .hero{background:var(--color-surface);color:var(--color-text);border-left:3px solid var(--color-secondary);padding:18px}.app-shell.academic-workspace main.main-content .hero h2{color:var(--color-text);font-size:1.125rem;margin-top:0}.app-shell.academic-workspace main.main-content .hero p,.app-shell.academic-workspace main.main-content .hero .eyebrow{color:var(--color-text-muted)}.app-shell.academic-workspace main.main-content .stats{gap:12px;margin-bottom:20px}.app-shell.academic-workspace main.main-content .stats>.panel{border-top:1px solid var(--color-border);padding:16px;margin-bottom:0}.app-shell.academic-workspace main.main-content .metric{font-size:1.5rem;line-height:1.25;font-variant-numeric:tabular-nums}.app-shell.academic-workspace main.main-content .badge,.app-shell.academic-workspace main.main-content table th{font-size:.75rem;text-transform:none;letter-spacing:0}.app-shell.academic-workspace main.main-content table th,.app-shell.academic-workspace main.main-content table td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x)}.app-shell.academic-workspace main.main-content table td:is(.actions,.row-actions){padding-block:4px}.app-shell.academic-workspace main.main-content table td:not(.actions){white-space:normal}.app-shell.academic-workspace main.main-content .button{min-height:var(--control-height);padding:8px 12px;border-radius:var(--radius-control)}.app-shell.academic-workspace main.main-content input,.app-shell.academic-workspace main.main-content select,.app-shell.academic-workspace main.main-content textarea{font-size:.875rem;border-radius:var(--radius-control)}.app-shell.academic-workspace main.main-content input:not([type=checkbox]):not([type=radio]),.app-shell.academic-workspace main.main-content select,.app-shell.academic-workspace main.main-content textarea{min-height:var(--control-height)}.app-shell.academic-workspace main.main-content .primary-filters input,.app-shell.academic-workspace main.main-content .primary-filters select,.app-shell.academic-workspace main.main-content .advanced-filters input,.app-shell.academic-workspace main.main-content .advanced-filters select{height:var(--control-height);box-sizing:border-box;margin-top:6px;padding:8px 10px}.app-shell.academic-workspace main.main-content .journey-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.app-shell.academic-workspace main.main-content .journey-tabs [aria-current=page]{background:var(--color-primary-soft);border-color:var(--color-primary)}.app-shell.academic-workspace main.main-content .approval-summary{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px;font-size:.875rem}.app-shell.academic-workspace main.main-content .approval-summary span{display:grid;gap:4px}.app-shell.academic-workspace main.main-content .exceeded{border-left:3px solid var(--color-accent)}.app-shell.academic-workspace main.main-content .numeric-filter{display:flex;gap:8px}.app-shell.academic-workspace main.main-content .numeric-filter>*{min-width:0;width:50%}.app-shell.academic-workspace main.main-content .numeric-filter input:only-child{width:100%}.app-shell.academic-workspace main.main-content .conflict-item{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-border)}.app-shell.academic-workspace main.main-content .conflict-item p{flex:1 1 280px}.app-shell.academic-workspace main.main-content .day-selector{display:grid;gap:4px}.app-shell.academic-workspace main.main-content .day-selector select{margin:0;padding:8px}.app-shell.academic-workspace main.main-content .section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap}.app-shell.academic-workspace main.main-content .curriculum-dialog{width:min(680px,100vw - 32px);max-height:calc(100vh - 32px);overflow:auto;border:1px solid var(--color-border);border-radius:8px;padding:24px;color:var(--color-text)}.app-shell.academic-workspace main.main-content .curriculum-dialog::backdrop{background:var(--color-backdrop)}.app-shell.academic-workspace main.main-content .curriculum-dialog .fields{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.app-shell.academic-workspace main.main-content .coverage-facts{background:var(--color-primary-soft);padding:12px;border-radius:6px;margin-block:12px}.app-shell.academic-workspace main.main-content .inbox-tools{gap:12px;align-items:end}.app-shell.academic-workspace main.main-content .inbox-tools label{margin:0}.app-shell.academic-workspace main.main-content .inbox-tools input,.app-shell.academic-workspace main.main-content .inbox-tools select{height:var(--control-height);margin-top:6px}.app-shell.academic-workspace main.main-content .schedule-grid.single-day{min-width:0}.app-shell.academic-workspace main.main-content .demo-launcher{font-size:.75rem;padding:8px 12px;min-height:40px;box-shadow:none}.app-shell.academic-workspace main.main-content label+label{margin-top:0}.app-shell.academic-workspace main.main-content .fields,.app-shell.academic-workspace main.main-content .filters{gap:12px;align-items:end}.app-shell.academic-workspace main.main-content .notice{border-radius:6px;padding:12px}.app-shell.academic-workspace main.main-content .toolbar-group label{font-size:.75rem}.app-shell.academic-workspace main.main-content .summary-eyebrow,.app-shell.academic-workspace main.main-content .summary-card p,.app-shell.academic-workspace main.main-content .summary-card span{font-size:.75rem}.app-shell.academic-workspace main.main-content .side-card p,.app-shell.academic-workspace main.main-content .side-card .eyebrow,.app-shell.academic-workspace main.main-content .conflict-row strong,.app-shell.academic-workspace main.main-content .mini-stats span,.app-shell.academic-workspace main.main-content .class-card span,.app-shell.academic-workspace main.main-content .class-card small,.app-shell.academic-workspace main.main-content .time-label span,.app-shell.academic-workspace main.main-content .weekly-note small{font-size:.75rem;line-height:1.5}.app-shell.academic-workspace main.main-content .mini-stats strong{font-size:1.5rem}.app-shell.academic-workspace main.main-content .class-card strong{font-size:.875rem}.app-shell.academic-workspace main.main-content :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}@media(max-width:600px){.app-shell.academic-workspace main.main-content .curriculum-dialog{width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:20px;border-radius:0;box-sizing:border-box}.app-shell.academic-workspace main.main-content .curriculum-dialog .fields{grid-template-columns:minmax(0,1fr)}.app-shell.academic-workspace main.main-content .page-content{padding:16px 16px 88px}.app-shell.academic-workspace main.main-content .page-head h1,.app-shell.academic-workspace main.main-content .page-heading h1{font-size:1.375rem}.app-shell.academic-workspace main.main-content .btn,.app-shell.academic-workspace main.main-content .button,.app-shell.academic-workspace main.main-content input:not([type=checkbox]):not([type=radio]),.app-shell.academic-workspace main.main-content select{min-height:var(--control-height)}.app-shell.academic-workspace main.main-content input,.app-shell.academic-workspace main.main-content select,.app-shell.academic-workspace main.main-content textarea{font-size:1rem}.app-shell.academic-workspace main.main-content .primary-filters input,.app-shell.academic-workspace main.main-content .primary-filters select,.app-shell.academic-workspace main.main-content .advanced-filters input,.app-shell.academic-workspace main.main-content .advanced-filters select{height:var(--control-height)}.app-shell.academic-workspace main.main-content .panel,.app-shell.academic-workspace main.main-content .card-surface{padding:16px}.app-shell.academic-workspace main.main-content .review-surface .table-wrap{overflow:visible}.app-shell.academic-workspace main.main-content .review-surface table,.app-shell.academic-workspace main.main-content .review-surface tbody{display:block}.app-shell.academic-workspace main.main-content .review-surface thead{display:none}.app-shell.academic-workspace main.main-content .review-surface tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;position:relative;padding:16px 0 16px 36px;border-top:1px solid var(--color-border)}.app-shell.academic-workspace main.main-content .review-surface tbody td{display:grid;padding:0;text-align:left;border:0;overflow-wrap:anywhere}.app-shell.academic-workspace main.main-content .review-surface td[data-label]:before{content:attr(data-label);font-size:.75rem;color:var(--color-text-muted);margin-bottom:4px}.app-shell.academic-workspace main.main-content .review-surface td:nth-child(2),.app-shell.academic-workspace main.main-content .review-surface td:last-child{grid-column:1/-1}.app-shell.academic-workspace main.main-content .review-surface tbody .selection-cell{position:absolute;left:0;top:20px;width:28px}}
