@import "https://fonts.googleapis.com/css2?family=Manrope:wght@500;700;800&family=Sora:wght@600;700&display=swap";:root{color:#0f1f17;--bg:#edf5ee;--surface:#fff;--surface-soft:#f2f7f2;--line:#d2e2d4;--text:#13291d;--muted:#4f6657;--brand:#1f8f36;--brand-strong:#146429;--danger:#b91c1c;--radius-lg:18px;--radius-md:12px;--shadow-soft:0 12px 30px #153d2217;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 10% 0,#dff3e4 0%,#f3faf4 42%,#edf5ee 100%);font-family:Manrope,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0}html,body,#root{width:100%;max-width:100%;overflow-x:clip}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #2563eb}#root{min-height:100vh}.skip-link{z-index:20;color:#fff;background:#1d4ed8;border-radius:6px;padding:8px 10px;text-decoration:none;position:absolute;top:-44px;left:8px}.skip-link:focus{top:8px}.sr-only{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{width:min(1000px,100%);margin:0 auto;padding:18px 14px 36px}.app-title{letter-spacing:.2px;margin:0;font-family:Sora,Manrope,sans-serif;font-size:clamp(22px,4vw,30px)}.app-header-row{border-radius:var(--radius-lg);color:#fff;box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#1c7f31 0%,#2ea043 100%);justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:14px;display:flex}.app-kicker{opacity:.86;text-transform:uppercase;letter-spacing:.7px;margin:0 0 2px;font-size:12px;font-weight:700}.app-logout-btn{color:#fff;cursor:pointer;background:#ffffff29;border:1px solid #ffffff70;border-radius:999px;padding:8px 14px;font-weight:700}.app-nav{z-index:5;background:#e1ede3;border-radius:999px;gap:8px;margin-bottom:14px;padding:6px;display:flex;position:sticky;top:8px;overflow-x:auto}.app-nav-link{color:var(--muted);white-space:nowrap;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:700;text-decoration:none;transition:all .18s}.app-nav-link-active{color:#fff;background:linear-gradient(135deg,#228f38,#16742a);box-shadow:0 6px 16px #16742a47}.page-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:16px;overflow-x:hidden}.auth-form{gap:12px;max-width:360px;margin-top:12px;display:grid}.auth-form label{gap:6px;font-size:14px;display:grid}.auth-form input{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;font-size:14px}.auth-form button{border:1px solid var(--brand-strong);background:var(--brand);color:#fff;cursor:pointer;border-radius:10px;width:fit-content;padding:10px 14px;font-weight:700}.auth-form button:disabled{opacity:.7;cursor:wait}.auth-error{color:var(--danger);margin:0;font-size:14px}.home-screen{gap:14px;display:grid}.home-hero{border-radius:var(--radius-lg);background:linear-gradient(145deg,#eff8f0,#dff1e1);border:1px solid #c9decf;padding:16px}.home-hero h2{margin:0 0 4px;font-family:Sora,Manrope,sans-serif}.home-hero p{color:var(--muted);margin:0}.home-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px}.stat-label{color:var(--muted);margin:0;font-size:13px}.stat-value{color:var(--brand-strong);margin:6px 0 0;font-size:28px;font-weight:800}.home-actions{gap:8px;display:grid}.home-action-primary,.home-action-secondary{text-align:center;border-radius:12px;padding:11px 14px;font-weight:700;text-decoration:none}.home-action-primary{background:var(--brand);color:#fff;border:1px solid var(--brand-strong)}.home-action-secondary{color:var(--text);border:1px solid var(--line);background:var(--surface-soft)}.bill-editor{gap:16px;display:grid}.bill-editor-top h2{margin:0}.bill-editor-top p{color:#475569;margin:6px 0 0}.bill-template{border:1px solid var(--line);background:#fff;border-radius:14px;overflow-x:hidden;box-shadow:0 8px 20px #0a2d190f}.bill-block{border-bottom:1px solid #e6efe7;padding:12px}.bill-block:last-child{border-bottom:none}.bill-header-block{text-align:center}.bill-header-grid{grid-template-columns:1fr auto 1fr;align-items:start;gap:10px;display:grid}.bill-header-logo{object-fit:contain;width:92px;height:92px}.bill-header-side{min-height:1px}.bill-header-side-left{justify-content:flex-start;display:flex}.bill-header-side-right{justify-content:flex-end;display:flex}.bill-header-strip{object-fit:contain;width:180px;max-width:100%;height:auto}.bill-header-center{text-align:center;min-width:320px}.bill-header-block h3{letter-spacing:.8px;margin:4px 0}.bill-header-block p{margin:2px 0;font-size:14px}.bill-caption{margin:0;font-size:12px;font-weight:600}.bill-customer-block{grid-template-columns:2fr 1fr;gap:12px;display:grid}.bill-customer-block label,.charges-grid label{gap:6px;margin-bottom:8px;font-size:13px;display:grid}.bill-customer-block input,.bill-table input,.charges-grid input{border:1px solid #cbd5e1;border-radius:7px;padding:8px;font-size:14px}.bill-meta-box{border:1px dashed #cbd5e1;border-radius:8px;align-self:start;padding:8px}.bill-meta-box p{margin:0 0 8px;font-weight:600}.table-wrap{overflow-x:auto}.bill-table{border-collapse:collapse;width:100%;min-width:720px}.bill-table th,.bill-table td{text-align:left;vertical-align:top;border:1px solid #cbd5e1;padding:6px}.bill-table th{background:#f1f5f9;font-size:13px}.amount-cell{min-width:90px;font-weight:600}.row-actions{gap:6px;display:flex}.row-actions button,.add-row-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:6px 10px;font-weight:700}.add-row-btn{margin-top:10px}.totals-block{gap:12px;display:grid}.charges-grid{grid-template-columns:repeat(2,minmax(160px,1fr));gap:8px 12px;display:grid}.grand-total{text-align:right;margin:0;font-size:18px;font-weight:700}.amount-words{margin:4px 0 0;font-size:13px;font-style:italic}.bill-footer-block p{margin:4px 0;font-size:13px}.bill-footer-content{grid-template-columns:1fr auto;align-items:stretch;gap:12px;display:grid}.bill-footer-terms{min-width:0}.footer-signoff{justify-content:flex-end;align-items:center;min-width:190px;min-height:112px;display:flex}.signature-image{object-fit:contain;width:auto;max-width:230px;max-height:108px}.signature-fallback{border-top:1px solid #334155;padding-top:2px;font-size:13px}.bill-validation-box{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px}.bill-validation-box h3{margin:0 0 8px}.bill-validation-box ul{margin:0;padding-left:18px}.ok-text{color:#166534;margin:0}.autosave-status{margin-top:8px;font-size:13px}.autosave-saving{color:#92400e}.autosave-saved{color:#166534}.autosave-error{color:#b91c1c}.recovery-banner{background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;margin-bottom:12px;padding:10px}.recovery-banner p{margin:0}.recovery-actions{gap:8px;margin-top:8px;display:flex}.recovery-actions button,.draft-actions button,.draft-actions a{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:10px;padding:6px 10px;font-weight:700;text-decoration:none}.draft-list{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.draft-list-item{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.draft-title{margin:0;font-weight:600}.draft-meta{color:#475569;margin:2px 0;font-size:13px}.draft-actions{flex-wrap:wrap;gap:8px;display:flex}.editor-top-actions{margin-top:6px}.editor-top-actions button{border:1px solid var(--brand-strong);background:var(--brand);color:#fff;cursor:pointer;border-radius:10px;padding:8px 12px;font-weight:700}.save-modal-backdrop{z-index:10;background:#0f172a80;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.save-modal{border:1px solid var(--line);background:#fff;border-radius:16px;width:min(500px,100%);padding:14px}.save-modal h3{margin-top:0}.save-modal label{gap:6px;margin-top:8px;display:grid}.save-modal input{border:1px solid var(--line);border-radius:10px;padding:10px}.save-modal-actions{gap:8px;margin-top:12px;display:flex}.save-modal-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:8px 12px;font-weight:700}.saved-search-label{gap:6px;max-width:360px;margin-top:8px;display:grid}.saved-search-input{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px}.saved-list{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.saved-list-item{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.saved-title{margin:0;font-weight:600}.saved-meta{color:#475569;margin:2px 0;font-size:13px}.saved-actions{flex-wrap:wrap;gap:8px;display:flex}.saved-actions button,.saved-actions a{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:10px;padding:6px 10px;font-weight:700;text-decoration:none}.backup-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.backup-actions button,.backup-validation-box button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:8px 12px;font-weight:700}.backup-import-label{gap:6px;font-size:14px;display:grid}.backup-validation-box{border:1px solid var(--line);background:#f5faf6;border-radius:12px;margin-top:12px;padding:10px}.backup-validation-box h3{margin-top:0}.backup-validation-box ul{margin-top:6px;padding-left:18px}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px;display:grid}.settings-card{border:1px solid var(--line);background:#f5faf6;border-radius:14px;padding:10px}.settings-card h3{margin-top:0;margin-bottom:8px;font-size:16px}.settings-preview-image{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;max-height:90px;padding:6px}.settings-file-label{gap:6px;margin-top:8px;font-size:14px;display:grid}.settings-card button,.settings-reset-all{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;margin-top:8px;padding:8px 10px;font-weight:700}.settings-meta{color:#64748b;word-break:break-word;margin:8px 0 0;font-size:12px}.view-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.view-header h2{margin:0}.view-actions{flex-wrap:wrap;gap:8px;display:flex}.view-actions button,.view-actions a{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:10px;padding:6px 10px;font-weight:700;text-decoration:none}.install-banner{background:#eef8f0;border:1px solid #b9d9c1;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px;display:flex}.install-banner p{margin:0}.install-banner button{border:1px solid var(--brand-strong);background:var(--brand);color:#fff;cursor:pointer;border-radius:10px;padding:6px 10px;font-weight:700}.bill-preview{background:#fff;border:1px solid #94a3b8;border-radius:10px;max-width:794px;margin:0 auto;overflow:hidden}.bill-preview-stage{justify-content:center;display:flex}.bill-preview-customer p,.bill-preview-totals p{margin:4px 0}@media print{@page{size:A4 portrait;margin:10mm}body{background:#fff}.app-header-row,.app-nav,.no-print,.recovery-banner{display:none!important}.app-shell,.page-card{background:#fff;border:none;max-width:none;margin:0;padding:0}.bill-preview{border:none;border-radius:0;max-width:100%;margin:0 auto}.bill-preview-stage{display:block}}@media (width<=860px){.app-shell{padding:12px 10px 28px}.app-header-row{padding:12px}.app-title{font-size:20px}.app-nav{border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px;display:grid;top:6px;overflow:visible}.app-nav-link{text-align:center;white-space:normal;padding:8px 6px;font-size:11px}.home-stats{grid-template-columns:1fr}.bill-header-grid{grid-template-columns:1fr;justify-items:center}.bill-header-side-left,.bill-header-side-right{justify-content:center}.bill-header-center{min-width:0}.bill-customer-block{grid-template-columns:1fr}.bill-footer-content{grid-template-columns:1fr;gap:8px}.footer-signoff{justify-content:flex-start;min-width:0;min-height:0}.signature-image{max-width:150px;max-height:80px}.charges-grid{grid-template-columns:1fr}.bill-table{min-width:560px}.draft-list-item,.saved-list-item{flex-direction:column;align-items:flex-start}}.bill-header-grid{grid-template-columns:1.2fr 1.8fr;align-items:center;gap:20px;width:100%;display:grid}.bill-header-side-left{text-align:left}.bill-header-side-right{text-align:right}.rouge-umbrella-logo-container{display:inline-block}.rouge-logo-title{letter-spacing:-.5px;margin:0;font-family:Sora,sans-serif;font-size:32px;font-weight:800;line-height:1.1}.text-rouge{color:#df2c2c}.text-umbrella{color:#334155}.logo-tm{vertical-align:super;color:#64748b;margin-left:2px;font-size:12px;font-weight:700}.rouge-logo-subtitle{letter-spacing:2px;text-transform:uppercase;color:#64748b;margin:2px 0 0;font-size:13px;font-weight:700}.company-title-main{color:#0f172a;margin:0 0 6px;font-size:14px;font-weight:800}.company-info-line{color:#475569;margin:2px 0;font-size:11px}.invoice-title-banner{text-align:center;background-color:#f1f5f9;border-top:1.5px solid #0f172a;border-bottom:1.5px solid #0f172a;width:100%;margin:12px 0;padding:6px 0}.invoice-title-banner h2{text-transform:uppercase;letter-spacing:2px;color:#0f172a;margin:0;font-size:16px;font-weight:800}.invoice-double-panel{border:1px solid #0f172a;grid-template-columns:1fr 1fr;margin-bottom:12px;display:grid}.panel-col{padding:12px}.panel-to{border-right:1px solid #0f172a}.panel-col h3{color:#0f172a;margin:0 0 6px;font-size:13px;font-weight:800;text-decoration:underline}.party-name{color:#0f172a;margin:0 0 4px;font-size:14px;font-weight:800}.party-address{color:#334155;white-space:pre-line;margin:0 0 6px;font-size:12px;line-height:1.4}.party-extra-grid{gap:3px;margin-top:8px;font-size:11px;display:grid}.party-extra-grid p{margin:0;display:flex}.party-extra-grid p strong{flex-shrink:0;width:100px}.invoice-meta-grid{border:1px solid #0f172a;grid-template-columns:1fr 1fr;margin-bottom:12px;font-size:12px;display:grid}.meta-col{gap:4px;padding:8px 12px;display:grid}.meta-col:first-child{border-right:1px solid #0f172a}.meta-col p{margin:0;display:flex}.meta-col p strong{flex-shrink:0;width:120px}.invoice-table-section{margin-bottom:12px}.invoice-table{border-collapse:collapse;border:1px solid #0f172a;width:100%}.invoice-table th,.invoice-table td{border:1px solid #0f172a;padding:8px;font-size:12px}.invoice-table th{text-transform:uppercase;background-color:#f8fafc;font-weight:800}.invoice-table tr.blank-row td{border-top:none;border-bottom:none}.invoice-bottom-details{border:1px solid #0f172a;grid-template-columns:1.8fr 1.2fr;margin-bottom:12px;display:grid}.bottom-left-panel{border-right:1px solid #0f172a;padding:10px}.rupees-words-box{margin-bottom:10px;font-size:12px}.rupees-words-box strong{margin-bottom:2px;text-decoration:underline;display:block}.bank-details-table{border-collapse:collapse;width:100%;font-size:11px}.bank-details-table td{padding:2px 0;border:none!important}.bottom-right-panel{grid-template-rows:1fr 1fr;display:grid}.bottom-right-panel .total-row,.bottom-right-panel .grand-total-row{justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;display:flex}.bottom-right-panel .total-row{border-bottom:1px solid #0f172a}.bottom-right-panel .grand-total-row{background-color:#f8fafc;font-weight:800}.service-code-section{border:1px solid #0f172a;margin-bottom:12px;padding:8px 12px;font-size:11px}.service-code-section p{margin:2px 0}.payment-notice-banner{text-align:center;background-color:#f1f5f9;border:1px solid #0f172a;margin-bottom:14px;padding:8px;font-size:12px;font-style:italic;font-weight:700}.invoice-signature-section{justify-content:flex-end;margin-bottom:20px;display:flex}.signature-right{text-align:center;width:320px}.signature-company-name{margin-bottom:30px;font-size:10px;font-weight:800}.signature-stamp-area{height:60px;position:relative}.signature-line{border-bottom:1px solid #0f172a;width:200px;margin:0 auto;display:block}.signature-label{margin-top:4px;font-size:11px;font-weight:700}.invoice-bottom-footer-bar{text-align:center;color:#475569;border-top:1px solid #0f172a;padding-top:8px;font-size:11px}@media screen and (width<=768px){.bill-header-grid{text-align:center;grid-template-columns:1fr;gap:14px}.bill-header-side-left,.bill-header-side-right{text-align:center}.invoice-double-panel{grid-template-columns:1fr}.panel-to{border-bottom:1px solid #0f172a;border-right:none}.invoice-meta-grid{grid-template-columns:1fr}.meta-col:first-child{border-bottom:1px solid #0f172a;border-right:none}.invoice-table-section{-webkit-overflow-scrolling:touch;border:1px solid #0f172a;width:100%;overflow-x:auto}.invoice-table{border:none;min-width:650px}.invoice-bottom-details{grid-template-columns:1fr}.bottom-left-panel{border-bottom:1px solid #0f172a;border-right:none}.bottom-right-panel{grid-template-rows:auto auto}}
