:root{font-family:Segoe UI,Arial,sans-serif;color:#19304d;background:#f2f5fa;font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:#126b83;text-decoration:none}button{border:1px solid #d7dfeb;background:white;color:#243b58;border-radius:8px;padding:9px 14px;font-size:.875rem;font-weight:600;min-height:38px}button:hover{background:#f0f5fa}button.primary{background:#176e83;color:white;border-color:#176e83}button.primary:hover{background:#11596b}button.danger{color:#b3313e}button.small{padding:5px 10px;min-height:30px}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #cbd6e3;border-radius:7px;background:#fff;color:#19304d;min-height:41px}textarea{resize:vertical;min-height:84px}h1{font-size:1.7rem;letter-spacing:-.6px;margin:0}h2{font-size:1.1rem;margin:0 0 18px}h3{font-size:1rem;margin:0}p{line-height:1.55}.muted{color:#6a7c92}.smalltext{font-size:.875rem}.loading{padding:50px}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{background:#142d4e;color:#d4deec;padding:29px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{padding:0 14px 26px;font-size:1.4rem;letter-spacing:1px;font-weight:750;color:#fff}.brand span{color:#56d6c4}.brand small{display:block;font-size:.75rem;color:#a9bed5;letter-spacing:2px;font-weight:400;margin-top:7px}.nav{display:flex;flex-direction:column;gap:6px}.nav button{text-align:left;background:transparent;color:#c3d2e5;border:0;padding:12px 15px;font-size:.9375rem;font-weight:400;display:flex;align-items:center;gap:12px}.nav button:hover{background:#213e60}.nav button.active{background:#254767;color:#fff;box-shadow:inset 3px 0 #54d3be}.nav svg{width:19px;height:19px;flex-shrink:0}.sidebar-bottom{margin-top:auto;padding:22px 12px 0;border-top:1px solid #35516e;font-size:.875rem}.sidebar-bottom b{display:block;color:white;margin:8px 0}.sidebar-bottom button{color:#c3d2e5;background:transparent;border-color:#47607c;margin-top:12px}.connection{color:#82dacb;font-size:.75rem}.main{padding:32px 38px;min-width:0;max-width:1800px;width:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:30px}.eyebrow{font-size:.75rem;font-weight:600;color:#6c8099;letter-spacing:1.8px;margin-bottom:7px}.topbar .date{font-size:.875rem;color:#75859b}.actions{display:flex;gap:8px;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px}.stat{background:white;border:1px solid #e0e7f0;border-radius:11px;padding:21px 22px}.stat .label{font-size:.875rem;color:#64768d}.stat .value{font-size:1.8rem;font-weight:650;margin:12px 0 7px;letter-spacing:-.8px}.stat .note{font-size:.8125rem;color:#72859a}.stat.teal{border-top:3px solid #169d99}.stat.blue{border-top:3px solid #5786cd}.stat.orange{border-top:3px solid #d59951}.stat.red{border-top:3px solid #d67b84}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.panel{background:#fff;border:1px solid #e0e7f0;border-radius:11px;padding:23px;margin-bottom:22px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-heading h2{margin:0}.empty{text-align:center;padding:44px 22px;color:#6c7d93}.empty strong{display:block;color:#314966;font-size:1rem;margin-bottom:8px}.empty button{margin-top:14px}.filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.filters input{flex:1;min-width:180px}.filters select{width:auto;max-width:250px}.table-wrap{overflow:auto;background:white;border:1px solid #e0e7f0;border-radius:10px}table{width:100%;border-collapse:collapse;text-align:left;white-space:normal;font-size:.875rem}th{padding:15px 18px;color:#6d7d93;font-weight:500;background:#f9fbfd;border-bottom:1px solid #e3e9f1;white-space:nowrap}td{padding:16px 18px;border-bottom:1px solid #edf1f6}tr:last-child td{border:0}tbody tr:hover{background:#f8fafc}td strong{display:block;color:#19304d;font-size:.9375rem;font-weight:600}.badge{display:inline-block;font-size:.75rem;background:#edf3fa;color:#466482;border-radius:5px;padding:5px 8px;white-space:nowrap}.badge.teal{background:#def4ed;color:#217862}.badge.red{background:#fbe9ed;color:#a33d51}.badge.orange{background:#fff1df;color:#996825}.overdue{color:#b13e50}.row-actions{display:flex;gap:7px;white-space:nowrap}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(215px,1fr);gap:14px;overflow:auto;padding-bottom:20px}.column{background:#e9eef6;padding:12px;border-radius:10px;min-height:360px}.column-title{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;font-weight:650;padding:5px 3px 15px}.column-title span{background:#d7e1ef;padding:3px 7px;border-radius:5px;font-weight:400}.card{background:white;border:1px solid #dce5ef;border-radius:8px;padding:16px;margin-bottom:10px;box-shadow:0 2px 4px #142d4e06}.card h3{font-size:.9375rem;line-height:1.4}.card p{font-size:.8125rem;margin:8px 0;color:#6a7d93}.card .amount{font-size:1.05rem;font-weight:650;margin:14px 0 10px}.card footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1f6;padding-top:12px;gap:7px;font-size:.75rem;color:#647991}.card select{font-size:.8125rem;padding:6px;min-height:32px;margin-top:13px}.direction{font-size:.75rem;color:#177c89;margin-bottom:9px}.task-line{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #edf1f6}.task-line:last-child{border:0}.task-line .task-content{flex:1}.task-line p{font-size:.8125rem;color:#6a7c92;margin:6px 0}.task-line .check{width:25px;height:25px;padding:0;min-height:25px;border-radius:50%;flex-shrink:0}.bars .bar-row{margin-bottom:16px}.bar-label{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:8px}.bar-track{height:7px;background:#eaf0f6;border-radius:9px;overflow:hidden}.bar-fill{height:100%;background:#249eab;transform-origin:left;width:100%}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#122b4b,#214d67)}.auth-card{background:#fff;border-radius:16px;padding:38px;width:100%;max-width:440px;box-shadow:0 20px 70px #051b3a50}.auth-card .brand{color:#19304d;padding:0 0 26px}.auth-card h1{font-size:1.4rem;margin-bottom:12px}.auth-card label{margin-top:17px}.auth-card button{width:100%;margin-top:24px}.form-error{color:#ad3345;font-size:.875rem;line-height:1.5;margin-top:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}label{display:block;font-size:.875rem;font-weight:500;color:#405673}label input,label select,label textarea{margin-top:7px;font-weight:400}dialog{border:0;border-radius:13px;padding:0;width:min(820px,calc(100vw - 32px));max-height:90vh;color:#19304d;box-shadow:0 20px 80px #0d274650}dialog::backdrop{background:#0b244b75}.modal-header{padding:23px 26px;border-bottom:1px solid #e5ebf3;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:white;z-index:2}.modal-header h2{margin:0}.modal-body{padding:24px 26px}.modal-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 26px;border-top:1px solid #e5ebf3;background:#f9fbfd;position:sticky;bottom:0}.modal-footer .actions{margin-left:auto}.item-box{background:#f4f7fb;border:1px solid #e0e7ef;border-radius:8px;padding:16px;margin-top:14px}.item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.item-box .form-grid{gap:12px}.info{background:#edf5fb;color:#446681;border-radius:8px;padding:15px;font-size:.875rem;line-height:1.6;margin:0 0 20px}.timeline{margin-top:20px}.timeline div{padding:10px 0;border-bottom:1px solid #edf1f6}.tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.tabs .active{background:#142d4e;color:white;border-color:#142d4e}#toast{position:fixed;bottom:24px;right:24px;padding:14px 20px;background:#153f48;color:#fff;border-radius:9px;box-shadow:0 8px 25px #16304c22;display:none;z-index:10;max-width:430px}.help-list{line-height:1.9;font-size:.9375rem}.overview-link{font-size:.8125rem}.setup-note{font-size:.875rem;color:#6b7e92}.check-label{display:flex;align-items:center;gap:8px}.check-label input{width:auto;min-height:0;margin:0}.block-gap{margin-top:22px}.nowrap{white-space:nowrap}@media(max-width:1100px){.main{padding:26px 22px}.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.sidebar{width:200px}.shell{grid-template-columns:200px 1fr}.report-grid{grid-template-columns:1fr}}@media(max-width:720px){.shell{display:block}.sidebar{position:relative;width:auto;height:auto;padding:15px}.brand{padding:0 8px 12px}.brand small{display:none}.nav{flex-direction:row;overflow:auto}.nav button{white-space:nowrap;padding:10px}.nav svg{display:none}.sidebar-bottom{display:none}.main{padding:22px 14px}.topbar{align-items:flex-start;margin-bottom:22px;flex-wrap:wrap}.topbar .date{display:none}.stats{gap:10px}.stat{padding:15px}.stat .value{font-size:1.4rem}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal-body{padding:18px}.panel{padding:18px}.filters select{max-width:100%;flex:1}.auth-card{padding:25px}.modal-footer{padding:14px;flex-wrap:wrap}.row-actions{flex-direction:column}h1{font-size:1.45rem}}
/* KSV Group: palette and surfaces from ksv-group.com. Local assets only. */
:root{color-scheme:dark;--ksv-bg-1:#06101f;--ksv-bg-2:#0a1930;--ksv-bg-3:#10375f;--ksv-blue:#2f7df6;--ksv-cyan:#41d5ff;--ksv-green:#4ae3a9;--ksv-text:#f3f7ff;--ksv-muted:#a9bdd6;--ksv-line:rgba(255,255,255,.13);font-family:"Suisse Intl",Inter,"Segoe UI",Arial,sans-serif;color:var(--ksv-text);background:var(--ksv-bg-1)}
body{background:radial-gradient(ellipse at 90% 6%,rgba(65,213,255,.13),transparent 38%),radial-gradient(ellipse at 15% 92%,rgba(47,125,246,.13),transparent 44%),linear-gradient(135deg,var(--ksv-bg-1),var(--ksv-bg-2) 52%,#0d2948);min-height:100vh}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px;z-index:0}
#app{position:relative;z-index:1}h1,h2,h3{color:#fff}h1{font-weight:550;letter-spacing:-.025em;background:linear-gradient(90deg,#fff,#d9e8ff 65%,#82e4ff);background-clip:text;-webkit-background-clip:text;color:transparent}h2{font-weight:600}
button{background:rgba(255,255,255,.065);color:#e4eefb;border-color:var(--ksv-line);border-radius:11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.045);transition:background .15s,border-color .15s,box-shadow .15s}
button:hover{background:rgba(65,213,255,.11);border-color:rgba(65,213,255,.35)}button.primary{color:#fff;background:linear-gradient(120deg,#2468ce,#147b9b);border-color:rgba(65,213,255,.35);box-shadow:0 8px 24px rgba(47,125,246,.2),inset 0 1px 0 rgba(255,255,255,.16)}
button.primary:hover{background:linear-gradient(120deg,#2f7df6,#148dac);border-color:#41d5ff;box-shadow:0 8px 26px rgba(47,125,246,.32)}
button.danger{color:#ffacbb;background:rgba(209,74,99,.07)}button.danger:hover{background:rgba(209,74,99,.16);border-color:rgba(255,147,167,.45)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #41d5ff;outline-offset:3px}
a{color:#83e5ff}.muted,.smalltext.muted{color:var(--ksv-muted)}.overdue{color:#ffb1c1!important}.eyebrow{color:#8eb0d5}.topbar .date{color:#a6bad3}.main{padding-top:34px}.topbar{padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.09)}
.sidebar{background:linear-gradient(180deg,rgba(6,16,31,.93),rgba(10,25,48,.97));border-right:1px solid rgba(255,255,255,.1);box-shadow:12px 0 35px rgba(0,0,0,.09)}.brand{font-size:1.6rem;letter-spacing:-.7px;font-weight:750;white-space:nowrap;color:#fff}.brand span{color:#fff}.brand small{font-size:.75rem;letter-spacing:1.45px;color:#9bb0cc;white-space:normal;line-height:1.55;font-weight:400}.nav{gap:7px}.nav button{border-radius:12px;color:#b9cbe1;box-shadow:none}.nav button:hover{background:rgba(255,255,255,.065)}.nav button.active{color:#fff;background:linear-gradient(110deg,rgba(47,125,246,.24),rgba(65,213,255,.12));box-shadow:inset 3px 0 #41d5ff,inset 0 1px 0 rgba(255,255,255,.08)}.nav button.active svg{color:#78e3ff}.sidebar-bottom{border-color:var(--ksv-line);color:#b1c4dc}.connection{color:#85dcf6}.sidebar-bottom button{color:#d6e4f6;border-color:var(--ksv-line)}
.stat,.panel{background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045)),rgba(12,24,46,.75);border:1px solid var(--ksv-line);border-radius:20px;box-shadow:0 16px 35px rgba(0,0,0,.11),inset 0 1px 0 rgba(255,255,255,.055)}.stat{position:relative;overflow:hidden;padding-top:25px}.stat::before{content:"";position:absolute;left:22px;right:22px;top:0;height:2px;background:linear-gradient(90deg,#2f7df6,#41d5ff);opacity:.9}.stat.teal,.stat.blue,.stat.orange,.stat.red{border-top:1px solid var(--ksv-line)}.stat.teal::before{background:linear-gradient(90deg,#31b69b,#4ae3a9)}.stat.orange::before{background:linear-gradient(90deg,#d6954e,#ffd194)}.stat.red::before{background:linear-gradient(90deg,#cc6c86,#ffb2c5)}.stat .label{color:#b6c7dc}.stat .value{color:#fff;font-weight:650}.stat .note{color:#a4b8d2}.panel-heading h2{color:#fff}.empty{color:#a9bdd6}.empty strong{color:#eef5ff}.help-list{color:#bbcee6}.info{background:rgba(65,213,255,.075);border:1px solid rgba(65,213,255,.18);color:#bceaff}.task-line{border-color:rgba(255,255,255,.09)}.task-line p{color:#a6bdd8}
input,select,textarea{background:#0c1b30;color:#eaf2ff;border-color:rgba(175,201,232,.25);border-radius:10px;box-shadow:inset 0 1px 3px rgba(0,0,0,.14)}input::placeholder,textarea::placeholder{color:#93abc8;opacity:1}input:hover,select:hover,textarea:hover{border-color:rgba(65,213,255,.36)}input:focus,select:focus,textarea:focus{border-color:#41d5ff}select option{background:#10213a;color:#edf4ff}label{color:#bfd0e6}.filters{padding:15px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:16px}.filters input,.filters select{background:#10213a}
.table-wrap{background:rgba(12,24,46,.88);border-color:var(--ksv-line);border-radius:17px;box-shadow:0 12px 34px rgba(0,0,0,.1)}th{background:rgba(255,255,255,.055);color:#acbfd8;border-color:rgba(255,255,255,.11)}td{color:#d0dff1;border-color:rgba(255,255,255,.07)}td strong{color:#f6f9ff}tbody tr:hover{background:rgba(65,213,255,.045)}.badge{background:rgba(65,213,255,.11);color:#97e9ff;border:1px solid rgba(65,213,255,.09);border-radius:7px}.badge.teal{background:rgba(74,227,169,.1);color:#98f8d1;border-color:rgba(74,227,169,.15)}.badge.red{background:rgba(255,134,160,.1);color:#ffb9c9;border-color:rgba(255,134,160,.15)}.badge.orange{background:rgba(255,184,96,.1);color:#ffd5a1;border-color:rgba(255,184,96,.15)}
.tabs{gap:9px}.tabs .active{background:linear-gradient(110deg,rgba(47,125,246,.32),rgba(65,213,255,.17));border-color:rgba(65,213,255,.4);color:#fff}.column{background:rgba(4,13,29,.42);border:1px solid rgba(255,255,255,.09);border-radius:17px}.column-title{color:#d9e7f9}.column-title span{background:rgba(65,213,255,.12);color:#a4eaff}.card{background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.025)),#12223a;border-color:rgba(255,255,255,.12);border-radius:14px;box-shadow:0 8px 20px rgba(0,0,0,.15)}.card h3{color:#fff}.direction{color:#80dffa}.card p{color:#afc3de}.card .amount{color:#f3f8ff}.card footer{border-color:rgba(255,255,255,.1);color:#a8bdd7}.card select{background:#0c1b30}.bar-track{background:rgba(255,255,255,.08)}.bar-track svg rect{fill:#41d5ff}.bar-label{color:#bfd0e5}.bar-label b{color:#e6f5ff}
dialog{background:#10213a;color:#eaf2ff;border:1px solid rgba(255,255,255,.17);border-radius:22px;box-shadow:0 28px 95px rgba(0,0,0,.55)}dialog::backdrop{background:rgba(2,8,23,.76)}.modal-header{background:linear-gradient(110deg,#162c49,#12314b);border-color:var(--ksv-line);border-radius:21px 21px 0 0}.modal-body{background:linear-gradient(180deg,#10213a,#0c1b30)}.modal-footer{background:#11243d;border-color:var(--ksv-line)}.item-box{background:rgba(255,255,255,.04);border-color:var(--ksv-line);border-radius:15px}.timeline div{border-color:var(--ksv-line)}.form-error{color:#ffb2c5}.auth-wrap{background:radial-gradient(circle at 80% 15%,rgba(65,213,255,.15),transparent 35%),linear-gradient(135deg,#06101f,#0a1930 55%,#10375f)}.auth-card{background:linear-gradient(155deg,rgba(255,255,255,.095),rgba(255,255,255,.035)),#10213a;border:1px solid rgba(255,255,255,.16);border-radius:26px;box-shadow:0 30px 85px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08)}.auth-card .brand{color:#fff}.auth-card h1{color:#fff;-webkit-text-fill-color:initial;background:none}.setup-note{color:#a9bdd6}#toast{background:#12394c;color:#e1f7ff;border:1px solid rgba(65,213,255,.3);box-shadow:0 12px 40px rgba(0,0,0,.3)}
@media(max-width:720px){.main{padding-top:22px}.sidebar{border-right:0;border-bottom:1px solid var(--ksv-line)}.brand{font-size:1.5rem}.topbar{padding-bottom:16px}.stat{border-radius:15px}.stat::before{left:15px;right:15px}.panel{border-radius:17px}.filters{padding:10px}.modal-header{border-radius:21px 21px 0 0}}
@media(prefers-reduced-motion:reduce){button{transition:none}}


#register-captcha-image{display:block;width:180px;height:60px;max-width:100%;object-fit:contain;margin-top:8px;margin-bottom:4px;border-radius:6px}
