:root{--bg:#f5f7fb;--panel:#fff;--ink:#172033;--muted:#697386;--line:#e5e9f0;--primary:#635bff;--primary-dark:#4d46d8;--nav:#111827;--success:#07865d;--danger:#c03645;--warning:#9a6500;--shadow:0 12px 40px rgba(23,32,51,.08);--radius:18px}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--nav);color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none;font-size:14px;font-weight:800;letter-spacing:.08em;padding:0 8px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#817aff,#4d46d8);color:#fff;font-size:12px;box-shadow:0 8px 22px rgba(99,91,255,.3)}.workspace-card{margin:28px 0 18px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.05)}.workspace-card span,.workspace-card strong{display:block}.workspace-card span{font-size:11px;color:#9ca3af;margin-bottom:5px}.workspace-card strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-list{display:grid;gap:5px;margin-top:25px}.workspace-card+.nav-list{margin-top:0}.nav-item{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;color:#aeb6c5;text-decoration:none;font-size:14px;transition:.18s}.nav-item:hover,.nav-item.active{color:#fff;background:rgba(255,255,255,.09)}.nav-item.disabled{opacity:.45;pointer-events:none}.nav-item small{margin-left:auto;font-size:9px;text-transform:uppercase}.nav-icon{width:18px;text-align:center}.sidebar-user{margin-top:auto;padding:14px 6px 0;border-top:1px solid rgba(255,255,255,.09);display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#2a3447;color:#fff;font-weight:700}.sidebar-user strong,.sidebar-user span{display:block;min-width:0}.sidebar-user strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user div span{font-size:10px;color:#8f99aa;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-button{border:0;background:transparent;color:#9ca3af;cursor:pointer;font-size:18px}.main-content{min-width:0}.topbar{height:86px;padding:0 34px;display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.86);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.topbar h2{font-size:18px;margin:2px 0 0}.topbar .status-pill{margin-left:auto}.menu-button{display:none;border:1px solid var(--line);background:#fff;width:40px;height:40px;border-radius:10px}.page-content{padding:32px 34px;max-width:1440px;margin:0 auto}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);font-size:10px;font-weight:800}.eyebrow-light{color:#c9c6ff}.muted{color:var(--muted)}.welcome-row,.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.welcome-row h1,.page-heading h1{margin:5px 0 4px;font-size:27px}.welcome-row p,.page-heading p{margin:0}.button{display:inline-flex;justify-content:center;align-items:center;min-height:42px;padding:0 17px;border-radius:10px;border:1px solid transparent;text-decoration:none;font-weight:700;font-size:13px;cursor:pointer}.button.primary{background:var(--primary);color:#fff;box-shadow:0 8px 20px rgba(99,91,255,.2)}.button.primary:hover{background:var(--primary-dark)}.button.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.button.light{background:#fff;color:var(--primary)}.button.wide{width:100%}.button:disabled{cursor:not-allowed;opacity:.5}.alert{padding:13px 15px;border-radius:11px;margin:0 0 20px;font-size:13px;transition:.3s}.alert.success{background:#eaf8f2;color:#056a49;border:1px solid #c9ecdf}.alert.danger{background:#fff0f1;color:#9e2532;border:1px solid #f4cdd1}.alert.warning{background:#fff8e7;color:#805500;border:1px solid #f0dfb5}.alert.fade-out{opacity:0;transform:translateY(-4px)}.expiry-banner{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:25px 28px;border-radius:var(--radius);background:linear-gradient(135deg,#29245e,#5c55e5);color:#fff;margin-bottom:26px;box-shadow:var(--shadow)}.expiry-banner h3{margin:5px 0;font-size:20px}.expiry-banner p{margin:0;color:#dedcff;font-size:13px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card,.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 16px rgba(23,32,51,.03)}.stat-card{padding:20px}.stat-card span,.stat-card strong,.stat-card small{display:block}.stat-card span{font-size:12px;color:var(--muted)}.stat-card strong{font-size:24px;margin:9px 0 5px}.stat-card small{color:#8a93a3;font-size:11px}.content-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;margin-top:18px}.card{padding:23px}.empty-state{text-align:center;display:grid;place-items:center;align-content:center;min-height:250px}.empty-state h3{margin:12px 0 4px}.empty-state p{margin:0;color:var(--muted);font-size:13px}.empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#f0efff;color:var(--primary);font-size:22px}.card-heading{display:flex;justify-content:space-between;align-items:flex-start}.card-heading h3{margin:5px 0}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.status-pill.success{background:#e6f7f0;color:#05734f}.status-pill.danger{background:#ffedef;color:#a32735}.detail-list{margin:20px 0}.detail-list div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:700}.text-link{color:var(--primary);text-decoration:none;font-size:13px;font-weight:700}.business-switcher{margin-bottom:18px}.inline-form{display:flex;align-items:end;gap:12px}.inline-form .field{flex:1}.field{display:grid;gap:7px}.field>span:first-child{font-size:12px;font-weight:700;color:#4c5669}.field input,.field select,.field textarea{width:100%;border:1px solid #dbe0e8;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);outline:none;transition:.15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,91,255,.1)}.field textarea{resize:vertical}.form-stack{display:grid;gap:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.span-2{grid-column:span 2}.form-card{max-width:920px}.form-actions{display:flex;align-items:center;gap:14px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.form-note{font-size:11px;color:var(--muted);margin:14px 0 0}.password-field{position:relative;display:flex}.password-field input{padding-right:65px}.password-field button{position:absolute;right:8px;top:7px;height:30px;border:0;background:#f2f3f7;color:#555f72;border-radius:7px;font-size:11px;font-weight:700}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.two-column.narrow{max-width:900px}.activation-card{background:linear-gradient(145deg,#fff,#f8f8ff)}.activation-status{display:flex;gap:13px;align-items:center;margin:20px 0;padding:15px;border-radius:12px}.activation-status>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-weight:900}.activation-status strong,.activation-status small{display:block}.activation-status small{margin-top:3px;opacity:.75}.activation-status.is-active{background:#eaf8f2;color:#056a49}.activation-status.is-active>span{background:#cceee1}.activation-status.is-expired{background:#fff0f1;color:#9e2532}.activation-status.is-expired>span{background:#f7d6da}.serial-input{text-transform:uppercase;letter-spacing:.08em;font-weight:700}.guest-body{background:#eef1f7}.guest-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.guest-brand{padding:60px clamp(40px,7vw,100px);background:radial-gradient(circle at 20% 10%,#4d47a8,transparent 45%),linear-gradient(145deg,#13172b,#24224e);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.brand-light{padding:0}.guest-brand h1{font-size:clamp(34px,4vw,58px);line-height:1.05;max-width:620px;margin:14px 0 18px}.guest-brand p{max-width:540px;color:#c9ccdc;font-size:16px;line-height:1.7}.guest-brand small{color:#8e94aa}.guest-panel{display:grid;place-items:center;padding:40px}.auth-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:var(--shadow)}.auth-card h2{font-size:25px;margin:7px 0}.auth-card>.muted{font-size:13px;line-height:1.6;margin:0 0 23px}.auth-help{text-align:center;color:var(--muted);font-size:11px;margin:20px 0 0}.sidebar-backdrop{display:none}
@media(max-width:1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}.guest-shell{grid-template-columns:1fr}.guest-brand{display:none}.guest-panel{min-height:100vh}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;left:-280px;width:260px;transition:.22s}.menu-open .sidebar{left:0}.sidebar-backdrop{position:fixed;inset:0;background:rgba(10,15,28,.5);z-index:15}.menu-open .sidebar-backdrop{display:block}.menu-button{display:block}.topbar{height:74px;padding:0 18px}.page-content{padding:22px 16px}.welcome-row,.page-heading{align-items:flex-start}.welcome-row h1,.page-heading h1{font-size:23px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:16px}.stat-card strong{font-size:20px}.content-grid,.two-column{grid-template-columns:1fr}.expiry-banner{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.inline-form{align-items:stretch;flex-direction:column}.guest-panel{padding:20px}.auth-card{padding:26px 22px}.topbar .eyebrow{display:none}}
@media(max-width:420px){.stat-grid{grid-template-columns:1fr}.welcome-row{display:block}.welcome-row .button{margin-top:16px;width:100%}.page-content{padding:18px 13px}}
.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.table-card{margin-top:18px;padding:0;overflow:hidden}.table-card .card-heading{padding:21px 23px;border-bottom:1px solid var(--line)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;background:#fafbfc}td strong,td small{display:block}td small{color:var(--muted);margin-top:4px}.table-empty{text-align:center;color:var(--muted);padding:35px}.filter-bar{display:grid;grid-template-columns:2fr 1fr auto;align-items:end;gap:13px;margin-bottom:18px}.detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;max-width:980px}.action-stack{display:grid;gap:18px}.action-stack h3{margin:0}.action-stack p{font-size:12px;line-height:1.6;margin:0}.danger-button{background:#fff0f1;color:#a32735;border-color:#f4cdd1}.generated-code{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 27px;margin-bottom:18px;border-radius:var(--radius);background:linear-gradient(135deg,#28235b,#625be9);color:#fff}.generated-code strong,.generated-code small{display:block}.generated-code strong{font-size:20px;letter-spacing:.08em;margin:6px 0}.generated-code small{color:#d7d5ff}.serial-layout{margin-bottom:18px}
@media(max-width:900px){.admin-stats{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr 1fr}.filter-bar .button{grid-column:span 2}}
@media(max-width:600px){.admin-stats{grid-template-columns:1fr 1fr}.generated-code{align-items:flex-start;flex-direction:column}.generated-code strong{font-size:14px}.filter-bar{grid-template-columns:1fr}.filter-bar .button{grid-column:auto}}
.compact-form{max-width:620px}.quick-link-row{margin:-5px 0 18px}
.upload-preview{width:120px;height:72px;object-fit:contain;background:#f7f8fb;border:1px solid var(--line);border-radius:10px;padding:6px}.upload-preview.signature{background:#fff}
.single-search{grid-template-columns:1fr auto}.truncate-cell{max-width:260px;overflow:hidden;text-overflow:ellipsis}.delete-form{max-width:920px;margin-top:16px;text-align:right}.text-danger{border:0;background:transparent;color:var(--danger);font-weight:700;cursor:pointer}.inline-tool{max-width:920px;margin-top:18px}
.invoice-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.05em;white-space:nowrap}.invoice-status.paid{background:#e6f7f0;color:#05734f}.invoice-status.unpaid,.invoice-status.partial{background:#fff8e7;color:#805500}.invoice-status.overdue,.invoice-status.cancelled{background:#ffedef;color:#a32735}.invoice-status.draft{background:#eef1f5;color:#667085}.clickable-row{cursor:pointer}.clickable-row:hover{background:#fafaff}.invoice-meta{max-width:none;margin-bottom:18px}.invoice-items-card{padding:0;overflow:hidden}.invoice-items-card>.card-heading{padding:21px 23px;border-bottom:1px solid var(--line)}.invoice-item{position:relative;display:grid;grid-template-columns:32px 1.1fr 1.5fr .55fr .55fr .8fr .8fr .7fr .55fr .8fr 28px;gap:10px;align-items:end;padding:18px;border-bottom:1px solid var(--line)}.invoice-item:last-child{border-bottom:0}.invoice-item .field>span:first-child{font-size:10px}.item-index{align-self:center;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#f1f0ff;color:var(--primary);font-size:11px;font-weight:800}.line-total{align-self:end;min-height:39px;display:grid;align-content:center}.line-total span{font-size:9px;color:var(--muted)}.line-total strong{font-size:12px}.remove-item{align-self:end;height:39px;border:0;background:#fff0f1;color:var(--danger);border-radius:8px;font-size:18px;cursor:pointer}.invoice-bottom{display:grid;grid-template-columns:1.5fr .8fr;gap:18px;margin-top:18px}.totals-card{display:grid;gap:14px}.invoice-summary{margin:10px 0 0}.invoice-summary div{display:flex;justify-content:space-between;padding:8px 0;font-size:12px}.invoice-summary dd{margin:0;font-weight:700}.invoice-summary .grand{border-top:1px solid var(--line);margin-top:5px;padding-top:15px;font-size:17px}.sticky-actions{position:sticky;bottom:14px;display:flex;justify-content:flex-end;gap:10px;margin:20px 0;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);box-shadow:var(--shadow);z-index:5}.invoice-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.action-buttons{display:flex;gap:9px}.invoice-paper{width:min(100%,1000px);min-height:1120px;margin:0 auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:55px 58px;color:#1f2937}.invoice-head{display:flex;justify-content:space-between;gap:30px;padding-bottom:35px;border-bottom:2px solid #242a39}.invoice-head p{margin:5px 0;color:#687386;font-size:11px;max-width:420px}.invoice-logo-text{font-size:20px;font-weight:900;letter-spacing:.02em}.invoice-title{text-align:right}.invoice-title h1{font-size:34px;letter-spacing:.12em;margin:0 0 10px}.invoice-info{display:grid;grid-template-columns:1fr 330px;gap:40px;padding:34px 0}.invoice-info span,.invoice-total-section span,.invoice-terms span{font-size:9px;font-weight:900;letter-spacing:.1em;color:#778196}.invoice-info strong{display:block;margin:8px 0 5px;font-size:16px}.invoice-info p{margin:4px 0;color:#657083;font-size:11px}.invoice-info dl{margin:0}.invoice-info dl div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #edf0f4;font-size:11px}.invoice-info dd{margin:0;font-weight:800}.invoice-table-wrap{overflow-x:auto}.invoice-table{font-size:10px}.invoice-table th{background:#242a39;color:#fff}.invoice-table td{padding:13px 10px}.invoice-total-section{display:grid;grid-template-columns:1fr 340px;gap:50px;padding-top:25px}.invoice-total-section p,.invoice-terms p{font-size:10px;line-height:1.6;color:#657083}.invoice-total-section dl{margin:0}.invoice-total-section dl div{display:flex;justify-content:space-between;padding:7px 0;font-size:11px}.invoice-total-section dd{margin:0;font-weight:700}.invoice-total-section .grand{margin-top:6px;padding-top:13px;border-top:2px solid #242a39;font-size:15px}.invoice-total-section .remaining{background:#f1f0ff;color:#4d46d8;padding:11px;margin-top:5px;border-radius:7px}.invoice-terms{margin-top:45px;padding-top:18px;border-top:1px solid #e7eaf0}.payment-panel{max-width:1000px;margin:18px auto}.payment-panel h3{margin:5px 0 18px}.payment-form{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;align-items:end}.payment-form .span-2{grid-column:span 3}.danger-zone{max-width:1000px;margin:18px auto;display:flex;justify-content:flex-end;gap:20px}.recent-list{min-height:250px}.recent-list>a{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.recent-list>a div strong,.recent-list>a div span{display:block}.recent-list>a div span{color:var(--muted);font-size:11px;margin-top:3px}.recent-list>a b{font-size:12px}.empty-mini{display:grid;place-items:center;height:150px;color:var(--muted);font-size:12px}
@media(max-width:1250px){.invoice-item{grid-template-columns:28px 1fr 1.4fr repeat(4,.65fr) 28px}.invoice-item .small-field,.invoice-item .line-total{grid-row:2}.invoice-item .remove-item{grid-column:-2}.product-picker{grid-column:2/4}.description{grid-column:4/-1}}
@media(max-width:760px){.invoice-bottom{grid-template-columns:1fr}.invoice-item{grid-template-columns:28px 1fr 1fr}.product-picker{grid-column:2/4}.description{grid-column:1/4}.invoice-item .small-field,.invoice-item .money-field,.invoice-item .discount-type,.invoice-item .line-total{grid-row:auto}.remove-item{grid-column:3}.invoice-paper{min-height:0;padding:28px 20px}.invoice-head,.invoice-actions{align-items:flex-start}.invoice-info,.invoice-total-section{grid-template-columns:1fr}.invoice-info{gap:22px}.invoice-total-section{gap:20px}.invoice-table{min-width:720px}.payment-form{grid-template-columns:1fr 1fr}.payment-form .span-2{grid-column:span 2}.action-buttons{flex-wrap:wrap;justify-content:flex-end}}
@media print{@page{size:A4;margin:12mm}body{background:#fff}.sidebar,.topbar,.no-print,.sidebar-backdrop{display:none!important}.app-shell{display:block}.page-content{padding:0;max-width:none}.invoice-paper{width:100%;min-height:0;margin:0;border:0;box-shadow:none;padding:0}.invoice-table-wrap{overflow:visible}.invoice-table{min-width:0}.invoice-table tr{break-inside:avoid}.invoice-total-section{break-inside:avoid}.invoice-head{padding-top:0}}
.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.template-card h3{margin:5px 0}.field-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.field-chips>span{padding:7px 9px;border:1px solid var(--line);border-radius:8px;font-size:11px;font-weight:700}.field-chips small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.template-builder{padding:0}.template-builder>.card-heading{padding:21px 23px;border-bottom:1px solid var(--line)}.template-field{display:grid;grid-template-columns:1.5fr .7fr 1fr auto 38px;align-items:end;gap:12px;padding:16px 22px;border-bottom:1px solid var(--line)}.check-field{display:flex;align-items:center;gap:7px;height:40px;font-size:11px;font-weight:700}
@media(max-width:900px){.template-grid{grid-template-columns:1fr 1fr}.template-field{grid-template-columns:1fr 1fr}.template-field .remove-item{grid-column:2;justify-self:end;width:38px}}
@media(max-width:560px){.template-grid{grid-template-columns:1fr}.template-field{grid-template-columns:1fr}.template-field .remove-item{grid-column:auto}}
.custom-field-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:13px;background:#f8f9fc;border-radius:10px}.custom-field-row[hidden]{display:none}@media(max-width:760px){.custom-field-row{grid-template-columns:1fr 1fr}}@media(max-width:430px){.custom-field-row{grid-template-columns:1fr}}.button.whatsapp{background:#108a61;color:#fff}.settings-sections{display:grid;gap:18px;max-width:920px}.settings-sections h3{margin:5px 0 18px}.announcement-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(12,17,30,.65);backdrop-filter:blur(6px)}.announcement-modal{width:min(520px,100%);background:#fff;border-radius:22px;padding:30px;box-shadow:0 25px 80px rgba(0,0,0,.3)}.announcement-modal h2{margin:7px 0 14px}.announcement-body{color:var(--muted);font-size:14px;line-height:1.7}.announcement-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.announcement-admin-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:18px}.announcement-admin-grid h3{margin:5px 0}.target-picker>span{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.target-picker>div{max-height:190px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px}.target-picker label{display:flex;gap:9px;padding:8px}.target-picker label span,.target-picker label small{display:block}.target-picker label small{color:var(--muted);margin-top:2px}@media(max-width:850px){.announcement-admin-grid{grid-template-columns:1fr}}
