@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap";@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=DM+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap";*,*:before,*:after,html,body,#root{font-family:Excon,sans-serif!important}.MuiTypography-root,.MuiButton-root,.MuiInputBase-root,.MuiInputLabel-root,.MuiMenuItem-root,.MuiSelect-root,.MuiFormLabel-root,.MuiFormHelperText-root,.MuiTableCell-root,.MuiTablePagination-root,.MuiTablePagination-selectLabel,.MuiTablePagination-displayedRows,.MuiChip-root,.MuiChip-label,.MuiAlert-root,.MuiAlert-message,.MuiSnackbar-root,.MuiDialog-root,.MuiDialogTitle-root,.MuiDialogContent-root,.MuiDialogContentText-root,.MuiDialogActions-root,.MuiTooltip-tooltip,.MuiTab-root,.MuiTabs-root,.MuiListItem-root,.MuiListItemText-root,.MuiListItemText-primary,.MuiListItemText-secondary,.MuiAccordion-root,.MuiAccordionSummary-root,.MuiAccordionDetails-root,.MuiBadge-root,.MuiAutocomplete-root,.MuiAutocomplete-option,.MuiPaper-root,.MuiCard-root,.MuiCardContent-root,.MuiCardHeader-root,.MuiCardActions-root,.MuiMenu-root,.MuiPopover-root,.MuiPickersDay-root,.MuiCalendarPicker-root,.MuiDataGrid-root,.MuiDataGrid-cell,.MuiDataGrid-columnHeader,.MuiDataGrid-footerContainer{font-family:Excon,sans-serif!important}h1,h2,h3,h4,h5,h6,p,span,a,li,ul,ol,label,input,textarea,select,button,th,td,caption,div,section,article,header,footer,nav,main,strong,em,small,code,pre{font-family:Excon,sans-serif!important}[style*="Plus Jakarta Sans"],[style*="DM Sans"],[style*="DM Mono"],[style*=Diphylleia],.recharts-text,.recharts-legend-item-text,.recharts-tooltip-label,.recharts-tooltip-item,.recharts-cartesian-axis-tick-value{font-family:Excon,sans-serif!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--v700: #3f1fbd;--v600: #5c35d9;--v500: #7c5ce8;--v400: #9b7fff;--v300: #c4b0ff;--v200: #e5dcff;--v100: #f0ebff;--v50: #f8f5ff;--emerald: #059669;--emerald-bg: #ecfdf5;--emerald-b: #6ee7b7;--ink: #0f0920;--ink-2: #2d2550;--ink-3: #5a5280;--ink-4: #9490b0;--page: #f2effe;--card: #ffffff;--line: #ece8f8;--line-2:#d8d0f5;--line-3:#c0b4ef;--sh-sm: 0 2px 10px rgba(92,53,217,.09), 0 1px 4px rgba(0,0,0,.05);--sh-md: 0 4px 24px rgba(92,53,217,.12), 0 2px 8px rgba(0,0,0,.06);--sh-lg: 0 8px 40px rgba(92,53,217,.16), 0 4px 12px rgba(0,0,0,.07);--sh-xl: 0 20px 60px rgba(92,53,217,.22), 0 8px 20px rgba(0,0,0,.08);--r-xl: 24px;--r-md: 12px;--r-sm: 8px;--ease: cubic-bezier(.4,0,.2,1);--spring: cubic-bezier(.34,1.56,.64,1);--t: .22s;--tf: .14s;--px: 32px}.sd-page{font-family:Outfit,sans-serif;background:var(--page);background-image:radial-gradient(ellipse 65% 45% at 0% 0%,rgba(92,53,217,.09) 0%,transparent 60%),radial-gradient(ellipse 50% 38% at 100% 100%,rgba(124,92,232,.06) 0%,transparent 58%);min-height:100vh;width:100%;display:flex;flex-direction:column;overflow-x:hidden}.sd-hero{width:calc(100% - var(--px) * 2);margin:20px auto 0;background:linear-gradient(118deg,#1a0860,#341aaa 40%,#5c35d9 72%,#7c5ce8);padding:22px 28px;border-radius:20px;overflow:hidden;position:relative;box-shadow:0 6px 28px #2e14914d}.sd-hero-pattern{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sd-hero-pattern:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 82% 25%,rgba(167,139,255,.28) 0%,transparent 38%),radial-gradient(circle at 8% 75%,rgba(92,53,217,.18) 0%,transparent 32%)}.sd-hero-pattern:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1px);background-size:26px 26px}.sd-hero-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:nowrap}.sd-hero-left{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.sd-avatar{width:42px;height:42px;min-width:42px;max-width:42px;border-radius:11px;background:#ffffff29;border:1.5px solid rgba(255,255,255,.3);color:#fff;font-size:.78rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;flex-grow:0;position:relative;overflow:hidden;cursor:default;letter-spacing:.02em;box-shadow:0 2px 8px #0003;transition:transform .2s var(--ease)}.sd-avatar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.18) 0%,transparent 55%);border-radius:inherit}.sd-avatar:hover{transform:scale(1.05)}.sd-hero-left>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.sd-hero-name{margin:0;font-size:1.05rem;font-weight:700;color:#fff;letter-spacing:-.01em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 8px rgba(0,0,0,.2)}.sd-hero-sub{margin:0;display:flex;align-items:center;gap:7px;flex-wrap:nowrap;overflow:hidden;color:#fffffff5}.sd-dept-tag{display:inline-flex;align-items:center;background:#ffffff24;border:1px solid rgba(255,255,255,.24);color:#ffffffeb;font-size:.58rem;font-weight:700;padding:2px 7px;border-radius:4px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;transition:background .18s var(--ease)}.sd-dept-tag:hover{background:#ffffff38}.sd-hero-sub>*:not(.sd-dept-tag){color:#fffffff0;font-size:.76rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sd-hero-right{display:flex;align-items:stretch;background:#ffffff17;border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:3px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex-shrink:0;transition:background .2s var(--ease)}.sd-hero-right:hover{background:#ffffff24}.sd-hero-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 18px;border-radius:11px;cursor:default;white-space:nowrap;transition:background .18s var(--ease)}.sd-hero-stat:hover{background:#ffffff17}.sd-hero-stat-n{font-size:1.3rem;font-weight:800;color:#fff;letter-spacing:-.04em;line-height:1;transition:transform .2s var(--ease)}.sd-hero-stat:hover .sd-hero-stat-n{transform:scale(1.07)}.sd-hero-stat-l{font-size:.55rem;font-weight:600;color:#ffffff7a;text-transform:uppercase;letter-spacing:.1em}.sd-hero-divider{width:1px;background:#ffffff24;flex-shrink:0;margin-block:10px}.sd-sem-bar{width:calc(100% - var(--px) * 2);margin:14px auto 0;background:var(--card);padding:12px 18px;border-radius:var(--r-md);border:1.5px solid var(--line);display:flex;align-items:center;gap:14px;flex-wrap:nowrap;box-shadow:var(--sh-sm);position:relative;z-index:10;align-self:flex-start;width:fit-content;min-width:calc(100% - var(--px) * 2)}.sd-sem-label{font-size:.62rem;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:.14em;white-space:nowrap;flex-shrink:0}.sd-sem-tabs{display:flex;gap:6px;flex-wrap:nowrap;align-items:center}.sd-sem-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:50px;height:46px;border-radius:10px;border:1.5px solid var(--line-2);background:var(--v50);cursor:pointer;font-family:inherit;gap:1px;overflow:hidden;outline:none;flex-shrink:0;transition:border-color .16s var(--ease),background .16s var(--ease),transform .2s var(--ease),box-shadow .16s var(--ease)}.sd-sem-tab:hover{border-color:var(--v300);background:var(--v100);transform:translateY(-2px);box-shadow:0 4px 12px #5c35d921}.sd-sem-tab:active{transform:translateY(0)}.sd-sem-num{font-size:1rem;font-weight:800;color:var(--ink-2);line-height:1;position:relative;z-index:1;transition:color .16s var(--ease)}.sd-sem-sub{font-size:.5rem;font-weight:700;color:var(--ink-4);text-transform:uppercase;letter-spacing:.07em;position:relative;z-index:1;transition:color .16s var(--ease)}.sd-sem-tab:hover .sd-sem-num{color:var(--v600)}.sd-sem-tab:hover .sd-sem-sub{color:var(--v500)}.sd-sem-tab.sd-sem-active{border-color:var(--v600);background:linear-gradient(145deg,var(--v600) 0%,var(--v500) 100%);transform:translateY(-2px);box-shadow:0 4px 14px #5c35d952,0 0 0 3px #5c35d91f}.sd-sem-tab.sd-sem-active .sd-sem-num{color:#fff}.sd-sem-tab.sd-sem-active .sd-sem-sub{color:#ffffffad}.sd-strip{width:calc(100% - var(--px) * 2);margin:14px auto 0;display:flex;align-items:stretch;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-sm)}.sd-strip-item{flex:1 1 0;display:flex;align-items:center;gap:12px;padding:18px 16px;transition:background .16s var(--ease);cursor:default;position:relative}.sd-strip-item:hover{background:var(--v50)}.sd-strip-item:hover .sd-strip-val{color:var(--v600)}.sd-strip-item:hover .sd-strip-icon{background:var(--v200);border-color:var(--v300)}.sd-strip-icon{font-size:.88rem;font-weight:800;flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--v100);border:1.5px solid var(--v200);border-radius:9px;color:var(--v600);box-shadow:inset 0 0 0 1px #5c35d90d;transition:background .16s var(--ease),border-color .16s var(--ease);position:relative}.sd-strip-icon svg{font-size:.9rem}.sd-strip-val{font-size:1.45rem;font-weight:900;color:var(--ink);letter-spacing:-.05em;line-height:1;display:block;transition:color .16s var(--ease)}.sd-strip-lbl{font-size:.6rem;font-weight:700;color:var(--ink-4);text-transform:uppercase;letter-spacing:.09em;margin-top:3px;display:block;white-space:nowrap}.sd-strip-sep{width:1px;background:var(--line);flex-shrink:0;align-self:stretch;margin-block:12px}.sd-section{width:calc(100% - var(--px) * 2);margin:20px auto 0;background:var(--card);border-radius:var(--r-xl);border:1.5px solid var(--line);overflow:hidden;box-shadow:var(--sh-md);position:relative;transition:box-shadow var(--t) var(--ease),transform var(--t) var(--ease),border-color var(--t) var(--ease)}.sd-section:hover{box-shadow:var(--sh-xl);transform:translateY(-3px);border-color:var(--line-3)}.sd-section:last-child{margin-bottom:52px}.sd-section-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;flex-wrap:wrap;gap:10px}.sd-core-header{background:linear-gradient(135deg,#f8f5ff,#eee5ff);border-bottom:1.5px solid var(--line-2);position:relative;overflow:hidden}.sd-core-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(-52deg,rgba(92,53,217,.025) 0px,rgba(92,53,217,.025) 1px,transparent 1px,transparent 20px);pointer-events:none}.sd-elec-header{background:linear-gradient(135deg,#f0fdf9,#d1fae5);border-bottom:1.5px solid var(--emerald-b);position:relative;overflow:hidden}.sd-elec-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(-52deg,rgba(5,150,105,.025) 0px,rgba(5,150,105,.025) 1px,transparent 1px,transparent 20px);pointer-events:none}.sd-section-header-left{display:flex;align-items:center;gap:14px;position:relative;z-index:1;flex:1;min-width:0}.sd-section-accent{width:4px;height:44px;border-radius:4px;flex-shrink:0;transition:height .3s var(--spring)}.sd-section:hover .sd-section-accent{height:56px}.sd-core-accent{background:linear-gradient(180deg,var(--v600),var(--v500));box-shadow:0 0 10px #5c35d961}.sd-elec-accent{background:linear-gradient(180deg,var(--emerald),#34d399);box-shadow:0 0 10px #05966952}.sd-section-title{margin:0 0 3px;font-size:.98rem;font-weight:800;color:var(--ink);letter-spacing:-.01em}.sd-section-sub{margin:0;font-size:.72rem;color:var(--ink-3);font-weight:600}.sd-section-badge{font-size:.68rem;font-weight:800;padding:6px 16px;border-radius:999px;letter-spacing:.05em;white-space:nowrap;text-transform:uppercase;position:relative;z-index:1;cursor:default;transition:transform .2s var(--ease)}.sd-section-badge:hover{transform:scale(1.05)}.sd-core-badge{background:linear-gradient(135deg,var(--v600),var(--v500));color:#fff;box-shadow:0 3px 12px #5c35d94d}.sd-elec-badge{background:linear-gradient(135deg,var(--emerald),#34d399);color:#fff;box-shadow:0 3px 12px #05966942}.sd-table-wrap{overflow-x:auto}.sd-table{width:100%;border-collapse:collapse;font-size:.875rem;font-family:inherit;min-width:680px}.sd-table thead tr{background:linear-gradient(100deg,#3a1cb0 0%,var(--v600) 55%,var(--v500) 100%)}.sd-table th{padding:13px 20px;font-size:.63rem;font-weight:800;color:#ffffffe6;text-transform:uppercase;letter-spacing:.11em;white-space:nowrap;text-align:left;position:relative;-webkit-user-select:none;user-select:none}.sd-table th:not(:last-child):after{content:"";position:absolute;right:0;top:25%;bottom:25%;width:1px;background:#ffffff26}.sd-th-idx{width:48px;text-align:center}.sd-th-code{width:140px}.sd-th-center{width:60px;text-align:center}.sd-tr{border-bottom:1px solid #f0ebff;transition:background var(--tf) var(--ease);animation:af-row .28s var(--ease) both;cursor:pointer}.sd-tr:nth-child(1){animation-delay:.04s}.sd-tr:nth-child(2){animation-delay:.07s}.sd-tr:nth-child(3){animation-delay:.1s}.sd-tr:nth-child(4){animation-delay:.13s}.sd-tr:nth-child(5){animation-delay:.16s}.sd-tr:nth-child(6){animation-delay:.19s}.sd-tr:nth-child(7){animation-delay:.22s}.sd-tr:nth-child(8){animation-delay:.25s}.sd-tr:nth-child(9){animation-delay:.28s}.sd-tr:nth-child(10){animation-delay:.31s}.sd-tr:nth-child(11){animation-delay:.34s}.sd-tr:nth-child(12){animation-delay:.37s}.sd-tr:last-child{border-bottom:none}.sd-tr:nth-child(2n) td{background:#f0ebff4d}.sd-tr:hover td{background:var(--v100)!important}.sd-tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--v600)}.sd-tr:hover .sd-td-name{color:var(--v600)}.sd-tr:active td{background:var(--v200)!important}.sd-table td{padding:13px 20px;color:var(--ink-2);vertical-align:middle;transition:background var(--tf) var(--ease),color var(--tf) var(--ease)}.sd-td-idx{text-align:center;font-size:.7rem;font-weight:700;color:var(--ink-4)}.sd-td-name{font-weight:700;color:var(--ink);line-height:1.4;transition:color var(--t) var(--ease)}.sd-td-center{text-align:center;font-size:.82rem;font-weight:700;color:var(--ink-2)}.sd-code-chip{display:inline-block;font-size:.7rem;font-weight:800;padding:3px 10px;border-radius:var(--r-sm);letter-spacing:.04em;white-space:nowrap;transition:transform .28s var(--spring)}.sd-tr:hover .sd-code-chip{transform:scale(1.06)}.sd-code-chip.core{background:var(--v100);color:var(--v600);border:1px solid var(--v300)}.sd-code-chip.elec{background:var(--emerald-bg);color:var(--emerald);border:1px solid var(--emerald-b)}.sd-credit-chip{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:26px;border-radius:var(--r-sm);font-size:.78rem;font-weight:800;transition:transform .28s var(--spring)}.sd-tr:hover .sd-credit-chip{transform:scale(1.1)}.sd-credit-chip.core{background:var(--v100);color:var(--v600);border:1px solid var(--v200)}.sd-credit-chip.elec{background:var(--emerald-bg);color:var(--emerald);border:1px solid var(--emerald-b)}.sd-tfoot-row{border-top:2px solid var(--line-2)!important}.sd-tfoot-row td{background:var(--v50)!important}.sd-tfoot-label{padding:13px 20px;font-size:.78rem;font-weight:800;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}.sd-tfoot-val{padding:13px 20px;text-align:center;font-size:.88rem;font-weight:900;color:var(--v600)}.sd-no-elec{width:calc(100% - var(--px) * 2);margin:20px auto 52px;background:var(--card);border:2px dashed var(--line-2);border-radius:var(--r-xl);padding:56px 24px;text-align:center;transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}.sd-no-elec:hover{border-color:var(--v400);box-shadow:var(--sh-lg)}.sd-no-elec-icon{width:64px;height:64px;margin:0 auto 14px;display:inline-flex;align-items:center;justify-content:center;border-radius:18px;background:linear-gradient(135deg,var(--v100),#ede7ff);border:1.5px solid var(--v200);color:var(--v600);font-size:1.3rem;font-weight:800;box-shadow:0 10px 24px #5c35d91a}.sd-no-elec h3{margin:0 0 6px;font-size:1rem;font-weight:800;color:var(--ink)}.sd-no-elec p{margin:0;font-size:.84rem;color:var(--ink-4);font-weight:500}@keyframes af-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes af-row{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes af-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(max-width:1024px){:root{--px: 22px}}@media(max-width:768px){:root{--px: 16px}.sd-hero-stat{padding:8px 12px}.sd-hero-stat-n{font-size:1.1rem}.sd-sem-tab{width:44px;height:42px}.sd-table th,.sd-table td{padding:11px 13px}}@media(max-width:600px){:root{--px: 12px}.sd-hero-right,.sd-strip-icon{display:none}.sd-strip-item{padding:14px 10px}.sd-strip-val{font-size:1.2rem}.sd-sem-tabs{flex-wrap:wrap}}.cs-page{padding:36px 32px 60px;min-height:100vh;font-family:Excon,sans-serif;color:#1a0f3c;background:#f4f2ff;background-image:radial-gradient(ellipse 70% 45% at 12% -5%,rgba(124,92,232,.12) 0%,transparent 55%),radial-gradient(ellipse 55% 40% at 90% 96%,rgba(92,53,217,.08) 0%,transparent 55%)}.cs-heading{margin-bottom:28px;animation:cs-up .45s ease both}.cs-eyebrow{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.18em;font-size:.63rem;color:#7c5ce8;margin-bottom:8px;font-weight:800}.cs-eyebrow:before{content:"";display:inline-block;width:16px;height:2px;background:linear-gradient(90deg,#5c35d9,#7c5ce8);border-radius:2px}.cs-heading h1{font-size:clamp(1.5rem,2.2vw,2rem);font-weight:800;color:#1a0f3c;margin:0 0 6px;letter-spacing:-.03em;line-height:1.18}.cs-heading p{font-size:.88rem;color:#7b6daa;margin:0;font-weight:500}.cs-layout{display:grid;grid-template-columns:400px 1fr;gap:20px;align-items:start}.cs-card{background:#fff;border-radius:20px;border:1px solid #ede5ff;overflow:hidden;box-shadow:0 4px 18px #5c35d912,0 1px 4px #0000000a;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;position:relative;animation:cs-up .45s ease both}.cs-card:nth-child(2){animation-delay:.08s}.cs-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#5c35d9,#7c5ce8,#a78bfa);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.4,0,.2,1);border-radius:0 0 20px 20px}.cs-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px #5c35d924,0 2px 8px #0000000d;border-color:#d4c4f8}.cs-card:hover:after{transform:scaleX(1)}.cs-card-top{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #f0ebff;flex-wrap:wrap;gap:10px;background:linear-gradient(135deg,#faf8ff,#f5f0ff)}.cs-card-top h2{font-size:.94rem;font-weight:800;color:#1a0f3c;margin:0;letter-spacing:-.01em}.cs-card-body{padding:24px}.cs-success{background:#f0fdf4;border:1px solid #bbf7d0;border-left:3px solid #16a34a;border-radius:10px;padding:11px 15px;color:#15803d;font-size:.85rem;font-weight:700;margin-bottom:20px;animation:cs-up .3s ease both}.cs-field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.cs-field label{font-size:.72rem;font-weight:800;color:#b0a3d0;text-transform:uppercase;letter-spacing:.08em}.cs-req{color:#ef4444}.cs-optional{color:#c4b8e8;font-weight:500;text-transform:none;letter-spacing:0}.cs-field input,.cs-field select,.cs-field textarea{padding:10px 14px;border:1.5px solid #d4c4f8;border-radius:12px;font-size:.875rem;font-family:Excon,sans-serif;font-weight:500;color:#1a0f3c;outline:none;background:#faf8ff;resize:vertical;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.cs-field input::placeholder,.cs-field textarea::placeholder{color:#c4b8e8;font-weight:500}.cs-field input:hover,.cs-field select:hover,.cs-field textarea:hover{border-color:#a78bfa;background:#fff}.cs-field input:focus,.cs-field select:focus,.cs-field textarea:focus{border-color:#5c35d9;background:#fff;box-shadow:0 0 0 3px #5c35d91a}.cs-field input.cs-err,.cs-field select.cs-err,.cs-field textarea.cs-err{border-color:#f87171;background:#fff5f5}.cs-errtxt{font-size:.72rem;color:#ef4444;font-weight:700}.cs-cat-row{display:flex;flex-wrap:wrap;gap:7px}.cs-cat-btn{padding:7px 16px;border:1.5px solid #d4c4f8;border-radius:999px;background:#faf8ff;font-size:.78rem;font-weight:700;color:#9b8fc0;cursor:pointer;font-family:Excon,sans-serif;transition:all .18s ease;letter-spacing:.02em}.cs-cat-btn:hover{border-color:#7c5ce8;color:#5c35d9;background:#f0ebff}.cs-cat-btn.active{border-color:#5c35d9;background:linear-gradient(135deg,#5c35d9,#7c5ce8);color:#fff;box-shadow:0 3px 10px #5c35d94d}.cs-upload{border:2px dashed #d4c4f8;border-radius:14px;padding:28px 20px;text-align:center;cursor:pointer;font-size:.82rem;color:#9b8fc0;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .18s ease;background:#faf8ff;font-weight:600}.cs-upload:hover,.cs-upload.drag{border-color:#5c35d9;background:#f0ebff;color:#5c35d9}.cs-upload-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#5c35d9,#7c5ce8);color:#fff;border-radius:11px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;box-shadow:0 4px 12px #5c35d94d}.cs-preview{border:1.5px solid #d4c4f8;border-radius:14px;overflow:hidden}.cs-preview img{width:100%;max-height:160px;object-fit:cover;display:block}.cs-preview-info{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:.78rem;color:#9b8fc0;background:#faf8ff;border-top:1px solid #f0ebff;font-weight:600}.cs-preview-info button{border:none;background:none;color:#ef4444;font-size:.78rem;cursor:pointer;font-family:Excon,sans-serif;font-weight:800;transition:color .15s ease}.cs-preview-info button:hover{color:#b91c1c}.cs-submit{width:100%;padding:12px;background:linear-gradient(135deg,#5c35d9,#7c5ce8);color:#fff;border:none;border-radius:12px;font-size:.88rem;font-weight:800;cursor:pointer;font-family:Excon,sans-serif;transition:all .18s ease;box-shadow:0 4px 16px #5c35d952;letter-spacing:.02em}.cs-submit:hover:not(:disabled){background:linear-gradient(135deg,#4a27c7,#6a4ad6);box-shadow:0 6px 22px #5c35d970;transform:translateY(-2px)}.cs-submit:active:not(:disabled){transform:translateY(0)}.cs-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.cs-filters{display:flex;gap:4px;background:#ede5ff;padding:4px;border-radius:10px}.cs-filter{padding:5px 14px;border:none;border-radius:7px;background:transparent;font-size:.75rem;font-weight:700;color:#9b8fc0;cursor:pointer;font-family:Excon,sans-serif;transition:all .15s ease}.cs-filter:hover{color:#5c35d9}.cs-filter.active{background:#fff;color:#5c35d9;box-shadow:0 2px 8px #5c35d926}.cs-empty{padding:64px 24px;text-align:center}.cs-empty p{font-size:.95rem;font-weight:700;color:#1a0f3c;margin:0 0 5px}.cs-empty span{font-size:.82rem;color:#b0a3d0;font-weight:500}.cs-table-wrap{overflow-x:auto}.cs-table{width:100%;border-collapse:collapse;font-size:.845rem;font-family:Excon,sans-serif}.cs-table th{padding:13px 16px;text-align:left;font-size:.68rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(135deg,#5c35d9,#7c5ce8);white-space:nowrap;border-bottom:none}.cs-table td{padding:14px 16px;border-bottom:1px solid #f5f0ff;color:#4b4070;vertical-align:middle}.cs-table tbody tr:last-child td{border-bottom:none}.cs-table tbody tr{transition:background .15s ease}.cs-table tbody tr:hover td{background:#faf8ff}.cs-td-title{font-weight:700;color:#1a0f3c;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-td-date{color:#b0a3d0;font-size:.75rem;white-space:nowrap;font-weight:600}.cs-td-resp{max-width:200px;font-size:.8rem}.cs-badge{font-size:.68rem;font-weight:800;padding:4px 11px;border-radius:999px;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase}.cs-status{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:800;padding:5px 11px;border-radius:999px;white-space:nowrap;letter-spacing:.05em;text-transform:uppercase}.cs-status:before{content:"";width:5px;height:5px;border-radius:50%;display:inline-block;flex-shrink:0}.cs-status.pending{background:#fef3c7;color:#78350f}.cs-status.pending:before{background:#f59e0b;animation:cs-pulse-amber 1.8s infinite}.cs-status.approved{background:#dcfce7;color:#14532d}.cs-status.approved:before{background:#16a34a}.cs-status.rejected{background:#fee2e2;color:#7f1d1d}.cs-status.rejected:before{background:#dc2626}.cs-reason-box{font-size:.78rem;line-height:1.55;padding:7px 11px;border-radius:8px;font-weight:600;max-width:200px}.cs-reason-box.approved{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.cs-reason-box.rejected{background:#fff5f5;color:#991b1b;border:1px solid #fecaca}.cs-proof-btn{border:none;background:none;cursor:pointer;padding:0}.cs-proof-btn img{width:38px;height:38px;object-fit:cover;border-radius:8px;border:1.5px solid #ede5ff;display:block;transition:border-color .15s ease,transform .15s ease}.cs-proof-btn img:hover{border-color:#5c35d9;transform:scale(1.08)}.cs-none{color:#d4c4f8;font-size:.8rem;font-weight:600}.cs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a0f3cb3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:cs-fade-in .18s ease}@keyframes cs-fade-in{0%{opacity:0}to{opacity:1}}.cs-photo-box{position:relative;border-radius:16px;overflow:hidden;max-width:90vw;max-height:88vh;box-shadow:0 32px 80px #00000073;animation:cs-scale-in .22s cubic-bezier(.34,1.56,.64,1)}@keyframes cs-scale-in{0%{transform:scale(.93);opacity:0}to{transform:scale(1);opacity:1}}.cs-photo-box img{display:block;max-width:90vw;max-height:88vh;object-fit:contain}.cs-photo-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:#1a0f3c8c;color:#fff;border-radius:50%;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.cs-photo-close:hover{background:#1a0f3cd9}@keyframes cs-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes cs-pulse-amber{0%,to{box-shadow:0 0 #f59e0b80}50%{box-shadow:0 0 0 4px #f59e0b00}}@media(max-width:900px){.cs-layout{grid-template-columns:1fr}.cs-page{padding:20px 14px 40px}}.lm-page{display:flex;flex-direction:column;gap:24px;padding:28px;background:#f5f3ff;min-height:calc(100vh - 60px)}.lm-hero{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;background:linear-gradient(135deg,#0ea5e9,#0369a1 55%,#1e3a5f);border-radius:18px;padding:28px 36px;color:#fff;position:relative;overflow:hidden}.lm-hero:before{content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;border-radius:50%;background:#ffffff0f}.lm-hero-title{font-size:1.5rem;font-weight:800;margin:0 0 6px;letter-spacing:-.02em}.lm-hero-sub{font-size:.875rem;opacity:.82;margin:0}.lm-hero-stats{display:flex;align-items:center;gap:20px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:14px 24px}.lm-stat{display:flex;flex-direction:column;align-items:center;gap:3px}.lm-stat-num{font-size:1.6rem;font-weight:800;line-height:1}.lm-stat-label{font-size:.7rem;font-weight:500;opacity:.75;text-transform:uppercase;letter-spacing:.04em}.lm-stat-div{width:1px;height:36px;background:#ffffff38}.lm-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lm-search{flex:1;min-width:240px;padding:11px 16px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:.875rem;font-family:inherit;background:#fff;color:#1f2937;outline:none;transition:all .18s;box-shadow:0 2px 8px #0000000a}.lm-search:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.lm-filter-bar{display:flex;gap:4px;background:#fff;border-radius:10px;padding:4px;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000a}.lm-filter-btn{padding:7px 16px;border:none;border-radius:7px;font-size:.8rem;font-weight:600;cursor:pointer;color:#6b7280;background:transparent;font-family:inherit;transition:all .15s;white-space:nowrap}.lm-filter-active{background:#7c3aed;color:#fff;box-shadow:0 2px 8px #7c3aed4d}.lm-card{background:#fff;border-radius:16px;box-shadow:0 4px 24px #6d28d914;border:1px solid #ede9fe;overflow:hidden}.lm-card-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #f3f4f6}.lm-card-title-row{display:flex;align-items:center;gap:10px}.lm-card-title{font-size:1rem;font-weight:700;color:#1e1b4b;margin:0}.lm-count-chip{background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff;font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:20px}.lm-empty{display:flex;flex-direction:column;align-items:center;padding:56px 24px;text-align:center}.lm-empty-icon{font-size:48px;margin-bottom:14px;opacity:.6}.lm-empty-title{font-size:.95rem;font-weight:700;color:#374151;margin:0 0 6px}.lm-empty-sub{font-size:.82rem;color:#9ca3af}.lm-table{width:100%;border-collapse:collapse;font-size:.875rem}.lm-table thead tr{background:#f9f7ff}.lm-table th{padding:12px 16px;text-align:left;font-size:.71rem;font-weight:700;color:#6b21a8;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #ede9fe;white-space:nowrap}.lm-table td{padding:14px 16px;border-bottom:1px solid #f3f4f6;color:#374151;vertical-align:middle}.lm-table tbody tr{transition:background .12s}.lm-table tbody tr:hover{background:#faf5ff}.lm-td-num{color:#d1d5db;font-weight:600;font-size:.8rem}.lm-td-title{font-weight:600;color:#1e1b4b}.lm-td-date{color:#9ca3af;font-size:.8rem;white-space:nowrap}.lm-course-name{font-weight:600;color:#1e1b4b;font-size:.875rem}.lm-course-code{font-size:.73rem;color:#9ca3af}.lm-faculty-cell{display:flex;align-items:center;gap:8px;white-space:nowrap}.lm-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lm-faculty-name{font-size:.85rem;color:#374151}.lm-unit-badge{font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:20px;background:#ede9fe;color:#5b21b6;white-space:nowrap}.lm-type-badge{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:20px;white-space:nowrap}.lm-view-btn{padding:7px 16px;background:#fff;color:#7c3aed;border:1.5px solid #7c3aed;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}.lm-view-btn:hover{background:#7c3aed;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed47}@media(max-width:768px){.lm-page{padding:16px}.lm-toolbar{flex-direction:column;align-items:stretch}.lm-search{min-width:unset}}.cm-page{min-height:100vh;padding:28px 28px 64px;background:radial-gradient(circle at top left,rgba(92,53,217,.12),transparent 30%),linear-gradient(180deg,#f6f3ff,#f8fafc);font-family:Outfit,Sora,sans-serif}.cm-shell{width:min(100%,1320px);margin:0 auto}.cm-back-btn{margin-bottom:16px;padding:10px 16px;border-radius:999px;border:1px solid #d8b4fe;background:#ffffffe0;color:#5b21b6;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.cm-back-btn:hover{background:#faf5ff;box-shadow:0 10px 22px #5b21b61f;transform:translateY(-1px)}.cm-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:26px 28px;border-radius:28px;background:linear-gradient(135deg,#1d0b67,#4c1d95 55%,#6d28d9);box-shadow:0 20px 48px #4c1d9538;color:#fff;overflow:hidden;position:relative}.cm-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.2),transparent 24%),radial-gradient(circle at 15% 85%,rgba(255,255,255,.12),transparent 20%);pointer-events:none}.cm-hero-copy,.cm-hero-stat{position:relative;z-index:1}.cm-title{margin:0 0 10px;font-size:clamp(1.6rem,2.6vw,2.35rem);font-weight:800;letter-spacing:-.04em}.cm-sub{margin:0;color:#ffffffd1;font-size:.98rem;font-weight:500}.cm-course-badge{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:8px 14px;border-radius:999px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);color:#f5f3ff;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.cm-hero-stat{min-width:180px;padding:16px 18px;border-radius:20px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cm-hero-stat-value{display:block;font-size:2rem;line-height:1;font-weight:800;letter-spacing:-.05em}.cm-hero-stat-label{display:block;margin-top:6px;color:#ffffffb8;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.cm-card{margin-top:22px;background:#fffffff0;border-radius:26px;border:1px solid rgba(226,232,240,.9);box-shadow:0 16px 38px #0f172a14;overflow:hidden}.cm-table-wrap{overflow-x:auto}.cm-table{width:100%;min-width:920px;border-collapse:separate;border-spacing:0;font-size:.92rem}.cm-table thead tr{background:linear-gradient(90deg,#5b21b6,#6d28d9)}.cm-table th{text-align:left;padding:18px;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;font-weight:800;white-space:nowrap}.cm-table th:first-child{border-top-left-radius:22px}.cm-table th:last-child{border-top-right-radius:22px}.cm-table td{padding:18px;border-bottom:1px solid #ede9fe;color:#334155;vertical-align:middle}.cm-table tbody tr{transition:background .2s ease,transform .2s ease}.cm-table tbody tr:hover{background:#faf5ff}.cm-table tbody tr:last-child td{border-bottom:none}.cm-pill{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:34px;padding:0 12px;border-radius:999px;background:#efe7ff;color:#5b21b6;font-weight:800;font-size:.82rem;box-shadow:inset 0 0 0 1px #6d28d91f}.cm-title-cell{min-width:280px;font-weight:700;color:#1e293b;line-height:1.5}.cm-link{padding:8px 14px;border-radius:12px;border:1px solid #d8b4fe;background:#faf5ff;color:#5b21b6;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.cm-link:hover{background:#f3e8ff;transform:translateY(-1px);box-shadow:0 8px 18px #6d28d91f}.cm-link:disabled{background:#f8fafc;border-color:#e2e8f0;color:#c4b5fd;cursor:not-allowed;box-shadow:none;transform:none}.cm-empty{margin:0;padding:28px 24px;color:#64748b;font-size:.98rem;font-weight:600}@media(max-width:960px){.cm-page{padding:22px 18px 50px}.cm-hero{flex-direction:column;align-items:flex-start}.cm-hero-stat{min-width:0;width:100%}}@media(max-width:640px){.cm-page{padding:18px 12px 40px}.cm-hero{padding:20px 18px;border-radius:22px}.cm-course-badge{font-size:.7rem}.cm-card{border-radius:20px}.cm-table th,.cm-table td{padding:14px 12px}}.fd-page{min-height:100vh;padding:36px 32px 52px;background:#f4f2ff;background-image:radial-gradient(ellipse 80% 50% at 20% -10%,rgba(124,92,232,.13) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 85% 90%,rgba(92,53,217,.09) 0%,transparent 55%);font-family:Plus Jakarta Sans,sans-serif;color:#1a0f3c}.fd-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:28px;animation:fd-fade-up .5s ease both}.fd-eyebrow{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;color:#7c5ce8;margin:0 0 10px;font-weight:800}.fd-eyebrow:before{content:"";width:18px;height:2px;background:linear-gradient(90deg,#5c35d9,#7c5ce8);border-radius:2px;display:inline-block}.fd-hero h1{margin:0 0 8px;font-size:clamp(1.55rem,2.2vw,2.05rem);font-weight:800;letter-spacing:-.03em;color:#1a0f3c;line-height:1.2}.fd-sub{font-size:.89rem;color:#7b6daa;font-weight:500}.fd-profile{display:flex;align-items:center;gap:14px;padding:14px 20px;background:#fff;border-radius:18px;border:1px solid #ede5ff;box-shadow:0 8px 28px #5c35d91a,0 2px 6px #0000000a;transition:transform .22s ease,box-shadow .22s ease;animation:fd-fade-up .55s .08s ease both}.fd-profile:hover{transform:translateY(-3px);box-shadow:0 14px 36px #5c35d929,0 2px 8px #0000000d}.fd-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#5c35d9,#7c5ce8);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.15rem;box-shadow:0 4px 12px #5c35d966;flex-shrink:0;position:relative}.fd-avatar:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid transparent;background:linear-gradient(135deg,#7c5ce8,#a78bfa) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude}.fd-name{font-weight:700;color:#1a0f3c;font-size:.95rem;letter-spacing:-.01em}.fd-dept{font-size:.78rem;color:#9b8fc0;margin-top:2px;font-weight:500}.fd-timestamp{font-size:.7rem;color:#c4b8e8;margin-top:3px;font-weight:500}.fd-banner{padding:12px 16px;border-radius:12px;margin-bottom:20px;font-size:.85rem;font-weight:600;display:inline-flex;gap:8px;align-items:center;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;animation:fd-fade-up .4s ease both}.fd-banner.error{background:#fff0f0;color:#991b1b;border-color:#fecaca;box-shadow:0 4px 16px #dc262614}.fd-top-row{display:grid;grid-template-columns:240px 1fr;gap:18px;margin-bottom:18px}.fd-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:14px}.fd-charts-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.fd-card{background:#fff;border:1px solid #ede5ff;border-radius:20px;padding:22px 22px 24px;box-shadow:0 4px 18px #5c35d912,0 1px 4px #0000000a;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;position:relative;overflow:hidden;animation:fd-fade-up .5s ease both}.fd-card:nth-child(1){animation-delay:.1s}.fd-card:nth-child(2){animation-delay:.18s}.fd-card:nth-child(3){animation-delay:.26s}.fd-card:nth-child(4){animation-delay:.34s}.fd-card:before{content:"";position:absolute;top:-28px;right:-28px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(124,92,232,.08) 0%,transparent 70%);pointer-events:none;transition:transform .4s ease}.fd-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#5c35d9,#7c5ce8,#a78bfa);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.4,0,.2,1);border-radius:0 0 20px 20px}.fd-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px #5c35d924,0 4px 10px #0000000f;border-color:#d4c4f8}.fd-card:hover:before{transform:scale(1.5)}.fd-card:hover:after{transform:scaleX(1)}.fd-score-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px 18px}.fd-score-ring-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;margin:12px 0 8px}.fd-score-svg{filter:drop-shadow(0 4px 12px rgba(92,53,217,.18));transition:filter .25s ease}.fd-card:hover .fd-score-svg{filter:drop-shadow(0 8px 20px rgba(92,53,217,.32))}.fd-ring-num{font-family:Plus Jakarta Sans,sans-serif;font-size:28px;font-weight:800;letter-spacing:-.04em}.fd-ring-label{font-family:Plus Jakarta Sans,sans-serif;font-size:12px;font-weight:600}.fd-ring-badge{padding:5px 14px;border-radius:999px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.fd-ring-badge.good{background:#dcfce7;color:#14532d}.fd-ring-badge.risk{background:#fee2e2;color:#7f1d1d;animation:fd-pulse-badge 2s infinite}@keyframes fd-pulse-badge{0%,to{box-shadow:0 0 #dc26264d}50%{box-shadow:0 0 0 6px #dc262600}}.fd-mini-card{padding:16px 18px 18px}.fd-mini-sub-row{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.fd-chip{padding:3px 9px;border-radius:999px;font-size:.68rem;font-weight:700}.fd-chip.green{background:#dcfce7;color:#14532d}.fd-chip.amber{background:#fef3c7;color:#78350f}.fd-chip.red{background:#fee2e2;color:#7f1d1d}.fd-approval-track{height:8px;background:#f0ebff;border-radius:999px;overflow:hidden;margin:14px 0 8px}.fd-approval-fill{height:100%;background:linear-gradient(90deg,#5c35d9,#a78bfa);border-radius:999px;transition:width 1.2s cubic-bezier(.4,0,.2,1);min-width:4px}.fd-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;color:#9b8fc0;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.fd-card-value{margin:14px 0 8px;font-size:clamp(2rem,3vw,2.6rem);font-weight:800;color:#1a0f3c;letter-spacing:-.04em;line-height:1;transition:color .2s ease}.fd-card:hover .fd-card-value{color:#5c35d9}.fd-card-note{margin:0;font-size:.77rem;color:#b0a3d0;font-weight:500;line-height:1.5}.fd-pill{padding:4px 10px;border-radius:999px;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;flex-shrink:0;position:relative}.fd-pill:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:5px;vertical-align:middle}.fd-pill.good{background:#dcfce7;color:#14532d}.fd-pill.good:before{background:#16a34a}.fd-pill.risk{background:#fee2e2;color:#7f1d1d}.fd-pill.risk:before{background:#dc2626;animation:fd-pulse-red 1.6s infinite}.fd-pill.warn{background:#fef3c7;color:#78350f}.fd-pill.warn:before{background:#f59e0b}.fd-pill.neutral{background:#ede5ff;color:#4c1d95}.fd-pill.neutral:before{background:#5c35d9;animation:fd-pulse-purple 2s infinite}.fd-chart-card{padding:20px 20px 16px}.fd-chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.fd-chart-title{font-size:.88rem;font-weight:700;color:#1a0f3c;letter-spacing:-.01em}.fd-chart-sub{font-size:.72rem;color:#b0a3d0;margin-top:2px;font-weight:500}.fd-chart-empty{height:180px;display:flex;align-items:center;justify-content:center;color:#b0a3d0;font-size:.85rem;font-weight:600;flex-direction:column;gap:8px}.fd-chart-empty-good{color:#16a34a}.fd-chart-empty-icon{width:36px;height:36px;border-radius:50%;background:#dcfce7;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#16a34a;font-weight:800}.fd-spark-tip{background:#1a0f3c;color:#fff;border-radius:8px;padding:6px 12px;font-size:.8rem;font-family:Plus Jakarta Sans,sans-serif;box-shadow:0 4px 12px #0003}.fd-spark-tip strong{font-weight:800;color:#a78bfa}.fd-foot{margin-top:8px;display:flex;align-items:center;gap:8px;font-size:.8rem;color:#b0a3d0;font-weight:500;animation:fd-fade-up .5s .5s ease both}.fd-foot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#5c35d9;flex-shrink:0;animation:fd-pulse-purple 2s infinite}@keyframes fd-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fd-pulse-purple{0%,to{box-shadow:0 0 #5c35d980}50%{box-shadow:0 0 0 5px #5c35d900}}@keyframes fd-pulse-red{0%,to{box-shadow:0 0 #dc262680}50%{box-shadow:0 0 0 5px #dc262600}}@media(max-width:1100px){.fd-top-row{grid-template-columns:220px 1fr}.fd-charts-row{grid-template-columns:1fr 1fr}}@media(max-width:860px){.fd-top-row{grid-template-columns:1fr}.fd-score-card{flex-direction:row;text-align:left;gap:20px;align-items:center}.fd-charts-row{grid-template-columns:1fr}}@media(max-width:640px){.fd-page{padding:20px 14px 36px}.fd-profile{width:100%}.fd-mini-grid{grid-template-columns:1fr 1fr}.fd-hero h1{font-size:1.35rem}}.fn-page{padding:36px 32px 52px;min-height:100vh;font-family:Plus Jakarta Sans,sans-serif;color:#1a0f3c;background:#f4f2ff;background-image:radial-gradient(ellipse 70% 45% at 15% -5%,rgba(124,92,232,.12) 0%,transparent 58%),radial-gradient(ellipse 55% 40% at 90% 95%,rgba(92,53,217,.08) 0%,transparent 55%)}.fn-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:26px;gap:16px;flex-wrap:wrap;animation:fn-up .45s ease both}.fn-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;color:#7c5ce8;margin:0 0 8px;font-weight:800;display:inline-flex;align-items:center;gap:7px}.fn-eyebrow:before{content:"";display:inline-block;width:16px;height:2px;background:linear-gradient(90deg,#5c35d9,#7c5ce8);border-radius:2px}.fn-heading h1{font-size:clamp(1.6rem,2.3vw,2.1rem);font-weight:800;color:#1a0f3c;margin:0 0 5px;letter-spacing:-.03em;line-height:1.15}.fn-sub{font-size:.86rem;color:#8b7db8;margin:0;font-weight:500}.fn-heading-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fn-unread-badge{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#ede5ff;border-radius:999px;font-size:.75rem;font-weight:800;color:#5c35d9;letter-spacing:.02em}.fn-unread-dot{width:7px;height:7px;border-radius:50%;background:#5c35d9;animation:fn-pulse 1.8s infinite}.fn-mark-all{display:flex;align-items:center;gap:6px;padding:8px 18px;border:1.5px solid #d4c4f8;border-radius:999px;background:#fff;font-size:.78rem;font-weight:700;color:#5c35d9;cursor:pointer;font-family:inherit;transition:all .18s ease;letter-spacing:.01em}.fn-mark-all:hover{background:linear-gradient(135deg,#5c35d9,#7c5ce8);color:#fff;border-color:transparent;box-shadow:0 4px 14px #5c35d94d;transform:translateY(-1px)}.fn-score-card{background:#fff;border:1px solid #ede5ff;border-radius:20px;padding:22px 28px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;box-shadow:0 4px 20px #5c35d914,0 1px 4px #0000000a;animation:fn-up .5s .08s ease both;position:relative;overflow:hidden;transition:box-shadow .22s ease,transform .22s ease}.fn-score-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#5c35d9,#7c5ce8,#a78bfa);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.4,0,.2,1);border-radius:0 0 20px 20px}.fn-score-card:hover{box-shadow:0 12px 36px #5c35d924,0 2px 8px #0000000d;transform:translateY(-2px)}.fn-score-card:hover:after{transform:scaleX(1)}.fn-score-left{display:flex;align-items:center;gap:14px}.fn-score-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#5c35d9,#7c5ce8);color:#fff;font-weight:800;font-size:1.2rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 14px #5c35d961;position:relative}.fn-avatar-ring{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid transparent;background:linear-gradient(135deg,#7c5ce8,#a78bfa) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude}.fn-score-name{font-weight:700;color:#1a0f3c;font-size:.96rem;letter-spacing:-.01em}.fn-score-dept{font-size:.78rem;color:#9b8fc0;margin-top:2px;font-weight:500}.fn-score-center{flex:1;min-width:160px;max-width:340px}.fn-score-track-wrap{width:100%}.fn-score-track{height:10px;background:#f0ebff;border-radius:999px;overflow:hidden;margin-bottom:6px;box-shadow:inset 0 1px 3px #5c35d914}.fn-score-bar{height:100%;border-radius:999px;transition:width 1.2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.fn-score-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.28) 50%,transparent 100%);animation:fn-shimmer 2.4s infinite}@keyframes fn-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.fn-score-markers{display:flex;justify-content:space-between;font-size:.65rem;color:#c4b8e8;font-weight:600;letter-spacing:.03em}.fn-score-right{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:90px}.fn-score-num{font-size:2.4rem;font-weight:800;line-height:1;letter-spacing:-.04em;transition:transform .2s ease}.fn-score-card:hover .fn-score-num{transform:scale(1.05)}.fn-score-label{font-size:.68rem;font-weight:700;color:#b0a3d0;text-transform:uppercase;letter-spacing:.08em}.fn-score-status-pill{margin-top:5px;padding:4px 12px;border-radius:999px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.fn-score-status-pill.excellent{background:#dcfce7;color:#14532d}.fn-score-status-pill.average{background:#fef3c7;color:#78350f}.fn-score-status-pill.risk{background:#fee2e2;color:#7f1d1d;animation:fn-pulse-red 1.8s infinite}.fn-empty{background:#fff;border:1.5px dashed #d4c4f8;border-radius:20px;padding:72px 24px;text-align:center;box-shadow:0 4px 20px #5c35d90d;animation:fn-up .4s ease both}.fn-empty-icon-wrap{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#ede5ff,#ddd4ff);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.fn-empty-spinner{width:36px;height:36px;border:3px solid #ede5ff;border-top-color:#5c35d9;border-radius:50%;animation:fn-spin .8s linear infinite;margin:0 auto 16px}.fn-empty p{font-size:.96rem;font-weight:700;color:#1a0f3c;margin:0 0 5px}.fn-empty span{font-size:.8rem;color:#b0a3d0;font-weight:500}.fn-list{display:flex;flex-direction:column;gap:12px}.fn-card{background:#fff;border:1px solid #ede5ff;border-radius:16px;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;position:relative;display:flex;align-items:stretch;overflow:hidden;animation:fn-up .42s ease both}.fn-card-inner{padding:18px 20px 18px 22px;flex:1}.fn-card-accent{width:4px;flex-shrink:0;background:#e0d7f8;transition:background .2s ease}.fn-card.unread .fn-card-accent{background:linear-gradient(180deg,#5c35d9,#a78bfa)}.fn-status-approved .fn-card-accent{background:linear-gradient(180deg,#10b981,#34d399)}.fn-status-rejected .fn-card-accent{background:linear-gradient(180deg,#ef4444,#f97316)}.fn-status-pending .fn-card-accent{background:linear-gradient(180deg,#f59e0b,#fbbf24)}.fn-status-alert .fn-card-accent{background:linear-gradient(180deg,#6366f1,#818cf8)}.fn-card.unread{background:#faf8ff;border-color:#d4c4f8;box-shadow:0 2px 12px #5c35d912}.fn-card.unread:hover{border-color:#7c5ce8;box-shadow:0 8px 28px #5c35d924;transform:translateY(-2px)}.fn-card.read{opacity:.72}.fn-card.read:hover{opacity:1;box-shadow:0 4px 16px #5c35d914;transform:translateY(-1px);border-color:#d4c4f8}.fn-dot{width:9px;height:9px;background:#5c35d9;border-radius:50%;position:absolute;top:14px;right:14px;animation:fn-pulse 2s infinite;box-shadow:0 0 0 3px #5c35d926}.fn-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.fn-card-title{display:flex;flex-direction:column;gap:4px}.fn-card-from{display:flex;align-items:center;gap:7px}.fn-from-avatar{width:22px;height:22px;border-radius:50%;background:#ede5ff;color:#5c35d9;font-size:.62rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fn-card-student{font-size:.74rem;color:#9b8fc0;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.fn-card-complaint{font-size:.93rem;color:#1a0f3c;font-weight:700;letter-spacing:-.01em}.fn-status{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;align-self:flex-start;flex-shrink:0;transition:transform .15s ease}.fn-card:hover .fn-status{transform:scale(1.04)}.fn-status.approved{background:#dcfce7;color:#14532d}.fn-status.rejected{background:#fee2e2;color:#7f1d1d}.fn-status.pending{background:#fef3c7;color:#78350f}.fn-status.alert{background:#e0e7ff;color:#3730a3}.fn-card-message{margin:0 0 12px;font-size:.86rem;color:#4b4070;line-height:1.65;font-weight:500}.fn-card-meta{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.fn-card-meta-left{display:flex;align-items:center;gap:5px;color:#b0a3d0}.fn-card-time{font-family:DM Mono,monospace;font-size:.72rem;color:#b0a3d0}.fn-admin-feedback{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:#f5f0ff;border-radius:6px;font-size:.73rem;font-weight:600;color:#7b6daa;border:1px solid #ede5ff}.fn-admin-feedback span{font-style:italic}@keyframes fn-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fn-spin{to{transform:rotate(360deg)}}@keyframes fn-pulse{0%,to{box-shadow:0 0 #5c35d973}50%{box-shadow:0 0 0 6px #5c35d900}}@keyframes fn-pulse-red{0%,to{box-shadow:0 0 #dc26264d}50%{box-shadow:0 0 0 6px #dc262600}}@media(max-width:768px){.fn-page{padding:22px 14px 36px}.fn-score-center{display:none}.fn-score-card{padding:18px 20px}.fn-heading h1{font-size:1.4rem}}:root{--indigo: #673ab7;--indigo-dark: #4527a0;--indigo-light: #ede7f6;--indigo-glow: rgba(103, 58, 183, .18);--indigo-border: rgba(103, 58, 183, .35);--green: #1b5e20;--green-bg: #e8f5e9;--amber: #f57f17;--amber-bg: #fff8e1;--red: #b71c1c;--red-bg: #ffebee;--surface: #ffffff;--bg: #f4f2fb;--text-primary: #1a1036;--text-secondary: #64748b;--border: #e8e3f5;--shadow-card: 0 4px 20px rgba(103, 58, 183, .1);--shadow-hover: 0 12px 32px rgba(103, 58, 183, .2);--radius: 16px;--radius-sm: 10px;--font: "Outfit", sans-serif}.up-page{min-height:calc(100vh - 60px);background:var(--bg);background-image:radial-gradient(ellipse 60% 40% at 10% 0%,rgba(103,58,183,.08) 0%,transparent 60%),radial-gradient(ellipse 50% 30% at 90% 100%,rgba(103,58,183,.06) 0%,transparent 60%);padding:28px 24px 48px;font-family:var(--font)}.up-title{font-family:var(--font);font-weight:800;font-size:clamp(1.2rem,2.5vw,1.8rem);color:var(--text-primary);text-align:center;margin-bottom:24px;animation:fadeDown .5s ease both}.up-title .accent{color:var(--indigo)}.up-deadline{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--indigo-light) 0%,#f3e5f5 100%);border:1.5px solid var(--indigo-border);border-radius:40px;padding:10px 22px;box-shadow:var(--shadow-card);transition:box-shadow .25s ease,transform .25s ease;animation:fadeUp .4s .1s ease both}.up-deadline:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.up-deadline-icon{color:var(--indigo)!important;font-size:1.6rem!important}.up-deadline-label{font-family:var(--font);font-weight:600;font-size:1rem;color:#3f51b5}.up-deadline-msg{font-family:var(--font);font-weight:700;font-size:.9rem;color:#e91e63;background:#e91e6314;border-radius:20px;padding:2px 10px}.up-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap;animation:fadeUp .4s .15s ease both}.up-btn-add{display:inline-flex;align-items:center;gap:6px;font-family:var(--font)!important;font-weight:700!important;font-size:.95rem!important;text-transform:none!important;padding:8px 22px!important;border-radius:40px!important;border:2px solid var(--indigo)!important;background:var(--surface)!important;color:var(--indigo)!important;box-shadow:0 2px 10px var(--indigo-glow)!important;transition:all .22s cubic-bezier(.34,1.56,.64,1)!important;position:relative;overflow:hidden;border-color:var(--indigo-border)!important;background:var(--indigo-light)!important;box-shadow:var(--shadow-card)!important}.up-btn-add:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--indigo),#7c5ce8);transform:scaleX(0);transform-origin:left;transition:transform .22s ease;z-index:0;border-radius:inherit}.up-btn-add:hover:after{transform:scaleX(1)}.up-btn-add:hover{color:#fff!important;box-shadow:var(--shadow-hover)!important;transform:translateY(-2px)}.up-btn-add:active{transform:translateY(-1px)}.up-btn-add.Mui-focusVisible{box-shadow:0 0 0 3px #673ab71f!important}.up-btn-add>*{position:relative;z-index:1}.up-empty{text-align:center;padding:40px 20px;animation:fadeUp .5s ease both}.up-empty img{width:130px;opacity:.55;margin-bottom:16px;filter:drop-shadow(0 4px 12px var(--indigo-glow))}.up-grid-item{animation:fadeUp .4s ease both}.up-grid-item:nth-child(1){animation-delay:.05s}.up-grid-item:nth-child(2){animation-delay:.1s}.up-grid-item:nth-child(3){animation-delay:.15s}.up-grid-item:nth-child(4){animation-delay:.2s}.up-grid-item:nth-child(5){animation-delay:.25s}.up-grid-item:nth-child(6){animation-delay:.3s}.up-note{color:#e53935!important;font-weight:700!important;opacity:.35;font-size:.82rem!important}.uc-card{background:var(--surface);border-radius:var(--radius)!important;border:1.5px solid var(--border)!important;box-shadow:var(--shadow-card)!important;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease!important;position:relative;overflow:hidden;height:100%}.uc-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--indigo),#9c27b0,var(--indigo));background-size:200%;animation:shimmerBar 3s linear infinite;opacity:0;transition:opacity .25s ease}.uc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)!important}.uc-card:hover:before{opacity:1}.uc-status{display:inline-flex;align-items:center;gap:5px;font-family:var(--font);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:4px 12px}.uc-status.approved{background:var(--green-bg);color:var(--green)}.uc-status.pending{background:var(--amber-bg);color:var(--amber)}.uc-status.rejected{background:var(--red-bg);color:var(--red)}.uc-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}.uc-status.pending:before{animation:pulse 1.5s ease infinite}.uc-unit-num{font-family:var(--font);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.uc-unit-name{font-family:var(--font);font-weight:800;color:var(--indigo);font-size:1.1rem;line-height:1.35;margin-top:8px;margin-bottom:6px}.uc-lp-count{display:inline-flex;align-items:center;gap:5px;background:var(--indigo-light);color:var(--indigo);font-weight:700;font-size:.78rem;border-radius:20px;padding:3px 10px;margin-top:6px}.uc-ts{font-size:.76rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace;margin-top:10px;line-height:1.7}.uc-upload-btn{font-family:var(--font)!important;font-weight:700!important;text-transform:none!important;font-size:.82rem!important;border-radius:8px!important;padding:5px 12px!important;transition:all .2s ease!important}.uc-upload-btn.active{background:var(--indigo)!important;color:#fff!important;box-shadow:0 2px 8px var(--indigo-glow)!important}.uc-upload-btn.active:hover{background:var(--indigo-dark)!important;transform:translateY(-1px);box-shadow:0 4px 14px var(--indigo-glow)!important}.uc-upload-btn.uploaded{background:#f1f5f9!important;color:#94a3b8!important}.uc-view-btn{font-family:var(--font)!important;font-weight:700!important;text-transform:none!important;color:var(--indigo)!important;border:1.5px solid var(--indigo)!important;border-radius:8px!important;background:var(--surface)!important;transition:all .2s ease!important;font-size:.85rem!important}.uc-view-btn:hover{background:var(--indigo)!important;color:#fff!important;box-shadow:0 3px 12px var(--indigo-glow)!important;transform:translateY(-1px)}.uc-icon-btn{transition:all .2s cubic-bezier(.34,1.56,.64,1)!important}.uc-icon-btn:hover{transform:scale(1.12) rotate(-5deg)}.lp-page{min-height:calc(100vh - 60px);background:var(--bg);background-image:radial-gradient(ellipse 50% 40% at 5% 10%,rgba(103,58,183,.07) 0%,transparent 60%);padding:24px;font-family:var(--font)}.lp-back-btn{font-family:var(--font)!important;font-weight:700!important;text-transform:none!important;color:var(--text-secondary)!important;border-radius:20px!important;padding:6px 14px!important;transition:all .2s ease!important;margin-bottom:12px!important}.lp-back-btn:hover{color:var(--text-primary)!important;background:var(--border)!important}.lp-title{font-family:var(--font)!important;font-weight:800!important;color:var(--text-primary)!important;text-align:center;margin-bottom:16px!important;animation:fadeDown .4s ease both}.lp-title .accent{color:var(--indigo)}.lp-table-head th{background:linear-gradient(135deg,var(--indigo) 0%,#7b1fa2 100%)!important;color:#fff!important;font-family:var(--font)!important;font-weight:700!important;font-size:.82rem!important;text-transform:uppercase!important;letter-spacing:.05em!important;padding:18px 20px!important;text-align:center!important;border-bottom:none!important;white-space:nowrap}.lp-table-row{transition:background .2s ease;animation:fadeUp .3s ease both}.lp-table-row:hover{background:#faf7ff!important}.lp-table-row td{font-family:var(--font);font-size:.86rem;text-align:center;padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text-secondary)}.lp-status-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--font);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:4px 12px}.lp-status-chip.approved{background:var(--green-bg);color:var(--green)}.lp-status-chip.pending{background:var(--amber-bg);color:var(--amber)}.lp-status-chip.rejected{background:var(--red-bg);color:var(--red)}.lp-status-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.lp-status-chip.pending:before{animation:pulse 1.4s ease infinite}.lp-num-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--indigo-light);color:var(--indigo);font-family:var(--font);font-weight:800;font-size:.85rem;margin:auto}.lp-link-cell{font-weight:700;font-size:.85rem;color:#3f51b5;cursor:pointer;text-decoration:none;transition:color .18s ease;display:inline-flex;align-items:center;gap:4px}.lp-link-cell:hover{color:var(--indigo);text-decoration:underline}.modal-surface{background:var(--surface);border-radius:20px!important;box-shadow:0 24px 60px #0f052833!important;animation:modalIn .28s cubic-bezier(.34,1.56,.64,1) both;font-family:var(--font);overflow:hidden}.modal-header{background:linear-gradient(135deg,#f9f6ff,#f0ebff);padding:20px 24px 16px;border-bottom:1.5px solid var(--border);text-align:center}.modal-header-title{font-family:var(--font)!important;font-weight:800!important;color:var(--indigo)!important;font-size:1.3rem!important}.modal-body{padding:20px 24px;overflow-y:auto;scrollbar-width:none}.modal-body::-webkit-scrollbar{display:none}.modal-footer{padding:14px 24px;border-top:1.5px solid var(--border);display:flex;justify-content:flex-end;gap:10px;background:#fafafa}.detail-section{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;background:linear-gradient(135deg,#fdfcff,#f7f4ff);margin-bottom:12px;transition:box-shadow .2s ease,transform .2s ease}.detail-section:hover{box-shadow:0 4px 16px var(--indigo-glow);transform:translate(3px)}.detail-section-title{font-family:var(--font)!important;font-weight:800!important;color:var(--indigo)!important;font-size:.85rem!important;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px!important;display:flex;align-items:center;gap:6px}.detail-section-title:before{content:"";width:4px;height:16px;background:var(--indigo);border-radius:2px;display:inline-block}.btn-primary{font-family:var(--font)!important;font-weight:700!important;text-transform:none!important;background:var(--surface)!important;color:var(--indigo)!important;border:2px solid var(--indigo)!important;border-radius:10px!important;transition:all .2s ease!important}.btn-primary:hover{background:var(--indigo)!important;color:#fff!important;box-shadow:0 4px 16px var(--indigo-glow)!important}.btn-cancel{font-family:var(--font)!important;font-weight:700!important;text-transform:none!important;color:var(--text-secondary)!important;border-radius:10px!important;transition:all .2s ease!important}.btn-cancel:hover{background:var(--red-bg)!important;color:var(--red)!important}.btn-danger{font-family:var(--font)!important;font-weight:700!important;text-transform:none!important;background:var(--surface)!important;color:var(--red)!important;border:2px solid var(--red)!important;border-radius:10px!important;transition:all .2s ease!important}.btn-danger:hover{background:var(--red)!important;color:#fff!important}.pdf-upload-zone{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:2px dashed var(--indigo-border);border-radius:var(--radius-sm);background:linear-gradient(135deg,#f9f6ff,#f3ecff);margin-top:12px;transition:border-color .2s,background .2s}.pdf-upload-zone:hover{border-color:var(--indigo);background:var(--indigo-light)}@keyframes fadeDown{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:translate(-50%,-48%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}@keyframes shimmerBar{0%{background-position:0% 50%}to{background-position:200% 50%}}@media(max-width:600px){.up-page,.lp-page{padding:18px 14px 32px}.up-deadline{border-radius:14px;padding:10px 14px}}:root{--indigo: #673ab7;--indigo-dark: #4527a0;--indigo-mid: #7b1fa2;--indigo-light: #ede7f6;--indigo-glow: rgba(103, 58, 183, .16);--indigo-border: rgba(103, 58, 183, .28);--green: #166534;--green-bg: #dcfce7;--green-glow: rgba(22, 101, 52, .15);--amber: #92400e;--amber-bg: #fef3c7;--amber-glow: rgba(146, 64, 14, .15);--red: #991b1b;--red-bg: #fee2e2;--red-glow: rgba(153, 27, 27, .15);--surface: #ffffff;--bg: #f4f2fb;--text-primary: #1a1036;--text-muted: #64748b;--border: #e8e3f5;--shadow-sm: 0 2px 10px rgba(103, 58, 183, .08);--shadow-card: 0 8px 28px rgba(103, 58, 183, .12);--shadow-hover: 0 16px 40px rgba(103, 58, 183, .22);--radius: 18px;--radius-sm: 10px;--font: "Outfit", sans-serif;--mono: "JetBrains Mono", monospace}*,*:before,*:after{box-sizing:border-box}.fs-page{min-height:100vh;background:var(--bg);background-image:radial-gradient(ellipse 65% 45% at 8% 0%,rgba(103,58,183,.1) 0%,transparent 55%),radial-gradient(ellipse 50% 35% at 92% 100%,rgba(103,58,183,.07) 0%,transparent 55%),radial-gradient(ellipse 30% 25% at 50% 50%,rgba(123,31,162,.04) 0%,transparent 60%);padding:36px 32px 60px;font-family:var(--font);color:var(--text-primary)}.fs-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:32px;animation:slideDown .5s cubic-bezier(.22,1,.36,1) both}.fs-header-left{position:relative}.fs-header-eyebrow{font-family:var(--mono);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--indigo);margin:0 0 8px;display:flex;align-items:center;gap:8px}.fs-header-eyebrow:before{content:"";display:inline-block;width:24px;height:2px;background:linear-gradient(90deg,var(--indigo),transparent);border-radius:2px}.fs-header h1{margin:0 0 6px;font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:900;letter-spacing:-.03em;color:var(--text-primary);line-height:1.15;background:linear-gradient(135deg,var(--text-primary) 0%,var(--indigo-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.fs-header p{margin:0;color:var(--text-muted);font-size:.9rem;font-weight:500}.fs-hint{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:linear-gradient(135deg,var(--amber-bg),#fde68a);color:var(--amber);border:1.5px solid rgba(146,64,14,.2);border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 2px 10px var(--amber-glow);animation:fadeUp .5s .15s ease both}.fs-hint:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber);animation:blink 1.8s ease infinite}.fs-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,var(--red-bg),#fecaca);color:var(--red);border:1.5px solid rgba(153,27,27,.2);border-radius:var(--radius-sm);font-size:.86rem;font-weight:600;margin-bottom:20px;box-shadow:0 2px 10px var(--red-glow);animation:shakeIn .4s ease both}.fs-banner:before{content:"⚠";font-size:1rem;flex-shrink:0}.fs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:28px;animation:fadeUp .5s .1s ease both}.fs-stat-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:16px 18px 18px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;cursor:default}.fs-stat-card:before{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:0 0 var(--radius) var(--radius);transition:height .25s ease}.fs-stat-card.total:before{background:linear-gradient(90deg,var(--indigo),var(--indigo-mid))}.fs-stat-card.approved:before{background:linear-gradient(90deg,#16a34a,#4ade80)}.fs-stat-card.pending:before{background:linear-gradient(90deg,#d97706,#fbbf24)}.fs-stat-card.rejected:before{background:linear-gradient(90deg,#dc2626,#f87171)}.fs-stat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}.fs-stat-card:hover:before{height:5px}.fs-stat-icon{font-size:1.4rem;margin-bottom:10px;display:block}.fs-stat-value{font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:900;letter-spacing:-.04em;color:var(--text-primary);line-height:1;margin-bottom:4px}.fs-stat-label{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.fs-table-wrap{background:var(--surface);border-radius:var(--radius);border:1.5px solid var(--border);box-shadow:var(--shadow-card);overflow:hidden;animation:fadeUp .5s .18s ease both;position:relative}.fs-table-wrap:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--indigo),var(--indigo-mid),var(--indigo));background-size:200%;animation:shimmer 3s linear infinite;z-index:1}.fs-table{width:100%;border-collapse:collapse;table-layout:auto}.fs-table thead tr{background:linear-gradient(135deg,var(--indigo) 0%,var(--indigo-mid) 100%)}.fs-table th{padding:16px 18px;text-align:left;font-family:var(--font);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#ffffffeb;border-bottom:none;white-space:nowrap;position:relative}.fs-table th:not(:last-child):after{content:"";position:absolute;right:0;top:25%;bottom:25%;width:1px;background:#ffffff26}.fs-table tbody tr{border-bottom:1px solid var(--border);transition:background .18s ease,transform .18s ease;animation:rowSlideIn .35s ease both}.fs-table tbody tr:nth-child(1){animation-delay:.05s}.fs-table tbody tr:nth-child(2){animation-delay:.1s}.fs-table tbody tr:nth-child(3){animation-delay:.15s}.fs-table tbody tr:nth-child(4){animation-delay:.2s}.fs-table tbody tr:nth-child(5){animation-delay:.25s}.fs-table tbody tr:nth-child(6){animation-delay:.3s}.fs-table tbody tr:nth-child(7){animation-delay:.35s}.fs-table tbody tr:nth-child(8){animation-delay:.4s}.fs-table tbody tr:nth-child(9){animation-delay:.45s}.fs-table tbody tr:nth-child(10){animation-delay:.5s}.fs-table tbody tr:last-child{border-bottom:none}.fs-table tbody tr:hover{background:linear-gradient(90deg,#faf7ff,#f5f0ff)}.fs-table td{padding:15px 18px;font-family:var(--font);font-size:.87rem;font-weight:500;color:#334155;vertical-align:middle}.fs-table td:first-child{font-weight:700;color:var(--text-primary)}.fs-lp-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--indigo-light);color:var(--indigo);font-family:var(--mono);font-weight:700;font-size:.78rem}.fs-date{font-family:var(--mono);font-size:.78rem;color:var(--text-muted);font-weight:500;background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;padding:3px 8px;display:inline-block;white-space:nowrap}.fs-feedback{font-style:italic;color:var(--text-muted);font-size:.84rem;max-width:220px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fs-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-family:var(--font);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease;cursor:default}.fs-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.fs-badge:hover{transform:scale(1.05)}.fs-badge.approved{background:var(--green-bg);color:var(--green);border:1px solid rgba(22,101,52,.18);box-shadow:0 1px 6px var(--green-glow)}.fs-badge.rejected{background:var(--red-bg);color:var(--red);border:1px solid rgba(153,27,27,.18);box-shadow:0 1px 6px var(--red-glow)}.fs-badge.pending{background:var(--amber-bg);color:var(--amber);border:1px solid rgba(146,64,14,.18);box-shadow:0 1px 6px var(--amber-glow)}.fs-badge.pending:before{animation:blink 1.5s ease infinite}.fs-empty{padding:72px 24px;text-align:center;font-family:var(--font);font-weight:600;font-size:.95rem;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:12px}.fs-empty:before{content:"📋";font-size:2.8rem;display:block;opacity:.45;animation:float 3s ease-in-out infinite}.fs-loading{display:flex;justify-content:center;align-items:center;gap:8px;padding:72px 24px}.fs-loading-dot{width:10px;height:10px;border-radius:50%;background:var(--indigo);animation:dotBounce 1.2s ease infinite}.fs-loading-dot:nth-child(2){animation-delay:.2s;opacity:.7}.fs-loading-dot:nth-child(3){animation-delay:.4s;opacity:.5}.fs-table-footer{padding:12px 18px;border-top:1px solid var(--border);font-family:var(--mono);font-size:.72rem;color:var(--text-muted);font-weight:500;display:flex;align-items:center;gap:6px;background:#fafafa}.fs-table-footer:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--indigo);animation:blink 2s ease infinite}@keyframes slideDown{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes rowSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes shakeIn{0%{opacity:0;transform:translate(-10px)}60%{transform:translate(4px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:0% 50%}to{background-position:200% 50%}}@keyframes blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes dotBounce{0%,80%,to{transform:translateY(0);opacity:1}40%{transform:translateY(-12px);opacity:.6}}.fs-table-wrap{scrollbar-width:thin;scrollbar-color:var(--indigo-border) transparent}.fs-table-wrap::-webkit-scrollbar{height:5px}.fs-table-wrap::-webkit-scrollbar-track{background:transparent}.fs-table-wrap::-webkit-scrollbar-thumb{background:var(--indigo-border);border-radius:99px}@media(max-width:768px){.fs-page{padding:24px 16px 40px}.fs-table-wrap{overflow-x:auto}.fs-table th,.fs-table td{padding:12px;font-size:.8rem}.fs-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.fs-stats{grid-template-columns:1fr 1fr;gap:10px}.fs-header h1{font-size:1.3rem}}:root{--brand: #3b82f6;--brand-mid: #60a5fa;--brand-light: #dbeafe;--brand-pale: #eef2f7;--surface: #eef2f7;--page-bg: #e9eef5;--border: rgba(255,255,255,.6);--border-mid: rgba(255,255,255,.9);--text-1: #1f2937;--text-2: #4b5563;--text-hint: #94a3b8;--red: #dc2626;--red-bg: #fde2e2;--red-text: #7f1d1d;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--shadow: 10px 10px 24px rgba(163,177,198,.6), -10px -10px 24px rgba(255,255,255,.85);--shadow-hover: 12px 12px 28px rgba(163,177,198,.65), -12px -12px 28px rgba(255,255,255,.95);--shadow-inset: inset 6px 6px 12px rgba(163,177,198,.55), inset -6px -6px 12px rgba(255,255,255,.85);--t: .2s ease}.ad-page{min-height:100vh;background:var(--page-bg);background-image:radial-gradient(ellipse 70% 45% at 12% -5%,rgba(255,255,255,.75) 0%,transparent 55%),radial-gradient(ellipse 55% 40% at 90% 96%,rgba(160,174,192,.28) 0%,transparent 55%);padding:32px 32px 52px;font-family:Excon,sans-serif;color:var(--text-1)}.ad-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:28px;animation:ad-up .45s ease both}.ad-eyebrow{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.18em;font-size:.63rem;color:var(--brand-mid);margin-bottom:8px;font-weight:800}.ad-eyebrow:before{content:"";display:inline-block;width:16px;height:2px;background:linear-gradient(90deg,var(--brand),var(--brand-mid));border-radius:2px}.ad-header h1{font-size:clamp(1.6rem,2.3vw,2.05rem);font-weight:800;letter-spacing:-.03em;color:var(--text-1);margin-bottom:4px;line-height:1.18}.ad-header span{font-size:.88rem;color:#7b6daa;font-weight:500}.ad-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.ad-status{display:flex;align-items:center;gap:7px;padding:6px 14px;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-inset)}.ad-status.live{color:#14532d}.ad-status.syncing{color:var(--brand)}.ad-status-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.ad-status.live .ad-status-dot{background:#16a34a;animation:ad-pulse-green 1.8s infinite}.ad-status.syncing .ad-status-dot{background:var(--brand);animation:ad-pulse-purple 1.2s infinite}@keyframes ad-pulse-green{0%,to{box-shadow:0 0 #16a34a80}50%{box-shadow:0 0 0 5px #16a34a00}}@keyframes ad-pulse-purple{0%,to{box-shadow:0 0 #5c35d980}50%{box-shadow:0 0 0 5px #5c35d900}}.ad-timestamp{font-size:.72rem;color:var(--text-hint);font-weight:500}.ad-banner{background:var(--surface);color:var(--red-text);padding:11px 16px;border-radius:var(--r-md);font-weight:700;font-size:.85rem;margin-bottom:20px;border:1px solid rgba(239,68,68,.25);box-shadow:var(--shadow)}.ad-stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px}.ad-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:18px 16px 18px 20px;box-shadow:var(--shadow);display:flex;align-items:flex-start;gap:12px;position:relative;overflow:hidden;transition:transform var(--t),box-shadow var(--t),border-color var(--t);animation:ad-up .45s ease both}.ad-stat:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:var(--border-mid)}.ad-stat:before{content:"";position:absolute;top:-20px;right:-20px;width:70px;height:70px;border-radius:50%;background:radial-gradient(circle,rgba(124,92,232,.08) 0%,transparent 70%);pointer-events:none;transition:transform .4s ease}.ad-stat:hover:before{transform:scale(1.6)}.ad-stat-bar{position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:0 0 var(--r-xl) var(--r-xl);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.4,0,.2,1)}.ad-stat:hover .ad-stat-bar{transform:scaleX(1)}.ad-stat-icon{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-inset)}.ad-stat-body{flex:1;min-width:0}.ad-stat-label{font-size:.68rem;font-weight:800;color:var(--text-hint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-stat-value{font-size:2rem;font-weight:800;letter-spacing:-.04em;line-height:1;margin-bottom:4px;transition:color var(--t)}.ad-stat:hover .ad-stat-value{color:var(--brand)!important}.ad-stat-note{font-size:.7rem;color:var(--text-hint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.ad-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.ad-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:20px 20px 16px;box-shadow:var(--shadow);transition:box-shadow var(--t),transform var(--t),border-color var(--t);position:relative;overflow:hidden}.ad-chart-card:before{content:"";position:absolute;top:-24px;right:-24px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.7) 0%,transparent 70%);pointer-events:none;transition:transform .4s ease}.ad-chart-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand),var(--brand-mid),#93c5fd);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.4,0,.2,1);border-radius:0 0 var(--r-xl) var(--r-xl)}.ad-chart-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px);border-color:var(--border-mid)}.ad-chart-card:hover:before{transform:scale(1.5)}.ad-chart-card:hover:after{transform:scaleX(1)}.ad-chart-wide{grid-column:span 1}.ad-chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.ad-chart-title{font-size:.92rem;font-weight:800;color:var(--text-1);letter-spacing:-.01em}.ad-chart-sub{font-size:.73rem;color:var(--text-hint);margin-top:2px;font-weight:500}.ad-chart-empty{height:200px;display:flex;align-items:center;justify-content:center;color:var(--text-hint);font-size:.88rem;font-weight:500}.ad-chart-legend-row{display:flex;align-items:center;gap:6px;font-size:.73rem;color:var(--text-hint);font-weight:600;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.ad-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.ad-tooltip{background:#1a0f3c;border-radius:10px;padding:9px 14px;font-size:.8rem;color:#f0ebff;font-family:Excon,sans-serif;box-shadow:0 6px 18px #5c35d94d;border:1px solid rgba(255,255,255,.08);pointer-events:none}.ad-tt-label{color:#a78bfa;font-size:.7rem;margin-bottom:5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.ad-summary-card{display:flex;flex-direction:column}.ad-summary-list{display:flex;flex-direction:column;gap:10px;flex:1;margin-bottom:20px}.ad-summary-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;transition:background var(--t)}.ad-summary-row:hover{background:#faf8ff}.ad-summary-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ad-summary-text{font-size:.84rem;color:var(--text-2);line-height:1.4;font-weight:500}.ad-summary-text strong{color:var(--text-1);font-weight:800}.ad-approval-rate{border-top:1px solid rgba(255,255,255,.6);padding-top:14px;margin-top:auto}.ad-ar-label{display:flex;justify-content:space-between;font-size:.78rem;font-weight:700;color:var(--text-2);margin-bottom:8px}.ad-ar-label span{color:#10b981;font-size:.9rem;font-weight:800}.ad-ar-track{height:8px;background:var(--surface);border-radius:999px;overflow:hidden;box-shadow:var(--shadow-inset)}.ad-ar-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-mid));border-radius:999px;transition:width 1s cubic-bezier(.4,0,.2,1)}@keyframes ad-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.ad-stats-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:860px){.ad-charts-row{grid-template-columns:1fr}}@media(max-width:640px){.ad-page{padding:16px 14px 32px}.ad-stats-row{grid-template-columns:repeat(2,1fr)}.ad-header h1{font-size:1.4rem}.ad-stat-value{font-size:1.6rem}}.cr-page{padding:36px 32px 60px;min-height:100vh;font-family:Excon,sans-serif;color:#1a0f3c;background:#f4f2ff;background-image:radial-gradient(ellipse 70% 45% at 10% -5%,rgba(124,92,232,.12) 0%,transparent 55%),radial-gradient(ellipse 55% 40% at 92% 98%,rgba(92,53,217,.08) 0%,transparent 55%)}.cr-heading{margin-bottom:26px;animation:cr-up .45s ease both}.cr-eyebrow{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.18em;font-size:.63rem;color:#7c5ce8;margin-bottom:8px;font-weight:800}.cr-eyebrow:before{content:"";display:inline-block;width:16px;height:2px;background:linear-gradient(90deg,#5c35d9,#7c5ce8);border-radius:2px}.cr-heading h1{font-size:clamp(1.5rem,2.2vw,2rem);font-weight:800;color:#1a0f3c;margin:0 0 6px;letter-spacing:-.03em;line-height:1.18}.cr-heading p{font-size:.88rem;color:#7b6daa;margin:0;font-weight:500}.cr-stats{display:flex;gap:14px;margin-bottom:24px;flex-wrap:wrap;animation:cr-up .45s .06s ease both}.cr-stat{background:#fff;border:1px solid #ede5ff;border-radius:18px;padding:18px 26px;display:flex;flex-direction:column;gap:4px;min-width:110px;position:relative;overflow:hidden;box-shadow:0 2px 8px #5c35d912,0 1px 3px #0000000a;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.cr-stat:before{content:"";position:absolute;top:-20px;right:-20px;width:65px;height:65px;border-radius:50%;background:radial-gradient(circle,rgba(124,92,232,.07) 0%,transparent 70%);pointer-events:none;transition:transform .4s ease}.cr-stat:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#5c35d9,#7c5ce8,#a78bfa);transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.4,0,.2,1);border-radius:0 0 18px 18px}.cr-stat:hover{transform:translateY(-5px);box-shadow:0 14px 36px #5c35d924,0 2px 6px #0000000d;border-color:#d4c4f8}.cr-stat:hover:before{transform:scale(1.6)}.cr-stat:hover:after{transform:scaleX(1)}.cr-stat-num{font-size:2rem;font-weight:800;color:#1a0f3c;letter-spacing:-.04em;line-height:1;transition:color .2s ease}.cr-stat:hover .cr-stat-num{color:#5c35d9}.cr-stat-label{font-size:.68rem;font-weight:800;color:#b0a3d0;text-transform:uppercase;letter-spacing:.08em}.cr-card{background:#fff;border-radius:20px;border:1px solid #ede5ff;overflow:hidden;box-shadow:0 4px 18px #5c35d912,0 1px 4px #0000000a;animation:cr-up .45s .1s ease both}.cr-card-top{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #f0ebff;flex-wrap:wrap;gap:10px;background:linear-gradient(135deg,#faf8ff,#f5f0ff)}.cr-card-top h2{font-size:.94rem;font-weight:800;color:#1a0f3c;margin:0;letter-spacing:-.01em}.cr-filters{display:flex;gap:4px;background:#ede5ff;padding:4px;border-radius:10px}.cr-filter{padding:5px 14px;border:none;border-radius:7px;background:transparent;font-size:.75rem;font-weight:700;color:#9b8fc0;cursor:pointer;font-family:Excon,sans-serif;transition:all .15s ease;letter-spacing:.01em}.cr-filter:hover{color:#5c35d9}.cr-filter.active{background:#fff;color:#5c35d9;box-shadow:0 2px 8px #5c35d926}.cr-empty{padding:64px 24px;text-align:center}.cr-empty p{font-size:.95rem;font-weight:700;color:#1a0f3c;margin:0 0 5px}.cr-empty span{font-size:.82rem;color:#b0a3d0;font-weight:500}.cr-table-wrap{overflow-x:auto}.cr-table{width:100%;border-collapse:collapse;font-size:.845rem;font-family:Excon,sans-serif}.cr-table th{padding:13px 16px;text-align:left;font-size:.68rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(135deg,#5c35d9,#7c5ce8);white-space:nowrap;border-bottom:none}.cr-table td{padding:14px 16px;border-bottom:1px solid #f5f0ff;color:#4b4070;vertical-align:middle;transition:background .15s ease}.cr-table tbody tr:last-child td{border-bottom:none}.cr-table tbody tr{transition:background .15s ease}.cr-table tbody tr:hover td{background:#faf8ff}.cr-td-num{color:#b0a3d0;font-size:.75rem;font-family:Excon,sans-serif;font-weight:700}.cr-td-date{color:#b0a3d0;font-size:.75rem;white-space:nowrap;font-weight:600}.cr-td-student{display:flex;align-items:center;gap:10px;min-width:150px}.cr-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#5c35d9,#7c5ce8);color:#fff;font-weight:800;font-size:.84rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 10px #5c35d94d}.cr-student-name{font-weight:700;color:#1a0f3c;font-size:.845rem;white-space:nowrap}.cr-student-id{font-size:.7rem;color:#b0a3d0;font-weight:600;margin-top:1px}.cr-td-title{font-weight:700;color:#1a0f3c;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cr-td-desc{max-width:160px}.cr-td-reason{max-width:180px}.cr-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.8rem;color:#7b6daa;line-height:1.5}.cr-reason-text{font-size:.78rem;color:#4b4070;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cr-badge{font-size:.68rem;font-weight:800;padding:4px 11px;border-radius:999px;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase}.cr-status{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:800;padding:5px 11px;border-radius:999px;white-space:nowrap;letter-spacing:.05em;text-transform:uppercase}.cr-status.pending{background:#fef3c7;color:#78350f}.cr-status.approved{background:#dcfce7;color:#14532d}.cr-status.rejected{background:#fee2e2;color:#7f1d1d}.cr-thumb-btn{border:none;background:none;cursor:pointer;padding:0}.cr-thumb-btn img{width:38px;height:38px;object-fit:cover;border-radius:8px;border:1.5px solid #ede5ff;display:block;transition:border-color .15s ease,transform .15s ease}.cr-thumb-btn img:hover{border-color:#5c35d9;transform:scale(1.08)}.cr-none{color:#d4c4f8;font-size:.8rem;font-weight:600}.cr-action{padding:7px 16px;border-radius:9px;border:none;font-size:.76rem;font-weight:800;cursor:pointer;font-family:Excon,sans-serif;transition:all .18s ease;background:linear-gradient(135deg,#5c35d9,#7c5ce8);color:#fff;white-space:nowrap;box-shadow:0 3px 10px #5c35d947;letter-spacing:.02em}.cr-action:hover{background:linear-gradient(135deg,#4a27c7,#6a4ad6);box-shadow:0 5px 16px #5c35d966;transform:translateY(-2px)}.cr-action.done{background:#f0ebff;color:#9b8fc0;box-shadow:none;font-size:.72rem}.cr-action.done:hover{background:#ede5ff;transform:none;box-shadow:none}.cr-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a0f3c80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:cr-fade .18s ease}@keyframes cr-fade{0%{opacity:0}to{opacity:1}}.cr-modal{background:#fff;border-radius:22px;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;scrollbar-width:none;box-shadow:0 32px 80px #5c35d938,0 4px 16px #00000014;animation:cr-slide .22s cubic-bezier(.34,1.56,.64,1);border:1px solid #ede5ff}.cr-modal::-webkit-scrollbar{display:none}@keyframes cr-slide{0%{transform:translateY(16px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.cr-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 18px;border-bottom:1px solid #f0ebff;background:linear-gradient(135deg,#faf8ff,#f5f0ff);position:sticky;top:0;z-index:2}.cr-modal-header h3{font-size:1.05rem;font-weight:800;color:#1a0f3c;margin:0;letter-spacing:-.02em}.cr-modal-close{width:30px;height:30px;border:none;background:#f0ebff;color:#9b8fc0;border-radius:8px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.cr-modal-close:hover{background:#fee2e2;color:#dc2626}.cr-modal-body{padding:22px 24px}.cr-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;background:#faf8ff;border:1px solid #ede5ff;border-radius:14px;padding:16px}.cr-info-item{display:flex;flex-direction:column;gap:5px}.cr-info-item.cr-full{grid-column:1 / -1}.cr-info-label{font-size:.67rem;font-weight:800;color:#b0a3d0;text-transform:uppercase;letter-spacing:.08em}.cr-info-value{font-size:.875rem;color:#1a0f3c;font-weight:600}.cr-desc{font-size:.875rem;color:#4b4070;line-height:1.65;background:#fff;border:1px solid #ede5ff;border-radius:10px;padding:10px 13px;font-weight:500}.cr-proof-preview{border:1.5px solid #ede5ff;border-radius:12px;overflow:hidden;background:none;cursor:pointer;padding:0;display:block;width:100%;text-align:left;transition:border-color .15s ease}.cr-proof-preview:hover{border-color:#5c35d9}.cr-proof-preview img{width:100%;max-height:140px;object-fit:cover;display:block}.cr-proof-preview span{display:block;font-size:.75rem;color:#7c5ce8;font-weight:700;padding:8px 13px;background:#faf8ff;letter-spacing:.02em}.cr-faculty-select-section{background:#faf8ff;border:1.5px solid #d4c4f8;border-radius:12px;padding:14px 16px;margin-bottom:18px;display:flex;flex-direction:column;gap:8px}.cr-select-label{font-size:.78rem;font-weight:700;color:#4b4070}.cr-req{color:#ef4444}.cr-faculty-select{padding:10px 14px;border:1.5px solid #d4c4f8;border-radius:10px;font-size:.875rem;font-family:Excon,sans-serif;color:#1a0f3c;outline:none;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease;width:100%;font-weight:600}.cr-faculty-select:focus{border-color:#5c35d9;box-shadow:0 0 0 3px #5c35d91a}.cr-score-warning{font-size:.78rem;font-weight:600;color:#78350f;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:9px 13px;line-height:1.55}.cr-decision-section{margin-bottom:18px;display:flex;flex-direction:column;gap:10px}.cr-decision-label{font-size:.78rem;font-weight:800;color:#4b4070;text-transform:uppercase;letter-spacing:.06em}.cr-decision-row{display:flex;gap:10px}.cr-decide-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:12px;border:2px solid #ede5ff;background:#faf8ff;font-size:.875rem;font-weight:800;cursor:pointer;font-family:Excon,sans-serif;transition:all .18s ease;color:#9b8fc0;letter-spacing:.01em}.cr-decide-icon{font-style:normal;font-size:.9rem}.cr-decide-btn.approve:hover{border-color:#34d399;background:#f0fdf4;color:#065f46}.cr-decide-btn.approve.selected{border-color:#10b981;background:#dcfce7;color:#065f46;box-shadow:0 3px 12px #10b98133}.cr-decide-btn.reject:hover{border-color:#f87171;background:#fff5f5;color:#991b1b}.cr-decide-btn.reject.selected{border-color:#ef4444;background:#fee2e2;color:#991b1b;box-shadow:0 3px 12px #ef444433}.cr-resp-field{display:flex;flex-direction:column;gap:7px}.cr-resp-field label{font-size:.78rem;font-weight:800;color:#4b4070;text-transform:uppercase;letter-spacing:.06em}.cr-resp-field textarea{padding:11px 14px;border:1.5px solid #d4c4f8;border-radius:12px;font-size:.875rem;font-family:Excon,sans-serif;color:#1a0f3c;outline:none;resize:vertical;background:#faf8ff;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;font-weight:500;line-height:1.6}.cr-resp-field textarea::placeholder{color:#c4b8e8;font-weight:500}.cr-resp-field textarea:hover{border-color:#a78bfa;background:#fff}.cr-resp-field textarea:focus{border-color:#5c35d9;background:#fff;box-shadow:0 0 0 3px #5c35d91a}.cr-errtxt{font-size:.73rem;color:#ef4444;font-weight:700}.cr-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 20px;border-top:1px solid #f0ebff;background:#faf8ff}.cr-btn-cancel{padding:9px 20px;border:1.5px solid #d4c4f8;border-radius:10px;background:#fff;font-size:.845rem;font-weight:700;color:#8b7db8;cursor:pointer;font-family:Excon,sans-serif;transition:all .18s ease}.cr-btn-cancel:hover{border-color:#ef4444;color:#dc2626;background:#fff5f5}.cr-btn-save{padding:9px 22px;border:none;border-radius:10px;background:linear-gradient(135deg,#10b981,#34d399);font-size:.845rem;font-weight:800;color:#fff;cursor:pointer;font-family:Excon,sans-serif;transition:all .18s ease;box-shadow:0 4px 14px #10b98147;letter-spacing:.01em}.cr-btn-save:hover:not(:disabled){background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 6px 20px #10b98161;transform:translateY(-1px)}.cr-btn-save.reject-mode{background:linear-gradient(135deg,#ef4444,#f87171);box-shadow:0 4px 14px #ef444447}.cr-btn-save.reject-mode:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#ef4444);box-shadow:0 6px 20px #ef444461;transform:translateY(-1px)}.cr-btn-save:active:not(:disabled){transform:translateY(0)}.cr-btn-save:disabled{opacity:.42;cursor:not-allowed;transform:none}.cr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a0f3cb3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px;animation:cr-fade .18s ease}.cr-photo-box{position:relative;border-radius:16px;overflow:hidden;max-width:90vw;max-height:88vh;box-shadow:0 32px 80px #00000073;animation:cr-slide .22s ease}.cr-photo-box img{display:block;max-width:90vw;max-height:88vh;object-fit:contain}.cr-photo-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:#1a0f3c8c;color:#fff;border-radius:50%;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.cr-photo-close:hover{background:#1a0f3cd9}.cr-toast{position:fixed;bottom:28px;right:28px;font-size:.845rem;font-weight:700;padding:13px 22px;border-radius:12px;box-shadow:0 8px 28px #0000002e;z-index:2000;animation:cr-toast-in .22s ease;font-family:Excon,sans-serif;color:#fff;letter-spacing:.01em}.cr-toast.approve{background:linear-gradient(135deg,#10b981,#34d399)}.cr-toast.reject{background:linear-gradient(135deg,#ef4444,#f87171)}@keyframes cr-toast-in{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes cr-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.cr-page{padding:20px 14px 40px}.cr-heading h1{font-size:1.4rem}.cr-info-grid{grid-template-columns:1fr}}*{box-sizing:border-box}.fs-page{padding:32px 28px;min-height:100vh;font-family:Sora,sans-serif;background:linear-gradient(135deg,#f0eeff,#eaf3ff,#f5f0ff)}.fs-heading{margin-bottom:28px}.fs-heading h1{font-size:1.5rem;font-weight:700;color:#18181b;margin:0 0 5px;letter-spacing:-.02em}.fs-heading p{font-size:.875rem;color:#71717a;margin:0}.fs-card{background:#fff;border-radius:16px;border:1px solid #e4e4e7;overflow:hidden;box-shadow:0 2px 12px #7c3aed12,0 1px 3px #0000000a;transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}.fs-card:hover{box-shadow:0 12px 36px #7c3aed2e,0 4px 12px #00000014;transform:translateY(-6px);border-color:#c4b5fd}.fs-card-top{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #f4f4f5;background:linear-gradient(90deg,#f5f0ff,#eef5ff)}.fs-card-top h2{font-size:.92rem;font-weight:700;color:#18181b;margin:0}.fs-empty{padding:56px 20px;text-align:center}.fs-empty p{font-size:.92rem;font-weight:600;color:#3f3f46;margin:0}.fs-table-wrap{overflow-x:auto}.fs-table{width:100%;border-collapse:collapse;font-size:.845rem}.fs-table th{padding:10px 16px;text-align:left;font-size:.7rem;font-weight:700;color:#a1a1aa;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #f4f4f5;background:#fafafa;white-space:nowrap}.fs-table td{padding:13px 16px;border-bottom:1px solid #f9f9f9;color:#3f3f46;vertical-align:middle}.fs-table tbody tr:last-child td{border-bottom:none}.fs-table tbody tr{transition:background .14s}.fs-table tbody tr:hover{background:#faf5ff}.fs-td-id{font-family:DM Mono,monospace;font-size:.78rem;color:#a1a1aa}.fs-td-name{display:flex;align-items:center;gap:10px}.fs-avatar{width:32px;height:32px;border-radius:50%;background:#ede9fe;color:#7c3aed;font-weight:700;font-size:.82rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fs-name-text{font-weight:600;color:#18181b;white-space:nowrap}.fs-dept{display:inline-block;font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:20px;background:#ede9fe;color:#6d28d9;white-space:nowrap}.fs-score{display:inline-block;font-size:.82rem;font-weight:700;padding:4px 14px;border-radius:20px;font-family:DM Mono,monospace;white-space:nowrap}.fs-score.high{background:#d1fae5;color:#065f46}.fs-score.medium{background:#fef3c7;color:#92400e}.fs-score.low{background:#fee2e2;color:#991b1b}*{box-sizing:border-box;margin:0;padding:0}:root{--brand: #5c35d9;--brand-mid: #7c5ce8;--brand-light: #ede5ff;--brand-pale: #f4f2ff;--surface: #ffffff;--page-bg: #f4f2ff;--border: #ede5ff;--border-mid: #d4c4f8;--text-1: #1a0f3c;--text-2: #4b4070;--text-hint: #b0a3d0;--green: #16a34a;--green-bg: #dcfce7;--green-text: #14532d;--red: #dc2626;--red-bg: #fee2e2;--red-text: #7f1d1d;--amber-bg: #fef3c7;--amber-text: #78350f;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--shadow: 0 2px 8px rgba(92,53,217,.07), 0 1px 3px rgba(0,0,0,.04);--shadow-hover: 0 12px 32px rgba(92,53,217,.14), 0 2px 6px rgba(0,0,0,.05);--t: .2s ease}.lm-page{font-family:Excon,sans-serif;background:var(--page-bg);background-image:radial-gradient(ellipse 70% 45% at 12% -5%,rgba(124,92,232,.12) 0%,transparent 55%),radial-gradient(ellipse 55% 40% at 90% 96%,rgba(92,53,217,.08) 0%,transparent 55%);color:var(--text-1);min-height:100vh;padding:32px 32px 52px}.lm-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px;animation:lm-up .45s ease both}.lm-eyebrow{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.18em;font-size:.63rem;color:var(--brand-mid);margin-bottom:8px;font-weight:800}.lm-eyebrow:before{content:"";display:inline-block;width:16px;height:2px;background:linear-gradient(90deg,var(--brand),var(--brand-mid));border-radius:2px}.lm-header-left h1{font-size:clamp(1.45rem,2.2vw,2rem);font-weight:800;letter-spacing:-.03em;color:var(--text-1);margin-bottom:5px;line-height:1.18}.lm-header-left p{font-size:.88rem;color:#7b6daa;font-weight:500}.lm-header-actions{display:flex;align-items:center;gap:10px}.lm-refresh{display:flex;align-items:center;gap:6px;border:1.5px solid var(--border-mid);background:var(--brand-light);color:var(--brand);padding:8px 18px;border-radius:999px;font-size:.8rem;font-weight:800;font-family:Excon,sans-serif;cursor:pointer;transition:var(--t)}.lm-refresh svg{transition:transform .4s ease}.lm-refresh:hover svg{transform:rotate(180deg)}.lm-refresh:hover{background:linear-gradient(135deg,var(--brand),var(--brand-mid));color:#fff;border-color:var(--brand);transform:translateY(-1px);box-shadow:0 4px 14px #5c35d94d}.lm-hint{padding:7px 14px;border-radius:999px;background:var(--brand-light);color:var(--brand);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.lm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;animation:lm-up .45s .06s ease both}.lm-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:18px 20px;box-shadow:var(--shadow);transition:transform var(--t),box-shadow var(--t),border-color var(--t);cursor:default;position:relative;overflow:hidden}.lm-stat-card:before{content:"";position:absolute;top:-18px;right:-18px;width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,rgba(124,92,232,.07) 0%,transparent 70%);pointer-events:none;transition:transform .4s ease}.lm-stat-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand),var(--brand-mid),#a78bfa);border-radius:0 0 var(--r-xl) var(--r-xl);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.4,0,.2,1)}.lm-stat-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px);border-color:var(--border-mid)}.lm-stat-card:hover:before{transform:scale(1.6)}.lm-stat-card:hover:after{transform:scaleX(1)}.lm-stat-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-hint);margin-bottom:8px}.lm-stat-value{font-size:2rem;font-weight:800;letter-spacing:-.04em;line-height:1;transition:color var(--t)}.lm-stat-card.total .lm-stat-value{color:var(--brand)}.lm-stat-card.pending .lm-stat-value{color:#b45309}.lm-stat-card.approved .lm-stat-value{color:var(--green)}.lm-stat-card.rejected .lm-stat-value{color:var(--red)}.lm-stat-sub{font-size:.72rem;color:var(--text-hint);margin-top:5px;font-weight:500}.lm-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap;animation:lm-up .45s .1s ease both}.lm-search-wrap{position:relative;flex:1;min-width:200px}.lm-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-hint);pointer-events:none}.lm-search{width:100%;padding:10px 12px 10px 38px;border:1.5px solid var(--border);border-radius:var(--r-md);font-family:Excon,sans-serif;font-size:.86rem;font-weight:500;background:var(--surface);color:var(--text-1);transition:border-color var(--t),box-shadow var(--t);outline:none}.lm-search::placeholder{color:var(--text-hint)}.lm-search:focus{border-color:var(--brand);box-shadow:0 0 0 3px #5c35d91a}.lm-filter-select{padding:10px 32px 10px 13px;border:1.5px solid var(--border);border-radius:var(--r-md);font-family:Excon,sans-serif;font-size:.86rem;font-weight:600;background:var(--surface);color:var(--text-1);cursor:pointer;outline:none;transition:border-color var(--t),box-shadow var(--t);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b0a3d0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.lm-filter-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #5c35d91a}.lm-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--red-bg);color:var(--red-text);border-radius:var(--r-md);font-size:.85rem;font-weight:700;margin-bottom:16px;border:1px solid #fecaca}.lm-table-wrap{background:var(--surface);border-radius:var(--r-xl);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;animation:lm-up .45s .14s ease both}.lm-table-scroll{overflow-x:auto}.lm-table{width:100%;border-collapse:collapse;min-width:1100px;font-family:Excon,sans-serif}.lm-table thead tr{background:linear-gradient(135deg,#5c35d9,#7c5ce8)}.lm-table th{padding:14px 16px;text-align:left;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#fff;white-space:nowrap;-webkit-user-select:none;user-select:none;border-bottom:none}.lm-table th.sortable{cursor:pointer}.lm-table th.sortable:hover{opacity:.82}.lm-table td{padding:14px 16px;font-size:.85rem;border-bottom:1px solid #f5f0ff;vertical-align:middle;color:var(--text-2);max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lm-table tbody tr{transition:background var(--t)}.lm-table tbody tr:hover td{background:#faf8ff}.lm-table tbody tr:last-child td{border-bottom:none}.lm-faculty-cell{display:flex;align-items:center;gap:10px}.lm-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#5c35d9,#7c5ce8);color:#fff;font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase;box-shadow:0 3px 8px #5c35d947}.lm-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:999px;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.lm-badge:before{content:"";width:5px;height:5px;border-radius:50%;display:inline-block}.lm-badge.approved{background:var(--green-bg);color:var(--green-text)}.lm-badge.approved:before{background:var(--green)}.lm-badge.rejected{background:var(--red-bg);color:var(--red-text)}.lm-badge.rejected:before{background:var(--red)}.lm-badge.pending{background:var(--amber-bg);color:var(--amber-text)}.lm-badge.pending:before{background:#f59e0b;animation:lm-pulse-amber 1.8s infinite}.lm-link{border:none;background:transparent;color:var(--brand);font-family:Excon,sans-serif;font-weight:700;font-size:.82rem;cursor:pointer;padding:0;transition:var(--t)}.lm-link:hover{text-decoration:underline;color:var(--brand-mid)}.lm-actions{display:flex;gap:6px}.lm-btn{border:none;border-radius:var(--r-sm);padding:6px 14px;font-size:.73rem;font-weight:800;font-family:Excon,sans-serif;cursor:pointer;transition:var(--t);letter-spacing:.02em}.lm-btn:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 4px 12px #00000026}.lm-btn:not(:disabled):active{transform:translateY(0)}.lm-btn:disabled{opacity:.38;cursor:not-allowed;transform:none}.lm-btn.approve{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;box-shadow:0 2px 8px #10b98138}.lm-btn.reject{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;box-shadow:0 2px 8px #ef444438}.lm-btn.ghost{background:var(--brand-light);color:var(--brand);border:1px solid var(--border-mid)}.lm-btn.ghost:hover{background:var(--brand);color:#fff}.lm-empty{padding:64px 24px;text-align:center}.lm-empty-icon{width:52px;height:52px;margin:0 auto 16px;background:linear-gradient(135deg,var(--brand-light),#ddd4ff);border-radius:50%;display:flex;align-items:center;justify-content:center}.lm-empty p{font-weight:700;color:var(--text-1);font-size:.95rem}.lm-empty span{font-size:.82rem;color:var(--text-hint);display:block;margin-top:4px;font-weight:500}.lm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a0f3c80;display:grid;place-items:center;z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:lm-fade .15s ease}@keyframes lm-fade{0%{opacity:0}to{opacity:1}}.lm-modal{width:min(480px,92vw);background:var(--surface);border-radius:var(--r-xl);box-shadow:0 32px 80px #5c35d938;animation:lm-slide .22s cubic-bezier(.34,1.56,.64,1);border:1px solid var(--border);overflow:hidden}@keyframes lm-slide{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.lm-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 22px 18px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#faf8ff,#f5f0ff)}.lm-modal-header h3{font-size:1.05rem;font-weight:800;color:var(--text-1);letter-spacing:-.02em}.lm-modal-header p{font-size:.82rem;color:#9b8fc0;margin-top:3px;font-weight:500}.lm-modal-close{background:var(--brand-light);border:none;cursor:pointer;color:#9b8fc0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:1rem;transition:var(--t);flex-shrink:0}.lm-modal-close:hover{color:var(--red);background:var(--red-bg)}.lm-modal textarea{width:calc(100% - 44px);min-height:110px;resize:vertical;border-radius:var(--r-md);border:1.5px solid var(--border-mid);padding:11px 14px;font-family:Excon,sans-serif;font-size:.88rem;font-weight:500;color:var(--text-1);background:#faf8ff;outline:none;transition:var(--t);margin:16px 22px 0;line-height:1.6;display:block}.lm-modal textarea::placeholder{color:var(--text-hint)}.lm-modal textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #5c35d91a;background:#fff}.lm-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 22px 20px}.lm-table-footer{padding:12px 18px;border-top:1px solid var(--border);font-size:.78rem;color:var(--text-hint);font-weight:600;background:#faf8ff;border-radius:0 0 var(--r-xl) var(--r-xl)}@keyframes lm-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes lm-pulse-amber{0%,to{box-shadow:0 0 #f59e0b80}50%{box-shadow:0 0 0 4px #f59e0b00}}@media(max-width:900px){.lm-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.lm-page{padding:16px 14px 32px}.lm-stats{grid-template-columns:repeat(2,1fr)}.lm-header-left h1{font-size:1.3rem}}.mv-page{min-height:100vh;padding:24px;background:radial-gradient(circle at top left,rgba(91,33,182,.16),transparent 24%),linear-gradient(180deg,#f7f4ff,#eef2ff);font-family:Outfit,sans-serif}.mv-shell{width:min(100%,1360px);margin:0 auto}.mv-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-radius:24px;background:linear-gradient(135deg,#1d0b67,#5b21b6);color:#fff;box-shadow:0 20px 48px #4c1d952e}.mv-eyebrow{margin:0 0 6px;color:#ffffffb8;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.mv-copy h1{margin:0;font-size:clamp(1.3rem,2vw,2rem);font-weight:800;letter-spacing:-.04em}.mv-subtitle{margin:8px 0 0;color:#ffffffd1;font-size:.95rem;font-weight:500}.mv-back-btn{min-width:110px;padding:11px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:#ffffff24;color:#fff;font-weight:700;cursor:pointer;transition:transform .2s ease,background .2s ease}.mv-back-btn:hover{background:#fff3;transform:translateY(-1px)}.mv-frame-wrap,.mv-empty{margin-top:20px;border-radius:24px;background:#ffffffeb;border:1px solid rgba(226,232,240,.95);box-shadow:0 16px 40px #0f172a14;overflow:hidden}.mv-frame{width:100%;height:calc(100vh - 180px);min-height:720px;border:none;background:#fff}.mv-empty{padding:40px 28px;text-align:center}.mv-empty h2{margin:0 0 10px;color:#1e1b4b;font-size:1.4rem}.mv-empty p{margin:0 0 18px;color:#64748b;font-weight:500}.mv-empty .mv-back-btn{background:#5b21b6;border-color:#5b21b6}@media(max-width:768px){.mv-page{padding:16px}.mv-topbar{flex-direction:column;align-items:flex-start;padding:18px}.mv-back-btn{width:100%}.mv-frame{min-height:560px;height:calc(100vh - 220px)}}.login-wrapper{display:flex;justify-content:center;align-items:center;height:100vh;background:radial-gradient(circle at top left,rgba(66,165,245,.28),transparent 24%),radial-gradient(circle at bottom right,rgba(103,58,183,.2),transparent 22%),linear-gradient(135deg,#eef4ff,#f7f1ff);padding:24px;font-family:Poppins,sans-serif}.login-container{display:grid;grid-template-columns:1.15fr 1fr;width:100%;max-width:920px;min-height:620px;border-radius:30px;overflow:hidden;background:#ffffffe6;border:1px solid rgba(255,255,255,.78);box-shadow:0 30px 80px #2c3e782e}.login-left{background:linear-gradient(160deg,#ffffff52,#ffffff14),linear-gradient(135deg,#c9e4ff,#e4d3ff);padding:52px 44px;display:flex;flex-direction:column;justify-content:center}.left{display:flex;flex-direction:column;justify-content:center;gap:22px}.login-illustration img{display:block}.login-title{font-size:40px;font-weight:800;margin-bottom:8px;color:#1f2557;letter-spacing:-.04em}.login-subtitle{font-size:16px;line-height:1.7;color:#4f5b7a;margin-bottom:10px;max-width:360px}.login-illustration{width:100%;display:flex;justify-content:center}.login-illustration img{width:100%;max-width:380px;border-radius:22px;box-shadow:0 18px 36px #4a558824;object-fit:contain}.login-right{padding:46px 42px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(180deg,#fff,#f9fbff)}.login-logo{width:110px;margin-bottom:14px}.divider{border:0;height:1px;background:linear-gradient(90deg,transparent,#d9dfeb,transparent);width:100%;margin:10px 0 18px}.login-form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px}.input-group{background:#f8fafc;border:2px solid #e1e6ea;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 4px 12px #0000000d;margin-bottom:10px}.login-input{width:100%;padding:13px 15px;border-radius:14px;border:1.5px solid #d1d9e6;font-size:15px;font-weight:500;color:#25304a;background:#fbfcff;transition:all .2s ease;box-sizing:border-box}.login-input:focus{border-color:#673ab7;outline:none;background:#fff;box-shadow:0 0 0 4px #673ab71f}.login-button{width:100%;margin-top:4px;padding:13px 16px;border-radius:16px;border:none;font-weight:700;font-size:15px;letter-spacing:.02em;cursor:pointer;background:linear-gradient(135deg,#3fa9f5,#5f3fd8);color:#fff;box-shadow:0 12px 28px #5f3fd847;transition:transform .2s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 34px #5f3fd857}.error-message{color:#d32f2f;text-align:center;min-height:22px;margin-bottom:10px;font-size:14px;font-weight:600}@media(max-width:900px){.login-container{grid-template-columns:1fr;max-width:440px;min-height:auto;height:auto}.login-left{display:none}.login-right{padding:34px 22px}}@media(max-width:520px){.login-wrapper{padding:14px}.login-container{border-radius:22px}.login-right{padding:28px 18px}.login-logo{width:96px}}
