@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,560..640&family=Inter:wght@400;500;600;700&display=swap";.cw *,.cw :before,.cw :after{box-sizing:border-box}.cw{--navy:#0a1730;--slate:#111827;--blue:#2563eb;--blue-h:#1d4ed8;--gold:#f2b857;--bg:#f4f7fb;--card:#fff;--bd:#e6ebf3;--danger:#dc2626;--warn:#f59e0b;--ok:#15803d;--ink:#101828;--muted:#5d6b82;--faint:#98a4b8;--tint:#eef4ff;--sh-sm:0 1px 2px #1020400d;--sh-md:0 1px 2px #1020400a,0 10px 28px -14px #10204029;--sh-lg:0 2px 6px #0a14280f,0 24px 60px -20px #0a142847;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;width:100%;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;font-size:14px;line-height:1.45;display:flex}.cw button,.cw input,.cw select,.cw textarea{font:inherit;color:inherit}.cw :focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}.cw .num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.cw h1,.cw h2,.cw h3,.cw h4{letter-spacing:-.012em;margin:0;font-weight:600}.cw p{margin:0}.cw a{color:var(--blue);text-decoration:none}.cw-side{color:#c3cdde;z-index:60;background:linear-gradient(#0d1d3a 0%,#0a1730 42%,#081226 100%);flex-direction:column;flex:0 0 240px;width:240px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.cw-side::-webkit-scrollbar{width:8px}.cw-side::-webkit-scrollbar-thumb{background:#22314d;border-radius:8px}.cw-side::-webkit-scrollbar-track{background:0 0}.cw-brand{border-bottom:1px solid #94a3b824;padding:18px 16px 14px}.cw-brand b{color:#fff;letter-spacing:-.01em;font-size:14px;display:block}.cw-brand span{color:#6b7c99;text-transform:uppercase;letter-spacing:.12em;font-size:10.5px}.cw-nav{flex:1;padding:10px 9px}.cw-navlbl{color:#4e6182;letter-spacing:.14em;text-transform:uppercase;padding:14px 11px 7px;font-size:10px;font-weight:600}.cw-nav button{color:#c3cdde;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;width:100%;padding:8.5px 11px;font-size:13px;transition:background .14s,color .14s;display:flex}.cw-nav button:hover{color:#fff;background:#94a3b81a}.cw-nav button[aria-current=page]{color:#fff;box-shadow:inset 3px 0 0 0 var(--gold);background:linear-gradient(90deg,#3b82f638,#3b82f612);font-weight:600}.cw-nav .pill{background:var(--danger);color:#fff;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.cw-nav button[aria-current=page] .pill{color:var(--danger);background:#fff}.cw-sidefoot{color:#6b7c99;border-top:1px solid #94a3b824;padding:13px 14px;font-size:11px}.cw-main{flex-direction:column;flex:1;min-width:0;display:flex}.cw-top{z-index:50;-webkit-backdrop-filter:saturate(1.5)blur(12px);border-bottom:1px solid var(--bd);background:#ffffffdb;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 22px;display:flex;position:sticky;top:0}.cw-body{flex:1;width:100%;max-width:1560px;padding:22px}.cw-scrim{display:none}@media (width<=960px){.cw{display:block}.cw-side{transition:transform .18s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.cw-side.open{transform:none;box-shadow:0 0 0 100vmax #040a168c}.cw-body{padding:14px}.cw-top{padding:10px 12px}.col-md{display:none}}@media (width<=640px){.col-sm{display:none}}.cw .card{background:var(--card);border:1px solid var(--bd);box-shadow:var(--sh-sm);border-radius:14px}.cw .card-h{border-bottom:1px solid #eef2f7;align-items:center;gap:10px;padding:13px 16px;display:flex}.cw .card-h h3{letter-spacing:.01em;font-size:13px}.cw .card-h .sub{color:var(--muted);font-size:12px;font-weight:400}.cw .card-b{padding:16px}.cw .grid{gap:12px;display:grid}.cw .row{align-items:center;gap:8px;display:flex}.cw .wrap{flex-wrap:wrap}.cw .sp{flex:1}.cw .mut{color:var(--muted)}.cw .tiny{font-size:11px}.cw .sm{font-size:12px}.cw .b{font-weight:600}.cw .right{text-align:right}.cw .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.cw .btn{border:1px solid var(--bd);cursor:pointer;white-space:nowrap;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:7.5px 13px;font-size:13px;font-weight:500;transition:background .14s,border-color .14s,box-shadow .14s,color .14s;display:inline-flex;box-shadow:0 1px 1.5px #1020400d}.cw .btn:hover{background:#f3f6fa;border-color:#d8e0ec}.cw .btn:disabled{opacity:.5;cursor:not-allowed}.cw .btn.p{color:#fff;background:linear-gradient(#3b82f6,#2563eb);border-color:#2158d6;box-shadow:inset 0 1px #ffffff2e,0 1px 3px #2563eb59}.cw .btn.p:hover:not(:disabled){background:linear-gradient(#2f74ee,#1d4ed8);border-color:#1d4ed8}.cw .btn.d{color:#fff;background:linear-gradient(#e23636,#dc2626);border-color:#c22020;box-shadow:inset 0 1px #ffffff26,0 1px 3px #dc26264d}.cw .btn.d:hover:not(:disabled){background:linear-gradient(#d02b2b,#b91c1c)}.cw .btn.g{color:var(--muted);box-shadow:none;background:0 0;border-color:#0000}.cw .btn.g:hover{color:var(--ink);background:#eef2f8}.cw .btn.xs{border-radius:7px;padding:4px 9px;font-size:12px}.cw .btn.blk{width:100%}.cw .badge{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:4px;padding:2px 8.5px;font-size:11px;font-weight:600;line-height:1.5;display:inline-flex}.cw .badge.gray{color:#4b5a72;background:#f2f5f9;border-color:#e3e9f1}.cw .badge.blue{background:var(--tint);color:#1d4ed8;border-color:#c6dafc}.cw .badge.green{color:var(--ok);background:#effdf4;border-color:#bbf0ce}.cw .badge.amber{color:#a16207;background:#fffae9;border-color:#fbe5a3}.cw .badge.red{color:var(--danger);background:#fef3f2;border-color:#fdd3ce}.cw .badge.navy{background:var(--navy);border-color:var(--navy);color:#fff}.cw table{border-collapse:collapse;width:100%}.cw th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;border-bottom:1px solid var(--bd);white-space:nowrap;background:#f7f9fc;padding:9px 12px;font-size:11px;font-weight:600}.cw th.s{cursor:pointer;-webkit-user-select:none;user-select:none}.cw th.s:hover{color:var(--ink)}.cw td{vertical-align:middle;border-bottom:1px solid #f0f3f8;padding:10px 12px}.cw tbody tr{transition:background .12s}.cw tbody tr:hover{background:#f6f9fd}.cw tbody tr.sel{background:var(--tint)}.cw .tw{border-radius:0 0 13px 13px;overflow-x:auto}.cw .lnk{color:var(--blue);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:500}.cw .lnk:hover{text-decoration:underline}.cw input[type=text],.cw input[type=number],.cw input[type=date],.cw input[type=email],.cw input[type=tel],.cw select,.cw textarea{background:#fff;border:1px solid #d9e1ec;border-radius:9px;width:100%;padding:8.5px 11px;transition:border-color .14s,box-shadow .14s}.cw input[type=text]:focus,.cw input[type=number]:focus,.cw input[type=date]:focus,.cw input[type=email]:focus,.cw input[type=tel]:focus,.cw select:focus,.cw textarea:focus{border-color:#8fb2f5;outline:none;box-shadow:0 0 0 3px #2563eb21}.cw textarea{resize:vertical;min-height:76px}.cw label.f{margin-bottom:11px;display:block}.cw label.f>span{color:#33415a;margin-bottom:5px;font-size:12px;font-weight:600;display:block}.cw .chk{cursor:pointer;align-items:flex-start;gap:9px;font-size:13px;display:flex}.cw .chk input{width:15px;height:15px;accent-color:var(--blue);flex:none;margin-top:2px}.cw .search{flex:1;min-width:180px;max-width:340px;position:relative}.cw .search input{padding-left:32px}.cw .search svg{color:var(--faint);position:absolute;top:10px;left:10px}.cw .kpi{border:1px solid var(--bd);box-shadow:var(--sh-sm);background:#fff;border-radius:14px;padding:14px 16px;transition:box-shadow .16s,border-color .16s}.cw .kpi:hover{box-shadow:var(--sh-md);border-color:#d8e0ec}.cw .kpi .l{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10.5px;font-weight:600}.cw .kpi .v{letter-spacing:-.03em;margin-top:3px;font-size:26px;font-weight:700}.cw .bar{background:#e4eaf2;border-radius:999px;height:7px;overflow:hidden}.cw .bar>i{background:linear-gradient(90deg,#22c55e,#15803d);border-radius:999px;height:100%;display:block}.cw .alert{border:1px solid;border-radius:11px;gap:10px;padding:12px 14px;font-size:13px;display:flex}.cw .alert.red{color:#7f1d1d;background:#fef3f2;border-color:#fdd3ce}.cw .alert.amber{color:#713f12;background:#fffae9;border-color:#fbe5a3}.cw .alert.blue{background:var(--tint);color:#1e3a8a;border-color:#c6dafc}.cw .alert.green{color:#14532d;background:#effdf4;border-color:#bbf0ce}.cw .alert.gray{border-color:var(--bd);color:#33415a;background:#f7f9fc}.cw .demo{background:var(--navy);color:#fff;letter-spacing:.05em;border-radius:5px;align-items:center;gap:4px;padding:1.5px 7px;font-size:10px;font-weight:700;display:inline-flex}.cw .ai{color:#5b21b6;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:5px;align-items:center;gap:4px;padding:1.5px 7px;font-size:10px;font-weight:700;display:inline-flex}.cw .ov{-webkit-backdrop-filter:blur(3px);z-index:100;background:#070e1c8c;justify-content:center;align-items:flex-start;padding:24px 12px;display:flex;position:fixed;inset:0;overflow-y:auto}.cw .modal{width:100%;max-width:640px;box-shadow:var(--sh-lg);background:#fff;border-radius:18px}.cw .modal.lg{max-width:920px}.cw .modal.xl{max-width:1100px}.cw .modal-h{border-bottom:1px solid #eef2f7;align-items:flex-start;gap:10px;padding:16px 18px;display:flex}.cw .modal-b{max-height:66vh;padding:18px;overflow-y:auto}.cw .modal-f{background:#f7f9fc;border-top:1px solid #eef2f7;border-radius:0 0 18px 18px;flex-wrap:wrap;gap:8px;padding:13px 18px;display:flex}.cw .tabs{border-bottom:1px solid var(--bd);gap:2px;display:flex;overflow-x:auto}.cw .tabs button{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 13px;font-size:13px;font-weight:500;transition:color .14s,border-color .14s}.cw .tabs button:hover{color:var(--ink)}.cw .tabs button[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.cw .toasts{z-index:200;flex-direction:column;gap:8px;max-width:400px;display:flex;position:fixed;bottom:16px;right:16px}.cw .toast{-webkit-backdrop-filter:blur(8px);color:#fff;background:#0e1729f0;border-radius:12px;gap:9px;padding:12px 14px;font-size:13px;display:flex;box-shadow:0 12px 32px #040a1666}.cw .toast.ok{border-left:3px solid #22c55e}.cw .toast.err{border-left:3px solid var(--danger)}.cw .toast.info{border-left:3px solid #60a5fa}.cw .doc{border:1px solid var(--bd);white-space:pre-wrap;background:#fff;border-radius:10px;padding:28px 32px;font-family:Georgia,Times New Roman,serif;font-size:13.5px;line-height:1.65}.cw .kv{grid-template-columns:150px 1fr;gap:6px 12px;font-size:13px;display:grid}.cw .kv dt{color:var(--muted)}.cw .kv dd{margin:0;font-weight:500}.cw .tl{border-left:2px solid var(--bd);margin-left:6px;padding-left:14px}.cw .tl>div{padding-bottom:12px;position:relative}.cw .tl>div:before{content:"";background:var(--blue);width:8px;height:8px;box-shadow:0 0 0 1px var(--bd);border:2px solid #fff;border-radius:50%;position:absolute;top:5px;left:-19px}.cw .disc{color:var(--muted);border-top:1px solid var(--bd);padding:14px 22px;font-size:11px;line-height:1.6}.cw .seg{border:1px solid var(--bd);background:#fff;border-radius:9px;display:inline-flex;overflow:hidden;box-shadow:0 1px 1.5px #1020400d}.cw .seg button{cursor:pointer;color:var(--muted);border:0;border-right:1px solid var(--bd);background:0 0;padding:6.5px 12px;font-size:12px;font-weight:500;transition:background .14s,color .14s}.cw .seg button:last-child{border-right:0}.cw .seg button:hover{color:var(--ink)}.cw .seg button[aria-pressed=true]{background:var(--blue);color:#fff;font-weight:600}.cw .warm{background:linear-gradient(#fff,#fff)}.cw.auth{background:var(--navy);display:block}.cw .auth-wrap{--sky-hi:#d6e8f8;--sky-mid:#ebf1f6;--sky-lo:#f9e2c2;--roof:#1b3a57;--roof-back:#5a7a96;--porch:#e8a33d;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);min-height:100vh;display:grid}.cw .auth-brand{color:var(--roof);background:linear-gradient(179deg,var(--sky-hi) 0%,var(--sky-mid) 46%,var(--sky-lo) 100%);flex-direction:column;gap:26px;padding:48px 54px 0;display:flex;position:relative;overflow:hidden}.cw .auth-brand h1{color:#12293f;letter-spacing:-.02em;text-wrap:balance;margin:0;font-family:Fraunces,Georgia,Times New Roman,serif;font-size:44px;font-weight:600;line-height:1.06}.cw .auth-brand .eyebrow{color:#5a7a96;letter-spacing:.18em;text-transform:uppercase;font-size:10.5px;font-weight:600}.cw .auth-lede{color:#3a5a76;max-width:400px;margin-top:14px;font-size:14.5px;line-height:1.65}.cw .auth-scene{pointer-events:none;width:100%;height:200px;display:block;position:absolute;bottom:0;left:0;right:0}.cw .auth-brandfoot{z-index:2;color:#4a6b88;max-width:430px;margin-top:auto;padding-bottom:212px;font-size:11px;line-height:1.6;position:relative}.cw .auth-panel{background:#f6f9fc;justify-content:center;align-items:center;padding:36px 24px;display:flex}.cw .auth-card{background:#fff;border:1px solid #e5ebf2;border-radius:20px;width:100%;max-width:416px;padding:32px 30px;box-shadow:0 1px 2px #1028400a,0 20px 44px -18px #1028402e}.cw .auth-mark{background:var(--roof);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid;box-shadow:inset 0 1px #ffffff1f,0 2px 6px #12293f40}.cw .auth-hello{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:22px;font-weight:600}.cw .auth-acct{cursor:pointer;text-align:left;background:#fff;border:1px solid #e5ebf2;border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:12.5px;transition:background .14s,border-color .14s,transform .14s,box-shadow .14s;display:flex}.cw .auth-acct:hover{background:#fff8ec;border-color:#f0ce92;transform:translateY(-1px);box-shadow:0 4px 12px -6px #a06e1e40}.cw .auth-pw{position:relative}.cw .auth-pw button{cursor:pointer;color:var(--faint);background:0 0;border:0;padding:3px;position:absolute;top:6px;right:7px}.cw .auth-pw button:hover{color:var(--ink)}.cw .auth-win{opacity:0;animation:.55s forwards cwlight}@keyframes cwlight{0%{opacity:0}to{opacity:1}}@media (width<=900px){.cw .auth-wrap{grid-template-columns:1fr}.cw .auth-brand{order:2;gap:14px;min-height:210px;padding:30px 22px 0}.cw .auth-brand h1{font-size:28px}.cw .auth-lede{max-width:none;font-size:13.5px}.cw .auth-panel{order:1;padding:26px 18px 22px}.cw .auth-card{box-shadow:none;border-radius:16px;padding:24px 20px}.cw .auth-brand .hide-sm{display:none}.cw .auth-scene{height:132px}.cw .auth-brandfoot{padding-bottom:144px}}@keyframes cwspin{to{transform:rotate(360deg)}}.cw .spin{animation:1s linear infinite cwspin}@media (prefers-reduced-motion:reduce){.cw *{transition:none!important;animation:none!important}.cw .auth-win{opacity:1}}@media print{.cw-side,.cw-top{display:none}}html,body,#root{background:#f4f7fb;min-height:100vh;margin:0;padding:0}.cw input[type=password]{background:#fff;border:1px solid #d9e1ec;border-radius:9px;width:100%;padding:8.5px 11px}.cw input[type=password]:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2563eb24}.cw .fld{color:var(--ink);gap:5px;font-size:12.5px;font-weight:600;display:grid}.cw .auth-note{border:1px solid;border-radius:10px;padding:9px 12px;font-size:12.5px;line-height:1.5}.cw .auth-note.ok{color:#166534;background:#effdf4;border-color:#bbf0ce}.cw .auth-note.err{color:#b42318;background:#fef3f2;border-color:#fdd3ce}.cw .kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.cw .menu-btn{display:none}@media (width<=960px){.cw .menu-btn{display:inline-flex}}.cw .center-screen{width:100%;min-height:100vh;color:var(--muted);place-items:center;display:grid}.cw .kv-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 24px;font-size:13px;display:grid}.cw .kv-grid span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:2px;font-size:10.5px;font-weight:600;display:block}.cw .form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 14px;display:grid}.cw td input[type=text],.cw td input[type=number],.cw td select{padding:5px 8px}.cw .rpt{max-width:860px}.cw .rpt-title{margin-bottom:14px}.cw .rpt-title b{font-size:16px}.cw .rpt-h{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:16px 0 4px;font-size:11px;font-weight:700}.cw .rpt-row{border-bottom:1px solid #f0f3f8;justify-content:space-between;gap:16px;padding:5px 0;font-size:13px;display:flex}.cw .rpt-sum{border-bottom:1px solid var(--bd);font-weight:600}.cw .rpt-sum.strong{border-top:2px solid var(--ink);border-bottom:3px double var(--ink);margin-top:8px;font-size:14.5px}.cw tr.rpt-total td{background:#f7f9fc;font-weight:600}@media print{.cw .no-print,.cw .cw-top{display:none!important}.cw .cw-body{padding:0}.cw .card{box-shadow:none;border:0}}
