@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f2f4f3;--surface:#fff;--ink:#1c2b29;--ink-soft:#54655f;--ink-faint:#8a978f;--line:#dde3df;--line-soft:#e9edea;--lake:#16594e;--lake-strong:#0e4038;--lake-deep:#10231f;--lake-tint:#e2edea;--alert:#b3442e;--alert-tint:#f8e9e4;--warn:#8a6116;--warn-tint:#f6eed7;--ok:#2e7d4f;--ok-tint:#e2f0e7;--sans:"Instrument Sans Variable", "Instrument Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--radius:8px;--shadow:0 1px 2px #1c2b290f, 0 4px 16px #1c2b290d}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-size:14.5px;line-height:1.45}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}a{color:var(--lake)}button{font-family:inherit}:focus-visible{outline:2px solid var(--lake);outline-offset:2px}.mono{font-family:var(--mono);font-size:.92em}.soft{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.frame{min-height:100vh;display:flex}.sidebar{background:var(--lake-deep);color:#e8efec;flex-direction:column;flex-shrink:0;width:232px;height:100vh;padding:22px 14px 16px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff1f;padding:0 10px 22px}.brand-mark{letter-spacing:.14em;font-size:21px;font-weight:700}.brand-mark span{color:#7fbfae}.brand-sub{color:#9db3ac;margin-top:5px;font-size:11.5px;line-height:1.4}.nav{flex-direction:column;flex:1;gap:2px;margin-top:14px;display:flex}.nav a{color:#c6d4cf;border-radius:6px;padding:9px 10px;font-weight:500;text-decoration:none;display:block}.nav a:hover{color:#fff;background:#ffffff12}.nav a.active{background:var(--lake);color:#fff}.sidebar-user{border-top:1px solid #ffffff1f;padding:12px 10px 0;font-size:13px}.sidebar-user .role{color:#7fbfae;text-transform:uppercase;letter-spacing:.08em;font-size:11.5px}.sidebar-user button{color:#c6d4cf;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:6px;margin-top:8px;padding:5px 10px;font-size:12.5px}.sidebar-user button:hover{color:#fff;border-color:#fff}.main{flex:1;min-width:0;padding:28px 34px 60px}.main-inner{max-width:1180px;margin:0 auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px;display:flex}.page-head h1{font-size:22px}.page-head .fy{font-family:var(--mono);color:var(--ink-soft);font-size:13px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card+.card{margin-top:18px}.card-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;gap:12px;padding:13px 18px;display:flex}.card-head h2{font-size:14.5px}.card-head .hint{color:var(--ink-faint);font-size:12px}.card-body{padding:16px 18px}.card-body.tight{padding:0}.grid-2{grid-template-columns:1fr 1fr;align-items:start;gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);align-items:start;gap:18px;display:grid}@media (width<=1000px){.grid-2,.grid-3{grid-template-columns:1fr}}.tiles{grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px;display:grid}@media (width<=1100px){.tiles{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.tiles{grid-template-columns:repeat(2,1fr)}}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:13px 15px 12px}.tile .k{font-family:var(--mono);letter-spacing:-.02em;font-size:23px;font-weight:600}.tile .k small{color:var(--ink-soft);font-size:14px;font-weight:500}.tile .l{color:var(--ink-soft);margin-top:2px;font-size:12px}.tile .t{font-size:11px;font-family:var(--mono);color:var(--ink-faint);margin-top:5px}.tile .t.met{color:var(--ok)}table.data{border-collapse:collapse;width:100%;font-size:13.5px}table.data th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);border-bottom:1px solid var(--line);padding:10px 14px 8px;font-size:11px;font-weight:600}table.data td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:10px 14px}table.data tr:last-child td{border-bottom:none}table.data tr.rowlink{cursor:pointer}table.data tr.rowlink:hover{background:#f7faf8}td.num,th.num{text-align:right;font-family:var(--mono)}.empty{color:var(--ink-faint);text-align:center;padding:26px 18px;font-size:13.5px}.chip{letter-spacing:.02em;white-space:nowrap;border-radius:20px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-block}.chip.screened{color:var(--ink-soft);background:#e7eae8}.chip.approved{background:var(--lake-tint);color:var(--lake-strong)}.chip.active{background:var(--ok-tint);color:var(--ok)}.chip.closed{color:var(--ink-soft);background:#e7eae8}.chip.denied{background:var(--alert-tint);color:var(--alert)}.chip.archived{color:var(--ink-faint);background:#eee}.chip.pending{background:var(--warn-tint);color:var(--warn)}.badge-sensitive{letter-spacing:.05em;color:var(--alert);border:1px solid var(--alert);text-transform:uppercase;border-radius:4px;padding:0 5px;font-size:10.5px;font-weight:600;display:inline-block}.due-red{color:var(--alert);font-weight:600}.due-amber{color:var(--warn);font-weight:600}.packet{align-items:center;gap:3px;display:inline-flex}.packet i{border:1px solid var(--lake);background:0 0;border-radius:2px;width:9px;height:11px}.packet i.done{background:var(--lake)}.packet i.opt{border-color:var(--ink-faint);opacity:.55}.packet i.opt.done{background:var(--ink-faint)}.packet .pct{font-family:var(--mono);color:var(--ink-soft);margin-left:6px;font-size:11.5px}.btn{background:var(--lake);border:1px solid var(--lake);color:#fff;cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{background:var(--lake-strong)}.btn:disabled{opacity:.55;cursor:default}.btn.ghost{color:var(--lake);background:0 0}.btn.ghost:hover{background:var(--lake-tint)}.btn.danger{border-color:var(--alert);color:var(--alert);background:0 0}.btn.danger:hover{background:var(--alert-tint)}.btn.sm{padding:4px 10px;font-size:12px}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;width:100%;padding:8px 10px;font-family:inherit;font-size:13.5px}textarea{resize:vertical;min-height:70px}label.field{color:var(--ink-soft);margin-bottom:12px;font-size:12.5px;font-weight:600;display:block}label.field>span{margin-bottom:4px;display:block}.search-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.search-row input[type=text]{max-width:300px}.filter-chip{background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;border-radius:20px;padding:5px 13px;font-size:12.5px;font-weight:500}.filter-chip.on{background:var(--lake);border-color:var(--lake);color:#fff}.login-wrap{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}@media (width<=860px){.login-wrap{grid-template-columns:1fr}.login-left{display:none}}.login-left{background:var(--lake-deep);color:#e8efec;flex-direction:column;justify-content:space-between;padding:48px;display:flex}.login-left .brand-mark{font-size:30px}.login-left h2{letter-spacing:-.015em;max-width:420px;font-size:26px;font-weight:600;line-height:1.25}.login-left .foot{color:#9db3ac;font-size:12.5px;line-height:1.6}.login-right{justify-content:center;align-items:center;padding:40px 24px;display:flex}.login-card{width:100%;max-width:360px}.login-card h1{margin-bottom:18px;font-size:20px}.demo-creds{border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-soft);margin-top:22px;padding:12px 14px;font-size:12.5px}.demo-creds .mono{font-size:12px}.form-error{background:var(--alert-tint);color:var(--alert);border-radius:6px;margin-bottom:12px;padding:9px 12px;font-size:13px}.form-ok{background:var(--ok-tint);color:var(--ok);border-radius:6px;margin-bottom:12px;padding:9px 12px;font-size:13px}.detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.detail-head .who h1{font-size:24px}.detail-head .who .meta{color:var(--ink-soft);flex-wrap:wrap;gap:14px;margin-top:5px;font-size:13px;display:flex}.kv{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px 20px;display:grid}.kv .item .k{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);font-size:11px;font-weight:600}.kv .item .v{margin-top:2px;font-size:13.5px}.kv .item .v.mono{font-size:13px}.doc-row-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.note-item{border-bottom:1px solid var(--line-soft);padding:12px 0}.note-item:last-child{border-bottom:none}.note-item .meta{color:var(--ink-faint);margin-bottom:3px;font-size:12px}.linkbox{background:var(--lake-tint);font-family:var(--mono);word-break:break-all;border-radius:6px;margin-top:10px;padding:10px 12px;font-size:12px}.modal-back{z-index:40;background:#10231f73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:10px;width:100%;max-width:440px;padding:22px;box-shadow:0 12px 40px #00000040}.modal h2{margin-bottom:16px;font-size:16px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.pub-wrap{background:var(--paper);min-height:100vh;padding:30px 16px 60px}.pub-card{max-width:620px;margin:0 auto}.pub-brand{text-align:center;margin-bottom:22px}.pub-brand .brand-mark{color:var(--lake-deep);font-size:24px}.pub-brand .brand-mark span{color:var(--lake)}.pub-brand p{color:var(--ink-soft);margin:6px 0 0;font-size:13px}.pub-item{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:14px;padding:13px 16px;display:flex}.pub-item:last-child{border-bottom:none}.pub-item .l{font-size:13.5px}.pub-item .l .req{color:var(--ink-faint);font-size:12px}.pub-done{color:var(--ok);white-space:nowrap;font-size:13px;font-weight:600}.file-btn{position:relative;overflow:hidden}.file-btn input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.card,.tile{animation:.25s ease-out both rise}@keyframes rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}}
