:root{--ink:#17243a;--muted:#6f7d91;--line:#e4eaf2;--surface:#fff;--canvas:#f5f7fb;--blue:#2e66e8;--blue-dark:#1e4fc2;--mint:#1da878;--amber:#d98a21;--red:#d95454;--shadow:0 12px 34px rgba(28,47,84,.07);--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.45 'DM Sans',sans-serif}button,input,select{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;background:#fff;border-right:1px solid var(--line);padding:26px 18px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:10}.brand{display:flex;gap:11px;align-items:center;padding:0 11px 36px}.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#2f6cf2,#1743aa);color:white;display:grid;place-items:center;font:700 20px 'Space Grotesk';box-shadow:0 6px 14px #3168df40}.brand b{font:700 20px 'Space Grotesk';letter-spacing:.03em;display:block}.brand span{display:block;color:#9aa6b7;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-top:-2px}.workspace-label,.eyebrow{font-size:10px;letter-spacing:.12em;color:#9aa6b7;font-weight:700}.workspace-label{padding:0 12px 10px}.sidebar nav{display:grid;gap:4px}.nav-item{height:44px;padding:0 12px;border-radius:10px;display:flex;align-items:center;gap:12px;color:#718096;font-weight:600;text-align:left;width:100%;transition:.2s ease}.nav-item:hover{background:#f4f7fc;color:var(--blue)}.nav-item.active{background:#edf3ff;color:var(--blue)}.nav-item em{font-style:normal;margin-left:auto;background:#f0a34a;color:#fff;border-radius:20px;padding:1px 7px;font-size:11px}.sidebar-footer{margin-top:auto}.help-card{padding:14px 10px;margin-bottom:14px;background:#f6f8fc;border-radius:12px;display:flex;align-items:center;gap:9px}.help-card svg{margin-left:auto;width:14px;color:#a0aec0}.help-icon{display:grid;place-items:center;width:26px;height:26px;background:#e3ebff;color:var(--blue);font-weight:700;border-radius:50%}.help-card b,.help-card small{display:block}.help-card b{font-size:12px}.help-card small{font-size:11px;color:#96a1b0;margin-top:2px}.nav-item.muted{color:#9aa6b7}.main{margin-left:252px;flex:1;min-width:0}.topbar{height:78px;background:rgba(255,255,255,.8);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;position:sticky;top:0;z-index:5}.period{display:flex;align-items:center;gap:11px;color:#3d4b61;font-size:13px}.period .eyebrow{margin-right:5px}.dot{width:4px;height:4px;border-radius:50%;background:#aeb8c6}.deadline{color:#9aa6b7}.top-actions{display:flex;align-items:center;gap:27px}.icon-button{position:relative;padding:6px;color:#7d8a9c}.icon-button i{position:absolute;right:4px;top:3px;width:6px;height:6px;background:#e09a31;border:2px solid #fff;border-radius:50%}.profile{display:flex;align-items:center;gap:10px}.profile b,.profile span{display:block}.profile b{font-size:13px}.profile span:not(.chevron){font-size:11px;color:#94a0b0;margin-top:1px}.chevron{margin-left:9px;color:#a2adba}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#dce8ff;color:#2b61d6;font-weight:700;font-size:12px}.avatar.small{width:30px;height:30px;font-size:10px}.content{max-width:1440px;margin:0 auto;padding:38px 42px 70px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}.page-heading h1{font:700 clamp(28px,3vw,36px) 'Space Grotesk';letter-spacing:-.04em;margin:5px 0 5px}.page-heading p{margin:0;color:var(--muted);font-size:14px}.heading-actions{display:flex;align-items:center;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 16px;border-radius:10px;font-weight:700;font-size:13px;transition:.2s ease}.btn svg{width:16px;height:16px}.btn.primary{background:var(--blue);color:#fff;box-shadow:0 7px 16px #2e66e829}.btn.primary:hover{background:var(--blue-dark)}.btn:active{transform:scale(.985)}.btn.ghost{border:1px solid var(--line);background:#fff;color:#637187}.btn.ghost:hover{border-color:#c7d4ea;color:var(--blue)}.btn.white{background:#fff;color:#2d62d8;margin-top:18px}.btn.success{background:#e0f5ec;color:#13835d}.btn.reject{background:#fff0f0;color:#c44c4c}.btn.wide{width:100%;padding:15px;margin-top:20px}.hero-banner{min-height:286px;border-radius:20px;padding:34px 40px;overflow:hidden;position:relative;color:#fff;background:linear-gradient(116deg,#173b87 0%,#285bc7 58%,#4381ef 100%);box-shadow:0 16px 30px #2860ca28;display:flex;justify-content:space-between}.hero-banner:after{content:"";position:absolute;width:440px;height:440px;border:1px solid #ffffff32;border-radius:50%;right:-100px;top:-190px;box-shadow:0 0 0 34px #ffffff0c,0 0 0 68px #ffffff09}.hero-banner h2{font:600 clamp(28px,3.3vw,40px)/1.1 'Space Grotesk';letter-spacing:-.04em;margin:8px 0 12px}.hero-banner h2 span{color:#a9c7ff}.hero-banner p{max-width:460px;color:#cbdcff;margin:0;line-height:1.6}.eyebrow.light{color:#a9c7ff}.progress-ring{position:relative;width:172px;height:172px;border-radius:50%;display:grid;place-items:center;align-content:center;flex:none;margin-right:40px;background:conic-gradient(#fff calc(var(--progress,0)*1%),#ffffff2e 0)}.progress-ring:before{content:'';position:absolute;inset:12px;border-radius:50%;background:rgba(13,31,66,.45);border:1px solid #ffffff33}.progress-ring b{font:700 34px 'Space Grotesk';letter-spacing:-.03em;position:relative;z-index:1;color:#fff;text-shadow:0 2px 10px rgba(10,25,54,.55)}.progress-ring span{font-size:11px;color:#e8f0ff;position:relative;z-index:1;margin-top:2px;text-shadow:0 1px 6px rgba(10,25,54,.5)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin:34px 0 16px}.section-head h2{font:600 22px 'Space Grotesk';margin:4px 0 0;letter-spacing:-.03em}.muted-text{color:#9aa6b7;font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:0 1px 2px #243c640a}.stat-card strong{font-variant-numeric:tabular-nums}.stat-card>span{display:block;color:#8e9bad;font-size:10px;letter-spacing:.1em;font-weight:700}.stat-card strong{display:block;font:700 27px 'Space Grotesk';margin:8px 0 3px;letter-spacing:-.04em}.stat-card strong.blue{color:var(--blue)}.stat-card strong.amber{color:#ce7b16}.stat-card small{color:#9aa6b7}.content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:15px;margin-top:15px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px #243c640a}.progress-panel,.tips-panel{padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.panel-head h3{font:600 18px 'Space Grotesk';margin:4px 0 0}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:30px;padding:5px 9px;font-size:11px;font-weight:700;white-space:nowrap}.badge span{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.neutral{background:#f0f3f7;color:#778496}.badge.amber{background:#fff4df;color:#c68222}.badge.green{background:#e1f6ed;color:#139265}.badge.red{background:#fff0f0;color:#c45353}.progress-track{height:7px;background:#eaf0f7;border-radius:5px;margin:29px 0 9px}.progress-track span{height:100%;display:block;background:linear-gradient(90deg,#2e66e8,#6c96ed);border-radius:5px}.progress-meta{display:flex;justify-content:space-between;color:#9aa6b7;font-size:11px}.next-step{display:flex;gap:12px;align-items:flex-start;background:#f7f9fc;border-radius:11px;padding:13px;margin-top:23px}.step-icon{color:var(--blue);background:#e6eeff;border-radius:8px;padding:8px}.next-step b{font-size:12px}.next-step p{color:#8b97a8;font-size:12px;margin:3px 0 0}.text-btn{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:700;font-size:12px;margin-top:19px}.text-btn svg{width:14px}.tip-list{display:grid;gap:18px;margin-top:24px}.tip-list>div{display:flex;gap:13px}.tip-list>div>span{font:600 12px 'Space Grotesk';color:#b7c1ce}.tip-list p{margin:0}.tip-list b{font-size:13px;display:block}.tip-list small{display:block;color:#9aa6b7;font-size:11px;margin-top:3px}.application-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}.notice{display:flex;gap:11px;align-items:flex-start;padding:14px 16px;border:1px solid #e2eaff;background:#f5f8ff;border-radius:12px;margin-bottom:15px}.notice-icon{width:20px;height:20px;border-radius:50%;background:#dce8ff;color:var(--blue);display:grid;place-items:center;font-weight:700;font-size:12px}.notice b{font-size:12px}.notice p{margin:2px 0 0;color:#8d9bae;font-size:11px}.criteria-panel{padding:23px}.total-label{color:#9aa6b7;font-size:12px}.total-label b{color:var(--ink);font:700 17px 'Space Grotesk';margin-left:5px}.criterion-row{display:flex;gap:14px;padding:19px 0;border-bottom:1px solid #edf0f5}.criterion-row:last-child{border:0}.criterion-number{font:600 12px 'Space Grotesk';color:#a8b3c2;padding-top:2px}.criterion-main{flex:1;min-width:0}.criterion-main>b,.criterion-main>div>b{font-size:13px}.criterion-main span{display:block;color:#98a4b4;font-size:11px;margin-top:3px}.criterion-state{color:#bac4d0;padding-top:4px}.criterion-row.selected .criterion-state{color:var(--mint)}.select-criterion{display:flex;align-items:center;gap:8px;color:var(--blue);font-size:12px;font-weight:700;margin-top:13px}.select-criterion svg{width:14px}.select-criterion span{margin-left:auto;color:#a4aebb;font-weight:500}.criterion-detail{display:grid;grid-template-columns:130px 1fr 30px;align-items:end;gap:14px;margin-top:15px}.criterion-detail label{color:#8c99aa;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.criterion-detail input[type=number]{display:block;width:100%;padding:9px 10px;border:1px solid #dfe6ef;border-radius:8px;margin-top:6px;color:var(--ink);font-weight:600}.criterion-detail label small{display:block;text-transform:none;letter-spacing:0;font-weight:400;margin-top:3px;color:#a2acba}.file-field>div{height:38px;border:1px dashed #c8d7ef;border-radius:8px;display:flex;align-items:center;gap:7px;padding:0 9px;color:var(--blue);margin-top:6px;text-transform:none;letter-spacing:0;font-weight:500;overflow:hidden}.file-field>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#687890}.file-field input{display:none}.icon-button.danger{color:#bf6a6a;font-size:21px}.side-summary{padding:22px;position:sticky;top:100px}.big-number{font:700 33px 'Space Grotesk';letter-spacing:-.05em;margin:12px 0 3px}.side-summary>p{font-size:11px;color:#9aa6b7;margin:0 0 23px}.summary-line{display:flex;justify-content:space-between;font-size:12px;color:#8290a2;margin:13px 0}.summary-line b{color:var(--ink)}.summary-divider{border-top:1px solid var(--line);margin:19px 0}.summary-callout{display:flex;gap:8px;align-items:center;background:#edf9f4;border-radius:9px;color:#179363;padding:10px;font-size:11px}.summary-callout svg{width:16px}.deadline-card{padding:15px;margin-top:13px;display:flex;gap:10px;background:#fffaf0;border-color:#f6e5c4}.deadline-card b{font-size:12px}.deadline-card p{font-size:11px;color:#9a8a6e;margin:2px 0 0}.td-amount{text-align:right;font-variant-numeric:tabular-nums}.review-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);gap:15px}.table-panel{overflow:hidden}.table-toolbar{display:flex;gap:10px;padding:17px 18px;border-bottom:1px solid var(--line)}.search{flex:1;position:relative}.search input,.table-toolbar select{height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;outline:0;color:#6b788a;font-size:12px}.search input{width:100%;padding:0 10px 0 33px}.table-toolbar select{padding:0 10px;min-width:126px}.filter-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:0 11px;color:#6b788a;font-size:12px}.filter-btn svg{width:14px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:680px}thead th{position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid var(--line)}tbody tr{height:52px}th,td{text-align:left;padding:14px 18px;border-bottom:1px solid #eef1f5;font-size:12px}th{color:#9eabba;font-size:10px;letter-spacing:.08em;white-space:nowrap}td{color:#728095;font-variant-numeric:tabular-nums}tbody tr{cursor:pointer;transition:.15s;background:#fff}tbody tr:hover,tbody tr.selected-row{background:#f6f9ff}td:last-child{color:#b3bdca}td small,.person small{display:block;font-size:11px;color:#9ba7b6;font-weight:400;margin-top:2px}.person{display:flex;align-items:center;gap:9px}.person b{font-size:12px;color:var(--ink);white-space:nowrap}.table-footer{display:flex;justify-content:space-between;padding:13px 18px;color:#a2acba;font-size:11px}.detail-panel{padding:22px;height:max-content}.detail-top{display:flex;justify-content:space-between;align-items:center}.detail-meta{display:flex;justify-content:space-between;color:#a0abba;font-size:11px;border-bottom:1px solid var(--line);padding:17px 0}.detail-meta b{color:#54647a}.detail-total{padding:18px 0 14px}.detail-total span{display:block;color:#9aa6b7;font-size:11px}.detail-total b{display:block;font:700 29px 'Space Grotesk';margin-top:3px}.evidence-list{display:grid;gap:10px}.evidence-list>div{display:flex;align-items:center;gap:8px;padding:10px;background:#f7f9fc;border-radius:8px}.evidence-list small{color:#9ba6b5;font-size:10px;display:block;margin-top:1px}.evidence-list strong{margin-left:auto;font:600 12px 'Space Grotesk'}.evidence-check{color:var(--mint);background:#dff5ec;width:22px;height:22px;display:grid;place-items:center;border-radius:6px}.evidence-check svg{width:13px}.decision{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:19px}.decision .btn{font-size:12px;padding:10px}.decision-note{background:#f4f8ff;color:#6681b5;padding:11px;border-radius:8px;font-size:11px;margin-top:15px}.empty-detail{border:1px dashed #d5deea;border-radius:16px;min-height:270px;display:grid;place-items:center;align-content:center;text-align:center;color:#a4b0bf;padding:30px}.empty-detail b{color:#65748a;margin-top:9px}.empty-detail p{font-size:12px;margin:5px 0}.report-hero{background:linear-gradient(120deg,#173d88,#3371dc);border-radius:16px;color:#fff;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.report-hero h2{font:600 28px 'Space Grotesk';margin:6px 0}.report-hero p{color:#c7dcff;margin:0}.report-total{text-align:right}.report-total span{display:block;color:#bcd4ff;font-size:10px;letter-spacing:.1em}.report-total b{font:700 30px 'Space Grotesk'}.report-hero+.table-panel{padding-bottom:3px}.table-sub{color:#9ba7b6;display:block;margin-top:3px;font-size:10px}.toast{position:fixed;right:24px;bottom:24px;background:#17243a;color:#fff;padding:12px 14px;border-radius:10px;box-shadow:0 10px 24px #17243a33;transform:translateY(20px);opacity:0;pointer-events:none;transition:.25s;z-index:30;font-size:12px;display:flex;align-items:center;gap:9px;max-width:min(420px,calc(100vw - 40px))}.toast.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}.toast-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;flex:none;background:#ffffff26}.toast-icon svg{width:13px;height:13px;stroke-width:2.4}.toast-success .toast-icon{background:#1da87833;color:#5ee7b2}.toast-error .toast-icon{background:#d9545433;color:#ff9c9c}.toast-info .toast-icon{background:#2e66e833;color:#9dc0ff}.toast-close{color:#ffffff8c;font-size:15px;line-height:1;padding:2px 4px;margin-left:2px;flex:none}.toast-close:hover{color:#fff}.mobile-menu{display:none}@media(max-width:1100px){.content{padding:30px}.topbar{padding:0 30px}.progress-ring{margin-right:10px}.application-layout{grid-template-columns:minmax(0,1fr) 270px}}@media(max-width:850px){.sidebar{width:74px;padding:20px 10px}.brand{padding:0 10px 34px}.brand>div:last-child,.workspace-label,.nav-item span,.nav-item em,.help-card>div,.help-card>svg{display:none}.nav-item{justify-content:center;padding:0}.help-card{justify-content:center;padding:12px}.main{margin-left:74px}.topbar{padding:0 20px}.period .eyebrow,.period .deadline,.period .dot{display:none}.content{padding:25px 20px 50px}.hero-banner{padding:28px;min-height:300px}.progress-ring{opacity:.6;margin-right:-10px;transform:scale(.9)}.content-grid,.review-layout{grid-template-columns:1fr}.detail-panel{min-height:0}.application-layout{grid-template-columns:1fr}.side-summary{position:static;order:-1}.admin-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.topbar{height:68px}.mobile-menu{display:block;font-size:20px;color:#66758a}.top-actions{gap:12px}.profile>div:not(.avatar),.profile .chevron{display:none}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:23px}.page-heading h1{font-size:28px}.heading-actions{width:100%;justify-content:space-between}.hero-banner{padding:24px 22px;min-height:360px}.hero-banner h2{font-size:28px}.hero-banner p{font-size:12px;max-width:280px}.progress-ring{position:absolute;right:-30px;bottom:14px;transform:scale(.7)}.stats-grid,.admin-stats{grid-template-columns:1fr}.stat-card strong{font-size:24px}.section-head{align-items:flex-start;gap:10px;flex-direction:column}.criteria-panel{padding:16px}.criterion-detail{grid-template-columns:1fr 1fr 25px}.criterion-detail label:first-child{grid-column:1/2}.file-field{grid-column:1/3}.table-toolbar{flex-wrap:wrap}.table-toolbar .search{flex-basis:100%}.report-hero{padding:24px;align-items:flex-start;gap:20px;flex-direction:column}.report-total{text-align:left}.toast{left:18px;right:18px;bottom:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.role-switch{border:1px solid #dce5f2;border-radius:999px;padding:7px 11px;color:#5370a0;background:#f5f8ff;font-size:11px;font-weight:700;white-space:nowrap}.role-switch:hover{border-color:#9eb7e7;color:var(--blue);background:#fff}
.blue-soft{background:#edf3ff;color:var(--blue)}.account-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:15px}.account-card,.security-card{padding:23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.form-grid label{color:#7d8a9c;font-size:11px;font-weight:700}.form-grid input,.form-grid select{display:block;width:100%;height:42px;border:1px solid #dfe6ef;border-radius:9px;padding:0 11px;margin-top:7px;color:var(--ink);background:#fff;outline:0}.form-grid input:focus,.form-grid select:focus{border-color:#8eace9;box-shadow:0 0 0 3px #dce8ff}.form-grid .full{grid-column:1/-1}.form-grid small{display:block;color:#98a4b4;font-weight:400;margin-top:7px}.security-card h3{font:600 20px 'Space Grotesk';margin:9px 0 23px}.access-row{display:flex;gap:11px;padding:14px;background:#edf9f4;border-radius:10px;color:#16855e}.access-dot{width:8px;height:8px;border-radius:50%;background:#1db17d;margin-top:5px;box-shadow:0 0 0 5px #1db17d25}.access-row b{display:block;font-size:12px}.access-row p{font-size:11px;color:#6b9a87;margin:4px 0 0;line-height:1.5}.access-rule{margin-top:21px;padding-top:15px;border-top:1px solid var(--line);font-size:11px;color:#99a5b4}.access-rule code{color:#4768a3}@media(max-width:850px){.account-grid{grid-template-columns:1fr}}@media(max-width:560px){.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.role-switch{font-size:10px;padding:6px 8px}}
.fixed-amount{display:flex;flex-direction:column;justify-content:center;min-width:150px;padding:9px 12px;border:1px solid #dce8ff;border-radius:9px;background:#f5f8ff}
.fixed-amount label{color:#7184a3;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.fixed-amount strong{display:block;color:var(--blue);font:600 18px 'Space Grotesk';margin-top:3px;font-variant-numeric:tabular-nums}
.fixed-amount small{display:block;color:#90a0b7;font-size:10px;margin-top:3px}
.criteria-helper{margin:0 18px 14px;padding:11px 13px;border-radius:9px;background:#f5f8fc;color:#6f7f95;font-size:11px;line-height:1.5}
.amount-edit{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #dce5f1;border-radius:8px;background:#fff;color:#7f8da0}
.amount-edit:focus-within{border-color:#8eace9;box-shadow:0 0 0 3px #dce8ff}
.amount-edit input{width:92px;border:0;outline:0;color:var(--ink);font:600 13px 'Space Grotesk';font-variant-numeric:tabular-nums;background:transparent}
.amount-edit span{font-size:11px;color:#9aa7b8}
.range-label{color:#7b899b;font-size:11px;white-space:nowrap}
h1,h2,h3,.page-heading h1,.section-head h2,.panel-head h3,.hero-banner h2,.report-hero h2,.security-card h3{font-family:'DM Sans',sans-serif;font-weight:600;letter-spacing:-.025em}
@media(max-width:560px){.fixed-amount{min-width:0}.amount-edit input{width:74px}.criteria-helper{margin:0 0 14px}}

/* Authentication */
.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,520px) minmax(0,1fr);background:var(--canvas)}
.auth-card{width:min(100%,520px);padding:42px clamp(28px,6vw,76px);background:#fff;display:flex;flex-direction:column;justify-content:center;box-shadow:12px 0 40px rgba(28,47,84,.06)}
.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:54px}.auth-brand b{font:600 18px 'DM Sans';display:block;letter-spacing:-.02em}.auth-brand span{display:block;color:#9aa6b7;font-size:11px;letter-spacing:.08em;margin-top:3px;text-transform:uppercase}
.auth-intro h1{font:600 clamp(28px,4vw,38px) 'DM Sans';letter-spacing:-.04em;margin:8px 0 7px}.auth-intro p{color:var(--muted);margin:0 0 26px}.auth-form{display:grid;gap:14px}.auth-form label{color:#6e7d92;font-size:11px;font-weight:700}.auth-form input,.auth-form select{display:block;width:100%;height:44px;border:1px solid #dfe6ef;border-radius:10px;padding:0 12px;margin-top:7px;color:var(--ink);background:#fff;outline:0}.auth-form input:focus,.auth-form select:focus{border-color:#8eace9;box-shadow:0 0 0 3px #dce8ff}.auth-error{padding:10px 12px;border-radius:9px;background:#fff0f0;color:#be4d4d;font-size:12px}.auth-switch{margin-top:18px;color:var(--blue);font-size:12px;font-weight:700;text-align:left}.auth-note{color:#a0aaba;font-size:11px;margin:28px 0 0}.auth-aside{padding:clamp(36px,8vw,120px);display:flex;flex-direction:column;justify-content:center;color:#fff;background:linear-gradient(125deg,#173b87,#2d68df 70%,#4e8af2);position:relative;overflow:hidden}.auth-aside:after{content:"";position:absolute;width:560px;height:560px;border:1px solid #ffffff35;border-radius:50%;right:-190px;bottom:-220px;box-shadow:0 0 0 36px #ffffff0b,0 0 0 72px #ffffff08}.auth-aside h2{font:600 clamp(34px,5vw,64px)/1.05 'DM Sans';letter-spacing:-.05em;margin:12px 0 20px;position:relative;z-index:1}.auth-aside h2 span{color:#b8d0ff}.auth-aside p{max-width:460px;color:#d3e0ff;line-height:1.7;position:relative;z-index:1}.auth-aside-stat{margin-top:42px;display:grid;gap:3px;position:relative;z-index:1}.auth-aside-stat b{font:600 30px 'Space Grotesk'}.auth-aside-stat span{color:#c6d8ff;font-size:12px}@media(max-width:800px){.auth-page{grid-template-columns:1fr}.auth-aside{display:none}.auth-card{width:100%;min-height:100vh}}

/* Keep the read-only amount in its own track so it cannot overlap the upload field. */
.criterion-detail{grid-template-columns:minmax(150px,180px) minmax(0,1fr) 30px}
.criterion-detail > .fixed-amount{width:100%;min-width:0}
.criterion-detail > .file-field{min-width:0}
@media(max-width:560px){.criterion-detail{grid-template-columns:1fr 1fr 25px}.criterion-detail > .fixed-amount{min-width:0}}

/* Закрепляем боковую сводку и дедлайн единым стеком, чтобы карточки не перекрывались при прокрутке. */
.application-layout > aside{position:sticky;top:100px;align-self:start;display:grid;gap:13px}
.side-summary{position:static}
.application-layout > aside .deadline-card{margin-top:0}
@media(max-width:850px){.application-layout > aside{position:static;display:block}}

/* Реестр выплат: заголовок и денежные значения остаются внутри панели на любой ширине. */
.report-table-panel{overflow:hidden}
.report-table-panel .panel-head{padding:22px 22px 12px;align-items:flex-start}
.report-table-panel .panel-head h3{margin:5px 0 0}
.report-count{white-space:nowrap;flex-shrink:0}
.report-table{table-layout:fixed;min-width:620px}
.report-table th,.report-table td{vertical-align:top}
.report-table th:nth-child(1),.report-table td:nth-child(1){width:22%}
.report-table th:nth-child(2),.report-table td:nth-child(2){width:auto;overflow-wrap:anywhere}
.report-table th:nth-child(3),.report-table td:nth-child(3){width:130px}
.report-table th:nth-child(4),.report-table td:nth-child(4){width:150px}
.report-table td:nth-child(3){white-space:nowrap;font-variant-numeric:tabular-nums}
.report-table td:nth-child(4){white-space:nowrap}
@media(max-width:560px){.report-table-panel .panel-head{padding:18px 16px 10px}.report-table{min-width:560px}.report-table th:nth-child(3),.report-table td:nth-child(3){width:110px}.report-table th:nth-child(4),.report-table td:nth-child(4){width:136px}}

/* Панель списка не должна растягиваться по высоте открытых деталей справа. */
.review-layout{align-items:start}

/* Денежные значения в деталях не должны переносить символ ₽ отдельно. */
.evidence-list strong{white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}
.detail-total b{white-space:nowrap;font-variant-numeric:tabular-nums}

/* Оставляем визуальный зазор между карточками статистики и поиском. */
.review-layout{margin-top:15px}

/* Нейтральный текстовый бренд без сокращённого названия продукта. */
.brand b{font:600 15px/1.15 'DM Sans';letter-spacing:-.02em}
.brand span{font-size:11px;letter-spacing:.08em;margin-top:3px}
.brand-mark{font-size:12px;letter-spacing:-.02em}

.criterion-special{margin-top:15px;padding:14px;border:1px solid #e4ebf5;border-radius:10px;background:#fbfcfe}
.criterion-special label{display:block;color:#7d8b9d;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.criterion-special input,.criterion-special select{display:block;width:100%;height:38px;margin-top:6px;padding:0 9px;border:1px solid #dfe6ef;border-radius:8px;background:#fff;color:var(--ink);outline:0}
.criterion-special input:focus,.criterion-special select:focus{border-color:#8eace9;box-shadow:0 0 0 3px #dce8ff}
.criterion-special small{display:block;margin-top:5px;color:#9aa6b7;font-size:10px;text-transform:none;letter-spacing:0;font-weight:400}
.quality-special{display:grid;grid-template-columns:minmax(180px,240px) minmax(150px,1fr);gap:14px;align-items:end}
.quality-special .fixed-amount{min-height:66px}
.special-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.special-head b{font-size:12px}.special-head strong{font:600 16px 'Space Grotesk';color:var(--blue);white-space:nowrap}
.olympiad-list{display:grid;gap:9px;min-width:0}
/* Все поля участника должны ужиматься внутри карточки, включая длинные
   плейсхолдеры. Без minmax(0, ...) браузер оставляет min-content ширину
   input/select и строка вылезает за правую границу блока. */
.olympiad-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.1fr) 25px;gap:9px;align-items:end;width:100%;max-width:100%;min-width:0;padding:10px;border:1px solid #e5ebf4;border-radius:9px;background:#fff}
.olympiad-entry label{font-size:9px;min-width:0}.olympiad-entry input,.olympiad-entry select{width:100%;min-width:0;max-width:100%}.olympiad-entry .icon-button{padding:4px 0 8px;min-width:0}
.compact-file{display:block;max-width:420px;margin-top:12px}
.quality-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));gap:7px;min-width:330px}
.quality-admin-grid>label{display:grid;gap:4px;color:#7d8b9d;font-size:9px;font-weight:700;white-space:nowrap}
.quality-admin-grid .amount-edit{min-width:0;padding:3px 6px}.quality-admin-grid .amount-edit input{width:54px;height:28px;margin:0;padding:0;border:0;font-size:12px}.quality-admin-grid .amount-edit i{font-style:normal;font-size:10px}
@media(max-width:700px){.quality-special{grid-template-columns:1fr}.olympiad-entry{grid-template-columns:1fr 1fr}.olympiad-entry .student-field,.olympiad-entry .olympiad-name-field{grid-column:1/-1}.olympiad-entry .icon-button{justify-self:end}}

.modal-backdrop{position:fixed;inset:0;background:#17243a80;display:grid;place-items:center;padding:20px;z-index:40}
.criterion-modal{width:min(680px,100%);max-height:min(760px,calc(100dvh - 40px));overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 70px #17243a40;padding:24px}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.modal-head h2{font:600 24px 'DM Sans';margin:5px 0 0;letter-spacing:-.03em}
.builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.builder-grid label,.builder-section>b{color:#718096;font-size:11px;font-weight:700}.builder-grid input,.builder-grid select,.builder-section textarea{display:block;width:100%;margin-top:6px;border:1px solid #dfe6ef;border-radius:8px;padding:9px 10px;color:var(--ink);background:#fff;outline:0}.builder-grid input,.builder-grid select{height:40px}.builder-grid input:focus,.builder-grid select:focus,.builder-section textarea:focus{border-color:#8eace9;box-shadow:0 0 0 3px #dce8ff}.check-field{display:flex;align-items:center;gap:8px;padding-top:25px}.check-field input{width:16px;height:16px;margin:0}.builder-section{margin-top:18px}.builder-section textarea{font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical;min-height:76px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}@media(max-width:560px){.criterion-modal{padding:18px}.builder-grid{grid-template-columns:1fr}.check-field{padding-top:0}}
.builder-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.builder-section-head b{color:#718096;font-size:11px;font-weight:700}.builder-rows{display:grid;gap:8px}.builder-row{display:grid;grid-template-columns:1fr 1.5fr 120px 1.3fr auto auto;align-items:center;gap:8px;padding:8px;border:1px solid #e7edf5;border-radius:8px;background:#fbfcfe}.builder-row input,.builder-row select{width:100%;height:36px;border:1px solid #dfe6ef;border-radius:7px;padding:7px 8px;color:var(--ink);background:#fff}.builder-row i{font-style:normal;color:#718096;margin-left:-4px}.row-check{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:11px;color:#718096}.row-check input{width:15px;height:15px}.btn.small{padding:7px 10px;font-size:12px}@media(max-width:760px){.builder-row{grid-template-columns:1fr 1fr}.builder-row .row-check{grid-column:1}.builder-row .icon-button{grid-column:2;justify-self:end}}

/* Compact notification popover and mobile navigation states. */
.notification-wrap{position:relative}.notification-wrap>.icon-button{position:relative}.notification-wrap>.icon-button i{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:#e4665f;border:2px solid #fff;box-sizing:content-box}
.notification-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(340px,calc(100vw - 28px));max-height:420px;overflow:auto;background:#fff;border:1px solid #e4eaf2;border-radius:12px;box-shadow:0 16px 40px rgba(24,42,75,.16);z-index:30;padding:8px}
.notification-head{display:flex;justify-content:space-between;align-items:center;padding:9px 10px 10px;border-bottom:1px solid #edf1f6;font-size:12px}.notification-head span{color:#8a98aa;font-size:10px}.notification-item{display:grid;grid-template-columns:8px minmax(0,1fr);gap:9px;width:100%;padding:10px;border:0;border-radius:8px;background:transparent;text-align:left;color:var(--ink);cursor:pointer}.notification-item:hover{background:#f5f8fc}.notification-item.unread{background:#f2f6ff}.notification-item b{display:block;font-size:11px}.notification-item small{display:block;margin-top:3px;color:#7b899b;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.notification-dot{width:6px;height:6px;margin-top:4px;border-radius:50%;background:#9eacbd}.notification-item.unread .notification-dot{background:#3c70d5}.notification-empty{padding:18px 10px;margin:0;color:#8a98aa;font-size:11px;text-align:center}
@media(max-width:800px){.sidebar{transition:transform .2s ease}.sidebar.mobile-open{transform:translateX(0)}.notification-panel{right:-8px}}
.notification-wrap{position:relative}.notification-panel{position:absolute;right:-8px;top:38px;width:min(340px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 32px rgba(28,47,84,.15);padding:8px;z-index:20}.notification-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 10px;border-bottom:1px solid #eef1f5;font-size:12px}.notification-head span{color:#9aa6b7;font-size:10px}.notification-item{display:flex;align-items:flex-start;gap:8px;width:100%;padding:10px;text-align:left;border-radius:8px}.notification-item:hover{background:#f6f9ff}.notification-item.unread{background:#f5f8ff}.notification-item b{display:block;font-size:11px;color:var(--ink)}.notification-item small{display:block;color:#8c99aa;font-size:10px;line-height:1.35;margin-top:2px}.notification-dot{width:6px;height:6px;border-radius:50%;background:transparent;flex:none;margin-top:4px}.notification-item.unread .notification-dot{background:var(--amber)}.notification-empty{padding:14px 10px;margin:0;color:#8c99aa;font-size:11px}.form-grid select:disabled{background:#f5f7fb;color:#6f7d91;cursor:not-allowed;opacity:1}@media(max-width:560px){.sidebar.mobile-open{width:252px}.sidebar.mobile-open .brand>div:last-child,.sidebar.mobile-open .workspace-label,.sidebar.mobile-open .nav-item span,.sidebar.mobile-open .nav-item em,.sidebar.mobile-open .help-card>div,.sidebar.mobile-open .help-card>svg{display:block}.sidebar.mobile-open .nav-item{justify-content:flex-start;padding:0 12px}.sidebar.mobile-open .help-card{justify-content:flex-start;padding:14px 10px}.notification-panel{right:-58px}}
.custom-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin-top:15px;padding:14px;border:1px solid #e4ebf5;border-radius:10px;background:#fbfcfe}
.custom-field{display:grid;gap:6px;min-width:0;color:#718096;font-size:10px;font-weight:700;line-height:1.3}
.custom-field input,.custom-field select{width:100%;min-width:0;height:40px;padding:0 11px;border:1px solid #dfe6ef;border-radius:8px;background:#fff;color:var(--ink);outline:0;transition:border-color .2s ease,box-shadow .2s ease}
.custom-field input::placeholder{color:#a8b3c2}
.custom-field input:focus,.custom-field select:focus{border-color:#8eace9;box-shadow:0 0 0 3px #dce8ff}
.custom-field input:invalid:not(:placeholder-shown),.custom-field select:invalid{border-color:#e3a0a0}
@media(max-width:700px){.custom-fields{grid-template-columns:1fr;gap:11px;padding:12px}}
.period-modal .builder-grid label.hidden{display:none}.period-modal .modal-actions{justify-content:flex-end}
.builder-warning{background:#fff8ec;border:1px solid #f0dcb4;color:#8a6a25;border-radius:10px;padding:11px 13px;font-size:12px;margin-bottom:14px}.builder-error{background:#fff0f0;border:1px solid #eec3c3;color:#b04848;border-radius:10px;padding:11px 13px;font-size:12px;margin-bottom:14px}.builder-empty{color:#9aa6b7;font-size:12px;margin:6px 0;padding:10px 12px;border:1px dashed #d5deea;border-radius:9px}.builder-hint{display:block;color:#98a4b4;font-weight:400;font-size:10px;margin-top:5px}tbody tr.row-inactive td{opacity:.55}tbody tr.row-inactive .badge{opacity:1}
.skeleton-row td{height:52px;vertical-align:middle}.skeleton-line{height:11px;border-radius:6px;background:linear-gradient(100deg,#eef1f6 40%,#f8fafc 50%,#eef1f6 60%);background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite;margin:5px 0}.skeleton-line:nth-child(2){margin-left:18px}@keyframes shimmer{from{background-position:120% 0}to{background-position:-80% 0}}tbody tr.skeleton-row{cursor:default}

.help-card{cursor:pointer;width:100%;text-align:left;background:#f6f8fc;border-radius:12px;padding:14px 10px;display:flex;align-items:center;gap:9px;margin-bottom:14px;transition:background .15s}.help-card:hover{background:#eef2fa}.help-card[aria-expanded="true"] svg{transform:rotate(90deg)}.help-wrap{position:relative}
.help-panel{position:absolute;bottom:calc(100% + 8px);left:0;width:320px;display:grid;gap:9px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 32px rgba(28,47,84,.16);animation:fade-in .18s ease;z-index:25}
.help-panel[hidden]{display:none}
.help-panel:before{content:'';position:absolute;bottom:-5px;left:22px;width:10px;height:10px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}.help-tip{background:#f8fafd;border:1px solid var(--line);border-radius:10px;padding:11px 12px}.help-tip b{display:block;font-size:12px;color:var(--ink)}.help-tip p{margin:3px 0 0;font-size:11px;color:#8290a2;line-height:1.5}@keyframes fade-in{from{opacity:0}to{opacity:1}}

.search>span{position:absolute;left:9px;top:7px;color:#9eabba;display:flex;pointer-events:none}.search>span svg{width:17px;height:17px}.spark{color:#e2a13b;display:grid;place-items:center}.spark svg{width:18px;height:18px}.deadline-icon{color:#d79732;display:grid;place-items:center}.deadline-icon svg{width:19px;height:19px}.empty-detail span{color:#adc1e7;display:grid;place-items:center}.empty-detail span svg{width:30px;height:30px;stroke-width:1.4;opacity:.9}

.skeleton-row td{height:52px;vertical-align:middle}.skeleton-line{height:11px;border-radius:6px;background:linear-gradient(100deg,#eef1f6 40%,#f8fafc 50%,#eef1f6 60%);background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite;margin:5px 0}.skeleton-line:nth-child(2){margin-left:18px}@keyframes shimmer{from{background-position:120% 0}to{background-position:-80% 0}}tbody tr.skeleton-row{cursor:default}

@media(max-width:850px){.help-panel{width:min(280px,calc(100vw - 40px))}}
