:root {
  --navy:#0b1739; --navy-2:#132550; --ink:#17213a; --muted:#6d7891; --paper:#f4f6fb;
  --surface:#fff; --line:#e4e8f1; --teal:#12a88b; --teal-dark:#087a68; --teal-soft:#e5f7f3;
  --violet:#6757d9; --violet-soft:#efedff; --amber:#bf781d; --amber-soft:#fff4dc;
  --red:#c84c5b; --red-soft:#ffeaed; --blue:#3978d2; --blue-soft:#eaf2ff;
  --shadow:0 18px 50px rgba(29,43,78,.09); --radius:18px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)
}
*{box-sizing:border-box} body{margin:0;min-height:100vh;background:var(--paper)} button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.kicker{margin:0 0 7px;color:var(--teal-dark);font-size:10px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.kicker.light{color:#7de0cb}.form-error{min-height:18px;margin:0;color:var(--red);font-size:12px}.logo{width:43px;height:43px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:14px 14px 14px 4px;background:rgba(255,255,255,.08);font-family:Georgia,serif;font-size:23px}.logo.dark{border:0;background:var(--navy);color:white}.brand-lockup{display:flex;align-items:center;gap:12px;color:white;font-weight:800;letter-spacing:.03em}.brand-lockup.dark-text{color:var(--ink)}.brand-lockup small{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.08em}.mobile-brand{display:none}
.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(500px,1.15fr) minmax(420px,.85fr)}.login-visual{position:relative;overflow:hidden;padding:clamp(45px,7vw,90px);display:flex;flex-direction:column;justify-content:space-between;color:white;background:radial-gradient(circle at 78% 18%,rgba(62,220,189,.18),transparent 28%),linear-gradient(145deg,#091532,#102858)}.login-visual:before{content:"";position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent)}.login-visual>*{position:relative;z-index:1}.login-copy h1{margin:0;max-width:760px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(52px,6.5vw,90px);font-weight:400;line-height:.97;letter-spacing:-.045em}.login-copy h1 em{color:#71dec8;font-style:normal}.login-copy>p:last-child{max-width:580px;margin:28px 0 0;color:#cbd6ef;font-size:18px;line-height:1.6}.trust-row{display:flex;justify-content:space-between;color:#bdc9e3;font-size:12px}.trust-row span:first-child{display:flex;align-items:center;gap:9px}.trust-row i{width:7px;height:7px;border-radius:50%;background:#3bd0a9;box-shadow:0 0 0 5px rgba(59,208,169,.12)}.login-form-wrap{display:grid;place-items:center;padding:40px;background:#fbfcff}.login-card{width:min(420px,100%);display:grid;gap:21px}.login-card h2{margin:0;font-family:Georgia,serif;font-size:37px;font-weight:500;letter-spacing:-.03em}.login-card p{margin-top:-12px}.login-card label,.dialog-body label{display:grid;gap:7px;color:#3d4863;font-size:12px;font-weight:750}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #ccd3e2;border-radius:10px;outline:0;background:white;color:var(--ink);transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(18,168,139,.12)}textarea{resize:vertical}.button{min-height:42px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;font-weight:780}.button.primary{background:var(--navy);color:white;box-shadow:0 8px 22px rgba(11,23,57,.18)}.button.primary:hover{background:var(--navy-2)}.button.secondary{border-color:var(--line);background:white;color:var(--ink)}.button.full{width:100%}
.app-layout{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:23px 15px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:white}.sidebar>.brand-lockup{padding:0 10px 27px}nav{display:grid;gap:4px}.nav{width:100%;padding:11px 12px;display:flex;align-items:center;gap:12px;border:0;border-radius:10px;background:transparent;color:#66718a;text-align:left;font-weight:690}.nav span{width:22px;color:#919bb0;font-size:18px;text-align:center}.nav:hover{background:#f4f6fa}.nav.active{background:var(--violet-soft);color:#4b3fb3}.nav.active span{color:var(--violet)}.system-card{margin-top:auto;padding:15px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.system-card>div{display:flex;align-items:center;gap:9px;font-size:12px}.system-card p{margin:8px 0 2px;font-size:12px}.system-card small{color:var(--muted);font-size:10px}.pulse{width:8px;height:8px;border-radius:50%;background:#21b991;box-shadow:0 0 0 4px #dcf7ef}.profile{margin-top:13px;padding:10px 5px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;border:0;background:transparent;text-align:left}.profile>span:nth-child(2){min-width:0;display:grid}.profile strong,.profile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile small{color:var(--muted);font-size:10px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--teal-soft);color:var(--teal-dark);font-size:10px;font-weight:850}.logout{padding:5px;border:0;background:transparent;color:var(--muted);font-size:11px;text-align:left}.workspace{min-width:0;padding:31px clamp(22px,4vw,55px) 60px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.topbar h1{margin:0;font-family:Georgia,serif;font-size:35px;font-weight:500;letter-spacing:-.035em}.topbar p:last-child{margin:6px 0 0;font-size:13px}.top-actions{display:flex;align-items:flex-end;gap:9px}.period{display:grid;gap:4px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.period select{min-width:110px;padding:10px 11px}.icon-button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:white;color:#5d6880;font-size:20px}.notice{margin:-10px 0 20px;padding:12px 15px;border:1px solid #bfe6dc;border-radius:10px;background:var(--teal-soft);color:var(--teal-dark);font-size:12px}.notice.error{border-color:#f3c1c7;background:var(--red-soft);color:var(--red)}.content{display:grid;gap:20px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.metric{min-height:142px;padding:19px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:0 7px 25px rgba(28,45,84,.035)}.metric.featured{color:white;border:0;background:linear-gradient(145deg,var(--navy),#203970)}.metric-label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:750}.metric.featured .metric-label,.metric.featured .metric-foot{color:#c7d3ec}.metric-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#f0f3f9;color:var(--violet)}.metric.featured .metric-icon{background:rgba(255,255,255,.1);color:#79e0cb}.metric-value{font-family:Georgia,serif;font-size:36px;line-height:1}.metric-foot{color:var(--muted);font-size:10px}.grid-2{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:18px}.panel{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:0 8px 28px rgba(28,45,84,.035);overflow:hidden}.panel-head{padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:15px}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:10px}.panel-body{padding:19px}.chart{height:230px;display:flex;align-items:flex-end;gap:7px;padding:18px 2px 0}.bar-group{height:100%;min-width:8px;flex:1;display:flex;align-items:flex-end;justify-content:center;gap:2px;border-bottom:1px solid var(--line);position:relative}.bar{width:44%;min-height:2px;border-radius:5px 5px 0 0;background:#dfe4f0}.bar.signed{background:var(--violet)}.bar.delivered{background:var(--teal)}.bar-group span{position:absolute;bottom:-20px;color:#8c96aa;font-size:8px;white-space:nowrap}.chart-legend{display:flex;gap:15px;margin-top:28px;color:var(--muted);font-size:10px}.chart-legend i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:2px}.donut-wrap{display:grid;place-items:center;gap:18px}.donut{width:145px;height:145px;display:grid;place-items:center;border-radius:50%;position:relative}.donut:after{content:"";position:absolute;width:96px;height:96px;border-radius:50%;background:white}.donut strong{position:relative;z-index:1;font-family:Georgia,serif;font-size:29px}.state-list{width:100%;display:grid;gap:8px}.state-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.state-row span:first-child{display:flex;align-items:center;gap:7px;color:#536079}.dot{width:7px;height:7px;border-radius:50%}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{padding:10px 15px;background:#f8f9fc;color:#8993a7;font-size:9px;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap}td{padding:13px 15px;border-top:1px solid #edf0f6;vertical-align:middle}tr.clickable:hover{background:#fafbfe;cursor:pointer}td strong{font-weight:760}.sub{display:block;margin-top:3px;color:var(--muted);font-size:9px}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.badge.success{background:var(--teal-soft);color:var(--teal-dark)}.badge.warning{background:var(--amber-soft);color:var(--amber)}.badge.danger{background:var(--red-soft);color:var(--red)}.badge.info{background:var(--blue-soft);color:var(--blue)}.badge.neutral{background:#eff1f5;color:#66718a}.filters{padding:15px;display:grid;grid-template-columns:1.5fr repeat(3,minmax(120px,.5fr)) auto;gap:9px;border-bottom:1px solid var(--line)}.filters input,.filters select{padding:9px 10px;font-size:11px}.empty{padding:50px 20px;color:var(--muted);text-align:center}.empty strong{display:block;margin-bottom:6px;color:var(--ink)}.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.client-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:white;box-shadow:0 6px 20px rgba(28,45,84,.03);cursor:pointer;transition:.2s}.client-card:hover{transform:translateY(-2px);border-color:#cfd4ec;box-shadow:var(--shadow)}.client-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.client-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--violet-soft);color:var(--violet);font-size:11px;font-weight:850}.client-card h3{margin:13px 0 3px;font-size:14px}.client-id{color:var(--muted);font:10px ui-monospace,monospace}.client-stats{margin-top:17px;padding-top:14px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.client-stats div{display:grid;gap:3px}.client-stats strong{font-size:16px}.client-stats span{color:var(--muted);font-size:8px;text-transform:uppercase}.health{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}.health i{width:6px;height:6px;border-radius:50%;background:var(--teal)}.health.bad i{background:var(--red)}
dialog{width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;border:0;border-radius:20px;box-shadow:0 30px 100px rgba(6,16,42,.32)}dialog::backdrop{background:rgba(7,16,38,.55);backdrop-filter:blur(3px)}.dialog-card{display:grid;max-height:calc(100vh - 28px)}.dialog-card>header,.dialog-card>footer{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-card>header{border-bottom:1px solid var(--line)}.dialog-card>footer{justify-content:flex-end;border-top:1px solid var(--line);background:#fafbfe}.dialog-card h2{margin:0;font-size:20px}.dialog-body{padding:20px 22px;display:grid;grid-template-columns:1fr 1fr;gap:15px;overflow:auto}.dialog-body .wide{grid-column:1/-1}.dialog-body small{color:var(--muted);font-size:9px}.flows{grid-column:1/-1;margin:0;padding:13px;border:1px solid var(--line);border-radius:11px;display:flex;flex-wrap:wrap;gap:13px}.flows legend{padding:0 5px;color:#3d4863;font-size:11px;font-weight:750}.flows label{display:flex;align-items:center;gap:6px}.flows input{width:auto}.detail-dialog{width:min(920px,calc(100vw - 28px))}.detail-body{padding:20px 22px;overflow:auto}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.detail-stat{padding:13px;border:1px solid var(--line);border-radius:11px;background:#fafbfe}.detail-stat span{display:block;color:var(--muted);font-size:9px}.detail-stat strong{display:block;margin-top:6px;font-size:12px;word-break:break-word}.timeline{margin:8px 0 22px;padding:3px 0;display:grid}.timeline-item{position:relative;padding:0 0 20px 30px;display:grid;gap:4px}.timeline-item:before{content:"";position:absolute;left:7px;top:6px;width:8px;height:8px;border:3px solid white;border-radius:50%;background:var(--teal);box-shadow:0 0 0 2px var(--teal)}.timeline-item:not(:last-child):after{content:"";position:absolute;left:10px;top:17px;bottom:-1px;width:2px;background:#dce4ec}.timeline-item strong{font-size:12px}.timeline-item span{color:var(--muted);font-size:10px}.timing-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:18px}.timing{padding:13px;border-radius:11px;background:var(--teal-soft)}.timing strong{display:block;font-family:Georgia,serif;font-size:21px}.timing span{color:var(--teal-dark);font-size:9px}.toast{position:fixed;right:22px;bottom:22px;z-index:20;padding:13px 16px;border-radius:11px;background:var(--navy);color:white;box-shadow:var(--shadow);font-size:12px}
@media(max-width:1150px){.metric-grid{grid-template-columns:repeat(2,1fr)}.client-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr 1fr}.filters>:first-child{grid-column:1/-1}}
@media(max-width:760px){.login-layout{grid-template-columns:1fr}.login-visual{display:none}.login-form-wrap{min-height:100vh;padding:30px}.mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-weight:800}.app-layout{display:block}.sidebar{position:static;width:100%;height:auto;padding:13px}.sidebar>.brand-lockup,.system-card,.profile,.logout{display:none}.sidebar nav{grid-template-columns:repeat(4,1fr)}.nav{justify-content:center;font-size:0}.nav span{font-size:18px}.workspace{padding:21px 14px 45px}.topbar{align-items:flex-start}.topbar h1{font-size:29px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.period{display:none}#new-client{font-size:0;width:40px;padding:0}#new-client:after{content:"＋";font-size:18px}.metric-grid{grid-template-columns:1fr 1fr}.client-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.filters>:first-child{grid-column:auto}.dialog-body{grid-template-columns:1fr}.dialog-body .wide{grid-column:auto}.detail-grid,.timing-strip{grid-template-columns:1fr 1fr}}
@media(max-width:450px){.metric-grid{grid-template-columns:1fr}.detail-grid,.timing-strip{grid-template-columns:1fr}.topbar p.muted{display:none}}
.language-login{position:absolute;right:34px;top:28px;display:flex!important;align-items:center;grid-template-columns:auto auto!important;gap:8px!important;color:var(--muted)!important}.language-login select,.language-top select{width:auto;min-width:66px;padding:9px 10px;font-size:11px;font-weight:800}.language-top{display:block}.nav b{font-weight:690}.trust-row b{font-weight:650}.login-form-wrap{position:relative}
@media(max-width:760px){.language-login{right:20px;top:20px}.language-top select{min-width:58px}.nav b{display:none}}

