:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#193b2d;background:#f3f6f4;font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #83bb3d;outline-offset:3px}a{color:#126739}button{border:0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:12px 18px;border-radius:9px;background:#176c43;color:#fff;font-size:.9rem;font-weight:700;text-decoration:none;border:1px solid #176c43;line-height:1.3}.btn:hover{background:#0e5130}.btn.secondary{background:#fff;color:#24573f;border-color:#c6d7cb}.btn.secondary:hover{background:#edf5ef}.btn.link{background:none;border-color:transparent;color:#38644b;padding:9px 0}.tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:6px;font-size:.75rem;font-weight:750;background:#e6f3e9;color:#256b3c}.tag.amber{background:#fff2d7;color:#80591b}.muted{color:#6a7d70}.small{font-size:.82rem;line-height:1.6}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,3vw,2.65rem);letter-spacing:-.055em;line-height:1.13;margin-bottom:13px}h2{font-size:1.15rem;letter-spacing:-.025em;margin-bottom:6px}h3{font-size:1rem}p{line-height:1.6}label{font-size:.88rem;font-weight:650}input,select{width:100%;border:1px solid #c4d5c9;border-radius:8px;background:#fff;color:#193b2d;padding:12px;margin:7px 0 17px;min-height:46px}input[type=checkbox]{width:19px;min-height:19px;margin:0;accent-color:#176c43}.brand{display:flex;align-items:center;gap:13px}.brand img{width:55px;height:55px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}.brand strong{font-size:.84rem;line-height:1.45;display:block;max-width:270px}.brand span{display:block;color:#759985;font-size:.75rem;margin-top:3px}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#598267;margin-bottom:10px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-intro{background:#143c2d;color:white;padding:clamp(25px,5vw,80px);display:flex;flex-direction:column;justify-content:space-between;gap:50px}.login-intro .brand strong{max-width:350px}.login-intro .eyebrow{color:#a9d497}.login-intro h1{font-size:clamp(2.5rem,4.8vw,4.5rem);max-width:600px}.login-intro p{color:#c2d7c9;max-width:460px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:22px;border-top:1px solid #456754}.service-list span{font-size:.91rem;line-height:1.5;display:flex;gap:10px}.service-list b{color:#b1dc92}.login-form{display:flex;align-items:center;justify-content:center;padding:45px 25px}.login-card{width:100%;max-width:420px}.login-card h2{font-size:1.8rem;margin:14px 0 12px}.login-card .btn.primary{width:100%;margin-top:6px}.note{background:#edf4ee;padding:15px;border-radius:10px;color:#42604c;font-size:.85rem;line-height:1.6;margin:18px 0}.note.warning{background:#fff5df;color:#7a5828}.error{background:#fff0ea;color:#953d2d;border:1px solid #f0cec1;padding:13px;border-radius:9px;font-size:.86rem;line-height:1.55;margin-bottom:16px}.preview-actions{display:flex;gap:9px;flex-wrap:wrap}.login-footer{border-top:1px solid #dbe5dd;margin-top:30px;padding-top:22px}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:#143c2d;color:white;padding:27px 18px;display:flex;flex-direction:column;gap:32px}.sidebar .brand img{width:45px;height:45px}.sidebar .brand strong{font-size:.72rem}.nav{display:grid;gap:6px}.nav button{display:flex;align-items:center;gap:11px;text-align:left;border-radius:9px;padding:13px 12px;background:transparent;color:#bfd5c7;font-size:.91rem;font-weight:650}.nav button.active,.nav button:hover{background:#2a5840;color:white}.nav svg{width:19px;height:19px;flex-shrink:0}.sidebar-foot{margin-top:auto;border-top:1px solid #456551;padding:20px 8px 0}.sidebar-foot strong{font-size:.84rem;display:block}.sidebar-foot p{color:#a4c1ae;font-size:.76rem;margin:5px 0 14px}.sidebar-foot button{color:white;background:transparent;padding:0;font-size:.82rem}.main{min-width:0}.banner{background:#fff4d7;color:#77591e;font-size:.78rem;padding:10px 30px;display:flex;justify-content:space-between;align-items:center;gap:15px}.banner button{font-size:.78rem;font-weight:750;background:none;color:#5f471c;text-decoration:underline}.content{padding:32px clamp(18px,3.5vw,52px) 60px;max-width:1550px;margin:auto}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.top h1{font-size:2rem;margin-bottom:6px}.top p{margin:0;color:#6a7e70;font-size:.87rem}.period-picker label{font-size:.75rem;color:#6a7e70}.period-picker select{margin:4px 0 0;padding:8px 30px 8px 11px;min-height:40px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:23px}.card{background:white;border:1px solid #dfe8e1;border-radius:14px;padding:22px;min-width:0}.card-label{font-size:.84rem;color:#63796a;display:block;margin-bottom:12px}.card strong{font-size:clamp(1.35rem,2.3vw,2rem);letter-spacing:-.04em;overflow-wrap:anywhere}.card .small{margin:8px 0 0}.card.dark{background:#164c34;color:#fff;border:0}.card.dark .card-label,.card.dark .small{color:#b9d8c1}.panel{background:#fff;border:1px solid #dfe8e1;border-radius:14px;padding:24px;margin-bottom:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.panel-head p{font-size:.85rem;color:#6a7e70;margin-bottom:0}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:21px}.row{padding:15px 0;border-bottom:1px solid #e8eee9;display:flex;justify-content:space-between;gap:18px;font-size:.9rem}.row span{color:#657c6b}.row strong{text-align:right}.row:last-child{border-bottom:0}.balance{font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.055em;font-weight:750;margin:20px 0}.balance-panel{padding:35px;background:#164c34;color:#fff;min-height:235px;border-radius:15px;margin-bottom:22px}.balance-panel p{color:#b8d8c0}.balance-panel .eyebrow{color:#b4d29c}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;min-width:520px}th{font-size:.73rem;text-transform:uppercase;letter-spacing:.05em;color:#6c8172}th,td{padding:14px 10px;border-bottom:1px solid #e6eee8;vertical-align:top}td{font-size:.86rem}td strong{display:block;font-weight:700}td small{font-size:.75rem;color:#6a7e70}tbody tr:last-child td{border-bottom:0}.empty{text-align:center;padding:30px;color:#6b7f71}.steps{display:flex;gap:20px;margin:5px 0 25px;flex-wrap:wrap}.step{font-size:.85rem;color:#8a998e;display:flex;align-items:center;gap:8px}.step b{display:flex;border-radius:50%;width:26px;height:26px;align-items:center;justify-content:center;background:#eaf0eb;color:#738579}.step.active{color:#176c43;font-weight:750}.step.active b{background:#176c43;color:white}.upload-zone{border:1px dashed #a4c4ac;border-radius:11px;padding:22px;background:#f9fbf8}.upload-zone input{background:#fff;margin-bottom:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.check{display:flex;align-items:flex-start;gap:11px;padding:17px;background:#eff6ef;border-radius:10px;line-height:1.5;font-size:.87rem}.check input{flex-shrink:0;margin-top:2px}.schedule-total{background:#eff6ef}.loader{padding:60px;text-align:center}.toast{position:fixed;right:25px;bottom:25px;background:#173c2c;color:#fff;padding:16px 22px;border-radius:12px;max-width:min(420px,90vw);box-shadow:0 7px 30px #0002;z-index:100}.account-switch{max-width:420px;margin-bottom:22px}.subtle{font-size:.77rem;color:#7b8c80;margin-top:18px}.feature-intro{max-width:570px}.history-item{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #e8eee9}.history-item:last-child{border-bottom:0}.history-item p{font-size:.83rem;color:#6d8072;margin:5px 0}.status-note{padding:12px 15px;background:#eaf5ed;border-radius:9px;font-size:.85rem;margin-bottom:16px}.tab-controls{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.tab-controls .btn{padding:8px 12px;font-size:.8rem}code{font-size:.82rem}details summary{cursor:pointer;font-size:.9rem;font-weight:650;margin:12px 0}dialog{border:1px solid #d5e2d8;border-radius:16px;max-width:520px;width:90%;padding:28px;color:#193b2d}dialog::backdrop{background:#102e2199}@media(max-width:1000px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.cards{gap:10px}.card{padding:17px}.twocol{grid-template-columns:1fr}.login-intro{padding:35px}.login-intro h1{font-size:3rem}}@media(max-width:700px){.login{display:block}.login-intro{padding:26px;gap:25px}.login-intro h1{font-size:2.2rem}.login-intro .service-list{display:none}.login-form{padding:30px 22px}.app-shell{display:block}.sidebar{padding:16px;gap:17px}.sidebar .brand strong{max-width:300px}.nav{display:flex;overflow:auto;gap:5px}.nav button{white-space:nowrap;font-size:.78rem;padding:11px}.nav button svg{width:16px}.sidebar-foot{display:none}.banner{padding:10px 17px}.content{padding:23px 16px 45px}.top{align-items:flex-start;margin-bottom:22px;flex-wrap:wrap}.top h1{font-size:1.65rem}.cards{grid-template-columns:1fr}.card{padding:19px}.card strong{font-size:1.7rem}.panel{padding:18px}.panel-head{align-items:flex-start;flex-wrap:wrap}.fields{grid-template-columns:1fr;gap:0}.balance-panel{padding:25px;min-height:210px}.top .period-picker{width:100%}.panel .actions .btn{width:100%}.brand img{width:47px;height:47px}.service-list{gap:12px}}
