@layer theme{:root,:host{--spacing:.25rem;--color-navy:#101b3d;--color-royal:#233568;--color-royal-dark:#1a2750;--color-cool:#f3f5fa;--color-line:#dce2ef;--color-muted:#4a5578;--color-brand-red:#d62839;--color-brand-red-dark:#b81f2f;--color-ok-bg:#dcfce7;--color-ok:#166534;--color-ok-border:#86efac;--color-warn-bg:#fef3c7;--color-warn:#92400e;--color-warn-border:#fcd34d;--color-info-bg:#dce2ef;--color-info:#233568;--color-info-border:#b4bfdc;--color-bad-bg:#fdecee;--color-bad:#a3202d;--color-bad-border:#f2b8be;--color-off-bg:#f3f5fa;--color-off:#4a5578;--color-off-border:#dce2ef;--radius-card:10px;--radius-field:8px}}@layer base{*,:before,:after{box-sizing:border-box}body{color:var(--color-navy);background:var(--color-cool);margin:0;font:15px/1.5 Arial,Noto Sans Sinhala,Iskoola Pota,Noto Sans Tamil,Nirmala UI,Helvetica,sans-serif}button,input,select,textarea{font:inherit}a{color:var(--color-royal)}:focus-visible{outline:3px solid var(--color-royal);outline-offset:2px}.app-header :focus-visible,.sidebar :focus-visible{outline-color:#fff}h1{color:var(--color-navy);margin:0 0 16px;font-size:24px}h2{color:var(--color-navy);margin:0 0 10px;font-size:17px}h1,h2{font-weight:700}main{flex:1;min-width:0;padding:20px}footer{text-align:center;color:var(--color-muted);padding:12px;font-size:12px}table{border-collapse:collapse;background:#fff;width:100%;min-width:560px}th,td{border:0;border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top;padding:9px 10px}th{background:var(--color-cool);color:var(--color-navy);border-bottom:2px solid var(--color-line);font-size:14px;font-weight:700}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--color-cool)}label{color:var(--color-navy);margin-bottom:4px;font-weight:700;display:block}input,select,textarea{border:1px solid var(--color-line);border-radius:var(--radius-field);width:100%;min-height:40px;color:var(--color-navy);background:#fff;padding:6px 10px;box-shadow:inset 0 1px 2px #101b3d0d}input:focus,select:focus,textarea:focus{border-color:var(--color-royal);box-shadow:0 0 0 3px #23356826}input[readonly]{background:var(--color-cool)}::placeholder{color:#636d8c;opacity:1}}@layer components{.btn{border:1px solid var(--color-line);border-radius:var(--radius-field);cursor:pointer;min-height:40px;color:var(--color-navy);background:#fff;padding:6px 16px;box-shadow:0 1px 1px #101b3d0f}.btn:hover{background:var(--color-cool);border-color:var(--color-royal)}.btn-primary{background:var(--color-royal);border-color:var(--color-royal);color:#fff;font-weight:700}.btn-primary:hover{background:var(--color-royal-dark);border-color:var(--color-royal-dark)}.btn-danger{color:var(--color-brand-red);border-color:var(--color-brand-red)}.btn-danger:hover{background:var(--color-brand-red);border-color:var(--color-brand-red);color:#fff}.modal-box .btn-danger{background:var(--color-brand-red);color:#fff}.modal-box .btn-danger:hover{background:var(--color-brand-red-dark);border-color:var(--color-brand-red-dark)}.btn-sm{min-height:32px;padding:3px 10px;font-size:13px}.app-header{background:var(--color-navy);color:#fff;border-bottom:3px solid var(--color-royal);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 16px;display:flex}.app-logo{border-radius:var(--radius-field);color:#fff;border:2px dashed #ffffff8c;flex:none;place-items:center;width:42px;height:42px;font-size:10px;display:grid}.app-title{flex:1;min-width:140px;font-weight:700}.app-header .btn{color:#fff;background:0 0;border-color:#ffffff8c}.app-header .btn:hover{background:#ffffff1f}.header-badge{border-radius:var(--radius-field);color:#fff;background:0 0;border:1px solid #ffffff59;padding:4px 8px}.lang-switch button{color:#fff;cursor:pointer;border-radius:var(--radius-field);background:0 0;border:1px solid #ffffff8c;min-height:32px;padding:4px 10px}.lang-switch button:hover{background:#ffffff1f}.lang-switch button.on{background:var(--color-royal);border-color:#fff;font-weight:700}.burger{display:none}.app-body{min-height:calc(100vh - 62px);display:flex}.sidebar{background:var(--color-navy);flex:none;width:210px}.sidebar a{color:#dce2ef;cursor:pointer;border-bottom:1px solid #ffffff1a;padding:11px 16px;text-decoration:none;display:block}.sidebar a:hover{color:#fff;background:#ffffff14}.sidebar a.on,.sidebar a.on:hover{background:var(--color-royal);color:#fff;font-weight:700;box-shadow:inset 3px 0 #fff}.card{border:1px solid var(--color-line);border-radius:var(--radius-card);background:#fff;margin-bottom:16px;padding:18px;box-shadow:0 1px 3px #101b3d14}.auto-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.stat{border:1px solid var(--color-line);border-left:3px solid var(--color-royal);border-radius:var(--radius-card);color:var(--color-muted);background:#fff;padding:14px}.stat b{color:var(--color-navy);font-size:22px;display:block}.action-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.table-scroll{border:1px solid var(--color-line);border-radius:var(--radius-card);background:#fff;max-width:100%;overflow-x:auto}.table-history td:first-child{overflow-wrap:anywhere;min-width:240px}.table-history th:nth-child(2),.table-history td:nth-child(2){white-space:nowrap;width:110px}.table-history th:nth-child(3),.table-history td:nth-child(3){white-space:nowrap;width:150px}.table-status td:nth-last-child(3){overflow-wrap:anywhere;min-width:220px}.table-status th:nth-last-child(2),.table-status td:nth-last-child(2){white-space:nowrap;width:110px}.table-status td:last-child,.table-payments td:first-child,.table-payments td:nth-child(4){white-space:nowrap}.form-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.form-grid .full{grid-column:1/-1}.ds{grid-column:1/-1;grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.ds select{text-overflow:ellipsis}.hint{color:var(--color-muted);overflow-wrap:anywhere;margin-top:3px;font-weight:400;line-height:1.4;display:block}.err{color:var(--color-brand-red);margin:4px 0;font-weight:700}.placeholder-box{border:2px dashed var(--color-line);border-radius:var(--radius-card);background:var(--color-cool);text-align:center;color:var(--color-muted);padding:14px}.tag{border:1px solid var(--color-off-border);white-space:nowrap;background:var(--color-off-bg);color:var(--color-off);border-radius:999px;padding:1px 10px;font-size:13px;font-weight:700;display:inline-block}.tag-paid{background:var(--color-ok-bg);color:var(--color-ok);border-color:var(--color-ok-border)}.tag-pending{background:var(--color-warn-bg);color:var(--color-warn);border-color:var(--color-warn-border)}.tag-partially{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info-border)}.tag-rejected{background:var(--color-bad-bg);color:var(--color-bad);border-color:var(--color-bad-border)}.tag-off{background:var(--color-off-bg);color:var(--color-off);border-color:var(--color-off-border)}.tag-paid:before{content:"[✓] "}.tag-pending:before{content:"[ ] "}.tag-partially:before{content:"[~] "}.tabs{border-bottom:2px solid var(--color-line);flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.tabs button{border:1px solid var(--color-line);border-radius:var(--radius-field) var(--radius-field) 0 0;background:var(--color-cool);color:var(--color-navy);cursor:pointer;border-bottom:0;min-height:40px;padding:8px 14px}.tabs button:hover{background:#fff}.tabs button.on{background:var(--color-royal);border-color:var(--color-royal);color:#fff;font-weight:700}.flow{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;display:flex}.flow span{border:1px solid var(--color-line);border-radius:var(--radius-field);color:var(--color-navy);background:#fff;padding:4px 10px;font-size:13px}.flow i{color:var(--color-muted);font-style:normal}.kv{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 16px;display:grid}.kv>div{border-bottom:1px solid var(--color-line);padding:4px 0}.kv small{color:var(--color-muted);display:block}.login-card{max-width:420px;margin:30px auto}.toast{background:var(--color-royal);color:#fff;border-left:4px solid var(--color-line);border-radius:var(--radius-field);z-index:50;max-width:80vw;padding:10px 16px;position:fixed;top:14px;right:14px;box-shadow:0 4px 12px #101b3d40}.modal-overlay{z-index:40;background:#101b3d8c;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.modal-box{border:1px solid var(--color-line);border-radius:var(--radius-card);background:#fff;width:100%;max-width:520px;max-height:85vh;padding:20px;overflow:auto;box-shadow:0 8px 24px #101b3d40}}@layer utilities{.fixed{position:fixed}.block{display:block}.flex{display:flex}.grid{display:grid}.table{display:table}.gap-2{gap:calc(var(--spacing) * 2)}.text-navy{color:var(--color-navy)}}@media (max-width:900px){.burger{display:inline-block}.sidebar{z-index:30;width:230px;padding-top:60px;transition:none;position:fixed;top:0;bottom:0;left:-240px;overflow:auto}.sidebar.open{left:0;box-shadow:4px 0 12px #101b3d4d}.form-grid,.ds{grid-template-columns:1fr}.btn:not(.btn-sm){min-height:44px}}@media (max-width:480px){main{padding:10px}.auto-grid{grid-template-columns:1fr}.app-title{font-size:13px}.tabs button{flex:45%}}
