:root{--bg: #f2f5f8;--surface: #ffffff;--surface-alt: #f8fafc;--line: #e3e8ee;--line-strong: #cbd5e1;--fg: #101828;--ink: #101828;--muted: #5f6c7e;--teal: #0d9488;--teal-dark: #0f766e;--teal-soft: #ecfdf8;--teal-tint: #f0fdfa;--green: #15803d;--green-bg: #dcfce7;--red: #b91c1c;--red-bg: #fee2e2;--orange: #c2410c;--orange-bg: #ffedd5;--amber: #b45309;--amber-bg: #fef3c7;--amber-dark: #92600a;--violet: #6d28d9;--violet-bg: #ede9fe;--slate: #475569;--slate-bg: #e2e8f0;--font-sans: "IBM Plex Sans", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", "JetBrains Mono", Consolas, monospace;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 3px 10px rgba(16, 24, 40, .04);--shadow-lg: 0 4px 10px rgba(16, 24, 40, .06), 0 16px 40px rgba(16, 24, 40, .12);--ring: 0 0 0 3px rgba(13, 148, 136, .16);--r-sm: 8px;--r-md: 10px;--r-lg: 12px}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;font-family:var(--font-sans);background:radial-gradient(1100px 380px at 50% -180px,rgba(13,148,136,.055),transparent 70%),var(--bg);color:var(--fg);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:#0d94882e}h1,h2,h3{line-height:1.25;letter-spacing:-.015em}:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:none;box-shadow:var(--ring)}.picker-list,.purchase-list,.payload-box pre,.form{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.topbar{display:flex;align-items:center;gap:16px;padding:12px 28px;background:#ffffffe0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15.5px;letter-spacing:-.01em;color:var(--fg);text-decoration:none}.brand-mark{width:22px;height:22px;border-radius:6px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M9 17.5l4.5 4.5L23 12.5' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat,linear-gradient(135deg,#14b8a6,var(--teal-dark));box-shadow:inset 0 1px #ffffff40,0 1px 3px #0d948859}.tagline{color:var(--muted);font-size:13px}.topnav{margin-left:auto;display:flex;gap:2px}.topnav a{padding:7px 13px;border-radius:8px;text-decoration:none;color:var(--muted);font-weight:500;font-size:13.5px;transition:color .13s ease,background-color .13s ease}.topnav a.on{background:var(--teal-soft);color:var(--teal-dark);font-weight:600}.topnav a:hover:not(.on){color:var(--fg);background:var(--surface-alt)}.nav-menu{position:relative}.nav-menu>a{display:inline-flex;align-items:center;gap:6px}.nav-caret{color:var(--muted);font-size:10px;transform:translateY(1px)}.nav-menu:after{content:"";display:none;position:absolute;left:0;right:0;top:100%;height:12px}.nav-menu:hover:after,.nav-menu:focus-within:after{display:block}.nav-dropdown{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:200px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:25}.nav-menu:hover .nav-dropdown,.nav-menu:focus-within .nav-dropdown{display:block;animation:menu-in .14s ease}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.nav-dropdown a{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;white-space:nowrap;border-radius:7px}.nav-drop-label{font-weight:600}.nav-drop-sub{font-size:11.5px;font-weight:500;color:var(--muted);line-height:1.3}.nav-drop-sub.warn{color:var(--amber)}.map-dicker-note{margin-top:6px}.map-unmapped,.map-sub-warn{color:var(--amber);font-weight:600}.map-tenant-link{color:inherit;text-decoration:none}.map-tenant-link strong{transition:color .12s ease}.map-tenant-link:hover strong{color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px}.map-back{display:inline-block;margin-bottom:8px;font-size:13px}.map-detail-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;margin-bottom:18px;background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;max-width:520px}.map-suggestions{border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;background:var(--surface);box-shadow:var(--shadow)}.map-suggestions-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.map-suggestions-head h2{margin:0 0 4px;font-size:16px}.godaddy-import-card{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 16px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow)}.godaddy-import-card p{margin:5px 0 0;max-width:700px}.godaddy-import-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.godaddy-import-actions .field{display:flex;flex-direction:column;gap:5px;min-width:260px;font-size:12px;font-weight:600}.godaddy-import-actions input[type=file]{max-width:320px;font:inherit;font-weight:400}.godaddy-domain-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 12px;flex-wrap:wrap}.godaddy-domain-controls p{margin:0}.godaddy-domain-controls label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600}.godaddy-domain-controls select{padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--fg);font:inherit}.godaddy-domain-grid td{vertical-align:middle}.godaddy-domain-grid .map-line-picker{min-width:260px}.sugg-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}.sugg-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fbfcfd,var(--surface-alt))}.sugg-card .grid{border:none;border-radius:0;box-shadow:none}.sugg-actions{display:inline-flex;gap:6px}.sugg-head-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.sugg-rejected td{opacity:.4;text-decoration:line-through}.linkish{border:none;background:none;padding:0;cursor:pointer;font-weight:700;font-size:15px;color:var(--fg);text-align:left;transition:color .12s ease}.linkish:hover{color:var(--teal-dark)}.sugg-tenant{font-weight:600;font-size:15px;color:var(--violet)}.sugg-arrow{color:var(--muted);font-weight:700;margin:0 2px}.tenant-warn{background:var(--amber-bg);color:var(--amber);margin-left:8px}.tenant-ok{background:var(--green-bg);color:var(--green);margin-left:8px}.content{max-width:1180px;margin:0 auto;padding:28px 28px 64px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.page-head h1{font-size:23px;font-weight:700;margin:0 0 4px}.page-head>div>.muted{max-width:68ch;line-height:1.55}.head-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.muted{color:var(--muted);margin:0}.small{font-size:12px}.pad{display:flex;align-items:center;gap:10px;padding:28px 0}.pad:before{content:"";flex:none;width:15px;height:15px;border:2px solid var(--line-strong);border-top-color:var(--teal);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.crumbs{font-size:13px;color:var(--muted);margin-bottom:12px}.crumbs a{color:var(--teal-dark);text-decoration:none}.crumbs a:hover{text-decoration:underline;text-underline-offset:3px}.crumbs span{color:var(--line-strong);margin:0 2px}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);border-radius:var(--r-sm);padding:8px 14px;font-family:inherit;font-weight:600;font-size:13px;cursor:pointer;box-shadow:0 1px 2px #1018280d;transition:background-color .13s ease,border-color .13s ease,box-shadow .13s ease,transform .06s ease}.btn:hover{background:var(--surface-alt);border-color:#b6c2d0}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn.primary{background:linear-gradient(180deg,#11a396,var(--teal));border-color:#0b8478;color:#fff;box-shadow:inset 0 1px #ffffff26,0 1px 3px #0d948859}.btn.primary:hover{background:var(--teal-dark)}.btn.ghost{background:transparent;box-shadow:none;border-color:var(--line)}.btn.ghost:hover{background:var(--surface-alt);border-color:var(--line-strong)}.btn.small{padding:5px 11px;font-size:12px}.btn.danger{color:var(--red)}.btn.danger:hover{border-color:#fca5a5;background:#fef2f2}.btn:disabled{opacity:.55;cursor:default;transform:none}.icon-btn{border:none;background:transparent;font-size:24px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px;transition:color .12s ease}.icon-btn:hover{color:var(--fg)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;box-shadow:var(--shadow)}.stat-value{font-size:27px;font-weight:700;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-label{color:var(--fg);font-size:13px;margin-top:6px;font-weight:600}.stat-hint{color:var(--muted);font-size:12px;margin-top:3px;line-height:1.4}.stat.verdict-correct{border-top:3px solid var(--green)}.stat.verdict-underbilling{border-top:3px solid var(--red)}.stat.verdict-overbilling{border-top:3px solid var(--orange)}.stat.verdict-no_rule{border-top:3px solid var(--slate)}.stat.verdict-cant_verify{border-top:3px solid var(--amber)}.stat.verdict-error{border-top:3px solid var(--violet)}.grid{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}.grid th,.grid td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}.grid thead th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:linear-gradient(180deg,#fbfcfd,var(--surface-alt));padding-top:10px;padding-bottom:10px;white-space:nowrap}.grid tbody tr:last-child td{border-bottom:none}.grid tbody tr{transition:background-color .1s ease}.grid tr.clickable{cursor:pointer}.grid tr.clickable:hover td{background:var(--surface-alt)}.grid tr.clickable:hover td:first-child{box-shadow:inset 3px 0 0 var(--line-strong)}.num{text-align:right;font-variant-numeric:tabular-nums}.line-row.clickable{cursor:pointer}.line-row.clickable:hover td{background:var(--teal-tint)}.line-row.clickable:hover td:first-child{box-shadow:inset 3px 0 0 var(--teal)}.open-ind{color:var(--teal);font-weight:700}.table-hint{margin:-6px 0 12px;line-height:1.5}.vendor-sections{display:flex;flex-direction:column;gap:16px}.vendor-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}.vendor-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.vendor-section-head h2{margin:0 0 2px;font-size:15px;font-weight:700;letter-spacing:0}.vendor-section-head .muted.small{margin:0}.vendor-section .grid{border:none;border-radius:0;box-shadow:none}.vendor-section-badges{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.other-lines .vendor-sections{margin-top:12px}.other-lines .vendor-section-head h2{font-size:14px}.customer-link{color:inherit;text-decoration:none}.customer-link:hover{color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px}.meeting-notes{margin-bottom:18px;border-left:3px solid var(--amber)}.meeting-notes-body{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.meeting-note{display:flex;align-items:flex-start;gap:10px}.meeting-note-body{flex:1;line-height:1.5}.meeting-note-add{display:flex;gap:8px;margin-top:4px}.meeting-note-add input{flex:1}.sophos-panel{margin-bottom:18px}.sophos-panel-body{padding:14px 16px;display:flex;flex-direction:column;gap:10px}.sophos-status{margin:0;font-size:14px}.sophos-status.ok{color:var(--green)}.sophos-status.waiting{color:var(--amber)}.sophos-upload-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.sophos-upload-row .field{min-width:220px}.sophos-upload-fallback summary{cursor:pointer;font-size:13px;color:var(--muted)}.sophos-upload-fallback[open] summary{margin-bottom:10px}.sophos-upload-fallback .sophos-upload-row{margin-bottom:8px}.ext-link{color:var(--teal-dark);font-weight:600;text-decoration:none;white-space:nowrap}.ext-link:hover{text-decoration:underline;text-underline-offset:3px}.other-lines{margin-top:26px;border-top:1px solid var(--line);padding-top:14px}.other-lines>summary{cursor:pointer;font-weight:600;color:var(--slate);font-size:14px;list-style:none;padding:6px 0;-webkit-user-select:none;user-select:none;border-radius:6px;transition:color .12s ease}.other-lines>summary:hover{color:var(--fg)}.other-lines>summary::-webkit-details-marker{display:none}.other-lines>summary:before{content:"▸";display:inline-block;margin-right:9px;color:var(--muted);transition:transform .15s ease}.other-lines[open]>summary:before{transform:rotate(90deg)}.other-lines .grid{margin-top:10px}.other-lines .grid tbody td{background:#fcfcfd}.inactive-lines>summary{color:var(--muted)}.inactive-lines .grid{opacity:.65}.row-actions{display:flex;gap:6px;justify-content:flex-end}.hide-note{color:var(--slate);font-style:italic}.big{font-size:15.5px;font-weight:600}.subline{color:var(--muted);font-size:12px;margin-top:3px;line-height:1.45}.subline.err{color:var(--red)}.rule-kind{font-weight:600;font-size:13px}.badge,.chip,.health{display:inline-flex;align-items:center;border-radius:999px;font-weight:600;font-size:12px;white-space:nowrap}.badge{padding:3px 10px;box-shadow:inset 0 0 0 1px #1018280d}.chip{padding:2px 9px;margin:2px 4px 2px 0}.health{padding:4px 11px;gap:7px;box-shadow:inset 0 0 0 1px #1018280d}.health:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.8}.chips{display:flex;flex-wrap:wrap}.chips-row{margin-bottom:18px}.line-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:18px}.filter-chip{display:inline-flex;align-items:center;border:1px solid transparent;border-radius:999px;padding:4px 11px;background:var(--slate-bg);color:var(--slate);font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:border-color .12s ease,box-shadow .12s ease}.filter-chip:hover{border-color:currentColor}.filter-chip.on{border-color:currentColor;box-shadow:0 0 0 3px #10182814}.filter-summary{color:var(--muted);font-size:12px;margin-left:4px}.verdict-correct{background:var(--green-bg);color:var(--green)}.verdict-underbilling{background:var(--red-bg);color:var(--red)}.verdict-overbilling{background:var(--orange-bg);color:var(--orange)}.verdict-no_rule{background:var(--slate-bg);color:var(--slate)}.verdict-cant_verify{background:var(--amber-bg);color:var(--amber)}.verdict-error{background:var(--violet-bg);color:var(--violet)}.diff-pos{color:var(--orange);font-weight:700}.diff-neg{color:var(--red);font-weight:700}.health-attention{background:var(--red-bg);color:var(--red)}.health-unverified{background:var(--amber-bg);color:var(--amber)}.health-ok{background:var(--green-bg);color:var(--green)}.banner{padding:11px 16px;border-radius:var(--r-sm);margin-bottom:16px;font-weight:500;line-height:1.5;border:1px solid transparent;border-left-width:3px}.banner{background:var(--teal-soft);color:var(--teal-dark);border-color:#c6ece2;border-left-color:var(--teal)}.banner.error{background:#fef2f2;color:var(--red);border-color:#fecaca;border-left-color:var(--red)}.banner.warn{background:var(--amber-bg);color:var(--amber);border-color:#fde5a7;border-left-color:var(--amber)}.empty{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r-lg);padding:48px 32px;text-align:center}.empty h2{margin:0 0 8px;font-size:17px}.empty .muted{max-width:56ch;margin:0 auto;line-height:1.6}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:20px}.card h2{margin:0 0 8px;font-size:17px}.stack{display:flex;flex-direction:column;gap:12px;margin-top:12px}.inline-field{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline-field input{border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 11px;font-size:13px;font-family:inherit;min-width:220px;transition:border-color .12s ease,box-shadow .12s ease}.inline-field input:focus{outline:none;border-color:var(--teal);box-shadow:var(--ring)}.mfa-enroll-box{border:1px dashed var(--line-strong);border-radius:var(--r-md);padding:14px}.mfa-qr{width:220px;height:220px;border:1px solid var(--line);border-radius:var(--r-sm);display:block;margin:10px 0;background:#fff}.auth-empty{max-width:560px;margin:48px auto 0;background:linear-gradient(180deg,#fff,#f9fcfc);border-style:solid;box-shadow:var(--shadow)}.auth-empty h2{margin-bottom:10px}.auth-empty .btn{margin-top:12px}.profile-page .card{margin:0 auto}.profile-page .banner:not(.error){background:var(--teal-soft);color:var(--teal-dark)}.profile-page .mfa-enroll-box{background:#fcfeff;border-style:solid}.profile-page .inline-field input{min-width:240px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182866;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;justify-content:flex-end;z-index:50;animation:fade-in .14s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.drawer{width:500px;max-width:94vw;background:var(--surface);height:100%;display:flex;flex-direction:column;box-shadow:-12px 0 32px #10182829;animation:slidein .18s cubic-bezier(.2,.7,.3,1)}@keyframes slidein{0%{transform:translate(32px);opacity:.4}to{transform:none;opacity:1}}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px;border-bottom:1px solid var(--line)}.drawer-head h2{margin:0 0 4px;font-size:17px}.drawer-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:16px 22px;border-top:1px solid var(--line);background:var(--surface-alt)}.spacer{flex:1}.seg{display:flex;gap:4px;padding:4px;margin:18px 22px 0;background:#eef1f5;border-radius:9px}.seg button{flex:1;border:none;background:transparent;padding:8px;border-radius:7px;font-family:inherit;font-weight:600;font-size:13px;cursor:pointer;color:var(--muted);transition:color .12s ease,background-color .12s ease,box-shadow .12s ease}.seg button:hover:not(.seg-on){color:var(--fg)}.seg button.seg-on{background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}.form{padding:18px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.drawer>.form{flex:1;min-height:0;overflow-x:visible}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:12px;font-weight:600;color:var(--slate)}.field .req{color:var(--red);font-style:normal}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 11px;font-size:13px;font-family:inherit;color:var(--fg);background:var(--surface);transition:border-color .12s ease,box-shadow .12s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:var(--ring)}textarea.code{font-family:var(--font-mono);font-size:12.5px;line-height:1.5;-moz-tab-size:2;tab-size:2}.url-list{display:flex;flex-direction:column;gap:7px}.url-row{display:flex;align-items:center;gap:7px}.url-row .url-num{flex:none;width:18px;text-align:right;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.url-row input{flex:1;min-width:0}.sub-list{display:flex;flex-direction:column;gap:10px}.sub-list-meta{margin:0;font-size:12.5px;color:var(--muted);line-height:1.45}.sub-list-meta.warn{color:var(--amber)}.sub-list-meta strong{color:var(--fg);font-weight:600}.sub-list-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-right:4px;border-radius:999px;background:var(--teal-tint);color:var(--teal-dark);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.sub-list .picker{max-width:none;width:100%}.sub-add-picker .picker-btn{border-style:dashed;color:var(--teal-dark);font-weight:600;background:#fafafa}.sub-add-picker .picker-btn:hover:not(:disabled){border-color:var(--teal);background:var(--teal-tint)}.sub-cards{display:flex;flex-direction:column;gap:8px}.sub-card{border:1px solid var(--line);border-radius:var(--r-md);padding:10px 11px;background:linear-gradient(180deg,#fafbfc 0%,var(--surface) 100%);transition:border-color .15s ease,box-shadow .15s ease}.sub-card:hover{border-color:var(--line-strong);box-shadow:0 2px 8px #1018280d}.sub-card-head{display:flex;align-items:center;gap:8px}.sub-idx{flex:none;width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--slate-bg);color:var(--slate);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.sub-card-picker{flex:1;min-width:0}.sub-remove{flex:none;width:30px;height:34px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--muted);font-size:18px;line-height:1;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.sub-remove:hover{border-color:#fecaca;color:var(--red);background:#fef2f2}.sub-url-chip{display:flex;align-items:center;gap:8px;margin-top:9px;padding:7px 9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);text-decoration:none;color:inherit;transition:border-color .12s,background .12s,box-shadow .12s}.sub-url-chip:hover{border-color:var(--teal);background:var(--teal-tint);box-shadow:0 0 0 3px #0d948814}.sub-url-kicker{flex:none;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-dark)}.sub-url-text{flex:1;min-width:0;font-size:11px;color:var(--muted);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-url-chip:hover .sub-url-text{color:var(--fg)}.sub-url-go{flex:none;font-size:13px;color:var(--teal-dark);opacity:.85}.drawer .picker-menu{z-index:80}.bundle-lines{display:flex;flex-direction:column;gap:6px}.bundle-line{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;background:var(--surface);cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.bundle-line:hover{border-color:var(--line-strong)}.bundle-line.on{border-color:var(--teal);background:var(--teal-tint)}.bundle-line input{flex:none;width:15px;height:15px;accent-color:var(--teal);margin:0}.bundle-line input:disabled{opacity:.6}.bundle-line-name{flex:1;min-width:0;font-weight:600;font-size:13px;color:var(--fg)}.bundle-line-sub{display:block;font-weight:400;font-size:11.5px;color:var(--muted);margin-top:1px}.bundle-line-self{margin-left:7px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-dark);background:var(--teal-soft);border-radius:999px;padding:1px 7px;vertical-align:1px}.bundle-line-qty{flex:none;font-variant-numeric:tabular-nums;font-weight:600;color:var(--slate);font-size:12.5px}.bundle-comp{display:flex;flex-direction:column;gap:10px}.bundle-comp-label{flex:1;min-width:0;border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 10px;font-family:inherit;font-size:13px;font-weight:600;color:var(--fg);background:var(--surface);transition:border-color .12s ease,box-shadow .12s ease}.bundle-comp-label::placeholder{font-weight:400;color:#94a3b8}.bundle-comp-label:focus{outline:none;border-color:var(--teal);box-shadow:var(--ring)}.bundle-comp-field{gap:5px}.bundle-bill-lines{display:flex;flex-direction:column;gap:4px}.bundle-bill-line{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:var(--fg);cursor:pointer}.bundle-bill-line input{flex:none;width:14px;height:14px;accent-color:var(--teal);margin:0}.row-remove{flex:none;width:28px;height:32px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted);font-size:18px;line-height:1;cursor:pointer;transition:border-color .12s,color .12s}.row-remove:hover:not(:disabled){border-color:var(--red);color:var(--red)}.row-remove:disabled{opacity:.4;cursor:default}.row-add{align-self:flex-start;margin-top:2px;border:1px dashed var(--line-strong);border-radius:7px;background:transparent;color:var(--teal-dark);font-family:inherit;font-weight:600;font-size:12px;padding:6px 11px;cursor:pointer;transition:border-color .12s,background .12s}.row-add:hover{border-color:var(--teal);background:var(--teal-tint)}@media (max-width: 860px){.summary-grid{grid-template-columns:repeat(3,1fr)}.page-head{flex-direction:column}}.map-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.map-search{flex:1;max-width:360px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:14px;font-family:inherit;background:var(--surface);transition:border-color .12s ease,box-shadow .12s ease}.map-search::placeholder{color:#94a3b8}.map-search:focus{outline:none;border-color:var(--teal);box-shadow:var(--ring)}.map-grid td{vertical-align:top}.map-grid th:nth-child(2),.map-grid td:nth-child(2){text-align:left}.map-grid td:nth-child(2) .picker{max-width:100%}.map-line-picker{max-width:100%}.map-suggest{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.map-suggest .muted{font-size:12px}.map-suggest .linkish{font-size:13px;font-weight:600}.picker{position:relative;max-width:340px}.picker-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:200px;padding:8px 11px;cursor:pointer;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--fg);font-family:inherit;font-size:14px;text-align:left;transition:border-color .12s ease,box-shadow .12s ease}.picker-btn:hover:not(:disabled){border-color:var(--teal)}.picker-btn.open:not(:disabled){border-color:var(--teal);box-shadow:var(--ring)}.picker-btn:disabled{opacity:.6;cursor:default}.picker-btn.unset{color:var(--muted)}.picker-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-caret{color:var(--muted);flex-shrink:0;font-size:11px}.picker-menu{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:8px;min-width:280px;animation:menu-in .14s ease}.picker-menu input{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:6px;font-family:inherit;font-size:14px;margin-bottom:6px;box-sizing:border-box}.picker-menu input:focus{outline:none;border-color:var(--teal);box-shadow:var(--ring)}.picker-list{max-height:260px;overflow-y:auto}.picker-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 9px;cursor:pointer;border:none;background:none;text-align:left;font-family:inherit;font-size:14px;color:var(--fg);border-radius:6px}.picker-item:hover:not(:disabled){background:#f1f5f9}.picker-item.on{background:var(--teal-tint);color:var(--teal-dark);font-weight:600}.picker-item:disabled{opacity:.45;cursor:not-allowed}.picker-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-item-id{color:var(--muted);font-size:12px;flex-shrink:0;font-variant-numeric:tabular-nums}.picker-empty{padding:8px 9px;color:var(--muted);font-size:13px}.sugg-extlink{color:var(--teal-dark);font-weight:600;text-decoration:none;white-space:nowrap}.sugg-extlink:hover{text-decoration:underline;text-underline-offset:3px}.sugg-qty-col{width:88px;vertical-align:top;padding-top:12px!important}.sugg-qty-row{display:flex;justify-content:flex-end;align-items:baseline;gap:6px;font-weight:700;font-size:14px;line-height:1.4}.sugg-qty-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.sugg-qty-value{font-size:15px;font-variant-numeric:tabular-nums}.sugg-sub-qty{font-size:11px;color:var(--muted);font-weight:600;text-align:right;margin-top:2px}.map-sugg-grid thead th{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;border-bottom:1px solid var(--line)}.map-sugg-grid th.map-sugg-customer-col,.map-sugg-grid td.map-sugg-customer-col{text-align:left;vertical-align:top;min-width:140px}.map-sugg-grid th.num,.map-sugg-grid td.num,.map-sugg-grid td.sugg-qty-col{text-align:right}.sugg-qty-inline,.sugg-qty{font-weight:700;color:var(--ink)}.sugg-qty-warn{font-weight:700;color:var(--amber-dark)}.sugg-qty-note{color:var(--amber-dark);font-weight:600}.sugg-approval-result{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 10px;border-radius:var(--r-sm);font-size:12px;line-height:1.35;text-align:right}.sugg-approval-result strong{font-size:13px}.sugg-approval-detail{font-weight:600;opacity:.95}.sugg-approval-ok{background:var(--green-bg);color:var(--green)}.sugg-approval-warn{background:var(--red-bg);color:var(--red)}.sugg-approval-unknown{background:var(--slate-bg);color:var(--slate)}.toolbar{display:flex;align-items:center;gap:8px}.row-inactive{opacity:.55}.warn-text{color:var(--amber)}.actions-cell{white-space:nowrap}.actions-cell .btn+.btn{margin-left:6px}.purchase-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:16px;align-items:start}.purchase-sidebar,.purchase-main{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}.purchase-sidebar{padding:12px}.purchase-search{width:100%;max-width:none;margin-bottom:10px}.purchase-list{display:flex;flex-direction:column;gap:6px;max-height:68vh;overflow-y:auto}.purchase-choice{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);background:#fbfdff;color:var(--fg);cursor:pointer;padding:10px 11px;font-family:inherit;text-align:left;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.purchase-choice:hover{border-color:var(--teal)}.purchase-choice.on{border-color:var(--teal);background:var(--teal-tint);box-shadow:0 0 0 3px #0d948817}.purchase-choice-main{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.purchase-choice-main span{color:var(--teal-dark);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.purchase-choice-sub{display:block;color:var(--muted);font-size:12px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-main{padding:18px}.purchase-summary,.purchase-controls,.purchase-status-row,.purchase-result-line{display:flex;align-items:center;gap:12px}.purchase-summary{justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.purchase-summary h2{margin:0 0 4px;font-size:18px}.purchase-controls{flex-wrap:wrap;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}.purchase-controls label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--slate)}.purchase-controls input{width:110px;padding:8px 11px;border:1px solid var(--line);border-radius:var(--r-sm);font-family:inherit;font-size:14px;transition:border-color .12s ease,box-shadow .12s ease}.purchase-controls input:focus{outline:none;border-color:var(--teal);box-shadow:var(--ring)}.purchase-controls .ticket-input{width:180px}.purchase-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px;font-weight:600}.purchase-run{margin-left:auto}.purchase-status-row{margin-bottom:12px;flex-wrap:wrap}.purchase-payloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.payload-box{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:#0f172a}.payload-head{padding:8px 10px;background:var(--surface-alt);color:var(--slate);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line)}.payload-record{display:block;padding:8px 10px;border-bottom:1px solid rgba(226,232,240,.22);color:#7dd3fc;font-size:12px;font-weight:700;text-decoration:none}.payload-record:hover{text-decoration:underline}.payload-record.muted{color:#64748b;font-weight:500}.payload-url{padding:8px 10px;border-bottom:1px solid rgba(226,232,240,.22);color:#bae6fd;font:11px/1.45 var(--font-mono);overflow-wrap:anywhere}.payload-box pre{margin:0;padding:12px;color:#e2e8f0;font:12px/1.5 var(--font-mono);overflow-x:auto}.purchase-result-line{margin:8px 0 4px;flex-wrap:wrap}@media (max-width: 900px){.purchase-layout,.purchase-payloads{grid-template-columns:1fr}.purchase-run{margin-left:0}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;background:#10182873;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:fade-in .14s ease}.modal{width:100%;max-width:540px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden;animation:modal-in .16s cubic-bezier(.2,.7,.3,1)}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:17px}.modal-x{border:none;background:none;font-size:24px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px;transition:color .12s ease}.modal-x:hover{color:var(--fg)}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line);background:var(--surface-alt)}.form-grid{display:flex;flex-direction:column;gap:14px;padding:18px 20px}.form-grid>label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--fg)}.form-grid input[type=text],.form-grid input[type=number],.form-grid input:not([type]){padding:8px 11px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:14px;font-family:inherit;background:var(--surface);font-weight:400;transition:border-color .12s ease,box-shadow .12s ease}.form-grid select{padding:8px 11px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:14px;font-family:inherit;background:var(--surface);font-weight:400;color:var(--fg);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.form-grid input:focus,.form-grid select:focus{outline:none;border-color:var(--teal);box-shadow:var(--ring)}.form-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row2>label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.hint{color:var(--muted);font-weight:400}.form-subnote{font-size:12px;font-weight:400;color:var(--teal-dark);margin:-2px 0 2px}.form-note{font-size:13px;font-weight:400;padding:9px 11px;border-radius:var(--r-sm);background:var(--amber-bg);color:var(--amber);border:1px solid #fcd9a3;line-height:1.5}.form-note a{color:inherit;font-weight:600}.checkbox{flex-direction:row!important;align-items:center;gap:8px!important;font-weight:400!important}.checkbox input{width:16px;height:16px;accent-color:var(--teal)}.modal .picker,.modal .picker-btn{width:100%;max-width:none}.renewal-grid td{vertical-align:top}.renewal-grid th:not(.num),.renewal-grid td:not(.num){text-align:left}.renewal-grid th.renewal-customer-col,.renewal-grid td.renewal-customer-col{text-align:left;min-width:140px;max-width:220px}.renewal-grid td.renewal-customer-col .renewal-customer-link{display:inline;text-align:left;white-space:normal;word-break:break-word}.renewal-grid th.renewal-actions-col,.renewal-grid td.renewal-actions-col{width:4.5rem;text-align:left;white-space:nowrap}.renewal-filter{padding:8px 11px;border:1px solid var(--line);border-radius:var(--r-sm);font-family:inherit;font-size:13px;background:var(--surface);color:var(--fg);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.renewal-filter:focus{outline:none;border-color:var(--teal);box-shadow:var(--ring)}tr.renewal-overdue td{background:#fef2f2}tr.renewal-overdue td:first-child{box-shadow:inset 3px 0 0 var(--red)}tr.renewal-soon td{background:#fffbeb}tr.renewal-soon td:first-child{box-shadow:inset 3px 0 0 var(--amber)}tr.renewal-watch td{background:var(--surface-alt)}tr.renewal-watch td:first-child{box-shadow:inset 3px 0 0 var(--line-strong)}
