:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--success:oklch(62.7% .17 149.214);--warning:oklch(76.9% .16 70.08);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--radius:.625rem;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0);--sidebar-width:16rem;--header-height:3.5rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--admin-bg:var(--muted);--admin-card:var(--card);--admin-text:var(--foreground);--admin-text-muted:var(--muted-foreground);--admin-muted:var(--muted-foreground);--admin-border:var(--border);--admin-accent:var(--primary);--admin-accent-hover:color-mix(in oklab, var(--primary), transparent 12%);--admin-success:var(--success);--admin-danger:var(--destructive);--admin-warning:var(--warning);--admin-sidebar:var(--sidebar);--admin-sidebar-text:var(--sidebar-foreground);--admin-sidebar-active:var(--sidebar-accent);--admin-surface:var(--secondary)}.dark,[data-theme=dark]{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--success:oklch(72.3% .17 149.214);--warning:oklch(82.8% .13 84.429);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}*,:before,:after{box-sizing:border-box;border-color:var(--border)}html{font-family:Inter,Noto Sans Arabic,ui-sans-serif,system-ui,sans-serif}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:.875rem;line-height:1.6}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:600}:focus-visible{outline:2px solid color-mix(in oklab, var(--ring) 50%, transparent);outline-offset:2px}::selection{background:color-mix(in oklab, var(--primary) 20%, transparent)}[hidden]{display:none!important}.admin-layout{background:var(--background);width:100%;min-height:100svh;color:var(--foreground);display:flex}.admin-main{flex-direction:column;flex:1;gap:1.5rem;min-width:0;padding:0 1.5rem 1.5rem;display:flex;position:relative}.admin-main>.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.admin-main>.page-head h1{letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:600}.admin-sidebar{width:var(--sidebar-width);background:var(--sidebar);color:var(--sidebar-foreground);border-inline-end:1px solid var(--sidebar-border);z-index:30;flex-direction:column;flex-shrink:0;height:100svh;transition:width .2s;display:flex;position:sticky;top:0;overflow:hidden}.admin-sidebar__header{flex-direction:column;gap:.5rem;padding:.5rem;display:flex}.admin-sidebar__brand{border-radius:calc(var(--radius) * .8);height:3rem;color:inherit;align-items:center;gap:.5rem;padding:.5rem;text-decoration:none;transition:background .15s;display:flex}.admin-sidebar__brand:hover{background:var(--sidebar-accent)}.admin-sidebar__brand-icon{aspect-ratio:1;border-radius:calc(var(--radius) * .8);background:var(--sidebar-primary);width:2rem;height:2rem;color:var(--sidebar-primary-foreground);flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-sidebar__brand-icon img{filter:invert();width:1.25rem;height:auto;display:block}[data-theme=dark] .admin-sidebar__brand-icon img{filter:none}[data-theme=dark] .admin-sidebar__brand-icon{background:var(--sidebar-primary-foreground)}.admin-sidebar__drawer-close{border:1px solid var(--sidebar-border);border-radius:calc(var(--radius) * .8);background:var(--card);width:2rem;height:2rem;color:var(--sidebar-foreground);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:none}.admin-sidebar__drawer-close svg{width:1.25rem;height:1.25rem}.admin-sidebar__drawer-close:hover{background:var(--sidebar-accent)}.admin-mobile-drawer .admin-sidebar__header{flex-direction:row;align-items:center;gap:.5rem}.admin-mobile-drawer .admin-sidebar__drawer-close{display:flex}.admin-sidebar__brand-text{text-align:start;flex:1;min-width:0;font-size:.875rem;line-height:1.25;display:grid}.admin-sidebar__brand-text strong{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.admin-sidebar__brand-text span{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.admin-sidebar__separator{background:var(--sidebar-border);border:0;height:1px;margin-inline:.5rem}.admin-sidebar__content{scrollbar-width:none;flex-direction:column;flex:1;gap:.5rem;min-height:0;padding:.5rem;display:flex;overflow-y:auto}.admin-sidebar__content::-webkit-scrollbar{display:none}.admin-sidebar__group{flex-direction:column;width:100%;min-width:0;display:flex;position:relative}.admin-sidebar__group-label{height:2rem;color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent);align-items:center;padding-inline:.5rem;font-size:.75rem;font-weight:500;display:flex}.admin-sidebar__menu{flex-direction:column;gap:.25rem;width:100%;min-width:0;margin:0;padding:0;list-style:none;display:flex}.admin-sidebar__link{border-radius:calc(var(--radius) * .8);width:100%;height:2rem;color:var(--sidebar-foreground);white-space:nowrap;align-items:center;gap:.5rem;padding:.5rem;font-size:.875rem;text-decoration:none;transition:background .15s,color .15s;display:flex;overflow:hidden}.admin-sidebar__link svg{flex-shrink:0;width:1rem;height:1rem}.admin-sidebar__link span{text-overflow:ellipsis;min-width:0;overflow:hidden}.admin-sidebar__link:hover{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.admin-sidebar__link.active{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground);font-weight:500}.admin-sidebar__footer{flex-direction:column;gap:.5rem;padding:.5rem;display:flex}.admin-sidebar__user{border-radius:calc(var(--radius) * .8);align-items:center;gap:.5rem;min-width:0;padding:.375rem .5rem;display:flex}.admin-sidebar__avatar{border-radius:calc(var(--radius) * .8);background:var(--secondary);width:2rem;height:2rem;color:var(--secondary-foreground);flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.admin-sidebar__user-info{text-align:start;flex:1;min-width:0;font-size:.875rem;line-height:1.25;display:grid}.admin-sidebar__user-info strong{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.admin-sidebar__user-info span{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;direction:ltr;font-size:.75rem;overflow:hidden}.admin-sidebar .logout{border-radius:calc(var(--radius) * .8);width:100%;height:2rem;color:var(--sidebar-foreground);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:.5rem;font-size:.875rem;transition:background .15s,color .15s;display:flex}.admin-sidebar .logout:hover{background:color-mix(in oklab, var(--destructive) 12%, transparent);color:var(--destructive)}.admin-sidebar .logout svg{flex-shrink:0;width:1rem;height:1rem}.admin-layout[data-sidebar=collapsed] .admin-sidebar{width:3.5rem}.admin-layout[data-sidebar=collapsed] .admin-sidebar__brand-text,.admin-layout[data-sidebar=collapsed] .admin-sidebar__group-label,.admin-layout[data-sidebar=collapsed] .admin-sidebar__link span,.admin-layout[data-sidebar=collapsed] .admin-sidebar__user-info{display:none}.admin-layout[data-sidebar=collapsed] .admin-sidebar__brand,.admin-layout[data-sidebar=collapsed] .admin-sidebar__link,.admin-layout[data-sidebar=collapsed] .admin-sidebar__user{justify-content:center;padding-inline:0}.admin-mobile-overlay{z-index:40;opacity:0;pointer-events:none;background:#00000080;transition:opacity .25s;position:fixed;inset:0}.admin-mobile-overlay.open{opacity:1;pointer-events:auto}.admin-mobile-drawer{z-index:50;background:var(--sidebar);border-inline-end:1px solid var(--sidebar-border);width:min(24rem,92vw);box-shadow:var(--shadow-lg);flex-direction:column;transition:transform .3s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;inset-block:0;inset-inline-start:0;transform:translate(-100%)}[dir=rtl] .admin-mobile-drawer{transform:translate(100%)}@media (width<=480px){.admin-mobile-drawer{border-inline-start:0;width:100vw}}.admin-mobile-drawer.open{transform:translate(0)!important}.admin-mobile-drawer .admin-sidebar{border:0;width:100%;height:auto;display:flex;position:static}.admin-mobile-drawer .admin-sidebar__header{padding:.75rem}.admin-mobile-drawer .admin-sidebar__content{gap:.75rem;padding:.75rem}.admin-mobile-drawer .admin-sidebar__group-label{height:2.25rem;font-size:.8125rem}.admin-mobile-drawer .admin-sidebar__link{height:2.75rem;font-size:.9375rem}.admin-mobile-drawer .admin-sidebar__footer{padding:.75rem}.admin-mobile-drawer .logout{height:2.75rem;font-size:.9375rem}@media (width<=900px){.admin-sidebar{display:none}.admin-mobile-drawer .admin-sidebar{display:flex}}.admin-header{z-index:20;height:var(--header-height);border-bottom:1px solid var(--border);background:color-mix(in oklab, var(--background) 80%, transparent);backdrop-filter:blur(8px);flex-shrink:0;align-items:center;gap:.5rem;padding-inline:1rem;display:flex;position:sticky;top:0}@media (width>=768px){.admin-header{padding-inline:1.5rem}}.admin-header__title{white-space:nowrap;margin:0;font-size:.9375rem;font-weight:600}.admin-header__actions{align-items:center;gap:.5rem;margin-inline-start:auto;display:flex}.admin-trigger{border-radius:calc(var(--radius) * .8);width:2rem;height:2rem;color:var(--foreground);cursor:pointer;background:0 0;border:0;flex-shrink:0;place-items:center;transition:background .15s,color .15s,transform .15s;display:inline-grid}.admin-trigger>svg{grid-area:1/1}.admin-trigger .icon-sun,.admin-trigger .icon-moon{transition:transform .4s cubic-bezier(.32,.72,0,1),opacity .25s}.admin-trigger .icon-moon{opacity:0;transform:rotate(90deg)scale(0)}[data-theme=dark] .admin-trigger .icon-sun{opacity:0;transform:rotate(-90deg)scale(0)}[data-theme=dark] .admin-trigger .icon-moon{opacity:1;transform:rotate(0)scale(1)}.admin-trigger:hover{background:var(--accent);color:var(--accent-foreground)}.admin-trigger:active{transform:translateY(1px)}.admin-trigger svg{pointer-events:none;width:1rem;height:1rem}.admin-header__sep{background:var(--border);flex-shrink:0;width:1px;height:1rem}.card{background:var(--card);color:var(--card-foreground);border-radius:calc(var(--radius) * 1.4);box-shadow:0 0 0 1px color-mix(in oklab, var(--foreground) 10%, transparent), var(--shadow-xs);flex-direction:column;gap:.375rem;padding:1.5rem;display:flex;position:relative}.card>h1,.card>h2,.card>h3{margin:0;font-size:1rem;font-weight:500;line-height:1.4}.card-row{flex-flow:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.card-actions{flex-wrap:wrap;gap:.5rem;display:flex}.btn{border-radius:calc(var(--radius) * .8);background:var(--primary);height:2.25rem;color:var(--primary-foreground);white-space:nowrap;cursor:pointer;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;padding-inline:.75rem;font-family:inherit;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s,box-shadow .15s,transform .1s;display:inline-flex}.btn:hover{background:color-mix(in oklab, var(--primary), transparent 20%)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid color-mix(in oklab, var(--ring) 50%, transparent);outline-offset:2px}.btn svg{flex-shrink:0;width:1rem;height:1rem}.btn--primary{background:var(--primary);color:var(--primary-foreground);border-color:#0000}.btn--primary:hover{background:color-mix(in oklab, var(--primary), transparent 20%)}.btn--outline{border-color:var(--border);background:var(--background);color:var(--foreground);box-shadow:var(--shadow-xs)}.btn--outline:hover{background:var(--muted);color:var(--foreground)}.btn:not([class*=btn--]){border-color:var(--border);background:var(--background);color:var(--foreground);box-shadow:var(--shadow-xs)}.btn:not([class*=btn--]):hover{background:var(--muted)}.btn--success{background:var(--success);color:oklch(98.5% 0 0);border-color:#0000}.btn--success:hover{background:color-mix(in oklab, var(--success), transparent 15%)}.btn--danger{background:color-mix(in oklab, var(--destructive) 10%, transparent);color:var(--destructive);border-color:#0000}.btn--danger:hover{background:color-mix(in oklab, var(--destructive) 20%, transparent)}.btn--ghost{color:var(--foreground);background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--muted)}.btn--sm{border-radius:min(calc(var(--radius) * .8), 10px);height:2rem;padding-inline:.625rem;font-size:.8125rem}.btn--icon{width:2rem;height:2rem;padding:0}button:disabled{opacity:.5;pointer-events:none;cursor:wait}.modal-overlay{backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;animation:.2s both modal-fade;display:flex;position:fixed;inset:0}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal-overlay[hidden]{display:none}.modal{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:calc(var(--radius) * 1.4);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-height:min(90vh,100svh - 2rem);animation:.25s cubic-bezier(.32,.72,0,1) both modal-up;display:flex}.modal:focus{outline:none}@keyframes modal-up{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.modal--md{max-width:600px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.modal-title{color:var(--foreground);margin:0;font-size:1rem;font-weight:500}.modal-close{border-radius:calc(var(--radius) * .8);cursor:pointer;color:var(--muted-foreground);background:0 0;border:0;justify-content:center;align-items:center;padding:.4rem;transition:all .15s;display:flex}.modal-close:hover{background:var(--muted);color:var(--foreground)}.modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:1.5rem;overflow-y:auto}@media (width<=640px){.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:calc(var(--radius) * 1.4) calc(var(--radius) * 1.4) 0 0;max-width:none;max-height:92svh;animation:.3s cubic-bezier(.32,.72,0,1) both modal-sheet}@keyframes modal-sheet{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}.modal-header,.modal-body{padding:1rem}.modal .form-grid{max-width:none}}.btn[aria-current=page]{background:color-mix(in oklab, var(--primary) 12%, var(--card));color:var(--foreground);border-color:color-mix(in oklab, var(--primary) 40%, var(--border));box-shadow:none}.btn[aria-current=page]:hover{background:color-mix(in oklab, var(--primary) 18%, var(--card))}.stats{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:1rem;display:grid}.stat{background:var(--card);color:var(--card-foreground);border-radius:calc(var(--radius) * 1.4);text-align:start;box-shadow:0 0 0 1px color-mix(in oklab, var(--foreground) 10%, transparent), var(--shadow-xs);flex-direction:column;gap:.25rem;padding:1.5rem;transition:box-shadow .2s,transform .2s;display:flex;position:relative}.stat:hover{box-shadow:0 0 0 1px color-mix(in oklab, var(--foreground) 10%, transparent), var(--shadow-md)}.stat-value{color:var(--card-foreground);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:1.5rem;font-weight:600;line-height:1.3;display:block;overflow:hidden}.stat-label{color:var(--muted-foreground);font-size:.8125rem}.stat--accent{background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-md)}.stat--accent .stat-value,.stat--accent .stat-label{color:var(--primary-foreground)}.stack-list{flex-direction:column;gap:.75rem;display:flex}.stack-head,.stack-row{grid-template-columns:var(--stack-cols,minmax(0, 1fr));align-items:center;gap:1rem;min-width:0;display:grid}.stack-head{color:var(--muted-foreground);font-size:.8125rem;font-weight:500}.stack-head>span{min-width:0}.stack-row{border:1px solid var(--border);border-radius:calc(var(--radius) * .8);background:var(--card);padding:1rem}.stack-field{min-width:0;display:block}.stack-value{overflow-wrap:anywhere;min-width:0;max-width:100%}.stack-label{color:var(--muted-foreground);font-size:.75rem;font-weight:500;display:none}.stack-list--departments{--stack-cols:minmax(0, 2.2fr) minmax(0, 1.4fr) 4.5rem 4.5rem 3.5rem 6.5rem minmax(12rem, max-content)}.stack-list--submissions{--stack-cols:7rem minmax(0, 1.6fr) minmax(0, 1.3fr) 7rem max-content}@media (width<=768px){.stack-head{display:none}.stack-row{display:block}.stack-field{border-bottom:1px dashed var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:.5rem 0;display:flex}.stack-field:last-child{border-bottom:0;padding-bottom:0}.stack-field:first-child{padding-top:0}.stack-label{flex-shrink:0;display:inline}}.badge,.status-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.25rem;width:fit-content;height:1.25rem;padding-inline:.5rem;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex}.badge--pending,.badge--draft{background:color-mix(in oklab, var(--warning) 18%, transparent);color:color-mix(in oklab, var(--warning) 80%, var(--foreground))}.badge--approved{background:color-mix(in oklab, var(--success) 15%, transparent);color:color-mix(in oklab, var(--success) 80%, var(--foreground))}.badge--rejected{background:color-mix(in oklab, var(--destructive) 10%, transparent);color:var(--destructive)}.status-badge--approved{background:color-mix(in oklab, var(--success) 15%, transparent);color:color-mix(in oklab, var(--success) 85%, var(--foreground));border-color:color-mix(in oklab, var(--success) 30%, transparent)}.status-badge--pending{background:color-mix(in oklab, var(--warning) 18%, transparent);color:color-mix(in oklab, var(--warning) 80%, var(--foreground));border-color:color-mix(in oklab, var(--warning) 30%, transparent)}.status-badge--rejected{background:color-mix(in oklab, var(--destructive) 10%, transparent);color:var(--destructive);border-color:color-mix(in oklab, var(--destructive) 25%, transparent)}.form-grid{gap:1rem;max-width:500px;display:grid}.form-grid[hidden]{display:none}.form-grid label{flex-direction:column;gap:.375rem;font-size:.8125rem;font-weight:500;display:flex}.form-grid input,.form-grid select,.form-grid textarea,.form-field .input,.admin-main .card-row input,.admin-main .card-row select,.review-resolution>label textarea{border:1px solid var(--input);border-radius:calc(var(--radius) * .8);width:100%;min-width:0;height:2.25rem;color:var(--foreground);box-shadow:var(--shadow-xs);background:0 0;padding:.25rem .625rem;font-family:inherit;font-size:.875rem;transition:color .15s,box-shadow .15s,border-color .15s;display:flex}[data-theme=dark] .form-grid input,[data-theme=dark] .form-grid select,[data-theme=dark] .form-grid textarea,[data-theme=dark] .form-field .input,[data-theme=dark] .admin-main .card-row input,[data-theme=dark] .admin-main .card-row select,[data-theme=dark] .review-resolution>label textarea{background:color-mix(in oklab, var(--input) 30%, transparent)}.form-grid input::placeholder,.form-grid select::placeholder,.form-grid textarea::placeholder,.form-field .input::placeholder{color:var(--muted-foreground)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.form-field .input:focus,.admin-main .card-row input:focus,.admin-main .card-row select:focus,.review-resolution>label textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent);outline:none}.form-grid input[aria-invalid=true],.form-field .input[aria-invalid=true]{border-color:var(--destructive);box-shadow:0 0 0 3px color-mix(in oklab, var(--destructive) 20%, transparent)}.form-grid textarea{height:auto;min-height:5rem;padding:.5rem .625rem}.form-field{flex-direction:column;gap:.375rem;display:flex}.form-field .label,.label{color:var(--foreground);font-size:.8125rem;font-weight:500}.form-grid .full-width{grid-column:1/-1}.form-grid fieldset{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0}.form-grid label:has(input[type=checkbox]){align-items:center;gap:.5rem;display:flex}.form-grid input[type=checkbox]{width:1rem;height:auto;box-shadow:none;accent-color:var(--primary)}.form-grid .notice{grid-column:1/-1}.radio-row{flex-wrap:wrap;gap:1rem;display:flex}.notice{border:1px solid var(--border);border-radius:calc(var(--radius) * .8);background:var(--secondary);color:var(--foreground);align-items:baseline;gap:.5rem;margin:0;padding:.75rem 1rem;font-size:.875rem;display:flex}.notice--error{background:color-mix(in oklab, var(--destructive) 8%, var(--card));color:var(--destructive);border-color:color-mix(in oklab, var(--destructive) 25%, transparent)}.notice--history{border-inline-start:3px solid var(--ring)}.muted{color:var(--muted-foreground);font-size:.875rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.search-picker{flex-direction:column;gap:.5rem;min-width:0;display:flex;position:relative}.search-picker input{width:100%}.picker-options,.live-search__list{top:calc(100% + 6px);z-index:30;background:var(--popover);max-height:320px;color:var(--popover-foreground);border:1px solid var(--border);border-radius:calc(var(--radius) * .8);box-shadow:var(--shadow-md);margin:0;padding:.25rem;list-style:none;animation:.18s cubic-bezier(.32,.72,0,1) popover-in;position:absolute;inset-inline:0;overflow:auto}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.picker-options li,.live-search__list [role=option]{cursor:pointer;border-radius:calc(var(--radius) * .6);align-items:center;gap:.6rem;padding:.5rem .625rem;transition:background .12s;display:flex}.picker-options li:hover,.picker-focused,.live-search__list [role=option]:hover,.live-search__focused{background:var(--accent);color:var(--accent-foreground)}.picker-options small{color:var(--muted-foreground);display:block}.picker-create{color:var(--muted-foreground);font-size:.8rem}.live-search-form{align-items:flex-end}.live-search{flex-direction:column;flex:280px;gap:.4rem;min-width:0;display:flex;position:relative}.live-search__field{position:relative}.admin-main .live-search input[type=search]{width:100%;padding-inline-end:2.4rem}.live-search__spinner{inset-inline-end:.75rem;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:1rem;height:1rem;margin-top:-.5rem;animation:.7s linear infinite live-search-spin;position:absolute;top:50%}@keyframes live-search-spin{to{transform:rotate(360deg)}}.live-search__list small{color:var(--muted-foreground);font-size:.8rem;display:block}.live-search__badge{background:var(--secondary);border:1px solid var(--border);color:var(--muted-foreground);border-radius:999px;flex-shrink:0;padding:.125rem .5rem;font-size:.7rem}.live-search__badge--professor{background:color-mix(in oklab, var(--success) 14%, transparent);border-color:color-mix(in oklab, var(--success) 30%, transparent);color:color-mix(in oklab, var(--success) 85%, var(--foreground))}.live-search__badge--course{background:color-mix(in oklab, var(--ring) 14%, transparent);border-color:color-mix(in oklab, var(--ring) 30%, transparent);color:color-mix(in oklab, var(--ring) 90%, var(--foreground))}.live-search__empty{text-align:center;color:var(--muted-foreground);padding:.8rem;font-size:.875rem}.live-search__status{color:var(--muted-foreground);min-height:1em;font-size:.78rem}.live-search__status:empty{display:none}.search-card{scroll-margin-top:1rem;transition:box-shadow .25s,border-color .25s}.search-card:focus{outline:none}.search-card.search-target{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab, var(--ring) 25%, transparent)}.profile-details>summary{color:var(--foreground);cursor:pointer;font-weight:500}.profile-grid{border-radius:calc(var(--radius) * .8);background:var(--muted);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.9rem 1.25rem;margin:.5rem 0 1rem;padding:1rem;display:grid}.profile-grid>div{min-width:0}.profile-grid dt{color:var(--muted-foreground);margin-bottom:.2rem;font-size:.78rem}.profile-grid dd{overflow-wrap:anywhere;margin:0}.profile-grid__full{grid-column:1/-1}.profile-courses{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.profile-courses li{border:1px solid var(--border);border-radius:calc(var(--radius) * .8);background:var(--card);gap:.25rem;padding:.6rem .75rem;display:grid}.profile-courses__link{overflow-wrap:anywhere;color:var(--muted-foreground);font-size:.8rem}.workflow-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;display:grid}.catalog-list{gap:1rem;display:grid}.catalog-list h2{margin:0;font-size:1.15rem}.catalog-list details>summary{cursor:pointer;padding:.5rem 0}.submission-item{padding:1rem 1.25rem}.submission-item__title{min-width:0;font-size:1rem}.submission-item__title a{color:inherit;text-decoration:none}.submission-item__title a:hover{color:var(--primary);text-decoration:underline}.entry-meta{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.readonly-value{border-radius:calc(var(--radius) * .8);background:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;padding:.75rem;font-size:.8125rem}.review-raw{border-inline-start:3px solid var(--border);padding-inline-start:1rem}.review-resolution{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.review-resolution>label{flex-direction:column;gap:.5rem;margin:1rem 0;display:flex}.review-resolution>label:has(input[type=checkbox]){flex-direction:row;align-items:center}.link-comparison{border:1px solid color-mix(in oklab, var(--warning) 50%, transparent);border-radius:calc(var(--radius) * .8);background:color-mix(in oklab, var(--warning) 8%, var(--card));color:color-mix(in oklab, var(--warning) 60%, var(--foreground));padding:.8rem}.link-comparison code{overflow-wrap:anywhere;direction:ltr;display:block}.empty-catalog,.empty-state{text-align:center;color:var(--muted-foreground);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:3rem 2rem;display:flex}.empty-state .empty-icon{opacity:.5;color:var(--muted-foreground)}.empty-state .empty-title{color:var(--foreground);margin:.5rem 0 0;font-size:1rem;font-weight:600}.empty-state .empty-message{margin:0 0 1rem;font-size:.875rem;line-height:1.6}.empty-state .empty-action{display:inline-flex}.catalog-avatar-row{align-items:center;gap:.7rem;display:flex}.catalog-avatar-row form{margin:0}.catalog-avatar-row .card-tools{flex-wrap:wrap}.catalog-actions{flex-flow:wrap;align-items:center;gap:.5rem;display:flex}.catalog-actions form{margin:0}.card-foot{margin-top:.75rem}.card-tools{align-items:center;gap:.25rem;margin-inline-start:auto;display:inline-flex}.card-tools .btn--ghost svg,.card-tools .btn--danger svg{display:block}.course-head{align-items:flex-start}.course-head .card-tools{margin-block-start:.4rem}.course-people{flex:1 1 0;min-width:0}.course-people>summary{border-radius:calc(var(--radius) * .8);cursor:pointer;user-select:none;flex-direction:column;align-items:flex-start;gap:.3rem;margin:-.35rem -.5rem;padding:.35rem .5rem;list-style:none;display:flex;position:relative}.course-people>summary::-webkit-details-marker{display:none}.course-people>summary:hover{background:var(--muted)}.course-people>summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.course-people h2{margin:0}.course-people .course-summary-meta{color:var(--muted-foreground);font-size:.78rem}.course-people .expand-icon{inset-inline-end:.4rem;width:1.4rem;height:1.4rem;color:var(--muted-foreground);justify-content:center;align-items:center;transition:transform .2s;display:inline-flex;position:absolute;top:.55rem}.course-people[open]>summary .expand-icon{transform:rotate(180deg)}.course-people__body{flex-direction:column;margin-top:1rem;display:flex}.vh{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.small-help{color:var(--muted-foreground);font-size:.8125rem;line-height:1.9}.semester-alert{border-inline-start:3px solid var(--warning)}.admin-skip{top:-100px;z-index:100;border-radius:calc(var(--radius) * .8);background:var(--primary);color:var(--primary-foreground);padding:.75rem 1rem;text-decoration:none;transition:top .15s;position:absolute;inset-inline-start:1rem}.admin-skip:focus{top:.75rem}.login-page{background:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:100svh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background:radial-gradient(42rem 42rem at 85% -10%, color-mix(in oklab, var(--sidebar-primary) 12%, transparent), transparent 60%), radial-gradient(36rem 36rem at 0% 110%, color-mix(in oklab, var(--primary) 8%, transparent), transparent 60%);opacity:.9;pointer-events:none;animation:14s ease-in-out infinite alternate login-glow;position:absolute;inset:0}@keyframes login-glow{0%{opacity:.7;transform:translate(0,0)scale(1)}to{opacity:1;transform:translateY(-2%)scale(1.06)}}.login-shell{z-index:1;flex-direction:column;gap:1.5rem;width:100%;max-width:24rem;display:flex;position:relative}.login-brand{align-self:center;animation:.6s cubic-bezier(.32,.72,0,1) both login-down;display:flex}.login-brand img{width:9rem;height:auto;display:block}[data-theme=dark] .login-brand img{filter:invert()brightness(1.2)}.login-card{background:var(--card);color:var(--card-foreground);border-radius:calc(var(--radius) * 1.4);box-shadow:0 0 0 1px color-mix(in oklab, var(--foreground) 10%, transparent), var(--shadow-lg);flex-direction:column;gap:1.5rem;padding:1.5rem;animation:.7s cubic-bezier(.32,.72,0,1) .1s both login-up;display:flex;position:relative}.login-card__header{text-align:center;flex-direction:column;gap:.25rem;display:flex}.login-card__title{letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:600}.login-card__desc{color:var(--muted-foreground);margin:0;font-size:.8125rem}.login-card__content{flex-direction:column;gap:1rem;display:flex}.login-card__content .form-grid{gap:1rem;max-width:none;display:grid}.login-card__content form{margin:0}.login-error{border:1px solid color-mix(in oklab, var(--destructive) 30%, transparent);border-radius:calc(var(--radius) * .8);background:color-mix(in oklab, var(--destructive) 8%, var(--card));color:var(--destructive);align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.8125rem;animation:.4s cubic-bezier(.32,.72,0,1) both login-flash;display:flex}.login-page__theme{top:1rem;z-index:1;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-xs);animation:.6s cubic-bezier(.32,.72,0,1) .35s both login-down;position:absolute;inset-inline-end:1rem}.login-page__theme .icon-sun,.login-page__theme .icon-moon{transition:transform .4s cubic-bezier(.32,.72,0,1),opacity .3s}.login-page__theme .icon-moon{opacity:0;position:absolute;transform:rotate(90deg)scale(0)}[data-theme=dark] .login-page__theme .icon-sun{opacity:0;transform:rotate(-90deg)scale(0)}[data-theme=dark] .login-page__theme .icon-moon{opacity:1;position:static;transform:rotate(0)scale(1)}.login-page__footer{z-index:1;text-align:center;color:var(--muted-foreground);text-wrap:balance;max-width:24rem;margin:0;font-size:.75rem;line-height:1.6;animation:.7s cubic-bezier(.32,.72,0,1) .25s both login-up;position:relative}.login-page__divider{align-items:center;gap:.75rem;display:flex}.login-page__divider:before,.login-page__divider:after{content:"";background:var(--border);flex:1;height:1px}.login-page__divider span{color:var(--muted-foreground);font-size:.75rem}.login-page a{color:inherit}@keyframes login-up{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@keyframes login-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes login-flash{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:none}}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-card .form-field:first-child{animation:.6s cubic-bezier(.32,.72,0,1) .2s both login-up}.login-card .form-field:nth-child(2){animation:.6s cubic-bezier(.32,.72,0,1) .3s both login-up}.login-card .login-submit{animation:.6s cubic-bezier(.32,.72,0,1) .4s both login-up}@media (width<=640px){.admin-main{gap:1rem;padding:0 1rem 1rem}.card{padding:1rem}.card-row{align-items:stretch}.card-actions{width:100%}.card-actions .btn,.card-actions form{flex:auto}.card-actions form .btn{width:100%}.card>.form-grid[style]{grid-template-columns:1fr!important}.form-grid{max-width:none}.live-search-form{flex-wrap:wrap}.live-search{flex:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
