:root{--red:#c91f28;--red-dark:#9f1720;--red-soft:#fff0f1;--red-ring:#c91f282e;--bg:#f8fafc;--surface:#fff;--surface-muted:#f1f5f9;--border:#e5e7eb;--border-strong:#d1d5db;--text:#111827;--muted:#64748b;--faint:#94a3b8;--green:#15803d;--green-soft:#ecfdf3;--amber:#b45309;--amber-soft:#fff8e6;--danger:#b42318;--danger-soft:#fef3f2;--radius-sm:10px;--radius:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #1018280d;--shadow-md:0 8px 24px #10182814;--shadow-lg:0 24px 56px #1018282e;--ease:.16s cubic-bezier(.2, 0, 0, 1);--sidebar-width:256px;--sidebar-collapsed:76px;--touch:40px;font-feature-settings:"cv11", "ss01";color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);margin:0;font-size:14px}body.scroll-locked{overflow:hidden}h1{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:650;line-height:1.25}h2{letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:600}p{margin:0}a{color:var(--red)}:focus-visible{outline:2px solid var(--red);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.8125rem}.mono{overflow-wrap:anywhere;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8125rem}.shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;transition:grid-template-columns var(--ease);display:grid}.shell[data-collapsed=true]{grid-template-columns:var(--sidebar-collapsed) minmax(0, 1fr)}.main-area{flex-direction:column;min-width:0;display:flex}.content{width:100%;max-width:1360px;margin:0 auto;padding:28px 32px 48px;animation:.22s ease-out page-in}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}}.sidebar{z-index:30;background:var(--surface);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0}.sidebar-head{justify-content:space-between;align-items:center;min-height:44px;margin-bottom:20px;padding:0 6px;display:flex}.brand{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:11px;min-width:0;font-weight:650;line-height:1.2;display:flex}.brand small{color:var(--muted);letter-spacing:0;margin-top:2px;font-size:.75rem;font-weight:500;display:block}.brand-mark{object-fit:cover;background:#fff;border-radius:11px;flex:none;width:36px;height:36px;display:block;box-shadow:0 1px 3px #00000029}.sidebar nav{flex-direction:column;flex:1;gap:22px;min-height:0;display:flex}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-title{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;padding:0 12px 6px;font-size:.6875rem;font-weight:600}.nav-link{border-radius:var(--radius-sm);color:#475569;white-space:nowrap;min-height:40px;transition:background var(--ease), color var(--ease);align-items:center;gap:11px;padding:0 12px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-link svg{flex:none;width:18px;height:18px}.nav-link:hover{background:var(--surface-muted);color:var(--text)}.nav-link.active{background:var(--red-soft);color:var(--red);font-weight:600}.sidebar-foot{border-top:1px solid var(--border);padding-top:12px}.sidebar-toggle{border-radius:var(--radius-sm);width:100%;min-height:40px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;transition:background var(--ease), color var(--ease);background:0 0;border:0;align-items:center;gap:11px;padding:0 12px;font-weight:500;display:flex}.sidebar-toggle:hover{background:var(--surface-muted);color:var(--text)}.sidebar-toggle svg{flex:none;width:18px;height:18px}.drawer-close,.shell[data-collapsed=true] .brand-text,.shell[data-collapsed=true] .nav-label,.shell[data-collapsed=true] .nav-title{display:none}.shell[data-collapsed=true] .sidebar-head,.shell[data-collapsed=true] .nav-link,.shell[data-collapsed=true] .sidebar-toggle{justify-content:center;padding:0}.shell[data-collapsed=true] .nav-group+.nav-group{border-top:1px solid var(--border);padding-top:18px}.tenant-switcher{margin-bottom:20px;position:relative}.tenant-trigger{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:52px;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background var(--ease), border-color var(--ease);align-items:center;gap:11px;padding:6px 12px;display:flex;position:relative}.tenant-trigger:hover,.tenant-trigger[aria-expanded=true]{border-color:color-mix(in srgb, var(--red) 35%, var(--border));background:var(--surface-muted)}.tenant-trigger>svg{width:18px;height:18px;color:var(--red);flex:none}.tenant-trigger>svg:last-child{color:var(--muted)}.tenant-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.tenant-text span{color:var(--muted);font-size:.75rem}.tenant-text strong{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.tenant-menu{z-index:40;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:280px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-md);flex-direction:column;gap:8px;padding:12px 8px 8px;animation:.14s ease-out pop-in;display:flex;position:absolute;top:calc(100% + 6px);left:0}.tenant-menu .nav-title{padding:0 6px}.tenant-menu .search{flex:none;max-width:none}.tenant-options{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.tenant-option{min-height:40px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;font-weight:500;display:flex}.tenant-option small{color:var(--muted);font-size:.75rem;font-weight:400;display:block}.tenant-option:hover,.tenant-option[aria-pressed=true]{background:var(--red-soft);color:var(--red)}.tenant-option svg{flex:none;width:16px;height:16px}.tenant-empty{padding:8px 10px}.shell[data-collapsed=true] .tenant-trigger{justify-content:center;padding:0}.shell[data-collapsed=true] .tenant-text,.shell[data-collapsed=true] .tenant-trigger>svg:last-child{display:none}[data-tooltip]{position:relative}[data-tooltip]:after{z-index:40;color:#fff;content:attr(data-tooltip);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--ease), transform var(--ease);background:#111827;border-radius:7px;padding:5px 9px;font-size:.75rem;font-weight:500;line-height:1.3;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%,3px)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}.composition-segment:last-child:after,.row-actions .icon-button:last-child:after{left:auto;right:0;transform:translateY(3px)}.composition-segment:last-child:hover:after,.row-actions .icon-button:last-child:hover:after,.row-actions .icon-button:last-child:focus-visible:after{transform:translate(0)}.shell[data-collapsed=true] .nav-link:after,.shell[data-collapsed=true] .tenant-trigger:after{z-index:40;color:#fff;content:attr(data-label);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--ease);background:#111827;border-radius:7px;padding:5px 9px;font-size:.75rem;font-weight:500;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.shell[data-collapsed=true] .nav-link:hover:after,.shell[data-collapsed=true] .nav-link:focus-visible:after,.shell[data-collapsed=true] .tenant-trigger:hover:after,.shell[data-collapsed=true] .tenant-trigger:focus-visible:after{opacity:1}.topbar{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffdb;align-items:center;gap:10px;min-height:64px;padding:0 32px;display:flex;position:sticky;top:0}.menu-button{display:none}.breadcrumbs{min-width:0;color:var(--muted);align-items:center;gap:6px;font-size:.8125rem;display:flex}.breadcrumbs svg{width:14px;height:14px;color:var(--faint);flex:none}.breadcrumbs strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.topbar-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.icon-button{width:var(--touch);height:var(--touch);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;transition:background var(--ease), color var(--ease), border-color var(--ease);background:0 0;border:1px solid #0000;flex:none;place-items:center;display:inline-grid;position:relative}.icon-button svg{width:18px;height:18px}.icon-button:hover:not(:disabled){background:var(--surface-muted);color:var(--text)}.icon-button.is-danger:hover:not(:disabled){background:var(--red-soft);color:var(--red)}.notify-count{background:var(--red);color:#fff;border:2px solid #fff;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.625rem;font-weight:700;line-height:1;display:grid;position:absolute;top:3px;right:2px}.user-menu{position:relative}.user-trigger{border-radius:var(--radius-sm);min-height:44px;color:inherit;font:inherit;cursor:pointer;transition:background var(--ease);background:0 0;border:0;align-items:center;gap:9px;padding:4px 8px 4px 4px;display:flex}.user-trigger:hover{background:var(--surface-muted)}.user-trigger>svg{width:15px;height:15px;color:var(--muted)}.avatar{background:var(--red-soft);width:34px;height:34px;color:var(--red);border-radius:50%;flex:none;place-items:center;font-size:.8125rem;font-weight:650;display:grid}.user-name{white-space:nowrap;font-size:.8125rem;font-weight:600}.user-dropdown{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:230px;box-shadow:var(--shadow-md);padding:6px;animation:.14s ease-out pop-in;position:absolute;top:calc(100% + 8px);right:0}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}}.user-summary{border-bottom:1px solid var(--border);overflow-wrap:anywhere;margin-bottom:6px;padding:8px 10px 10px}.user-summary strong{font-weight:600;display:block}.menu-item{width:100%;min-height:40px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:0 10px;font-weight:500;display:flex}.menu-item:hover{background:var(--red-soft);color:var(--red)}.menu-item svg{width:16px;height:16px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.page-header p{color:var(--muted);margin-top:4px}.section{margin-bottom:32px}.section-head{margin-bottom:12px}.section-head p{margin-top:2px}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.stat-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:100%;box-shadow:var(--shadow-sm);color:inherit;font:inherit;text-align:left;transition:border-color var(--ease), box-shadow var(--ease), transform var(--ease);flex-direction:column;align-items:flex-start;gap:10px;padding:16px 18px;display:flex}button.stat-card{cursor:pointer}button.stat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-card[aria-pressed=true]{border-color:var(--red);box-shadow:0 0 0 3px var(--red-ring)}.stat-top{width:100%;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:.8125rem;font-weight:500;display:flex}.stat-icon{background:var(--surface-muted);color:#475569;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}.stat-icon svg{width:16px;height:16px}.stat-icon.tone-green{background:var(--green-soft);color:var(--green)}.stat-icon.tone-amber{background:var(--amber-soft);color:var(--amber)}.stat-icon.tone-red{background:var(--red-soft);color:var(--red)}.stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.625rem;font-weight:650;line-height:1.1}.composition{margin-bottom:16px;padding:16px 18px}.composition-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:12px;display:flex}.composition-bar{gap:2px;height:12px;display:flex}.composition-segment{min-width:6px;transition:opacity var(--ease);border-radius:4px}.composition-bar:hover .composition-segment:not(:hover){opacity:.55}.composition-legend{flex-wrap:wrap;gap:8px 20px;margin:12px 0 0;padding:0;list-style:none;display:flex}.composition-legend li{align-items:center;gap:7px;font-size:.8125rem;display:flex}.composition-legend i{border-radius:3px;flex:none;width:10px;height:10px}.composition-legend b{font-variant-numeric:tabular-nums;font-weight:600}.chart{margin-bottom:16px;padding:16px 18px}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 20px;margin-bottom:18px;display:flex}.chart-total{text-align:right}.chart-total strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.375rem;font-weight:650;line-height:1.2;display:block}.chart-empty{text-align:center;padding:28px 0}.chart-plot{grid-template-columns:44px minmax(0,1fr);height:170px;display:grid}.chart-axis{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.6875rem;position:relative}.chart-axis span{white-space:nowrap;position:absolute;right:8px;transform:translateY(50%)}.chart-area{min-width:0;position:relative}.chart-grid{border-top:1px solid var(--surface-muted);position:absolute;left:0;right:0}.chart-grid:last-of-type{border-top-color:var(--border-strong)}.chart-bars{align-items:stretch;gap:2px;display:flex;position:absolute;inset:0}.chart-column{min-width:0;transition:background var(--ease);border-radius:4px 4px 0 0;flex:1 1 0;justify-content:center;align-items:flex-end;display:flex}.chart-column:hover{background:var(--red-soft)}.chart-bar{background:var(--red);border-radius:4px 4px 0 0;width:100%;max-width:24px;min-height:2px;display:block}.chart-column.tip-start:after{left:0;transform:translateY(3px)}.chart-column.tip-start:hover:after{transform:translate(0)}.chart-column.tip-end:after{left:auto;right:0;transform:translateY(3px)}.chart-column.tip-end:hover:after{transform:translate(0)}.chart-labels{color:var(--muted);gap:2px;margin:6px 0 0 44px;font-size:.6875rem;display:flex}.chart-labels span{white-space:nowrap;flex:1 1 0;min-width:0}.chart-table{margin-top:12px;font-size:.8125rem}.chart-table summary{color:var(--muted);cursor:pointer;font-weight:500}.chart-table table{margin-top:8px}.chart-table th,.chart-table td{padding:8px 10px}.date-range{flex-wrap:wrap;gap:10px;display:flex}.date-range label{color:var(--muted);align-items:center;gap:8px;font-size:.8125rem;font-weight:500;display:flex}.date-range input{width:150px;color:var(--text)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar select{width:auto;min-width:170px}.search{flex:280px;max-width:440px;position:relative}.search svg{width:16px;height:16px;color:var(--faint);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search input{padding-left:36px}.toolbar-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.8125rem}.check{min-height:var(--touch);cursor:pointer;flex:none;align-items:center;gap:8px;font-weight:500;display:flex}.check input,.check input:hover,.check input:focus{width:17px;height:17px;min-height:0;box-shadow:none;accent-color:var(--red);border:0;flex:none;padding:0}.check input:focus-visible{outline:2px solid var(--red);outline-offset:2px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:13px 16px}th{color:var(--muted);white-space:nowrap;background:#fbfcfd;font-size:.75rem;font-weight:600}th:first-child{border-top-left-radius:var(--radius-lg)}th:last-child{border-top-right-radius:var(--radius-lg)}tbody tr{transition:background var(--ease)}tbody tr:hover{background:#fafbfc}tbody tr:last-child td{border-bottom:0}.cell-title{font-weight:600;display:block}.cell-sub{color:var(--muted);margin-top:1px;font-size:.8125rem;display:block}.nowrap{white-space:nowrap}.sort-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.sort-button:hover{color:var(--text)}.sort-button svg{width:13px;height:13px}.row-actions{justify-content:flex-end;gap:2px;display:flex}.link-button{color:var(--red);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.8125rem;font-weight:500}.link-button:hover{text-decoration:underline}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:.75rem;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-green{background:var(--green-soft);color:var(--green)}.badge-gray{background:var(--surface-muted);color:#475569}.badge-red{background:var(--danger-soft);color:var(--danger)}.badge-amber{background:var(--amber-soft);color:var(--amber)}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{font-size:.8125rem;font-weight:600}.field-hint{color:var(--muted);font-size:.75rem}input,select,textarea{width:100%;min-height:var(--touch);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface);color:inherit;font:inherit;transition:border-color var(--ease), box-shadow var(--ease);padding:9px 12px}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:34px}input::placeholder,textarea::placeholder{color:var(--faint)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--faint)}input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--red-ring);outline:0}select:disabled,input:disabled{background-color:var(--surface-muted);color:var(--muted)}input[type=file]{cursor:pointer;padding:6px}input[type=file]::file-selector-button{background:var(--surface-muted);color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:7px;margin-right:10px;padding:6px 12px;font-weight:600}input[type=search]::-webkit-search-cancel-button{cursor:pointer}.stack{flex-direction:column;gap:16px;display:flex}.card.stack{padding:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:14px;padding:18px;display:flex}.inline-form .field{flex:170px}.btn{min-height:var(--touch);border-radius:var(--radius-sm);color:inherit;font:inherit;white-space:nowrap;cursor:pointer;transition:background var(--ease), border-color var(--ease), box-shadow var(--ease), transform var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:8px 15px;font-weight:600;display:inline-flex}.btn svg{width:16px;height:16px}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--red);box-shadow:var(--shadow-sm);color:#fff}.btn-primary:hover:not(:disabled){background:var(--red-dark)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#912018}.btn-outline{border-color:var(--border-strong);background:var(--surface)}.btn-outline:hover:not(:disabled){background:var(--surface-muted)}.btn-block{width:100%}.pagination{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;margin-top:16px;display:flex}.pagination .btn{min-width:38px;padding:6px 10px;font-weight:500}.pagination .btn[aria-current=page]{border-color:var(--red);background:var(--red);color:#fff}.pagination-gap{color:var(--faint);padding:0 4px}.empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:44px 24px;display:flex}.empty-icon{background:var(--surface-muted);width:44px;height:44px;color:var(--muted);border-radius:13px;place-items:center;margin-bottom:8px;display:grid}.empty-icon svg{width:21px;height:21px}.empty strong{color:var(--text);font-weight:600}.note{border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:.875rem;display:flex}.note svg{flex:none;width:16px;height:16px}.note-error{background:var(--danger-soft);color:var(--danger);border:1px solid #fecdca;margin-bottom:14px}.stack .note-error,.inline-form .note-error{flex-basis:100%;margin-bottom:0}.skeleton{background:linear-gradient(90deg, var(--surface-muted) 25%, #e8edf3 50%, var(--surface-muted) 75%);background-size:200% 100%;border-radius:7px;animation:1.4s linear infinite shimmer;display:block}@keyframes shimmer{to{background-position:-200% 0}}.skeleton-rows{flex-direction:column;gap:18px;padding:20px;display:flex}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;justify-content:center;align-items:flex-start;padding:48px 16px;animation:.14s ease-out fade-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes fade-in{0%{opacity:0}}.modal{border-radius:var(--radius-lg);background:var(--surface);width:100%;max-width:500px;box-shadow:var(--shadow-lg);padding:22px;animation:.18s cubic-bezier(.2,0,0,1) modal-in}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}.modal:focus{outline:0}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.activation-code{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg);letter-spacing:.12em;text-align:center;overflow-wrap:anywhere;margin-bottom:14px;padding:18px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:1.6rem;font-weight:700}.toast-area{z-index:60;flex-direction:column;gap:8px;max-width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius);box-shadow:var(--shadow-md);color:#fff;background:#111827;align-items:center;gap:9px;padding:11px 14px;font-weight:500;animation:.18s cubic-bezier(.2,0,0,1) modal-in;display:flex}.toast svg{color:#4ade80;flex:none;width:16px;height:16px}.template-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;display:grid}.template-card{transition:box-shadow var(--ease), transform var(--ease);overflow:hidden}.template-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.template-card img{aspect-ratio:3/4;background:var(--surface-muted);object-fit:cover;width:100%;display:block}.template-body{flex-direction:column;gap:6px;padding:13px 14px 10px;display:flex}.template-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.template-title strong{overflow-wrap:anywhere;min-width:0;font-weight:600}.login{background:var(--surface);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.login-aside{background:radial-gradient(120% 90% at 0% 0%, #e23a43 0%, var(--red) 40%, var(--red-dark) 100%);color:#fff;flex-direction:column;justify-content:space-between;padding:48px;display:flex}.login-aside .brand small{color:#ffffffb8}.login-aside .brand-mark{box-shadow:none}.login-aside h2{letter-spacing:-.025em;max-width:460px;font-size:2rem;font-weight:650;line-height:1.2}.login-aside p{color:#ffffffd1;max-width:440px;margin-top:12px;font-size:.9375rem}.login-main{place-items:center;padding:32px 20px;display:grid}.login-card{flex-direction:column;gap:16px;width:100%;max-width:380px;display:flex}.login-card .brand{margin-bottom:8px;display:none}.login-card p{margin-top:-10px}.drawer-backdrop{display:none}@media (width<=1100px){.content{padding:24px 24px 40px}.topbar{padding:0 24px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login{grid-template-columns:minmax(0,1fr)}.login-aside{display:none}.login-card .brand{display:flex}}@media (width<=760px){:root{--touch:44px}body{font-size:15px}h1{font-size:1.3125rem}.shell,.shell[data-collapsed=true]{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:45;width:min(290px,86vw);box-shadow:var(--shadow-lg);visibility:hidden;transition:transform .2s cubic-bezier(.2,0,0,1),visibility .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.shell[data-nav-open=true] .sidebar{visibility:visible;transform:none}.shell[data-nav-open=true] .drawer-backdrop{z-index:44;background:#0f172a73;border:0;animation:.14s ease-out fade-in;display:block;position:fixed;inset:0}.shell[data-collapsed=true] .brand-text,.shell[data-collapsed=true] .nav-label{display:inline}.shell[data-collapsed=true] .nav-title{display:block}.shell[data-collapsed=true] .sidebar-head{justify-content:space-between;padding:0 6px}.shell[data-collapsed=true] .nav-link{justify-content:flex-start;padding:0 12px}.shell[data-collapsed=true] .nav-group+.nav-group{border-top:0;padding-top:0}.shell[data-collapsed=true] .nav-link:after,.shell[data-collapsed=true] .tenant-trigger:after{display:none}.nav-link{min-height:46px}.sidebar-foot{display:none}.drawer-close{display:inline-grid}.menu-button{margin-left:-6px;display:inline-grid}.topbar{min-height:56px;padding:0 12px}.breadcrumbs span,.breadcrumbs svg,.user-name,.user-trigger>svg{display:none}.user-trigger{padding:4px}.content{padding:18px 14px 32px}.page-header{flex-wrap:wrap;margin-bottom:16px}.page-header .btn{width:100%}.stat-grid{gap:10px}.stat-card{padding:13px}.stat-value{font-size:1.375rem}.grid-2{grid-template-columns:minmax(0,1fr)}.search{flex-basis:100%;max-width:none}.toolbar select{flex:140px;width:100%}.toolbar-count{flex-basis:100%;margin-left:0}.date-range{flex-basis:100%}.date-range label{flex-direction:column;flex:130px;align-items:stretch;gap:4px}.date-range input{width:100%}.chart-total{text-align:left}.chart-table tbody tr{box-shadow:none}.inline-form .field,.inline-form .btn{flex-basis:100%;width:100%}input,select,textarea{font-size:16px}.table-wrap{box-shadow:none;background:0 0;border:0;overflow:visible}table,tbody,tr,td{width:100%;display:block}thead{display:none}tbody tr{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);margin-bottom:10px;padding:6px 14px}tbody tr:hover{background:var(--surface)}tbody tr:last-child{margin-bottom:0}tbody td,tbody tr:last-child td{border-bottom:1px solid var(--surface-muted);text-align:right;justify-content:space-between;align-items:flex-start;gap:14px;padding:9px 0;display:flex}tbody td:last-child{border-bottom:0}tbody td[data-label]:before{color:var(--muted);content:attr(data-label);text-align:left;flex:none;font-size:.8125rem;font-weight:500}tbody td>*{min-width:0}.row-actions{justify-content:flex-end;width:100%}[data-tooltip]:after{display:none}.pagination{justify-content:center}.pagination .btn{min-width:44px}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:none;max-height:92vh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));animation:.22s cubic-bezier(.2,0,0,1) sheet-in;overflow-y:auto}@keyframes sheet-in{0%{transform:translateY(40%)}}.modal-actions .btn{flex:1}.toast-area{max-width:none;bottom:16px;left:16px;right:16px}}@media (width<=374px){.stat-grid,.template-grid{grid-template-columns:minmax(0,1fr)}.activation-code{font-size:1.3rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}.back-link{min-height:32px;color:var(--muted);align-items:center;gap:6px;margin-bottom:8px;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--text)}.back-link svg{width:15px;height:15px}.table-link{color:var(--text);text-decoration:none}.table-link:hover{color:var(--red)}a.btn{color:var(--text);text-decoration:none}.section-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:12px;display:flex}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.note-ok{background:var(--green-soft);color:var(--green);border:1px solid #abefc6}.note-warn{background:var(--amber-soft);color:var(--amber);border:1px solid #fedf89;font-size:.8125rem}.provider-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:16px;display:grid}.provider-head{align-items:center;gap:12px;display:flex}.provider-head>div{flex:1;min-width:0}.branding-layout{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:start;gap:20px;display:grid}.color-field{gap:8px;display:flex}.color-field input[type=color]{cursor:pointer;flex:none;width:48px;padding:4px}.branding-preview{border-radius:var(--radius-lg);min-height:480px;box-shadow:var(--shadow-md);color:#fff;text-align:center;overflow-wrap:anywhere;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:sticky;top:84px}.branding-preview strong{letter-spacing:-.02em;font-size:1.75rem;line-height:1.15}.preview-mark{background:#fff;border-radius:18px;place-items:center;width:64px;height:64px;display:grid;overflow:hidden}.preview-mark svg{width:36px;height:36px}.preview-mark img{object-fit:contain;width:100%;height:100%}.preview-start{background:#fff;border-radius:999px;margin-top:8px;padding:10px 22px;font-weight:700}.branding-preview small{opacity:.8;margin-top:8px}@media (width<=900px){.branding-layout{grid-template-columns:minmax(0,1fr)}.branding-preview{min-height:320px;position:static}}@media (width<=760px){.provider-grid{grid-template-columns:minmax(0,1fr)}.form-actions .btn{flex:auto}}.asset-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.asset-card{flex-direction:column;gap:10px;padding:14px;display:flex}.asset-preview{border-radius:var(--radius-sm);background:repeating-conic-gradient(var(--surface-muted) 0% 25%, #fff 0% 50%) 0 0 / 16px 16px;height:150px;color:var(--muted);place-items:center;font-size:.8125rem;display:grid;overflow:hidden}.asset-preview img,.asset-preview video{object-fit:contain;width:100%;height:100%}.review-actions{flex-wrap:wrap;gap:6px;display:flex}.review-note{color:var(--danger);font-size:.8125rem}.btn-small{min-height:34px;padding:4px 12px;font-size:.8125rem}@media (width<=760px){.btn-small{min-height:44px}}.login-guide{color:var(--muted);text-align:center;margin-top:16px;font-size:.875rem;display:block}.login-guide:hover{color:var(--red)}.topbar-guide{min-height:var(--touch);border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:6px;padding:0 10px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.topbar-guide:hover{background:var(--surface-muted);color:var(--text)}.topbar-guide svg{width:18px;height:18px}.guide{background:var(--bg);min-height:100vh}.guide-header{z-index:5;border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:8px clamp(16px,3vw,32px);display:flex;position:sticky;top:0}.guide-body{grid-template-columns:240px minmax(0,760px);justify-content:center;gap:40px;padding:32px clamp(16px,3vw,32px) 64px;display:grid}.guide-nav{align-self:start;max-height:calc(100vh - 120px);position:sticky;top:96px;overflow-y:auto}.guide-nav>p,.guide-nav-compact summary{color:var(--muted);margin:0 0 8px;font-size:.8125rem;font-weight:600}.guide-nav ul,.guide-nav-compact ul{margin:0;padding:0;list-style:none}.guide-nav a,.guide-nav-compact a{border-radius:var(--radius-sm);color:var(--text);padding:7px 10px;font-size:.875rem;text-decoration:none;display:block}.guide-nav a:hover,.guide-nav-compact a:hover{background:var(--red-soft);color:var(--red)}.guide-nav-compact{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:20px;padding:12px 14px;display:none}.guide-nav-compact summary{cursor:pointer;min-height:24px;margin:0}.guide-content{min-width:0;line-height:1.65}.guide-content h1{margin:0 0 12px;font-size:1.75rem}.guide-content h2{border-top:1px solid var(--border);margin:40px 0 12px;padding-top:24px;scroll-margin-top:72px;font-size:1.25rem}.guide-content h3{margin:24px 0 8px;scroll-margin-top:80px;font-size:1.0625rem}.guide-content p,.guide-content ul,.guide-content ol{margin:0 0 12px}.guide-content ul,.guide-content ol{padding-left:22px}.guide-content li{margin-bottom:4px}.guide-table{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:16px;overflow-x:auto}.guide-table table{border-collapse:collapse;width:100%;font-size:.875rem}.guide-table th,.guide-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 12px}.guide-table th{background:var(--surface-muted);white-space:nowrap;font-weight:600}.guide-table tr:last-child td{border-bottom:0}@media (width<=900px){.guide-body{padding-top:20px;display:block}.guide-nav{display:none}.guide-nav-compact{display:block}}@media (width<=640px){.topbar-guide span{display:none}}@media (width<=760px){.guide-table table{min-width:520px;display:table}.guide-table thead{display:table-header-group}.guide-table tbody{display:table-row-group}.guide-table tr{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;display:table-row}.guide-table th,.guide-table tbody td,.guide-table tbody tr:last-child td{text-align:left;width:auto;min-height:0;padding:10px 12px;display:table-cell}.guide-table tbody td:before{content:none}.guide-table tbody tr:not(:last-child) td:last-child{border-bottom:1px solid var(--border)}}@media (width<=480px){.guide-header .brand-text{display:none}}.catalog-choice{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:16px;display:grid}.catalog-choice-item{cursor:pointer;align-items:flex-start;gap:10px;padding:14px;display:flex}.catalog-choice-item input,.catalog-choice-item input:hover,.catalog-choice-item input:focus{width:17px;height:17px;min-height:0;box-shadow:none;accent-color:var(--red);border:0;flex:none;margin-top:2px;padding:0}.catalog-choice-item span{flex-direction:column;gap:2px;display:flex}.catalog-choice-item.is-active,.catalog-option.is-active{border-color:var(--red);box-shadow:0 0 0 3px var(--red-ring)}.catalog-options{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:4px;display:grid}.catalog-option{cursor:pointer;flex-direction:column;gap:4px;padding:8px 8px 10px;display:flex;position:relative}.catalog-option input{opacity:0;border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute}.catalog-option:focus-within{outline:2px solid var(--red);outline-offset:2px}.catalog-tick{z-index:1;border:2px solid var(--border-strong);background:var(--surface);color:#fff;border-radius:7px;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:14px;right:14px}.catalog-option.is-active .catalog-tick{border-color:var(--red);background:var(--red)}.catalog-tick svg{width:16px;height:16px}.catalog-option img{border-radius:var(--radius-sm);background:var(--surface-muted);object-fit:contain;width:100%;height:170px;margin-bottom:4px}.catalog-heading{margin:24px 0 12px;font-size:16px}.catalog-save{z-index:2;background:var(--bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px 0;display:flex;position:sticky;bottom:0}.section-separated{border-top:1px solid var(--border);margin-top:40px;padding-top:28px}.staff-pin{align-items:center;gap:4px;display:inline-flex}.staff-pin code{font-variant-numeric:tabular-nums;letter-spacing:.12em;min-width:7ch;margin-right:4px;font-size:.95rem}
