*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}img{max-width:100%}
:root{--bg:#f4f7fb;--bg-2:#eef3f9;--card:#ffffff;--card-2:#f8fbff;--text:#122033;--muted:#66758b;--border:#dbe4ef;--accent:#155eef;--accent-2:#2dd4bf;--accent-soft:#e8f0ff;--success:#0f9f68;--danger:#b42318;--danger-soft:#fee4e2;--shadow:0 24px 60px rgba(15,23,42,.08);--shadow-soft:0 12px 34px rgba(15,23,42,.06);--glass:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.58));--premium:linear-gradient(135deg,#143a72 0%,#1c72d8 45%,#22c7b8 100%)}
html[data-theme=dark]{--bg:#09111d;--bg-2:#0e1728;--card:#0f1a2d;--card-2:#122036;--text:#eef4ff;--muted:#9fb0c5;--border:#23314a;--accent:#6ea8ff;--accent-2:#3dd9c4;--accent-soft:#162641;--success:#34d399;--danger:#f87171;--danger-soft:#3b1620;--shadow:0 28px 65px rgba(0,0,0,.34);--shadow-soft:0 10px 24px rgba(0,0,0,.22);--glass:linear-gradient(180deg,rgba(14,23,40,.82),rgba(15,26,45,.7));--premium:linear-gradient(135deg,#13294b 0%,#285ea8 50%,#17998b 100%)}
body.app-auth{overflow-x:hidden}
.glass-card{background:var(--glass);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.16);box-shadow:var(--shadow)}
.premium-gradient{background:var(--premium);color:#fff}.premium-gradient .muted,.premium-gradient .eyebrow{color:rgba(255,255,255,.82)}
.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px 18px;background:linear-gradient(180deg,var(--bg-2),transparent);border-right:1px solid var(--border);overflow:auto}.main-shell{padding:24px;min-width:0}.brand-card{display:flex;gap:14px;align-items:center;padding:18px;border-radius:24px}.brand-card--sidebar{background:var(--card);border:1px solid var(--border)}.brand-mark{width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:var(--premium);color:#fff;font-weight:800;letter-spacing:.04em;box-shadow:var(--shadow-soft)}.brand-card h1{margin:0;font-size:1rem}.brand-card p{margin:.18rem 0 0;color:var(--muted);font-size:.85rem}.nav-caption{margin:22px 8px 10px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.nav-list{display:grid;gap:8px}.nav-list a{display:flex;align-items:center;padding:12px 14px;border-radius:16px;color:var(--muted);transition:.22s ease}.nav-list a:hover,.nav-list a.active{background:var(--accent-soft);color:var(--text);transform:translateX(2px)}
.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;border-radius:24px;padding:14px 18px;margin-bottom:18px}.topbar-left{display:flex;align-items:center;gap:14px}.menu-toggle{display:none;border:0;background:var(--card);color:var(--text);width:42px;height:42px;border-radius:14px;box-shadow:var(--shadow-soft);cursor:pointer}.toolbar-inline{display:flex;gap:10px;flex-wrap:wrap}.toolbar-inline select{padding:10px 14px;border-radius:14px;border:1px solid var(--border);background:var(--card);color:var(--text);min-width:88px}.eyebrow{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.flash{padding:13px 16px;border-radius:16px;margin-bottom:16px;border:1px solid transparent}.flash.success{background:rgba(16,185,129,.1);color:var(--success);border-color:rgba(16,185,129,.16)}.flash.error{background:var(--danger-soft);color:var(--danger);border-color:rgba(180,35,24,.16)}
.panel-card,.hero-card,.auth-card,.invoice-print-card,.invoice-modern-card{background:var(--card);border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);padding:24px}.panel-card--premium{background:linear-gradient(180deg,var(--card),var(--card-2))}.page-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;border-radius:28px;padding:26px 28px;margin-bottom:18px;box-shadow:var(--shadow)}.page-hero h2{margin:.1rem 0 .45rem;font-size:2rem}.page-hero p{max-width:700px}.hero-chip-stack{display:flex;gap:10px;flex-wrap:wrap}.chip,.tag,.invoice-pill,.auth-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.18);font-size:.82rem}.tag{background:var(--accent-soft);color:var(--text)}
.stats-grid,.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card,.metric-card{padding:20px;border-radius:22px;border:1px solid var(--border);background:linear-gradient(180deg,var(--card),var(--card-2));box-shadow:var(--shadow-soft)}.stat-card strong,.metric-card strong{display:block;font-size:2rem;line-height:1.05}.stat-card span,.metric-card span{display:block;color:var(--muted);margin-bottom:8px}.admin-metric-grid .metric-card strong{font-size:1.4rem}
.split-grid{display:grid;grid-template-columns:420px minmax(0,1fr);gap:18px}.materials-grid{grid-template-columns:420px minmax(0,1fr)}.recipes-layout{grid-template-columns:430px minmax(0,1fr)}.stack-layout{display:grid;gap:18px}.sticky-panel{position:sticky;top:24px;align-self:start}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.section-head h3{margin:0;font-size:1.14rem}.action-row{display:flex;gap:10px;flex-wrap:wrap}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid.single{grid-template-columns:1fr}.form-grid label,.line-grid label{display:grid;gap:8px}.form-grid input,.form-grid select,.form-grid textarea,.line-grid input,.line-grid select{padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:transparent;color:var(--text);min-width:0}.form-grid textarea{min-height:100px;resize:vertical}.full{grid-column:1/-1}.compact-form input{padding:14px 16px}
.btn{border:0;border-radius:16px;padding:12px 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.22s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--premium);color:#fff;box-shadow:var(--shadow-soft)}.btn.secondary{background:var(--accent-soft);color:var(--text)}.btn.tiny{padding:8px 12px;border-radius:12px;background:var(--accent-soft)}.btn.icon{width:42px;height:42px;padding:0;flex:0 0 42px}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn-block{width:100%}
.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:top;text-align:left}.data-table thead th{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.data-table.compact th,.data-table.compact td{padding:10px 8px}.invoice-table-shell{overflow:auto;border:1px solid var(--border);border-radius:22px}.invoice-table--premium tbody tr:nth-child(even){background:rgba(127,127,127,.03)}
.card-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.record-card{border:1px solid var(--border);border-radius:22px;padding:18px;background:linear-gradient(180deg,var(--card),var(--card-2));box-shadow:var(--shadow-soft)}.record-card h4{margin:0 0 6px}.record-card p{margin:0;color:var(--muted);font-size:.9rem}.record-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.record-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.record-stats div{padding:12px 14px;border-radius:16px;background:rgba(127,127,127,.04);border:1px solid var(--border)}.record-stats span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:6px}.record-stats strong{font-size:1rem}.record-actions{display:flex;gap:8px;flex-wrap:wrap}.composite-card{background:linear-gradient(180deg,rgba(37,99,235,.08),rgba(45,212,191,.06))}
.center-panel{display:grid;place-items:center;min-height:70vh}.guest-shell{min-height:100vh;position:relative;padding:18px}.guest-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;position:relative;z-index:2}.brand-badge{display:flex;align-items:center;gap:12px;color:#fff}.brand-badge span{width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.12);backdrop-filter:blur(14px);font-weight:800}.brand-badge small{display:block;color:rgba(255,255,255,.72)}.guest-flash{position:relative;z-index:2;max-width:1100px;margin-inline:auto;margin-bottom:18px}
.login-stage{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:24px;max-width:1180px;margin:0 auto;align-items:stretch}.cinematic-bg{position:relative;min-height:calc(100vh - 130px);border-radius:34px;overflow:hidden;background:radial-gradient(circle at top left,#0d2443,#09111d 58%,#05080e 100%);box-shadow:var(--shadow)}.cinematic-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(31,78,181,.22),rgba(18,222,191,.18),transparent 70%)}.light-orb{position:absolute;border-radius:50%;filter:blur(20px);opacity:.75;animation:floatGlow 10s ease-in-out infinite}.orb-a{width:320px;height:320px;background:rgba(50,123,255,.42);top:-40px;left:-60px}.orb-b{width:260px;height:260px;background:rgba(46,218,191,.30);right:-30px;top:20%}.orb-c{width:240px;height:240px;background:rgba(255,183,77,.22);left:18%;bottom:-40px}.login-copy{position:absolute;left:34px;right:34px;bottom:34px;color:#fff;padding:28px;border-radius:28px}.login-copy h2{font-size:2.35rem;margin:.25rem 0 1rem}.feature-list{margin:18px 0 0;padding-left:18px;display:grid;gap:10px;color:rgba(255,255,255,.82)}.auth-card--premium{align-self:center;max-width:460px;width:100%;justify-self:end;padding:28px}.auth-card--premium h3{margin:.35rem 0 1.1rem;font-size:1.5rem}.auth-foot{margin-top:14px;text-align:center}
.invoice-builder.layout-narrow{max-width:1180px}.builder-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:10px 0 14px}.client-summary-card{margin-top:18px;padding:20px 22px;border-radius:22px;background:linear-gradient(135deg,rgba(21,94,239,.12),rgba(45,212,191,.12));border:1px solid rgba(21,94,239,.16);display:grid;gap:6px}.client-summary-card span,.client-summary-card small{color:var(--muted)}.client-summary-card strong{font-size:2.1rem;line-height:1}.line-stack{display:grid;gap:14px;margin:12px 0 16px}.line-row{border:1px solid var(--border);border-radius:22px;padding:14px;background:linear-gradient(180deg,var(--card),var(--card-2))}.line-grid{display:grid;gap:10px;align-items:end}.compact-invoice-grid{grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(120px,1fr)) 42px}.line-grid-item{min-width:0}.line-grid-item--wide{grid-column:auto}.line-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.line-preview-box{padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:rgba(127,127,127,.035)}.line-preview-box span{display:block;font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.line-preview-box strong{display:block;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.line-preview-box--total{background:linear-gradient(135deg,rgba(21,94,239,.10),rgba(45,212,191,.12))}
.invoice-modern-card{padding:0;overflow:hidden}.invoice-banner{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:28px 30px}.invoice-banner h2{margin:.2rem 0 .35rem;font-size:2rem}.invoice-banner p{margin:0;max-width:620px;color:rgba(255,255,255,.82)}.invoice-banner-side{display:grid;gap:10px}.invoice-grid-top{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:14px;padding:22px 28px}.invoice-info-card,.invoice-total-card{padding:18px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(180deg,var(--card),var(--card-2))}.invoice-info-card span,.invoice-total-card span{display:block;color:var(--muted);font-size:.82rem;margin-bottom:8px}.invoice-info-card strong,.invoice-total-card strong{font-size:1.18rem}.invoice-total-card strong{font-size:2rem;line-height:1}.invoice-section-title{padding:0 28px 16px}.invoice-section-title h3{margin:0 0 6px}.invoice-section-title p{margin:0;color:var(--muted)}.invoice-table-shell{margin:0 28px 22px}.invoice-footer-note{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 28px 28px}.invoice-footer-note div{padding:18px;border-radius:18px;background:rgba(127,127,127,.03);border:1px solid var(--border)}.invoice-footer-note strong{display:block;margin-bottom:8px}.invoice-footer-note p{margin:0;color:var(--muted)}.print-actions{padding:0 28px 28px;display:flex;gap:10px;flex-wrap:wrap}.breakdown-card{padding:18px;border:1px solid var(--border);border-radius:20px;margin-top:14px;background:linear-gradient(180deg,var(--card),var(--card-2))}
.small{font-size:.86rem}.muted{color:var(--muted)}.layout-narrow{display:block}.submit-row{margin-top:20px;display:flex;justify-content:flex-end}.compact-top-grid{margin-bottom:14px}
@keyframes floatGlow{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(16px,-12px,0) scale(1.06)}}
@media (max-width:1200px){.compact-invoice-grid{grid-template-columns:repeat(2,minmax(0,1fr)) 42px}.line-grid-item--wide{grid-column:1/-2}.stats-grid,.metric-grid,.record-stats,.line-preview-grid,.invoice-grid-top,.invoice-footer-note{grid-template-columns:repeat(2,minmax(0,1fr))}.card-list-grid{grid-template-columns:1fr}}
@media (max-width:1024px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(86vw,320px);z-index:30;transform:translateX(-102%);transition:.25s ease;background:var(--bg);border-right:1px solid var(--border)}body.menu-open .sidebar{transform:translateX(0)}body.menu-open::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.36);z-index:20}.menu-toggle{display:inline-grid;place-items:center}.sticky-panel{position:static}.materials-grid,.split-grid,.recipes-layout,.login-stage{grid-template-columns:1fr}.main-shell{padding:18px}.topbar{position:sticky;top:12px;z-index:12}.auth-card--premium{justify-self:stretch;max-width:none}.cinematic-bg{min-height:360px}}
@media (max-width:720px){.guest-shell{padding:14px}.guest-toolbar,.topbar,.builder-head,.page-hero,.record-card-top{flex-direction:column;align-items:stretch}.page-hero,.invoice-banner{padding:22px}.page-hero h2,.invoice-banner h2,.login-copy h2{font-size:1.6rem}.toolbar-inline{width:100%}.toolbar-inline select{flex:1}.stats-grid,.metric-grid,.form-grid,.record-stats,.line-preview-grid,.invoice-grid-top,.invoice-footer-note{grid-template-columns:1fr}.compact-invoice-grid{grid-template-columns:1fr}.line-grid-item--wide,.line-grid-item{grid-column:auto}.btn.icon{width:100%}.line-row{padding:12px}.invoice-table-shell{margin:0 18px 20px}.invoice-section-title,.invoice-grid-top,.invoice-footer-note,.print-actions{padding-inline:18px}.login-copy{left:18px;right:18px;bottom:18px}.guest-toolbar{align-items:flex-start}.brand-badge{align-items:flex-start}}
@media print{.sidebar,.topbar,.no-print,.flash,.guest-toolbar{display:none!important}.main-shell{padding:0}.invoice-modern-card,.invoice-print-card{box-shadow:none;border:0;border-radius:0;padding:0}body{background:#fff;color:#000}.invoice-banner{color:#fff !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
