:root{--sidebar-w:238px;--sidebar-w-collapsed:68px;--topbar-h:58px;--bg:#f7f8fa;--card:#ffffff;--border:#e7ebf0;--text:#0f172a;--text-muted:#64748b;--primary:#0e8e6d;--primary-2:#0b6b52;--primary-soft:#e4f2ec;--gold:#c9a14a;--danger:#dc2626;--warn:#d97706;--info:#2563eb;--radius:12px;--shadow-xs:0 1px 2px rgba(16,24,40,0.05);--shadow-sm:0 1px 3px rgba(16,24,40,0.07),0 1px 2px rgba(16,24,40,0.04);--shadow-md:0 6px 16px rgba(16,24,40,0.08),0 2px 5px rgba(16,24,40,0.04);--shadow-lg:0 16px 36px rgba(16,24,40,0.14);--ring:0 0 0 3px rgba(14,142,109,0.16);--ease:cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box}body,html{max-width:100vw}body{font-family:var(--font-inter),"Inter",system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:.85rem;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}::selection{background:rgba(14,142,109,.18);color:var(--primary-2)}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px;border:2px solid transparent;background-clip:content-box}.ob-layout{display:flex;min-height:100vh}.ob-sidebar{width:var(--sidebar-w);height:100vh;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:100;overflow:hidden}.sidebar-brand{padding:0 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;height:var(--topbar-h);flex-shrink:0}.brand-mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--primary),var(--gold));display:grid;place-items:center;color:#fff;font-weight:800;flex-shrink:0}.brand-name{font-size:.95rem;font-weight:800;letter-spacing:.2px}.brand-name span{background:linear-gradient(135deg,#0e8e6d,#c9a14a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand-sub{font-size:.6rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;display:block}.sidebar-search{display:flex;align-items:center;gap:7px;height:34px;margin:10px 12px 2px;padding:0 10px;border-radius:9px;border:1px solid var(--border);background:#f8fafc;color:var(--text-muted)}.sidebar-search:focus-within{border-color:var(--primary);background:#fff}.sidebar-search input{border:none;outline:none;background:transparent;font-size:.8rem;width:100%;color:var(--text)}.nav-results{padding:4px 0}.nav-empty{padding:14px 22px;font-size:.8rem;color:var(--text-muted)}.sidebar-nav{padding:6px 0 10px;flex:1 1;min-height:0;overflow-y:auto}.nav-section-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8;font-weight:700;padding:12px 22px 5px}.nav-section+.nav-section{margin-top:2px}.nav-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;transition:color .13s var(--ease)}.nav-section-toggle:hover{color:var(--primary)}.nav-section-toggle .nav-caret{margin-right:12px}.nav-item{margin:1px 10px}.nav-item a{display:flex;align-items:center;gap:11px;border-radius:9px;padding:7px 10px;color:#475569;font-size:.82rem;font-weight:500;position:relative;transition:all .13s var(--ease)}.nav-item a:hover{color:var(--primary);background:#f1f5f9}.nav-item a.active{color:var(--primary-2);background:linear-gradient(90deg,#e4f2ec,#eff7f3);font-weight:600;box-shadow:inset 0 0 0 1px rgba(14,142,109,.12)}.nav-item a.active:before{content:"";position:absolute;left:-10px;top:7px;bottom:7px;width:3px;background:linear-gradient(180deg,var(--primary),var(--gold));border-radius:0 3px 3px 0}.nav-icon{width:20px;height:20px;flex-shrink:0;display:inline-flex}.nav-icon svg{width:18px;height:18px}.nav-group{margin:1px 10px}.nav-group-toggle{display:flex;align-items:center;gap:11px;width:100%;border-radius:9px;padding:7px 10px;color:#475569;font-size:.82rem;font-weight:500;background:none;border:none;cursor:pointer;text-align:left;transition:all .13s var(--ease)}.nav-group-toggle:hover{color:var(--primary);background:#f1f5f9}.nav-group-toggle .nav-label{flex:1 1}.nav-group-toggle.has-active{color:var(--primary-2);font-weight:600}.nav-caret{flex-shrink:0;color:#94a3b8;transition:transform .16s var(--ease)}.nav-caret.open{transform:rotate(180deg)}.nav-children{margin:2px 0 4px 19px;padding-left:8px;border-left:1px solid var(--border)}.nav-children .nav-group,.nav-children .nav-item{margin-left:0;margin-right:0}.nav-children .nav-group-toggle,.nav-children .nav-item a{font-size:.8rem;padding:6px 10px}.ob-main{flex:1 1;min-width:0;margin-left:var(--sidebar-w);display:flex;flex-direction:column}.ob-topbar{height:var(--topbar-h);background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:14px;padding:0 20px}.tb-title{font-size:.98rem;font-weight:700}.tb-spacer{flex:1 1}.tb-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:9px;font-size:.8rem;font-weight:600;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer;transition:all .13s var(--ease)}.tb-btn:hover{border-color:#cbd5e1;background:#f8fafc}.tb-btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border-color:transparent;box-shadow:var(--shadow-sm)}.tb-cmdk{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;border-radius:9px;font-size:.8rem;font-weight:600;color:var(--text-muted);background:#f8fafc;border:1px solid var(--border);cursor:pointer}.tb-cmdk:hover{border-color:var(--primary);color:var(--primary-2)}.tb-cmdk svg{color:var(--gold)}.tb-cmdk kbd{font-size:.66rem;border:1px solid var(--border);border-radius:5px;padding:1px 5px;background:#fff}@media (max-width:720px){.tb-cmdk-label{display:none}}.tb-btn.primary:hover{filter:brightness(1.05)}.tb-icon-btn{width:36px;height:36px;border-radius:9px;border:1px solid var(--border);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--text-muted);position:relative}.tb-icon-btn:hover{background:#f8fafc;color:var(--primary)}.tb-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--gold));color:#fff;display:grid;place-items:center;font-weight:700;font-size:.78rem;cursor:pointer}.ob-content{padding:18px 24px 40px;min-width:0}.ob-app{min-height:100vh}.ob-header{position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.ob-header,.ob-header .ob-topbar{background:#fff;border-bottom:1px solid var(--border)}.ob-header .ob-topbar{-webkit-backdrop-filter:none;backdrop-filter:none}.ob-brand{display:flex;align-items:center;gap:10px;padding-right:6px}.ob-brand .brand-mark{width:30px;height:30px;font-size:.9rem}.ob-brand-text{display:flex;flex-direction:column;line-height:1.05}.ob-brand .brand-name{font-size:.86rem}.ob-burger{display:none}.ob-search{position:relative;display:flex;align-items:center;gap:7px;height:34px;padding:0 10px;width:210px;border-radius:9px;border:1px solid var(--border);background:#f8fafc;color:var(--text-muted)}.ob-search:focus-within{border-color:var(--primary);background:#fff}.ob-search input{border:none;outline:none;background:transparent;font-size:.8rem;width:100%;color:var(--text)}.ob-search-clear{border:none;background:none;cursor:pointer;color:var(--text-muted);display:grid;place-items:center}.ob-search-res{position:absolute;top:40px;left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:5px;z-index:130;max-height:340px;overflow-y:auto}.ob-search-res a{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:7px;font-size:.8rem;color:var(--text)}.ob-search-res a:hover{background:#f1f5f9;color:var(--primary-2)}.ob-menubar{display:flex;align-items:center;gap:2px;padding:5px 14px;overflow-x:auto;scrollbar-width:thin}.mb-cat-btn,.mb-link{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;height:32px;padding:0 11px;border-radius:8px;border:none;background:none;color:#475569;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .13s var(--ease)}.mb-cat-btn:hover,.mb-link:hover{background:#f1f5f9;color:var(--primary)}.mb-cat-btn.active,.mb-link.active{background:linear-gradient(90deg,#e4f2ec,#eff7f3);color:var(--primary-2);box-shadow:inset 0 0 0 1px rgba(14,142,109,.12)}.mb-cat-btn.open{background:#eef2f6;color:var(--primary-2)}.mb-cat{position:relative}.mega{position:absolute;top:calc(100% + 6px);left:0;z-index:120;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:12px;animation:megaIn .12s var(--ease)}@keyframes megaIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mega-grid{display:flex;gap:18px;max-width:760px;flex-wrap:wrap}.mega-col{min-width:178px}.mega-col-h{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#94a3b8;padding:2px 8px 6px}.mega-link{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:8px;font-size:.8rem;color:#475569;font-weight:500}.mega-link:hover{background:#f1f5f9;color:var(--primary)}.mega-link.active{color:var(--primary-2);background:#eef7f2;font-weight:600}.ob-menu-overlay{position:fixed;inset:0;z-index:90}@media (max-width:900px){.ob-burger{display:grid}.ob-brand-text,.tb-title{display:none}.ob-search{width:150px}.ob-menubar{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);max-height:70vh;overflow-y:auto;display:none}.ob-menubar.open{display:flex}.mb-cat{width:100%}.mb-cat-btn,.mb-link{width:100%;justify-content:space-between;height:38px}.mega{position:static;box-shadow:none;border:none;border-radius:0;padding:4px 4px 10px 18px}.mega-grid{flex-direction:column;gap:8px}}.acc-wrap{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}.acc-users{padding:10px}.acc-users-h{display:flex;justify-content:space-between;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;padding:4px 8px 8px}.acc-new-btn,.acc-users-h{align-items:center;font-weight:700}.acc-new-btn{display:inline-flex;gap:5px;border:none;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border-radius:8px;padding:6px 12px;font-size:.72rem;letter-spacing:0;text-transform:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:filter .13s var(--ease)}.acc-new-btn:hover{filter:brightness(1.06)}.acc-new-btn svg{width:14px;height:14px;flex-shrink:0}.acc-users-list{display:flex;flex-direction:column;gap:2px;max-height:70vh;overflow-y:auto}.acc-user{text-align:left;border:none;background:none;padding:8px 10px;border-radius:9px;cursor:pointer}.acc-user:hover{background:#f1f5f9}.acc-user.active{background:linear-gradient(90deg,#e4f2ec,#eff7f3);box-shadow:inset 0 0 0 1px rgba(14,142,109,.12)}.acc-user-name{font-size:.83rem;font-weight:600;color:var(--text)}.acc-user-sub{font-size:.7rem;color:var(--text-muted)}.acc-role{text-transform:capitalize}.acc-matrix{padding:14px 16px 18px;min-height:200px}.acc-hint{flex-direction:column;gap:10px;justify-content:center;text-align:center;color:var(--text-muted);padding:50px 20px}.acc-bar,.acc-hint{display:flex;align-items:center}.acc-bar{justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.acc-bar-name{font-size:1rem;font-weight:700}.acc-bar-sub{font-size:.76rem;color:var(--text-muted)}.acc-bar-actions{display:flex;gap:8px}.acc-msg{background:#eef7f2;color:var(--primary-2);border-radius:8px;padding:7px 11px;font-size:.78rem;margin-bottom:10px}.acc-search{display:flex;align-items:center;gap:7px;height:34px;padding:0 10px;border-radius:9px;border:1px solid var(--border);background:#f8fafc;color:var(--text-muted);margin-bottom:12px;max-width:320px}.acc-search input{border:none;outline:none;background:transparent;font-size:.8rem;width:100%}.acc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.acc-sec{border:1px solid var(--border);border-radius:11px;padding:8px}.acc-check{display:flex;align-items:center;gap:8px;padding:5px 7px;border-radius:7px;font-size:.8rem;cursor:pointer}.acc-check:hover{background:#f8fafc}.acc-check input{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.acc-sec-head{font-weight:700;color:var(--text);text-transform:uppercase;font-size:.68rem;letter-spacing:.05em}.acc-grp{margin:2px 0 2px 6px;padding-left:6px;border-left:1px solid var(--border)}.acc-grp-head{font-weight:600}.acc-leaf{color:#475569}.acc-leaf.solo{margin-left:6px}.spin{animation:spin .8s linear infinite}@keyframes as-side-pending{0%{transform:translateX(-100%)}to{transform:translateX(250%)}}@media (max-width:720px){.acc-wrap{grid-template-columns:1fr}}.bp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.bp-card{padding:14px;display:flex;flex-direction:column;gap:10px}.bp-card-top{display:flex;gap:10px;align-items:flex-start}.bp-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;color:#fff}.bp-icon.co{background:linear-gradient(135deg,var(--primary),var(--primary-2))}.bp-icon.free{background:linear-gradient(135deg,var(--gold),#b8862f)}.bp-name{font-weight:700;font-size:.9rem}.bp-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.bp-lines{font-size:.76rem;display:flex;flex-direction:column;gap:2px}.bp-actions{display:flex;gap:8px;margin-top:auto;padding-top:4px}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.page-title{font-size:1.12rem;font-weight:700;letter-spacing:-.015em;line-height:1.25;margin:0}.page-sub{color:var(--text-muted);font-size:.82rem;margin-top:2px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:16px 18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;border-bottom:1px solid var(--border)}.card-title{font-size:.86rem;font-weight:700}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:12px}.kpi{background:var(--card);border:1px solid var(--border);border-radius:11px;padding:13px 14px;box-shadow:var(--shadow-xs);position:relative;overflow:hidden;transition:border-color .13s,box-shadow .13s}a:hover>.kpi{border-color:#d6dde4;box-shadow:var(--shadow-sm)}.kpi-top{display:flex;align-items:center;justify-content:space-between}.kpi-label{font-size:.67rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.kpi-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-2)}.kpi-icon svg{width:15px;height:15px}.kpi-value{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;margin-top:6px;line-height:1.1}.kpi-foot{font-size:.7rem;color:var(--text-muted);margin-top:3px}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:.7rem;font-weight:700;line-height:1.6;text-transform:capitalize}.badge-green{background:#dcfce7;color:#15803d}.badge-gold{background:#fdf0d5;color:#a16207}.badge-red{background:#fee2e2;color:#b91c1c}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-gray{background:#f1f5f9;color:#475569}.badge-purple{background:#ede9fe;color:#6d28d9}.tbl-wrap{overflow-x:auto;border-radius:var(--radius)}table.tbl{width:100%;border-collapse:collapse;font-size:.8rem}table.tbl th{text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700;padding:10px 14px;border-bottom:1px solid var(--border);background:#fafbfc;white-space:nowrap}table.tbl td{padding:11px 14px;border-bottom:1px solid #f1f5f9;vertical-align:middle}table.tbl tbody tr:hover{background:#f8fafc}table.tbl tbody tr:last-child td{border-bottom:none}table.table{width:100%;border-collapse:collapse;font-size:.8rem}table.table th{text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700;padding:10px 14px;border-bottom:1px solid var(--border);background:#fafbfc;white-space:nowrap}table.table td{padding:11px 14px;border-bottom:1px solid #f1f5f9;vertical-align:middle}table.table tbody tr:hover{background:#f8fafc}table.table tbody tr:last-child td{border-bottom:none}table.table td[style*=right],table.table th[style*=right]{padding-right:16px}.tbl-empty{padding:40px;text-align:center;color:var(--text-muted)}.field{margin-bottom:14px}.label{display:block;font-size:.76rem;font-weight:600;color:#334155;margin-bottom:5px}.input,.select,.textarea{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 11px;font-size:.82rem;background:#fff;color:var(--text);transition:border .13s,box-shadow .13s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.textarea{resize:vertical;min-height:80px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 16px;border-radius:9px;font-size:.82rem;font-weight:600;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer;transition:all .13s var(--ease);white-space:nowrap}.btn:hover{border-color:#cbd5e1;background:#f8fafc}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{color:#fff;border-color:transparent;box-shadow:var(--shadow-sm)}.btn-primary,.btn-primary:hover{background:linear-gradient(135deg,var(--primary),var(--primary-2))}.btn-primary:hover{filter:brightness(1.05)}.btn-danger{background:#fff;color:var(--danger);border-color:#fecaca}.btn-danger:hover{background:#fef2f2}.btn-sm{height:32px;padding:0 12px;font-size:.76rem}.btn-ghost{background:transparent}.btn-ghost,.btn-gold{border-color:transparent}.btn-gold{background:linear-gradient(135deg,var(--gold),#b8862f);color:#fff}.chip,.muted{color:var(--text-muted)}.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.76rem;font-weight:600;border:1px solid var(--border);background:#fff;cursor:pointer}.chip.active{background:var(--primary-soft);color:var(--primary-2);border-color:rgba(14,142,109,.25)}.divider{height:1px;background:var(--border);margin:14px 0}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.spin{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.flash{padding:11px 14px;border-radius:9px;font-size:.82rem;font-weight:500;margin-bottom:14px}.flash-ok{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.flash-err{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.inv-doc{max-width:820px;margin:24px auto;padding:0 16px}.inv-sheet{background:#fff;border:1px solid var(--border);border-radius:12px;padding:40px 44px;box-shadow:var(--shadow-sm)}.inv-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid var(--primary);padding-bottom:18px;margin-bottom:22px}.inv-company{font-size:1.3rem;font-weight:800;color:var(--primary-2)}.inv-title{font-size:1.6rem;font-weight:800;letter-spacing:.1em;color:var(--text)}.inv-no{font-weight:700;color:var(--primary-2);margin:2px 0 6px}.inv-muted{font-size:.8rem}.inv-label,.inv-muted{color:var(--text-muted)}.inv-label{font-size:.66rem;font-weight:700;letter-spacing:.08em;margin-bottom:3px}.inv-billto{margin-bottom:20px}.inv-status{display:inline-block;margin-top:8px;padding:3px 12px;border-radius:999px;font-size:.66rem;font-weight:800;background:#dbeafe;color:#1d4ed8}.inv-status.inv-paid{background:#dcfce7;color:#15803d}.inv-status.inv-overdue{background:#fee2e2;color:#b91c1c}.inv-status.inv-cancelled,.inv-status.inv-draft{background:#f1f5f9;color:#475569}table.inv-table{width:100%;border-collapse:collapse;margin-bottom:18px;font-size:.85rem}table.inv-table th{background:#f8fafc;padding:10px 12px;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:2px solid var(--border)}table.inv-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9}.inv-totals{display:flex;justify-content:flex-end}.inv-totals table{width:290px;font-size:.85rem}.inv-totals td{padding:5px 12px}.inv-totals td:last-child{text-align:right;font-weight:600}.inv-totals .inv-grand td{border-top:2px solid var(--border);font-size:1.05rem;font-weight:800;padding-top:8px}.inv-totals .inv-due td{color:var(--danger);font-weight:700}.inv-foot{margin-top:26px;border-top:1px solid var(--border);padding-top:16px}.inv-terms{margin-top:18px;font-size:.74rem}.inv-credit{margin-top:22px;text-align:center;font-size:.72rem}.inv-logo{max-width:190px;max-height:62px;object-fit:contain;display:block;margin-bottom:10px}.inv-from{min-width:0;padding-right:18px}.inv-words{margin-top:6px;font-size:.78rem}.inv-words .inv-label{display:inline;margin-right:6px}.inv-bank div{line-height:1.55}.inv-close{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-top:22px;page-break-inside:avoid;break-inside:avoid}.inv-terms-col{flex:1 1;min-width:0}.inv-sign{width:210px;flex-shrink:0;text-align:center}.inv-sign-line{border-top:1px solid var(--border);margin:46px 0 6px}@page{size:A4;margin:14mm 12mm}@media print{.no-print{display:none!important}body,html{background:#fff}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.inv-doc{margin:0;max-width:none;padding:0}.inv-sheet{border:none;box-shadow:none;border-radius:0;padding:0}table.inv-table thead{display:table-header-group}table.inv-table tfoot{display:table-footer-group}.inv-billto,.inv-credit,.inv-foot,.inv-head,.inv-totals,table.inv-table tr{page-break-inside:avoid;break-inside:avoid}.inv-head{color:#000}.ob-sidebar,.ob-topbar{display:none!important}.ob-main{margin-left:0!important}}@media (max-width:980px){.dash-grid{grid-template-columns:1fr!important}}@media (max-width:880px){.ob-sidebar{transform:translateX(-100%);transition:transform .22s var(--ease)}.ob-sidebar.open{transform:translateX(0)}.ob-main{margin-left:0}.ob-topbar [data-mobile-toggle]{display:grid!important}}:root{--ash-primary:#059669;--ash-primary-2:#10b981;--ash-soft:rgba(5,150,105,0.10);--ash-text:#0f172a;--ash-text-soft:#475569;--ash-muted:#94a3b8;--ash-muted-2:#64748b;--ash-bg:#f5f7fb;--ash-card:#ffffff;--ash-side-bg:#ffffff;--ash-border:#e6e8ee;--ash-border-2:#eef0f5;--ash-radius:12px;--ash-radius-sm:9px;--ash-side-w:72px;--ash-side-w-exp:240px;--ash-header-h:50px}:root[data-theme=dark]{--ash-text:#e6e9f2;--ash-text-soft:#c2cad9;--ash-muted:#7c879c;--ash-muted-2:#9aa6bb;--ash-bg:#0b1120;--ash-card:#141b2c;--ash-side-bg:#141d33;--ash-border:#283248;--ash-border-2:#1e2740;--ash-soft:rgba(255,255,255,0.06)}:root[data-accent=indigo]{--ash-primary:#4f46e5;--ash-primary-2:#6366f1}:root[data-accent=violet]{--ash-primary:#7c3aed;--ash-primary-2:#a855f7}:root[data-accent=emerald]{--ash-primary:#059669;--ash-primary-2:#10b981}:root[data-accent=rose]{--ash-primary:#e11d48;--ash-primary-2:#f43f5e}:root[data-accent=amber]{--ash-primary:#d97706;--ash-primary-2:#f59e0b}:root[data-accent=sky]{--ash-primary:#0284c7;--ash-primary-2:#0ea5e9}.cw{display:flex;align-items:flex-start;gap:12px}.cw-side{flex:0 0 auto;width:232px;align-self:stretch;position:sticky;top:calc(var(--topbar-h) + 12px);max-height:calc(100vh - var(--topbar-h) - 24px);overflow-y:auto;background:var(--card,#fff);border:1px solid var(--border,#e7ebf0);border-radius:var(--radius,12px);box-shadow:var(--shadow-sm);padding:10px;display:flex;flex-direction:column;gap:10px;transition:width .18s var(--ease,ease)}.cw-rail .cw-side{width:60px;padding:10px 8px;align-items:center}.cw-main{flex:1 1;min-width:0}.cw-side-head{display:flex;align-items:center;gap:8px;min-height:34px}.cw-rail .cw-side-head{flex-direction:column;gap:6px}.cw-side-title{font-weight:700;font-size:.9rem}.cw-toggle{padding:6px 8px}.cw-dot{width:7px;height:7px;border-radius:50%;background:var(--primary,#0e8e6d);display:block}.cw-sec{display:flex;flex-direction:column;gap:7px}details.cw-sec{display:block}.cw-sec-body{display:flex;flex-direction:column;gap:7px;margin-top:7px}.cw-sec+.cw-sec{border-top:1px solid var(--border,#e7ebf0);padding-top:10px}.cw-sec-h{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#64748b)}summary.cw-sec-h{cursor:pointer;list-style:none;display:flex;align-items:center;gap:5px;-webkit-user-select:none;user-select:none;padding:1px 0}summary.cw-sec-h::-webkit-details-marker{display:none}summary.cw-sec-h:before{content:"";width:0;height:0;border-left:4px solid;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;opacity:.65;transition:transform .15s var(--ease,ease);flex:0 0 auto}details.cw-sec[open]>summary.cw-sec-h:before{transform:rotate(90deg)}summary.cw-sec-h:hover{color:var(--text,#0f172a)}.cw-row{display:flex;gap:6px;flex-wrap:wrap}.cw-side .input,.cw-side .select{width:100%}.cw-dates{display:flex;align-items:center;gap:6px}.cw-dates .input{min-width:0;flex:1 1}.cw-search{position:relative}.cw-search .input{padding-left:30px;padding-right:28px}.cw-search-ic{left:9px;pointer-events:none}.cw-search-ic,.cw-search-x{position:absolute;top:50%;transform:translateY(-50%);color:var(--text-muted,#64748b)}.cw-search-x{right:6px;background:none;border:none;cursor:pointer;padding:2px;display:inline-flex}.cw-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:7px}.cw-stat{display:flex;flex-direction:column;gap:1px;padding:5px 7px;border:1px solid var(--border-2,var(--border,#eef0f5));border-radius:8px;background:var(--bg-subtle,#f8fafc);min-width:0}.cw-stat:hover{border-color:var(--border,#d8dde6)}.cw-stat-ic{display:inline-flex;color:var(--text-muted,#94a3b8);flex:0 0 auto}.cw-stat-label{min-width:0;font-size:.65rem;line-height:1.2;color:var(--text-muted,#64748b);display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cw-stat-val{font-weight:700;font-size:.95rem;line-height:1.15;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cw-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cw-tool{width:100%;justify-content:flex-start;height:30px;padding:0 8px;font-size:.72rem;gap:5px;min-width:0;overflow:hidden}.cw-rail-btn{width:38px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border,#e7ebf0);border-radius:9px;background:var(--card,#fff);color:var(--text,#0f172a);cursor:pointer}.cw-rail-btn:hover{background:var(--bg-subtle,#f5f7fb)}.cw-rail-on{border-color:var(--primary,#0e8e6d);color:var(--primary,#0e8e6d)}.cw-burger,.cw-scrim{display:none}@media (max-width:900px){.cw-side{position:fixed;left:0;top:0;bottom:0;z-index:190;width:280px;max-height:100vh;border-radius:0;transform:translateX(-102%);transition:transform .2s var(--ease,ease)}.cw-rail .cw-side{width:280px;padding:12px;align-items:stretch}.cw-side-open{transform:translateX(0);box-shadow:var(--shadow-lg)}.cw-scrim{display:block;position:fixed;inset:0;background:rgba(15,23,42,.4);z-index:189}.cw-burger{display:inline-flex}}.cw-tabs{display:flex;gap:2px;margin-bottom:12px;overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid var(--border,#e7ebf0)}.cw-tabs::-webkit-scrollbar{height:5px}.cw-tabs::-webkit-scrollbar-thumb{background:var(--border,#dbe1e8);border-radius:3px}.cw-tab{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;height:32px;padding:0 10px;border:none;border-bottom:2px solid transparent;background:none;color:var(--text-muted,#64748b);font-size:.775rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .13s var(--ease,ease),border-color .13s var(--ease,ease)}.cw-tab:hover{color:var(--text,#0f172a)}.cw-tab-on{color:var(--primary,#0e8e6d);border-bottom-color:var(--primary,#0e8e6d)}.cw-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.cw-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (max-width:1100px){.cw-grid-4{grid-template-columns:repeat(3,1fr)}}@media (max-width:820px){.cw-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.cw-grid-2,.cw-grid-4{grid-template-columns:1fr}}.cw-tbl table.tbl{font-size:.775rem}.cw-tbl table.tbl th{padding:7px 10px;overflow:hidden;text-overflow:ellipsis}.cw-tbl table.tbl td{padding:7px 10px;vertical-align:top;line-height:1.35}.cw-tbl table.tbl td img{width:34px!important;height:34px!important}.cw-tbl .btn{height:26px;font-size:.7rem}.cw-tbl table.tbl{table-layout:fixed}.cw-c-biz{width:12%}.cw-c-plat{width:9%}.cw-c-topic{width:12%}.cw-c-content{width:23%}.cw-c-date,.cw-c-media,.cw-c-status{width:12%}.cw-c-act{width:150px}.cw-tbl table.tbl td:nth-child(-n+7){overflow:hidden}.cw-tbl table.tbl td:nth-child(7){white-space:nowrap}.cw-tbl table.tbl{min-width:1040px}.cw-clamp1,.cw-clamp2{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.cw-clamp1{-webkit-line-clamp:1}.cw-clamp2{-webkit-line-clamp:2}.cw-content{color:var(--text,#0f172a)}.cw-biz{line-height:1.3}.cw-status{display:flex;flex-wrap:wrap;gap:3px;align-items:center}.cw-flag{display:inline-flex;align-items:center;gap:2px;padding:0 4px;border-radius:999px;font-size:.58rem;font-weight:700;line-height:1.55;background:var(--bg-subtle,#f1f5f9);color:var(--text-muted,#64748b);border:1px solid var(--border-2,#e9edf3);white-space:nowrap}.cw-flag-link{text-decoration:none}.cw-flag-link:hover{color:var(--primary,#0e8e6d);border-color:var(--primary,#0e8e6d)}.tbl-act-cell{text-align:right;width:1%;white-space:nowrap}.tbl-actions{display:inline-grid;grid-template-columns:repeat(4,auto);gap:3px;justify-content:end;justify-items:stretch}.tbl-actions .btn{padding:0 6px;min-width:27px;height:26px;justify-content:center}@media (max-width:1200px){.tbl-actions{grid-template-columns:repeat(3,auto)}.cw-tbl .tbl-actions{grid-template-columns:repeat(4,auto)}}.mkt-table{display:flex;flex-direction:column;gap:10px}.mkt-table-bar{gap:10px;justify-content:space-between;flex-wrap:wrap}.mkt-search,.mkt-table-bar{display:flex;align-items:center}.mkt-search{gap:6px;flex:1 1 260px;max-width:420px;position:relative}.mkt-search .input{flex:1 1;padding-left:8px}.mkt-search>svg{position:absolute;left:10px;opacity:.55;pointer-events:none}.mkt-search .input{padding-left:30px}.mkt-clear{position:absolute;right:8px;background:none;border:0;cursor:pointer;opacity:.6;display:flex}.mkt-table-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.mkt-pop-wrap{position:relative}.mkt-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:220px;max-height:320px;overflow:auto;background:var(--ash-card,#fff);border:1px solid var(--ash-line,#e5e7eb);border-radius:10px;box-shadow:0 12px 32px -12px rgba(15,23,42,.35);padding:4px}.mkt-pop-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px}.mkt-pop-row:hover{background:var(--ash-hover,rgba(99,102,241,.08))}.mkt-pop-link{flex:1 1;text-align:left;font:inherit;color:inherit}.mkt-pop-link,.mkt-pop-x{background:none;border:0;cursor:pointer}.mkt-pop-x{opacity:.55;display:flex}.mkt-sort{display:inline-flex;margin-left:4px;vertical-align:middle;opacity:.6}.mkt-table-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}.mkt-skel{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,rgba(148,163,184,.18),rgba(148,163,184,.35),rgba(148,163,184,.18));background-size:200% 100%;animation:mkt-shimmer 1.2s infinite}@keyframes mkt-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mkt-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px}.mkt-status-queued{background:rgba(59,130,246,.12);color:#1d4ed8}.mkt-status-running{background:rgba(245,158,11,.14);color:#b45309}.mkt-status-active,.mkt-status-done{background:rgba(16,185,129,.14);color:#047857}.mkt-status-failed{background:rgba(239,68,68,.14);color:#b91c1c}.mkt-status-archived,.mkt-status-cancelled,.mkt-status-paused{background:rgba(100,116,139,.14);color:#475569}.mkt-progress{height:6px;background:rgba(148,163,184,.25);border-radius:3px;overflow:hidden;min-width:90px}.mkt-progress>i{display:block;height:100%;background:linear-gradient(90deg,#7c3aed,#a855f7)}.mkt-log{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:rgba(15,23,42,.04);border-radius:8px;padding:10px;max-height:320px;overflow:auto;white-space:pre-wrap}.mkt-log .warn{color:#b45309}.mkt-log .error{color:#b91c1c}.mkt-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,max-content));gap:10px 22px;margin:0}.ui-loading{padding:28px;text-align:center;color:var(--text-muted);font-size:.85rem}.ui-error{margin:0;color:var(--danger);font-size:.8rem;font-weight:600}.split-2-1{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width:900px){.split-2-1{grid-template-columns:minmax(0,1fr)}}