:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#15334b;background:#f3f7fa;--navy:#072a4a;--blue:#087daf;--line:#d9e6ee}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:8px;padding:.55rem .75rem}.login{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr;background:#fff}.brand-panel{padding:8vw;background:linear-gradient(145deg,var(--navy),#075780);color:#fff;display:flex;flex-direction:column;justify-content:center}.brand-panel h1{font-size:clamp(2.4rem,5vw,5.5rem);line-height:.92;margin:.2em 0}.auth-card{align-self:center;max-width:480px;width:80%;margin:auto}.field{display:grid;gap:.35rem;margin-bottom:.9rem}.field input,.field select,.field textarea{width:100%;padding:.8rem;border:1px solid var(--line);border-radius:9px;background:#fff}.primary{border:0;border-radius:9px;padding:.8rem 1rem;background:var(--blue);color:#fff;font-weight:700;margin-right:.5rem}.danger-button{background:#b13838;color:#fff;border:0}.icon-button{border:0;background:transparent}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.side{background:var(--navy);color:#fff;padding:1.2rem;position:sticky;top:0;height:100vh;overflow:auto}.logo{font-weight:900;font-size:1.25rem;margin:1rem 0 2rem}.nav a{display:flex;gap:.7rem;align-items:center;color:#c9e4ef;text-decoration:none;padding:.72rem;border-radius:9px;margin:.2rem 0}.nav a.active,.nav a:hover{background:#ffffff18;color:#fff}.main{padding:1.5rem 2rem;min-width:0}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:#608098;font-weight:800}.top h1{margin:.2rem 0;font-size:1.8rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card{background:#fff;border:1px solid #e7eef3;border-radius:14px;padding:1.1rem;box-shadow:0 8px 28px #17364d0b}.metric strong{display:block;font-size:1.7rem;color:var(--navy);margin-top:.5rem}.metric .icon{width:36px;height:36px;border-radius:10px;background:#e3f7fa;color:#087daf;padding:8px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem}.table-wrap{overflow:auto;background:#fff;border-radius:14px;border:1px solid #e7eef3}.toolbar{display:flex;gap:.7rem;justify-content:space-between;margin-bottom:1rem}.toolbar input{max-width:420px;flex:1;padding:.75rem;border:1px solid var(--line);border-radius:9px}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:.72rem;border-bottom:1px solid #edf2f5}th{font-size:.75rem;text-transform:uppercase;color:#688399;background:#f9fbfc;position:sticky;top:0}.empty{padding:2.5rem;text-align:center;color:#71899b}.danger{color:#b13838}.notice{background:#fff8df;border:1px solid #efd985;padding:.75rem;border-radius:10px;margin-bottom:1rem}.section-help{margin-top:0;color:#5e788c}.status-pill{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:.25rem .55rem;background:#e7f4fa;color:#075a81;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.status-pill.confirmed,.status-pill.paid,.status-pill.sent{background:#e4f6ec;color:#187044}.status-pill.pending,.status-pill.draft{background:#fff3d6;color:#8a5a00}.status-pill.reversed,.status-pill.cancelled{background:#fde8e8;color:#a32d2d}.invoice{max-width:1050px;margin-inline:auto;padding:clamp(1.1rem,3vw,2.25rem)}.invoice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem}.invoice-brand h2{color:var(--navy);font-size:2rem;letter-spacing:.025em;margin:.25rem 0}.invoice-brand p{margin:0;color:#5e788c}.invoice-meta{display:grid;justify-items:end;gap:.35rem;text-align:right}.invoice-meta strong{font-size:1.15rem;color:var(--navy)}.invoice hr{border:0;border-top:2px solid #dbe8ef;margin:1.4rem 0}.invoice-summary-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:2rem;margin-bottom:1.5rem}.invoice-summary-grid h3{margin:.35rem 0}.invoice-summary-grid p{line-height:1.55;margin:.35rem 0}.year-summary{background:#f4f9fb;border:1px solid #deebf1;border-radius:12px;padding:1rem}.year-summary p{display:flex;justify-content:space-between;gap:1rem;margin:.45rem 0}.invoice h3{color:var(--navy)}.invoice-table{border-radius:8px}.invoice-table table{white-space:normal}.invoice-table th:last-child,.invoice-table td:last-child{text-align:right}.invoice-table tfoot th{border-top:2px solid #d9e6ee;color:var(--navy);font-size:.8rem}.invoice-empty{text-align:center!important;color:#71899b;padding:1.5rem}.payments-table{max-width:720px}.invoice-totals{width:min(100%,470px);margin:1.5rem 0 1.25rem auto;border-top:1px solid #d9e6ee;padding-top:.6rem}.invoice-totals p{display:flex;justify-content:space-between;gap:1rem;margin:.65rem 0;text-align:right}.invoice-due{border-top:2px solid var(--navy);padding-top:.85rem!important;color:var(--navy);font-size:1.15rem}.invoice-note{border-top:1px solid #e5edf2;padding-top:1rem;color:#648094;font-size:.9rem}.invoice-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-top:1.25rem}.invoice-actions span{color:#71899b;font-size:.85rem}.premium-invoice{position:relative;overflow:hidden;border:0;box-shadow:0 18px 55px #082a4a18}.invoice-accent{height:8px;background:linear-gradient(90deg,#062d50,#08a4c7,#5bd5d0);margin:calc(clamp(1.1rem,3vw,2.25rem)*-1) calc(clamp(1.1rem,3vw,2.25rem)*-1) 2rem}.invoice-month-card{background:linear-gradient(145deg,#effbfc,#f7fbfe);border:1px solid #cce9ed;border-radius:14px;padding:1rem}.invoice-month-card p{display:flex;justify-content:space-between;gap:1rem;margin:.5rem 0}.invoice-bottom{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(300px,1.2fr);align-items:center;gap:2rem;margin-top:1.5rem}.pay-box{display:grid;gap:.2rem;padding:1.15rem 1.3rem;color:#fff;background:linear-gradient(145deg,#087daf,#075374);border-radius:14px;box-shadow:0 10px 25px #07537424}.pay-box .kicker{color:#bdebf2}.pay-box h3{color:#fff;margin:.2rem 0}.pay-box strong{font-size:1.45rem;letter-spacing:.04em}.pay-box span{color:#d9f4f7}.invoice-bottom .invoice-totals{width:100%;margin:0}.invoice-actions select{padding:.55rem .75rem;border:1px solid var(--line);border-radius:8px;background:#fff}.paid-button{background:#187044;color:#fff;border-color:#187044;font-weight:700}.payment-card{max-width:1100px}.payment-client-picker{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);gap:.8rem;max-width:760px}.payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:.25rem 0 1.15rem}.payment-summary>div{display:grid;gap:.35rem;background:#f4f9fb;border:1px solid #deebf1;border-radius:11px;padding:.9rem}.payment-summary span{color:#5e788c;font-size:.82rem}.payment-summary strong{color:var(--navy);font-size:1.05rem}.payment-summary .amount-due{background:#eaf7fb;border-color:#bfe4ef}.payment-summary .amount-due strong{font-size:1.55rem;color:#06749f}.payment-form{margin-top:.2rem}.payment-period-field input{min-width:0}.payment-notes{grid-column:span 2}.payment-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.payment-actions .primary{margin-right:0}.payment-prompt{background:#f7fafc;border:1px dashed #cbdde7;border-radius:11px;margin-top:.5rem}.payment-history-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid #e7eef3}.payment-history-title h3{margin:0;color:var(--navy);font-size:1rem}.payment-history-title span{color:#71899b;font-size:.82rem}.payment-period-cell{min-width:210px;white-space:normal;line-height:1.35}.month-total-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.month-total-card{display:grid;gap:.45rem;padding:1rem 1.1rem;background:#fff;border:1px solid #deebf1;border-radius:13px;box-shadow:0 8px 24px #17364d0b}.month-total-card span{color:#607b8e;font-size:.8rem}.month-total-card strong{color:var(--navy);font-size:1.35rem}.month-total-card.earning{color:#fff;background:linear-gradient(145deg,#087daf,#075374);border:0}.month-total-card.earning span,.month-total-card.earning strong{color:#fff}.monthly-register-table tfoot th{position:static;color:var(--navy);background:#edf7fa;border-top:2px solid #bcdce5}.monthly-register-table td:nth-child(n+5),.monthly-register-table th:nth-child(n+5){text-align:right}.monthly-register-table td:last-child,.monthly-register-table th:last-child{text-align:left}.client-history{margin-top:1rem}.client-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.client-history-head h2{color:var(--navy);margin:.25rem 0}.client-history-head p{color:#648094;margin:.25rem 0 1rem}.history-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.history-summary>div{display:grid;gap:.35rem;padding:.9rem;background:#f3f9fb;border:1px solid #dcebf0;border-radius:11px}.history-summary span{font-size:.78rem;color:#607b8e}.history-summary strong{color:var(--navy);font-size:1.1rem}@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.shell{grid-template-columns:76px 1fr}.side{padding:.7rem}.nav span,.logo span{display:none}.invoice-summary-grid,.invoice-bottom{grid-template-columns:1fr}.month-total-grid,.history-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.login{grid-template-columns:1fr}.brand-panel{display:none}.auth-card{width:88%}.main{padding:1rem 1rem 90px}.cards{grid-template-columns:1fr 1fr}.shell{display:block}.side{height:auto;position:fixed;z-index:10;left:0;right:0;bottom:0;top:auto}.logo{display:none}.nav{display:flex;overflow:auto}.nav a{min-width:55px;justify-content:center}.invoice{padding:1rem}.invoice-head,.client-history-head{display:grid;gap:1rem}.invoice-meta{justify-items:start;text-align:left}.invoice-totals{width:100%}.payment-client-picker,.payment-summary,.month-total-grid,.history-summary{grid-template-columns:1fr}.payment-notes{grid-column:auto}.payment-actions button{width:100%}.payment-history-title{align-items:flex-start;flex-direction:column}.payment-period-cell{min-width:175px}}@page{size:A4;margin:12mm}@media print{body{background:#fff;color:#102d43}.side,.top,.no-print{display:none!important}.shell{display:block;min-height:auto}.main{padding:0}.invoice{max-width:none;margin:0!important;padding:0;border:0;border-radius:0;box-shadow:none}.invoice .table-wrap{overflow:visible;border-radius:0}.invoice table{white-space:normal}.invoice th{position:static;background:#f1f6f8!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.invoice-summary-grid{grid-template-columns:1.2fr .8fr}.invoice-bottom{grid-template-columns:.8fr 1.2fr}.year-summary,.invoice-month-card{background:#f4f9fb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.invoice-accent,.pay-box{-webkit-print-color-adjust:exact;print-color-adjust:exact}.invoice-head,.invoice-summary-grid,.invoice-bottom,.invoice-totals,.invoice-table tr{break-inside:avoid}.status-pill{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
