:root{--portal-bg:              #f4f1ec;--portal-bg-soft:         #ece7dd;--portal-card:            #ffffff;--portal-card-hover:      #fafaf8;--portal-border:          #e6e1d8;--portal-border-strong:   #d8d3ca;--portal-hair:            color-mix(in srgb, #1a1a1a 8%, transparent);--portal-text:            #1a1a1a;--portal-mute:            #6b6155;--portal-mute-strong:     #4a4239;--portal-accent:          #1a1a1a;--portal-accent-soft:     #4a4239;--portal-accent-fg:       #ffffff;--portal-danger:          #b91c1c;--portal-success:         #198754;--portal-warn:            #d97706;--portal-info:            #1e40af;--portal-tablerow-hover:  #fafaf8;--portal-tablerow-stripe: #f8f5f0;--portal-shadow:          0 1px 0 rgba(0,0,0,0.04);--portal-shadow-hover:    0 2px 8px rgba(0,0,0,0.06);--portal-shadow-pop:      0 4px 16px rgba(0,0,0,0.08);--portal-radius:          2px;--portal-radius-pill:     999px;--status-routed-bg:       #fef3c7;--status-routed-fg:       #92400e;--status-accepted-bg:     #dcfce7;--status-accepted-fg:     #166534;--status-shipped-bg:      #dbeafe;--status-shipped-fg:      #1e40af;--status-delivered-bg:    #d1fae5;--status-delivered-fg:    #065f46;--status-backorder-bg:    #fee2e2;--status-backorder-fg:    #991b1b;--status-cancelled-bg:    #e5e7eb;--status-cancelled-fg:    #374151;--status-paid-bg:         #dcfce7;--status-paid-fg:         #166534;--status-unpaid-bg:       #fef3c7;--status-unpaid-fg:       #92400e;--status-disputed-bg:     #fee2e2;--status-disputed-fg:     #991b1b;--status-matched-bg:      #dcfce7;--status-matched-fg:      #166534;--status-mismatch-bg:     #fee2e2;--status-mismatch-fg:     #991b1b;--status-sonstige-ok-bg:  #dbeafe;--status-sonstige-ok-fg:  #1e40af;--status-pending-bg:      #fef3c7;--status-pending-fg:      #92400e;--status-override-bg:     #fed7aa;--status-override-fg:     #9a3412;--status-active-bg:       #dcfce7;--status-active-fg:       #166534;--status-paused-bg:       #fef3c7;--status-paused-fg:       #92400e;--status-detached-bg:     #e5e7eb;--status-detached-fg:     #374151;--fs-xs:   11px;--fs-sm:   13px;--fs-base: 14px;--fs-md:   15px;--fs-lg:   18px;--fs-xl:   22px;--fs-2xl:  28px;--fs-3xl:  32px;--sp-0: 0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--portal-container-max:   1200px;--portal-header-height:   56px;--portal-z-header:        100;--portal-z-overlay:       200;--portal-font-body:   "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--portal-font-mono:   "JetBrains Mono", "Courier New", ui-monospace, Menlo, Consolas, monospace}*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--portal-bg);color:var(--portal-text);font-family:var(--portal-font-body);font-size:var(--fs-base);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--portal-font-body);font-weight:600;line-height:1.25;margin:0 0 var(--sp-3);color:var(--portal-text);letter-spacing:-0.005em}h1{font-size:var(--fs-2xl);font-weight:600}h2{font-size:var(--fs-xl);font-weight:600}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md)}p{margin:0 0 var(--sp-3)}a{color:var(--portal-text);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}a:hover{color:#000}small,.portal-small{font-size:var(--fs-sm);color:var(--portal-mute)}.mono,.portal-mono{font-family:var(--portal-font-mono);font-variant-numeric:tabular-nums}.kicker,.portal-kicker{font-family:var(--portal-font-mono);font-size:var(--fs-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--portal-mute);font-weight:500}.portal-lead{font-size:var(--fs-md);color:var(--portal-mute);line-height:1.6;margin:0 0 var(--sp-4)}.portal-text-mute{color:var(--portal-mute)}.portal-text-danger{color:var(--portal-danger)}.portal-text-ok{color:var(--portal-success)}.portal-text-right{text-align:right}.portal-text-center{text-align:center}.portal-tabular{font-variant-numeric:tabular-nums}.portal-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--portal-bg)}.portal-main{flex:1;padding:var(--sp-6) var(--sp-6);max-width:var(--portal-container-max);margin:0 auto;width:100%}.portal-container{max-width:var(--portal-container-max);margin:0 auto;width:100%;padding:0 var(--sp-4)}.portal-stack>*+*{margin-top:var(--sp-4)}.portal-stack--lg>*+*{margin-top:var(--sp-6)}.portal-stack--sm>*+*{margin-top:var(--sp-2)}.portal-cluster{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.portal-cluster--right{justify-content:flex-end}.portal-cluster--between{justify-content:space-between}.portal-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.portal-header{position:sticky;top:0;z-index:var(--portal-z-header);background:var(--portal-card);border-bottom:1px solid var(--portal-border);height:var(--portal-header-height);display:flex;align-items:center;transition:box-shadow 0.15s ease}.portal-header.is-scrolled{box-shadow:var(--portal-shadow)}.portal-header__inner{max-width:var(--portal-container-max);margin:0 auto;width:100%;padding:0 var(--sp-5);display:flex;align-items:center;gap:var(--sp-5)}.portal-header__brand{display:flex;align-items:center;gap:var(--sp-2);text-decoration:none;color:var(--portal-text);flex-shrink:0}.portal-header__brand:hover{color:var(--portal-text)}.portal-header__brand .portal-header__brand-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--portal-text);background:var(--portal-text);color:var(--portal-card);font-family:var(--portal-font-mono);font-size:13px;font-weight:700;letter-spacing:0;line-height:1}.portal-header__brand .portal-header__brand-text{display:flex;flex-direction:column;line-height:1.1}.portal-header__brand .portal-header__brand-text .portal-header__brand-name{font-family:var(--portal-font-body);font-size:14px;font-weight:600;letter-spacing:-0.005em}.portal-header__brand .portal-header__brand-text .portal-header__brand-sub{font-family:var(--portal-font-mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--portal-mute)}.portal-header__nav{display:flex;align-items:center;gap:0;flex:1;margin-left:var(--sp-4)}.portal-header__nav a{display:inline-flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);height:var(--portal-header-height);font-size:var(--fs-sm);color:var(--portal-mute);text-decoration:none;border-bottom:2px solid transparent;transition:color 0.1s ease, border-color 0.1s ease}.portal-header__nav a svg{flex-shrink:0}.portal-header__nav a:hover{color:var(--portal-text)}.portal-header__nav a.is-active{color:var(--portal-text);border-bottom-color:var(--portal-text);font-weight:600}.portal-header__user{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--portal-mute)}.portal-header__user .portal-header__user-name{font-weight:500;color:var(--portal-text)}.portal-header__user a{color:var(--portal-mute);text-decoration:none;font-size:var(--fs-sm)}.portal-header__user a:hover{color:var(--portal-text);text-decoration:underline}.portal-header__hamburger{display:none;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--portal-border);cursor:pointer;margin-left:auto;padding:0}.portal-header__hamburger:hover{background:var(--portal-bg-soft)}.portal-footer{border-top:1px solid var(--portal-border);padding:var(--sp-3) var(--sp-5);font-family:var(--portal-font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--portal-mute);text-align:center;background:var(--portal-card)}.portal-card{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:var(--portal-radius);padding:var(--sp-5);box-shadow:var(--portal-shadow)}.portal-card+.portal-card{margin-top:var(--sp-4)}.portal-card__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4)}.portal-card__kicker{font-family:var(--portal-font-mono);font-size:var(--fs-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--portal-mute);margin-bottom:var(--sp-1)}.portal-card__title{margin:0;font-size:var(--fs-lg);font-weight:600}.portal-card__actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.portal-card--accent{border-left:3px solid var(--portal-text)}.portal-card--warn{background:#fffbeb;border-color:#fcd34d}.portal-card--danger{background:#fef2f2;border-color:#fca5a5}.portal-card--ok{background:#ecfdf5;border-color:#6ee7b7}.portal-card--soft{background:var(--portal-bg-soft);box-shadow:none}.portal-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;font-family:var(--portal-font-mono);font-size:var(--fs-xs);letter-spacing:0.06em;text-transform:uppercase;background:var(--portal-bg-soft);color:var(--portal-text);border-radius:var(--portal-radius-pill);line-height:1.6;font-weight:500;white-space:nowrap}.portal-badge--lg{padding:4px 14px;font-size:var(--fs-sm)}.portal-badge--routed{background:var(--status-routed-bg);color:var(--status-routed-fg)}.portal-badge--accepted{background:var(--status-accepted-bg);color:var(--status-accepted-fg)}.portal-badge--shipped{background:var(--status-shipped-bg);color:var(--status-shipped-fg)}.portal-badge--delivered{background:var(--status-delivered-bg);color:var(--status-delivered-fg)}.portal-badge--backorder{background:var(--status-backorder-bg);color:var(--status-backorder-fg)}.portal-badge--cancelled{background:var(--status-cancelled-bg);color:var(--status-cancelled-fg)}.portal-badge--paid{background:var(--status-paid-bg);color:var(--status-paid-fg)}.portal-badge--unpaid{background:var(--status-unpaid-bg);color:var(--status-unpaid-fg)}.portal-badge--disputed{background:var(--status-disputed-bg);color:var(--status-disputed-fg)}.portal-badge--matched{background:var(--status-matched-bg);color:var(--status-matched-fg)}.portal-badge--mismatch{background:var(--status-mismatch-bg);color:var(--status-mismatch-fg)}.portal-badge--sonstige_ok{background:var(--status-sonstige-ok-bg);color:var(--status-sonstige-ok-fg)}.portal-badge--pending{background:var(--status-pending-bg);color:var(--status-pending-fg)}.portal-badge--override{background:var(--status-override-bg);color:var(--status-override-fg)}.portal-badge--active{background:var(--status-active-bg);color:var(--status-active-fg)}.portal-badge--paused{background:var(--status-paused-bg);color:var(--status-paused-fg)}.portal-badge--detached{background:var(--status-detached-bg);color:var(--status-detached-fg)}.portal-stats{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:var(--sp-3);margin-bottom:var(--sp-5)}.portal-stat{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:var(--portal-radius);padding:var(--sp-4) var(--sp-5);box-shadow:var(--portal-shadow);display:flex;flex-direction:column;gap:var(--sp-1)}.portal-stat__label{font-family:var(--portal-font-mono);font-size:var(--fs-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--portal-mute)}.portal-stat__value{font-size:var(--fs-2xl);font-weight:600;color:var(--portal-text);line-height:1.1;font-variant-numeric:tabular-nums;margin-top:2px}.portal-stat__hint{font-size:var(--fs-sm);color:var(--portal-mute);margin-top:2px}.portal-stat__trend{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-family:var(--portal-font-mono)}.portal-stat__trend--up{color:var(--portal-success)}.portal-stat__trend--down{color:var(--portal-danger)}.portal-stat__trend--flat{color:var(--portal-mute)}.portal-stat--accent{border-left:3px solid var(--portal-text)}.portal-stat--warn{border-left:3px solid var(--portal-warn)}.portal-stat--danger{border-left:3px solid var(--portal-danger)}.portal-stat--ok{border-left:3px solid var(--portal-success)}.portal-stat a{text-decoration:none;color:inherit}a.portal-stat:hover{background:var(--portal-card-hover);box-shadow:var(--portal-shadow-hover)}.portal-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:9px 18px;font-family:var(--portal-font-mono);font-size:var(--fs-xs);letter-spacing:0.14em;text-transform:uppercase;background:var(--portal-accent);color:var(--portal-accent-fg) !important;border:1px solid var(--portal-accent);border-radius:var(--portal-radius);text-decoration:none !important;cursor:pointer;line-height:1;transition:background 0.1s ease, color 0.1s ease, transform 0.05s ease}.portal-btn:hover{background:#000;border-color:#000}.portal-btn:active{transform:translateY(1px)}.portal-btn svg{flex-shrink:0}.portal-btn--ghost{background:transparent;color:var(--portal-accent) !important;border:1px solid var(--portal-border-strong)}.portal-btn--ghost:hover{background:var(--portal-bg-soft);color:var(--portal-text) !important;border-color:var(--portal-text)}.portal-btn--danger{background:var(--portal-danger);border-color:var(--portal-danger)}.portal-btn--danger:hover{background:#8b1414;border-color:#8b1414}.portal-btn--ok{background:var(--portal-success);border-color:var(--portal-success)}.portal-btn--ok:hover{background:#11633e;border-color:#11633e}.portal-btn--sm{padding:5px 10px;font-size:10px}.portal-btn--lg{padding:12px 24px;font-size:var(--fs-sm)}.portal-btn--block{display:flex;width:100%}.portal-btn:disabled,.portal-btn[disabled]{opacity:0.5;cursor:not-allowed;pointer-events:none}.portal-button-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;margin-top:var(--sp-3)}.portal-button-row--right{justify-content:flex-end}.portal-button-row--between{justify-content:space-between}.portal-button-row--sticky-bottom{position:sticky;bottom:0;background:linear-gradient(to top, var(--portal-bg), color-mix(in srgb, var(--portal-bg) 80%, transparent));padding:var(--sp-3) 0;margin:var(--sp-4) calc(-1 * var(--sp-5)) calc(-1 * var(--sp-5));padding-left:var(--sp-5);padding-right:var(--sp-5);border-top:1px solid var(--portal-border)}.portal-form .portal-form-field,.portal-form .form-group{margin-bottom:var(--sp-4)}.portal-form label{display:block;font-family:var(--portal-font-mono);font-size:var(--fs-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--portal-mute);margin-bottom:var(--sp-2);font-weight:500}.portal-form input[type=text],.portal-form input[type=email],.portal-form input[type=password],.portal-form input[type=number],.portal-form input[type=date],.portal-form input[type=url],.portal-form input[type=tel],.portal-form input[type=search],.portal-form textarea,.portal-form select{width:100%;padding:9px 12px;font-family:var(--portal-font-body);font-size:var(--fs-base);line-height:1.4;border:1px solid var(--portal-border-strong);background:var(--portal-card);color:var(--portal-text);border-radius:var(--portal-radius);transition:border-color 0.1s ease, box-shadow 0.1s ease}.portal-form input[type=text]:focus,.portal-form input[type=email]:focus,.portal-form input[type=password]:focus,.portal-form input[type=number]:focus,.portal-form input[type=date]:focus,.portal-form input[type=url]:focus,.portal-form input[type=tel]:focus,.portal-form input[type=search]:focus,.portal-form textarea:focus,.portal-form select:focus{outline:none;border-color:var(--portal-text);box-shadow:0 0 0 3px color-mix(in srgb, var(--portal-text) 12%, transparent)}.portal-form input[type=text][readonly],.portal-form input[type=email][readonly],.portal-form input[type=password][readonly],.portal-form input[type=number][readonly],.portal-form input[type=date][readonly],.portal-form input[type=url][readonly],.portal-form input[type=tel][readonly],.portal-form input[type=search][readonly],.portal-form textarea[readonly],.portal-form select[readonly]{background:var(--portal-bg-soft);color:var(--portal-mute-strong);cursor:not-allowed}.portal-form input[type=text]:disabled,.portal-form input[type=email]:disabled,.portal-form input[type=password]:disabled,.portal-form input[type=number]:disabled,.portal-form input[type=date]:disabled,.portal-form input[type=url]:disabled,.portal-form input[type=tel]:disabled,.portal-form input[type=search]:disabled,.portal-form textarea:disabled,.portal-form select:disabled{background:var(--portal-bg-soft);color:var(--portal-mute);cursor:not-allowed}.portal-form textarea{font-family:var(--portal-font-body);resize:vertical;min-height:80px}.portal-form input[type=file]{font-size:var(--fs-sm);padding:6px 8px;border:1px dashed var(--portal-border-strong);background:var(--portal-bg-soft);border-radius:var(--portal-radius);cursor:pointer;width:100%}.portal-form input[type=file]:hover{border-color:var(--portal-text);background:var(--portal-card)}.portal-form input[type=checkbox],.portal-form input[type=radio]{margin-right:var(--sp-2);accent-color:var(--portal-text)}.portal-form .portal-form__error,.portal-form .kq-portal-form__error{color:var(--portal-danger);font-size:var(--fs-sm);margin-top:var(--sp-1)}.portal-form .portal-form__hint,.portal-form .kq-portal-form__hint{color:var(--portal-mute);font-size:var(--fs-sm);margin-top:var(--sp-1)}.portal-form-grid{display:grid;gap:var(--sp-4)}.portal-form-grid--cols-2{grid-template-columns:1fr 1fr}.portal-form-grid--cols-3{grid-template-columns:1fr 1fr 1fr}.portal-form-grid--cols-4{grid-template-columns:1fr 1fr 1fr 1fr}.portal-form-grid--cols-2-1{grid-template-columns:2fr 1fr}.portal-form-grid--cols-1-2{grid-template-columns:1fr 2fr}.portal-checkbox-row{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--portal-font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:0.1em;color:var(--portal-mute);cursor:pointer;user-select:none}.portal-checkbox-row input[type=checkbox]{margin:0}.portal-drop-zone{border:2px dashed var(--portal-border-strong);background:var(--portal-bg-soft);padding:var(--sp-5);text-align:center;border-radius:var(--portal-radius);cursor:pointer;transition:border-color 0.15s ease, background 0.15s ease;position:relative}.portal-drop-zone:hover,.portal-drop-zone.is-hover{border-color:var(--portal-text);background:var(--portal-card)}.portal-drop-zone.is-dragover{border-color:var(--portal-text);background:#fffbeb}.portal-drop-zone.has-file{border-style:solid;border-color:var(--portal-success);background:#ecfdf5}.portal-drop-zone__icon{font-size:32px;color:var(--portal-mute);margin-bottom:var(--sp-2);line-height:1}.portal-drop-zone__label{font-family:var(--portal-font-body);font-size:var(--fs-base);color:var(--portal-text);font-weight:500}.portal-drop-zone__hint{font-size:var(--fs-sm);color:var(--portal-mute);margin-top:var(--sp-1)}.portal-drop-zone__file{font-family:var(--portal-font-mono);font-size:var(--fs-sm);color:var(--portal-success);margin-top:var(--sp-2)}.portal-drop-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;border:none;padding:0;background:transparent}.portal-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--portal-radius)}.portal-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.portal-table th,.portal-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--portal-border);vertical-align:middle}.portal-table thead th{font-family:var(--portal-font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--portal-mute);font-weight:600;background:var(--portal-bg-soft);border-bottom:1px solid var(--portal-border-strong);white-space:nowrap;padding-top:8px;padding-bottom:8px}.portal-table tbody tr{transition:background 0.05s ease}.portal-table tbody tr:hover{background:var(--portal-tablerow-hover)}.portal-table tbody tr:last-child td{border-bottom:0}.portal-table tbody td.is-mono,.portal-table td.is-mono{font-family:var(--portal-font-mono)}.portal-table tbody td.is-num,.portal-table td.is-num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--portal-font-mono)}.portal-table--striped tbody tr:nth-child(even){background:var(--portal-tablerow-stripe)}.portal-table--striped tbody tr:nth-child(even):hover{background:var(--portal-tablerow-hover)}.portal-table--sticky thead th{position:sticky;top:var(--portal-header-height);z-index:5}.portal-table--compact th,.portal-table--compact td{padding:6px 10px}.portal-table--clickable tbody tr{cursor:pointer}.portal-table .portal-table__primary{font-weight:600;color:var(--portal-text);line-height:1.3}.portal-table .portal-table__sub{font-family:var(--portal-font-mono);font-size:var(--fs-xs);color:var(--portal-mute);margin-top:2px;display:block}.portal-table tr.is-low-stock{background:color-mix(in srgb, var(--status-backorder-bg) 50%, transparent)}.portal-table tr.is-low-stock:hover{background:var(--status-backorder-bg)}.portal-table tr.is-paused{background:color-mix(in srgb, var(--portal-bg-soft) 80%, transparent);color:var(--portal-mute)}.portal-table .portal-table__row-link{color:var(--portal-mute);text-decoration:none;font-size:var(--fs-sm)}.portal-table .portal-table__row-link:hover{color:var(--portal-text);text-decoration:underline}.portal-table .portal-cell-edit{display:flex;align-items:center;gap:var(--sp-1)}.portal-table .portal-cell-edit input[type=number],.portal-table .portal-cell-edit input[type=text]{width:90px;padding:4px 6px;font-size:var(--fs-sm);font-family:var(--portal-font-mono);border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius);background:var(--portal-card)}.portal-table .portal-cell-edit input[type=number]:focus,.portal-table .portal-cell-edit input[type=text]:focus{outline:2px solid var(--portal-text);outline-offset:-1px}.portal-table .portal-cell-edit button{padding:4px 10px;font-size:10px;border:1px solid var(--portal-border-strong);background:var(--portal-card);cursor:pointer;border-radius:var(--portal-radius);font-family:var(--portal-font-mono);text-transform:uppercase;letter-spacing:0.1em}.portal-table .portal-cell-edit button:hover{background:var(--portal-text);color:var(--portal-card);border-color:var(--portal-text)}.portal-empty{text-align:center;padding:var(--sp-7) var(--sp-5);color:var(--portal-mute)}.portal-empty__icon{font-size:40px;color:var(--portal-border-strong);margin-bottom:var(--sp-3);line-height:1}.portal-empty__title{font-size:var(--fs-md);font-weight:600;color:var(--portal-text);margin:0 0 var(--sp-2)}.portal-empty__hint{font-size:var(--fs-sm);color:var(--portal-mute);max-width:420px;margin:0 auto var(--sp-4);line-height:1.5}.portal-empty__cta{display:inline-flex}.portal-flash{padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4);border:1px solid var(--portal-border);border-left:3px solid var(--portal-border);border-radius:var(--portal-radius);font-size:var(--fs-base);background:var(--portal-card)}.portal-flash--success{border-left-color:var(--portal-success);background:#ecfdf5;color:#064e3b}.portal-flash--error{border-left-color:var(--portal-danger);background:#fef2f2;color:#7f1d1d}.portal-flash--warn{border-left-color:var(--portal-warn);background:#fffbeb;color:#78350f}.portal-flash--info{border-left-color:var(--portal-info);background:#eff6ff;color:#1e3a8a}.portal-steps{display:flex;align-items:center;gap:0;margin:var(--sp-4) 0 var(--sp-5);overflow-x:auto}.portal-steps__item{display:flex;align-items:center;gap:var(--sp-2);flex:1;min-width:0}.portal-steps__item-marker{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--portal-border-strong);background:var(--portal-card);font-family:var(--portal-font-mono);font-size:12px;font-weight:600;color:var(--portal-mute);flex-shrink:0}.portal-steps__item-label{font-family:var(--portal-font-mono);font-size:var(--fs-xs);letter-spacing:0.1em;text-transform:uppercase;color:var(--portal-mute);white-space:nowrap}.portal-steps__item.is-done .portal-steps__item-marker{background:var(--portal-success);border-color:var(--portal-success);color:#fff}.portal-steps__item.is-done .portal-steps__item-label{color:var(--portal-text)}.portal-steps__item.is-active .portal-steps__item-marker{background:var(--portal-text);border-color:var(--portal-text);color:var(--portal-card);box-shadow:0 0 0 3px color-mix(in srgb, var(--portal-text) 12%, transparent)}.portal-steps__item.is-active .portal-steps__item-label{color:var(--portal-text);font-weight:600}.portal-steps__item.is-error .portal-steps__item-marker{background:var(--portal-danger);border-color:var(--portal-danger);color:#fff}.portal-steps__item.is-error .portal-steps__item-label{color:var(--portal-danger)}.portal-steps__connector{flex-shrink:0;width:24px;height:1px;background:var(--portal-border-strong)}.portal-steps__connector.is-done{background:var(--portal-success)}.portal-step-card{display:flex;gap:var(--sp-4);background:var(--portal-card);border:1px solid var(--portal-border);border-left:3px solid var(--portal-text);border-radius:var(--portal-radius);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-3);box-shadow:var(--portal-shadow)}.portal-step-card__num{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--portal-text);color:var(--portal-card);display:flex;align-items:center;justify-content:center;font-family:var(--portal-font-mono);font-size:13px;font-weight:700}.portal-step-card__body{flex:1;min-width:0}.portal-step-card__body h3{margin:0 0 var(--sp-1);font-size:var(--fs-md);font-weight:600}.portal-step-card__body p{margin:0 0 var(--sp-3);color:var(--portal-mute);font-size:var(--fs-sm)}.portal-step-card--warn{border-left-color:var(--portal-warn)}.portal-step-card--warn .portal-step-card__num{background:var(--portal-warn)}.portal-step-card--ok{border-left-color:var(--portal-success)}.portal-step-card--ok .portal-step-card__num{background:var(--portal-success)}.portal-pill-tabs{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.portal-pill-tabs__item{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--portal-card);border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius-pill);font-family:var(--portal-font-mono);font-size:var(--fs-xs);letter-spacing:0.08em;text-transform:uppercase;color:var(--portal-mute);text-decoration:none;transition:all 0.1s ease}.portal-pill-tabs__item-count{font-family:var(--portal-font-mono);font-size:10px;color:var(--portal-mute);background:var(--portal-bg-soft);padding:1px 7px;border-radius:var(--portal-radius-pill)}.portal-pill-tabs__item:hover{border-color:var(--portal-text);color:var(--portal-text)}.portal-pill-tabs__item.is-active{background:var(--portal-text);border-color:var(--portal-text);color:var(--portal-card)}.portal-pill-tabs__item.is-active .portal-pill-tabs__item-count{background:rgba(255, 255, 255, 0.18);color:var(--portal-card)}.portal-hero{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:var(--portal-radius);padding:var(--sp-5) var(--sp-5);margin-bottom:var(--sp-5);box-shadow:var(--portal-shadow);display:flex;align-items:flex-start;gap:var(--sp-5);flex-wrap:wrap}.portal-hero__main{flex:1;min-width:0}.portal-hero__kicker{font-family:var(--portal-font-mono);font-size:var(--fs-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--portal-mute);margin-bottom:var(--sp-1)}.portal-hero__title{margin:0 0 var(--sp-2);font-size:var(--fs-xl);font-weight:600;line-height:1.2}.portal-hero__meta{display:flex;flex-wrap:wrap;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--portal-mute)}.portal-hero__aside{flex-shrink:0}.portal-mini-list{list-style:none;margin:0;padding:0}.portal-mini-list li{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--portal-border);font-size:var(--fs-sm)}.portal-mini-list li:last-child{border-bottom:0}.portal-mini-list__mark{font-family:var(--portal-font-mono);font-size:var(--fs-xs);color:var(--portal-mute);min-width:90px}.portal-mini-list__body{flex:1;min-width:0}.portal-mini-list__body a{text-decoration:none;color:var(--portal-text);font-weight:500}.portal-mini-list__body a:hover{text-decoration:underline}.portal-mini-list__sub{font-size:var(--fs-xs);color:var(--portal-mute);font-family:var(--portal-font-mono);display:block;margin-top:2px}.portal-mini-list__aside{flex-shrink:0}.portal-bar-chart{display:flex;align-items:flex-end;gap:6px;height:100px;margin:var(--sp-4) 0 var(--sp-2);padding:0 var(--sp-1);border-bottom:1px solid var(--portal-border-strong)}.portal-bar-chart__bar{flex:1;background:var(--portal-text);min-height:2px;position:relative;display:flex;align-items:flex-end;justify-content:center;transition:background 0.1s ease;cursor:default;border-radius:1px 1px 0 0}.portal-bar-chart__bar:hover{background:var(--portal-accent-soft)}.portal-bar-chart__bar:hover .portal-bar-chart__bar-value{opacity:1}.portal-bar-chart__bar.is-zero{background:var(--portal-border-strong);min-height:1px}.portal-bar-chart__bar-value{position:absolute;bottom:100%;margin-bottom:4px;font-family:var(--portal-font-mono);font-size:10px;color:var(--portal-text);white-space:nowrap;opacity:0;transition:opacity 0.1s;background:var(--portal-card);padding:2px 5px;border:1px solid var(--portal-border);border-radius:2px;z-index:1}.portal-bar-chart-labels{display:flex;gap:6px;padding:0 var(--sp-1);font-family:var(--portal-font-mono);font-size:9px;letter-spacing:0.05em;text-transform:uppercase;color:var(--portal-mute)}.portal-bar-chart-labels span{flex:1;text-align:center}.portal-setup-shell{min-height:100vh;background:var(--portal-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-7) var(--sp-4)}.portal-setup-brand{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-6)}.portal-setup-brand__mark{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--portal-text);color:var(--portal-card);font-family:var(--portal-font-mono);font-size:22px;font-weight:700;border-radius:var(--portal-radius)}.portal-setup-brand__name{font-family:var(--portal-font-body);font-size:var(--fs-md);font-weight:600;letter-spacing:-0.005em}.portal-setup-brand__sub{font-family:var(--portal-font-mono);font-size:var(--fs-xs);letter-spacing:0.16em;text-transform:uppercase;color:var(--portal-mute)}.portal-setup-card{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:var(--portal-radius);padding:var(--sp-6) var(--sp-6) var(--sp-5);box-shadow:var(--portal-shadow);width:100%;max-width:420px}.portal-setup-card h1{margin:0 0 var(--sp-2);font-size:var(--fs-xl)}.portal-setup-card .portal-setup-card__lead{color:var(--portal-mute);font-size:var(--fs-sm);margin:0 0 var(--sp-5)}.portal-setup-card--error{border-left:3px solid var(--portal-danger)}.portal-setup-footer{margin-top:var(--sp-6);text-align:center;font-family:var(--portal-font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--portal-mute)}.portal-hr{border:0;border-top:1px solid var(--portal-border);margin:var(--sp-4) 0}.portal-lock-icon{display:inline-block;margin-left:4px;color:var(--portal-mute)}.portal-info-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:4px;border-radius:50%;border:1px solid var(--portal-mute);color:var(--portal-mute);font-family:var(--portal-font-mono);font-size:9px;font-weight:700;cursor:help;vertical-align:middle}.portal-drawer{display:none;position:fixed;inset:0;z-index:var(--portal-z-overlay)}.portal-drawer.is-open{display:block}.portal-drawer__backdrop{position:absolute;inset:0;background:rgba(0, 0, 0, 0.4)}.portal-drawer__panel{position:absolute;top:0;right:0;bottom:0;width:80%;max-width:320px;background:var(--portal-card);padding:var(--sp-5) var(--sp-4);box-shadow:var(--portal-shadow-pop);display:flex;flex-direction:column;gap:var(--sp-3)}.portal-drawer__panel a{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3);text-decoration:none;color:var(--portal-text);font-size:var(--fs-md);border-bottom:1px solid var(--portal-border)}.portal-drawer__panel a.is-active{font-weight:600}.portal-drawer__panel a svg{flex-shrink:0}.portal-drawer__close{align-self:flex-end;padding:6px 10px;background:transparent;border:1px solid var(--portal-border);cursor:pointer;font-family:var(--portal-font-mono);font-size:11px;margin-bottom:var(--sp-2)}a{color:var(--portal-text)}.kq-portal-shell{min-height:100vh;display:flex;flex-direction:column}.kq-portal-header{background:var(--portal-card);border-bottom:1px solid var(--portal-border);padding:var(--sp-4) var(--sp-6);display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;position:sticky;top:0;z-index:var(--portal-z-header)}.kq-portal-header .kq-portal-brand{font-family:var(--portal-font-mono);font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--portal-mute)}.kq-portal-header .kq-portal-brand a{color:var(--portal-text);text-decoration:none}.kq-portal-header .kq-portal-nav{display:flex;gap:var(--sp-4);flex-wrap:wrap}.kq-portal-header .kq-portal-nav a{text-decoration:none;font-size:var(--fs-sm);color:var(--portal-mute);padding:4px 2px;border-bottom:2px solid transparent}.kq-portal-header .kq-portal-nav a.active{color:var(--portal-text);font-weight:600;border-bottom-color:var(--portal-text)}.kq-portal-header .kq-portal-nav a:hover{color:var(--portal-text)}.kq-portal-header .kq-portal-user{font-size:var(--fs-sm);color:var(--portal-mute)}.kq-portal-header .kq-portal-user a{margin-left:var(--sp-3);text-decoration:none;color:var(--portal-mute)}.kq-portal-header .kq-portal-user a:hover{color:var(--portal-text);text-decoration:underline}.kq-portal-main{flex:1;padding:var(--sp-6) var(--sp-6);max-width:var(--portal-container-max);margin:0 auto;width:100%}.kq-portal-card{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:var(--portal-radius);padding:var(--sp-5) var(--sp-5);margin-bottom:var(--sp-4);box-shadow:var(--portal-shadow)}.kq-portal-card h2{margin:0 0 var(--sp-4);font-size:var(--fs-lg);font-weight:600}.kq-portal-card .kq-portal-card__kicker{font-family:var(--portal-font-mono);font-size:var(--fs-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--portal-mute);margin-bottom:var(--sp-1)}.kq-portal-form .form-group{margin-bottom:var(--sp-4)}.kq-portal-form label{display:block;font-family:var(--portal-font-mono);font-size:var(--fs-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--portal-mute);margin-bottom:var(--sp-2)}.kq-portal-form input[type=text],.kq-portal-form input[type=email],.kq-portal-form input[type=password],.kq-portal-form input[type=number],.kq-portal-form input[type=date],.kq-portal-form input[type=url],.kq-portal-form input[type=tel],.kq-portal-form textarea,.kq-portal-form select{width:100%;padding:9px 12px;font-size:var(--fs-base);border:1px solid var(--portal-border-strong);background:var(--portal-card);color:var(--portal-text);border-radius:var(--portal-radius);font-family:var(--portal-font-body)}.kq-portal-form input[type=text]:focus,.kq-portal-form input[type=email]:focus,.kq-portal-form input[type=password]:focus,.kq-portal-form input[type=number]:focus,.kq-portal-form input[type=date]:focus,.kq-portal-form input[type=url]:focus,.kq-portal-form input[type=tel]:focus,.kq-portal-form textarea:focus,.kq-portal-form select:focus{outline:none;border-color:var(--portal-text);box-shadow:0 0 0 3px color-mix(in srgb, var(--portal-text) 12%, transparent)}.kq-portal-form input[type=text][readonly],.kq-portal-form input[type=email][readonly],.kq-portal-form input[type=password][readonly],.kq-portal-form input[type=number][readonly],.kq-portal-form input[type=date][readonly],.kq-portal-form input[type=url][readonly],.kq-portal-form input[type=tel][readonly],.kq-portal-form textarea[readonly],.kq-portal-form select[readonly]{background:var(--portal-bg-soft);color:var(--portal-mute-strong)}.kq-portal-form textarea{font-family:var(--portal-font-body);min-height:80px}.kq-portal-form .kq-portal-form__error{color:var(--portal-danger);font-size:var(--fs-sm);margin-top:var(--sp-1)}.kq-portal-form .kq-portal-form__hint{color:var(--portal-mute);font-size:var(--fs-sm);margin-top:var(--sp-1)}.kq-portal-btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:9px 18px;font-family:var(--portal-font-mono);font-size:var(--fs-xs);letter-spacing:0.14em;text-transform:uppercase;background:var(--portal-accent);color:var(--portal-accent-fg) !important;border:1px solid var(--portal-accent);border-radius:var(--portal-radius);text-decoration:none !important;cursor:pointer;line-height:1}.kq-portal-btn:hover{background:#000;border-color:#000}.kq-portal-btn.kq-portal-btn--ghost{background:transparent;color:var(--portal-accent) !important;border:1px solid var(--portal-border-strong)}.kq-portal-btn.kq-portal-btn--ghost:hover{background:var(--portal-bg-soft);color:var(--portal-text) !important;border-color:var(--portal-text)}.kq-portal-btn.kq-portal-btn--danger{background:var(--portal-danger);border-color:var(--portal-danger)}.kq-portal-btn.kq-portal-btn--danger:hover{background:#8b1414;border-color:#8b1414}.kq-portal-btn:disabled,.kq-portal-btn[disabled]{opacity:0.5;cursor:not-allowed}.kq-portal-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.kq-portal-table th,.kq-portal-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--portal-border);vertical-align:middle}.kq-portal-table thead th{font-family:var(--portal-font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--portal-mute);font-weight:600;background:var(--portal-bg-soft);border-bottom:1px solid var(--portal-border-strong);white-space:nowrap}.kq-portal-table tbody tr:hover{background:var(--portal-tablerow-hover)}.kq-portal-table tbody tr:last-child td{border-bottom:0}.kq-portal-stats{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:var(--sp-3);margin-bottom:var(--sp-5)}.kq-portal-stats .kq-portal-stat{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:var(--portal-radius);padding:var(--sp-4) var(--sp-5);box-shadow:var(--portal-shadow)}.kq-portal-stats .kq-portal-stat .kq-portal-stat__label{font-family:var(--portal-font-mono);font-size:var(--fs-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--portal-mute)}.kq-portal-stats .kq-portal-stat .kq-portal-stat__value{margin-top:var(--sp-1);font-size:var(--fs-2xl);font-weight:600;color:var(--portal-text);font-variant-numeric:tabular-nums;line-height:1.1}.kq-portal-stats .kq-portal-stat .kq-portal-stat__hint{margin-top:var(--sp-1);font-size:var(--fs-sm);color:var(--portal-mute)}.kq-portal-flash{padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4);border:1px solid var(--portal-border);border-left:3px solid var(--portal-border);border-radius:var(--portal-radius);font-size:var(--fs-base);background:var(--portal-card)}.kq-portal-flash--success{border-left-color:var(--portal-success);background:#ecfdf5;color:#064e3b}.kq-portal-flash--error{border-left-color:var(--portal-danger);background:#fef2f2;color:#7f1d1d}.kq-portal-flash--info{border-left-color:var(--portal-warn);background:#fffbeb;color:#78350f}.kq-portal-footer{border-top:1px solid var(--portal-border);padding:var(--sp-3) var(--sp-5);font-family:var(--portal-font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--portal-mute);text-align:center;background:var(--portal-card)}.kq-portal-centered{display:flex;align-items:center;justify-content:center;flex:1;padding:var(--sp-6) var(--sp-4)}.kq-portal-centered .kq-portal-centered__inner{width:100%;max-width:440px}@media print{html,body{background:#fff;color:#000}.portal-header,.portal-footer,.kq-portal-header,.kq-portal-footer,.portal-no-print,.portal-button-row,.portal-pill-tabs{display:none !important}.portal-main,.kq-portal-main{padding:0;max-width:none}.portal-card,.kq-portal-card{border:1px solid #ccc;box-shadow:none;page-break-inside:avoid}.portal-badge{border:1px solid #999}a{color:#000;text-decoration:underline}.portal-table thead th{background:#f4f4f4}}@media (max-width:1024px){.portal-main,.kq-portal-main{padding:var(--sp-5) var(--sp-4)}.portal-form-grid--cols-3,.portal-form-grid--cols-4{grid-template-columns:1fr 1fr}}@media (max-width:768px){.portal-header__inner{padding:0 var(--sp-3)}.portal-header__nav{display:none}.portal-header__user .portal-header__user-name{display:none}.portal-header__hamburger{display:inline-flex}.portal-main,.kq-portal-main{padding:var(--sp-4) var(--sp-3)}.portal-container{padding:0 var(--sp-3)}.portal-card,.kq-portal-card{padding:var(--sp-4)}.portal-card+.portal-card{margin-top:var(--sp-3)}.portal-hero{padding:var(--sp-4);flex-direction:column;gap:var(--sp-3)}.portal-hero__title{font-size:var(--fs-lg)}.portal-stats,.kq-portal-stats{grid-template-columns:1fr 1fr;gap:var(--sp-2)}.portal-stat,.kq-portal-stat{padding:var(--sp-3)}.portal-stat__value,.kq-portal-stat__value{font-size:var(--fs-xl)}.portal-form-grid--cols-2,.portal-form-grid--cols-3,.portal-form-grid--cols-4,.portal-form-grid--cols-2-1,.portal-form-grid--cols-1-2{grid-template-columns:1fr;gap:var(--sp-3)}.portal-table-wrap{margin:0 calc(-1 * var(--sp-3));border-radius:0}.portal-table{font-size:var(--fs-xs)}.portal-table th,.portal-table td{padding:8px 8px}.kq-portal-header{padding:var(--sp-3) var(--sp-3);flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.kq-portal-header .kq-portal-nav{gap:var(--sp-3);font-size:var(--fs-xs)}.portal-button-row{flex-direction:column;align-items:stretch}.portal-button-row .portal-btn,.portal-button-row .kq-portal-btn{width:100%;justify-content:center}.portal-steps{flex-wrap:nowrap;overflow-x:auto;gap:var(--sp-1);padding-bottom:var(--sp-2)}.portal-steps__item-label{font-size:9px}.portal-setup-card{padding:var(--sp-5) var(--sp-4) var(--sp-4)}.portal-setup-shell{padding:var(--sp-5) var(--sp-3)}}@media (max-width:480px){.portal-stats,.kq-portal-stats{grid-template-columns:1fr}}