*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f0f4f0;color:#1a1a1a}button,input,textarea,select{font-family:inherit}button{cursor:pointer}.auth-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.auth-card{width:100%;max-width:360px;background:#fff;border-radius:16px;padding:28px;box-shadow:0 1px 6px #00000014}.auth-card h1{font-size:20px;margin:0 0 4px;color:#15803d}.auth-card p.sub{margin:0 0 20px;color:#6b7280;font-size:13px}.field{margin-bottom:14px}.field label{display:block;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.field input,.field textarea,.field select{width:100%;padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:9px;font-size:14px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:#16a34a}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:none;border-radius:9px;font-weight:700;font-size:14px;cursor:pointer}.btn-primary{background:#16a34a;color:#fff;width:100%}.btn-primary:disabled{opacity:.6;cursor:default}.btn-ghost{background:#f1f5f9;color:#374151}.btn-danger{background:#fef2f2;color:#dc2626}.btn-link{background:none;color:#16a34a;padding:0;font-weight:700}.error-msg{color:#dc2626;font-size:13px;margin:0 0 12px}.switch-mode{text-align:center;margin-top:16px;font-size:13px;color:#6b7280}.app-shell{min-height:100%;display:flex;flex-direction:column}.topbar{background:#065f46;color:#fff;padding:max(12px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.topbar .brand{font-weight:800;font-size:16px}.topbar nav{display:flex;gap:8px}.topbar button{background:#ffffff24;border:none;color:#fff;padding:7px 12px;border-radius:8px;font-size:13px;font-weight:700}.topbar button.active{background:#fff;color:#065f46}.page{flex:1;max-width:920px;width:100%;margin:0 auto;padding:20px max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-header h2{margin:0;font-size:20px}.card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 1px 4px #0000000f;margin-bottom:14px}.invoice-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 2px;border-bottom:1px solid #f1f5f9;cursor:pointer}.invoice-row:last-child{border-bottom:none}.invoice-row:hover{background:#f8fafc}.invoice-row-left{min-width:0}.invoice-row-client{font-weight:700;font-size:14px;color:#15181f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-row-meta{font-size:11.5px;color:#9ca3af;margin-top:2px}.invoice-row-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.invoice-row-amount{font-weight:800;font-size:14.5px;color:#15181f}.invoice-row-paid{display:inline-flex;width:20px;height:20px;border-radius:50%;background:#f0fdf4;color:#16a34a;align-items:center;justify-content:center;font-size:12px;font-weight:900;flex-shrink:0}.status-pill{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:800;text-transform:uppercase}.status-saved{background:#f1f5f9;color:#475569}.status-sent{background:#fffbeb;color:#b45309}.status-paid{background:#f0fdf4;color:#15803d}.empty-state{text-align:center;padding:60px 20px;color:#9ca3af}.item-row{padding:12px 0;border-bottom:1px solid #f1f5f9}.item-row:last-of-type{border-bottom:none}.item-row-desc{margin-bottom:10px;display:flex;flex-direction:column;gap:4px}.item-row-desc label{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.03em}.item-row-desc input{width:100%;box-sizing:border-box;padding:11px 13px;font-size:15px;border:1.5px solid #e2e8f0;border-radius:9px;font-family:inherit;outline:none}.item-row-desc input:focus{border-color:#4f46e5}.item-row-nums{display:flex;align-items:flex-end;gap:8px}.item-field{display:flex;flex-direction:column;gap:3px;min-width:0}.item-field label{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.03em}.item-field input{padding:6px 7px;font-size:13px;width:100%;box-sizing:border-box}.item-field-qty{width:44px;flex:none}.item-field-price,.item-field-amount{width:76px;flex:none}.item-amount-readout{padding:6px 0;font-size:13px;font-weight:700;text-align:right}.item-row-del{flex:none;border:none;background:none;color:#dc2626;font-size:15px;padding:6px 2px;cursor:pointer}.totals-box{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-top:10px;font-size:14px}.totals-box .grand{font-size:18px;font-weight:900;color:#15803d}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 640px){.two-col{grid-template-columns:1fr}}.client-picker{position:relative}.client-suggestions{position:absolute;z-index:5;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:9px;margin-top:4px;box-shadow:0 4px 12px #00000014;max-height:200px;overflow-y:auto}.client-suggestions button{display:block;width:100%;text-align:left;background:none;border:none;padding:9px 12px;font-size:13px}.client-suggestions button:hover{background:#f0fdf4}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.spinner-page{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af}
