:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#10172a;background:radial-gradient(circle at top left,rgba(107,163,255,.2),transparent 34%),linear-gradient(160deg,#f6f8fc,#edf2ff,#f7f4ef);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.primary-button,.secondary-button,.ghost-button{border:0;border-radius:14px;padding:12px 20px;font-weight:700;font-size:.95rem;transition:transform .16s ease,box-shadow .16s ease;white-space:nowrap}.primary-button{background:linear-gradient(135deg,#7c9fff,#587dff);color:#fff;box-shadow:0 8px 20px #587dff4d}.secondary-button{background:#e6ebff;color:#21316a}.ghost-button{background:transparent;color:#6a7283}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.full-width{width:100%;margin-top:18px}.shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:14px;padding:24px;background:#0d1322eb;color:#f4f7ff}.sidebar-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:#7da0ff}.sidebar-status{margin:0;font-size:.8rem;color:#f4f7ff8c}.new-btn{padding:10px 16px;font-size:.9rem;flex-shrink:0}.search-field{display:grid}.search-field input{width:100%;padding:12px 14px;border:1px solid rgba(213,220,238,.2);border-radius:12px;background:#ffffff14;color:#f4f7ff;font-size:1rem}.search-field input::placeholder{color:#f4f7ff59}.saved-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;flex:1}.saved-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:#ffffff12;border:1px solid rgba(170,182,214,.12)}.saved-item.active{background:#7da0ff2e;box-shadow:inset 0 0 0 1px #7da0ff57}.saved-item-main{display:flex;justify-content:space-between;align-items:center;gap:10px;flex:1;padding:0;border:0;background:transparent;color:inherit;text-align:left;min-height:36px}.saved-item-main strong{font-size:.9rem;white-space:nowrap}.saved-item-amount{font-weight:700;font-size:.88rem;color:#7da0ff;white-space:nowrap}.delete-btn{background:none;border:none;color:#f4f7ff59;font-size:.85rem;padding:4px 6px;line-height:1;flex-shrink:0;transition:color .16s ease}.delete-btn:hover{color:#ff5050cc}.empty-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 16px;text-align:center;color:#f4f7ff80}.workspace{padding:26px;display:grid;gap:20px;align-content:start}.mobile-topbar,.mobile-action-bar{display:none}.hero-panel{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-radius:26px;padding:22px 26px;background:#fffc;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(170,182,214,.22);box-shadow:0 20px 60px #232c4f1a}.hero-panel h2{margin:0 0 4px;font-size:1.5rem}.hero-panel p{margin:0;color:#505b75;font-size:.88rem}.hero-actions{display:flex;gap:10px;align-items:flex-start;flex-shrink:0}.content-grid{display:grid;grid-template-columns:minmax(0,1.4fr) 300px;gap:20px;align-items:start}.editor-card,.preview-card{background:#ffffffd1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(170,182,214,.22);box-shadow:0 20px 60px #232c4f1a;border-radius:26px;padding:22px}.preview-card{position:sticky;top:22px;align-self:start}.section-heading{margin:0 0 16px;font-size:1rem;color:#1a2340}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field-grid label{display:grid;gap:7px;font-size:.88rem;color:#4e5a76}.span-2{grid-column:span 2}.field-grid input,.field-grid select,.field-grid textarea{width:100%;padding:11px 13px;border-radius:12px;border:1px solid #d5dcee;background:#fffffff0;color:#172033;font-size:1rem}.field-grid textarea{resize:vertical}.inv-num-row{display:flex;align-items:center;background:#fffffff0;border:1px solid #d5dcee;border-radius:12px;padding:0 13px;min-height:48px;gap:4px}.inv-prefix-input{border:none!important;background:transparent!important;padding:0!important;min-height:unset!important;border-radius:0!important;width:80px;font-weight:700;color:#172033;font-size:1rem;text-transform:uppercase}.inv-prefix-input::placeholder{color:#17203333;font-weight:400}.inv-num-sep{color:#b0bcd4;font-weight:700;-webkit-user-select:none;user-select:none}.inv-num-rest{color:#60708f;font-size:.95rem;white-space:nowrap;-webkit-user-select:none;user-select:none}.period-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:22px 0 14px}.period-header h3{margin:0;font-size:1rem}.period-header p{margin:4px 0 0;color:#60708f;font-size:.82rem}.period-dates{display:flex;gap:12px;flex-shrink:0}.period-dates label{display:grid;gap:6px;font-size:.82rem;color:#4e5a76}.period-dates input{padding:9px 11px;border-radius:11px;border:1px solid #d5dcee;background:#fffffff0;color:#172033;font-size:1rem}.entries-wrap{overflow-x:auto;border-radius:14px;border:1px solid rgba(170,182,214,.28)}.entries-table{width:100%;border-collapse:collapse;font-size:.9rem}.entries-table th{text-align:left;padding:10px 14px;background:#f1f4fbf2;font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:#4e5a76;font-weight:700;border-bottom:1px solid rgba(170,182,214,.28)}.entries-table td{padding:6px 14px;border-bottom:1px solid rgba(111,123,147,.1);vertical-align:middle}.entries-table tbody tr:last-child td{border-bottom:none}.desc-input{width:100%;min-width:80px;padding:6px 8px;border-radius:8px;border:1px solid #d5dcee;background:#ffffffeb;color:#172033;font-size:.88rem}.entries-table td input[type=number]{width:70px;padding:7px 8px;border-radius:8px;border:1px solid #d5dcee;background:#fff30024;color:#172033;text-align:center;font-weight:700;font-size:1rem}.date-cell{color:#60708f;font-size:.85rem;white-space:nowrap}.amt-cell{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:#172033;white-space:nowrap}.zero-row td{opacity:.45}.entries-table tfoot tr{background:#f1f4fbf2;border-top:2px solid rgba(170,182,214,.4)}.entries-table tfoot td{padding:10px 14px;font-weight:700;color:#1a2340;border-bottom:none}.preview-card h3{margin:4px 0 0;font-size:1.05rem}.preview-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.preview-details dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#6f7b93}.preview-details dd{margin:5px 0 0;font-weight:700;font-size:.88rem;word-break:break-word}.totals-block{display:grid;border-top:1px solid rgba(170,182,214,.3);padding-top:14px;margin-top:20px}.totals-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:.92rem;color:#505b75;border-bottom:1px solid rgba(170,182,214,.14)}.totals-row:last-child{border-bottom:none}.totals-row strong{font-variant-numeric:tabular-nums}.total-row{font-size:1.05rem;color:#1a2340;font-weight:700;padding-top:10px}.total-row strong{font-size:1.2rem}.summary-export-btn{background:#ffffff14;border:1px solid rgba(213,220,238,.22);border-radius:12px;color:#f4f7ffcc;padding:11px 14px;font-weight:600;font-size:.88rem;text-align:left;transition:background .16s ease}.summary-export-btn:hover:not(:disabled){background:#ffffff24}.summary-export-btn:disabled{opacity:.35;cursor:default}.client-dropdown{width:100%;padding:10px 13px;border-radius:12px;border:1px solid #d5dcee;background:#fffffff0;color:#172033;font-size:1rem;margin-bottom:6px}.validation-errors{margin-top:16px;padding:14px 16px;background:#ff3b3014;border:1px solid rgba(255,59,48,.3);border-radius:14px}.validation-title{margin:0 0 10px;font-weight:700;font-size:.88rem;color:#c0392b}.validation-errors ul{margin:0;padding:0 0 0 18px;display:grid;gap:5px}.validation-errors li{font-size:.85rem;color:#c0392b}@media(max-width:1100px){.shell,.content-grid{grid-template-columns:1fr}.preview-card{position:static}}@media(max-width:768px){.shell{display:block;min-height:100dvh}.shell.mobile-list .sidebar{display:flex;min-height:100dvh;padding:20px 16px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}.shell.mobile-list .workspace,.shell.mobile-form .sidebar{display:none}.shell.mobile-form .workspace{display:flex;flex-direction:column;min-height:100dvh;padding:0;gap:0}.mobile-topbar{display:flex;align-items:center;gap:12px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:#0d1322f2;color:#f4f7ff;position:sticky;top:0;z-index:10}.back-btn{background:none;border:none;color:#7da0ff;font-weight:700;font-size:.95rem;padding:8px 0;flex-shrink:0}.mobile-invoice-num{font-size:.9rem;font-weight:600;color:#f4f7ffb3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-panel{display:none}.content-grid{display:block;padding:16px;flex:1;overflow-y:auto}.editor-card{border-radius:18px;padding:16px;margin-bottom:16px}.preview-card{display:none}.field-grid{grid-template-columns:1fr;gap:12px}.span-2{grid-column:span 1}.field-grid input,.field-grid select,.field-grid textarea,.period-dates input{padding:14px;border-radius:12px;font-size:16px;min-height:50px}.field-grid label,.period-dates label{font-size:.85rem;gap:6px}.period-header{flex-direction:column;gap:12px;margin:18px 0 12px}.period-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.entries-table th,.entries-table td{padding:10px}.entries-table td input[type=number]{width:64px;padding:10px 6px;font-size:16px;min-height:44px}.date-cell{font-size:.82rem}.totals-block{margin-top:16px}.mobile-action-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;padding-bottom:max(14px,env(safe-area-inset-bottom));background:#fffffff7;border-top:1px solid rgba(170,182,214,.3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;bottom:0;z-index:10}.mobile-total{font-size:1.1rem;font-weight:800;color:#1a2340;font-variant-numeric:tabular-nums}.mobile-action-btns{display:flex;gap:10px}.mobile-action-btns button{padding:12px 18px;font-size:.9rem}.saved-item{padding:12px 14px}.saved-item-main strong{font-size:.95rem}.saved-item-amount{font-size:.92rem}.delete-btn{font-size:1rem;padding:6px 8px}.search-field input{padding:14px;font-size:16px;min-height:50px}.new-btn{padding:12px 18px;font-size:.95rem;min-height:48px}}
