:root{--cast0r-navy: #0d1b2a;--cast0r-blue: #1f355e;--cast0r-brown: #a1692e;--cast0r-orange: #e07a1f;--cast0r-green: #89a789;--cast0r-cream: #fff3e6;--cast0r-white: #ffffff;--text-main: #0d1b2a;--text-muted: #667085;--background-main: #ffffff;--background-soft: #fff3e6;--border-soft: #eadccb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-main);background:#f7f8fa}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid var(--border-soft);border-radius:8px;padding:0 13px;color:var(--text-main);background:var(--cast0r-white);cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.primary{border-color:var(--cast0r-orange);color:#fff;background:var(--cast0r-orange)}.full{width:100%}.app-shell{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:18px;min-height:100vh;padding:20px;color:#fff;background:var(--cast0r-navy)}.brand{display:flex;align-items:center;gap:12px}.brand strong,.brand span{display:block}.brand strong{font-size:21px}.brand span{color:#c8d1dc;font-size:13px}.brand.large{color:var(--cast0r-navy)}.brand.large span{color:var(--text-muted)}.upload-zone{display:flex;align-items:center;justify-content:center;gap:10px;min-height:72px;border:1px dashed rgba(255,255,255,.45);border-radius:8px;background:#ffffff0f;cursor:pointer}.upload-zone input{display:none}.invoice-list{display:flex;flex:1;flex-direction:column;gap:8px;overflow:auto}.invoice-item{display:grid;grid-template-columns:20px 1fr;gap:8px;width:100%;min-height:56px;border-color:#ffffff1f;color:#fff;background:#ffffff0d;text-align:left}.invoice-item.active{border-color:var(--cast0r-orange);background:#e07a1f33}.invoice-item span,.invoice-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-item small{grid-column:2;color:#c8d1dc}.session{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#c8d1dc;font-size:13px}.icon-button{width:38px;padding:0}.workspace{padding:22px;overflow:auto}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.topbar h1{margin:0;font-size:24px;line-height:1.2}.topbar p{margin:4px 0 0;color:var(--text-muted)}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.panel{border:1px solid var(--border-soft);border-radius:8px;padding:16px;background:var(--background-main)}.panel.wide{grid-column:1 / -1}.panel h2{margin:0 0 14px;font-size:16px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-title h2{margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field span{color:var(--text-muted);font-size:12px}.field input{width:100%;min-height:38px;border:1px solid #d8dde7;border-radius:8px;padding:0 10px;background:#fff}.lines{display:flex;flex-direction:column;gap:10px}.line-row{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(90px,1fr));gap:10px;align-items:end}.notice{display:flex;align-items:center;gap:10px;margin-bottom:12px;border-radius:8px;padding:10px 12px}.notice.success{border:1px solid rgba(137,167,137,.45);background:#89a78929}.notice.warning{border:1px solid rgba(224,122,31,.35);background:#e07a1f1f}.notice.danger{border:1px solid rgba(180,35,24,.25);background:#b4231817}.download-actions{display:flex;gap:10px}.empty-state,.login-screen{display:grid;min-height:100vh;place-items:center}.login-panel{display:flex;flex-direction:column;gap:16px;width:min(420px,calc(100vw - 32px));border:1px solid var(--border-soft);border-radius:8px;padding:24px;background:#fff}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.editor-grid,.form-grid,.line-row{grid-template-columns:1fr}.topbar{flex-direction:column}.actions{justify-content:flex-start}}
