
.sw-quote-publication-bulk{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}
.sw-quote-publication-bulk label{display:grid;gap:6px;flex:1;min-width:180px;font-size:13px}
.sw-quote-publication-bulk select{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;padding:8px;background:white;color:var(--ink)}
.sw-quote-publication-bulk>.sw-note{flex-basis:100%;margin:0}
.sw-quote-publication-bulk .sw-action-buttons{flex-wrap:wrap}
#supplier-workspace .sw-quote-category-tools{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;margin:0 0 14px;background:var(--blue-soft);border:1px solid var(--line);border-radius:10px}
.sw-quote-category-tools>div:first-child{display:grid;gap:4px}.sw-quote-category-tools strong{font-size:13px}.sw-quote-category-tools span{font-size:12px;color:var(--muted)}
.sw-quote-category-tools button{font-size:12px;min-height:36px;padding:7px 12px}
.sw-quote-category{margin:8px 0 0;font-size:12px;color:var(--blue-dark)}.sw-quote-category-missing{color:var(--amber)}
.sw-quote-category-manager{display:grid;gap:18px}.sw-quote-category-intro{display:flex;align-items:center;justify-content:space-between;gap:12px}.sw-quote-category-intro p{margin:0}
.sw-quote-category-create{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;background:var(--panel-soft);padding:16px;border-radius:10px;border:1px solid var(--line)}
.sw-quote-category-manager label{display:grid;gap:6px;min-width:0;font-size:12px;color:var(--muted)}
.sw-quote-category-manager input,.sw-quote-publication-category select{width:100%;min-width:0;min-height:40px;border-radius:8px;border:1px solid var(--line);font-size:13px;padding:9px 11px;box-sizing:border-box;background:white;color:var(--ink)}
.sw-quote-category-list{display:grid;gap:10px}.sw-quote-category-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:white;min-width:0}
.sw-quote-category-edit{flex:1;min-width:0;display:grid;grid-template-columns:minmax(120px,1fr) auto auto;align-items:end;gap:12px}.sw-quote-category-count{font-size:12px;color:var(--muted);padding-bottom:12px;white-space:nowrap}
.sw-quote-category-row button,.sw-quote-category-create button{min-height:40px;font-size:12px;padding:8px 12px}.sw-quote-category-delete{align-self:end;color:var(--red)}
.sw-quote-category-delete-note{border:1px solid var(--line);padding:18px;border-radius:10px;background:var(--panel-soft)}.sw-quote-category-delete-note strong{font-size:16px}.sw-quote-category-delete-note p{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:0}
.sw-quote-category-products{padding:0;margin:0;list-style:none;display:grid;gap:8px;max-height:280px;overflow:auto}.sw-quote-category-products li{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;min-width:0;overflow-wrap:anywhere}.sw-quote-category-products strong{font-size:13px}.sw-quote-category-products span{font-size:12px;color:var(--muted)}
.sw-quote-publication-category{min-width:160px;display:block}.sw-quote-publication-category select{min-width:160px}.sw-quote-publication-note{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;background:var(--blue-soft);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.sw-quote-publication-note p{margin:0;font-size:12px;color:var(--ink-soft)}.sw-quote-publication-note button{font-size:12px;min-height:34px;padding:6px 10px}
@media(max-width:760px){#supplier-workspace .sw-quote-category-tools{align-items:flex-start;flex-direction:column}.sw-quote-category-intro{align-items:flex-start}.sw-quote-category-create{grid-template-columns:minmax(0,1fr)}.sw-quote-category-create>button{justify-self:start}.sw-quote-category-row{align-items:flex-start}.sw-quote-category-edit{grid-template-columns:minmax(0,1fr)}.sw-quote-category-count{padding:0}.sw-quote-category-edit .sw-action-buttons{gap:6px}.sw-quote-category-row{gap:8px;padding:12px}.sw-quote-category-delete{align-self:flex-start;margin-top:21px}.sw-quote-category-row button{padding:7px 9px}.sw-quote-publication-note .sw-action-buttons{width:100%}}

/* Re-entering a hidden library must verify the previous reader's view before showing it again. */
#supplier-workspace[data-checking-catalog] > :not(.supply-controls):not(#sw-message):not(#sw-retry),
#supplier-workspace[data-checking-catalog] .supply-controls > :not(#sw-nav),
#supplier-workspace[data-checking-catalog] + #sw-dialog :is(#sw-dialog-title,#sw-dialog-content){visibility:hidden}
#supplier-workspace[hidden],#supplier-workspace [hidden],#sw-dialog [hidden]{display:none!important}
#sw-publication-toast{position:fixed;z-index:100;bottom:calc(28px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;background:var(--ink);color:white;font-weight:600;box-shadow:0 4px 20px #16223835;pointer-events:none;white-space:nowrap}
#sw-publication-toast::before{content:"✓";color:#b5ecd2}
#supplier-workspace{min-width:0;scroll-margin-top:84px}
#supplier-workspace .supply-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"intro actions" "summary summary";gap:18px 24px;align-items:center;margin-bottom:20px}
#supplier-workspace .sw-page-intro{grid-area:intro}
#supplier-workspace .sw-page-intro .eyebrow{letter-spacing:.08em;font-size:11px;margin:0 0 7px}
#supplier-workspace #sw-title{margin:0;font-size:28px;line-height:1.35}
#supplier-workspace #sw-description{font-size:13px;line-height:1.6;color:var(--muted);margin:7px 0 0;max-width:680px}
#supplier-workspace .supply-heading-actions{grid-area:actions;display:flex;gap:10px;justify-content:flex-end}
#supplier-workspace .supply-heading-actions button,#supplier-workspace .sw-back-button{display:inline-flex;align-items:center;justify-content:center;gap:9px}
#supplier-workspace .supply-heading-actions svg,#supplier-workspace .sw-back-button svg{width:18px;height:18px;flex:0 0 18px}
#supplier-workspace #sw-summary{grid-area:summary;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:0}
#supplier-workspace #sw-summary:empty{display:none}
#supplier-workspace #sw-summary article{display:flex;flex-direction:row;align-items:center;gap:14px;border:1px solid var(--line);border-radius:10px;background:white;padding:13px 16px;min-width:0}
#supplier-workspace #sw-summary strong{order:0;font-size:24px;line-height:1.2;color:var(--ink);flex-shrink:0}
#supplier-workspace #sw-summary span{order:1;color:var(--muted);font-size:12px}
#supplier-workspace #sw-summary article:last-child strong{color:var(--green)}
#supplier-workspace>.sw-page-hint{padding:9px 13px;margin:0 0 16px;border:1px solid var(--line);background:var(--blue-soft);border-radius:8px;font-size:12px}
#supplier-workspace .supply-controls{border-radius:12px}
#supplier-workspace #sw-nav{padding:6px;gap:4px;background:var(--panel-soft);border-bottom:1px solid var(--line)}
#supplier-workspace #sw-nav button{border:1px solid transparent;border-radius:8px;padding:9px 17px;min-height:42px;line-height:1.3;font-size:13px;white-space:nowrap}
#supplier-workspace #sw-nav button.active{border-color:var(--line);background:white;color:var(--blue-dark);box-shadow:0 2px 4px #26314708}
#supplier-workspace #sw-nav button.active::after{display:none}
#supplier-workspace #sw-library-navigation{padding:16px 18px 0;gap:16px;align-items:center}
#supplier-workspace .sw-back-button{border:1px solid var(--line);padding:8px 11px;min-height:36px;line-height:1.4;font-size:12px;flex-shrink:0;background:white}
#supplier-workspace .sw-back-button svg{width:16px;height:16px;flex-basis:16px}
#supplier-workspace .sw-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:0;list-style:none;margin:0;padding:0;color:var(--muted);font-size:12px;line-height:1.8}
#supplier-workspace .sw-breadcrumb li{display:inline-flex;align-items:center;overflow-wrap:anywhere}
#supplier-workspace .sw-breadcrumb li+li::before{content:"/";color:#b4bccb;padding:0 11px}
#supplier-workspace .sw-breadcrumb [aria-current="page"]{color:var(--ink);font-weight:600}
#supplier-workspace #sw-filter{display:grid;grid-template-columns:minmax(210px,1.7fr) repeat(4,minmax(120px,1fr)) auto;gap:12px;padding:17px 18px 18px;align-items:end}
#supplier-workspace #sw-filter label{display:flex;flex-direction:column;gap:7px;font-size:12px;line-height:1.5}
#supplier-workspace #sw-filter label>span{color:var(--muted);font-weight:550}
#supplier-workspace #sw-filter input,#supplier-workspace #sw-filter select{width:100%;height:41px;min-height:41px;border:1px solid var(--line);border-radius:8px;font-size:13px;line-height:1.4;background-color:#fbfcfe;padding:9px 11px;box-sizing:border-box}
#supplier-workspace #sw-filter select{appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,#778397 50%),linear-gradient(135deg,#778397 50%,transparent 50%);background-position:calc(100% - 15px) 18px,calc(100% - 10px) 18px;background-size:5px 5px;background-repeat:no-repeat}
#supplier-workspace #sw-refresh{height:41px;min-height:41px;padding:8px 14px}
#supplier-workspace #sw-access{gap:7px;align-items:center;margin:14px 0 12px;font-size:11px}
#supplier-workspace #sw-access span{padding:5px 9px;border:1px solid var(--line);border-radius:6px;background:white;line-height:1.4}
#supplier-workspace #sw-access span+span::before{display:none}
#supplier-workspace #sw-results-heading{justify-content:space-between;margin:12px 0;min-height:28px}
@media(max-width:1200px){#supplier-workspace #sw-filter{grid-template-columns:repeat(3,minmax(0,1fr))}#supplier-workspace #sw-filter .supply-search{grid-column:span 2}}
@media(max-width:760px){#supplier-workspace .supply-overview{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "actions" "summary";gap:14px}#supplier-workspace .supply-heading-actions{justify-content:flex-start}#supplier-workspace #sw-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#supplier-workspace #sw-summary article{padding:11px 13px;gap:10px}#supplier-workspace #sw-summary strong{font-size:21px}#supplier-workspace #sw-filter{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}#supplier-workspace #sw-filter .supply-search{grid-column:1/-1}#supplier-workspace #sw-library-navigation{padding:14px 14px 0;gap:10px}#supplier-workspace #sw-nav button{padding:8px 12px}#supplier-workspace #sw-title{font-size:24px}}
.sw-access{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0;color:var(--muted);font-size:12px}
.sw-access span+span:before{content:'·';margin-right:8px}
.sw-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;margin-bottom:16px;border:1px solid var(--line);border-radius:12px;background:white}
.sw-action-buttons,.sw-pagination-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sw-selection{font-size:13px;color:var(--muted)}.sw-selection strong{color:var(--ink);margin:0 4px}
.sw-selection-controls{display:flex;align-items:center;flex-wrap:wrap;gap:18px}
#supplier-workspace .sw-select-page,#supplier-workspace .sw-card-pick{display:flex;align-items:center;flex-direction:row;gap:8px;font-size:12px;color:var(--ink-soft);cursor:pointer}
#supplier-workspace .sw-select-page input,#supplier-workspace .sw-card-pick input{width:16px;height:16px;min-height:0;margin:0;accent-color:var(--blue)}
#supplier-workspace .sw-card-pick{position:absolute;top:10px;right:10px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:white;box-shadow:0 1px 4px #26314708}
#supplier-workspace .sw-selectable .supply-status-line{max-width:calc(100% - 100px)}
#supplier-workspace .supply-product-record[data-selected="true"]{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
#sw-result-count{color:#46536b;font-weight:600}
.sw-card-secondary{min-height:36px;padding:7px 12px;font-size:12px}
.sw-note,.sw-page-hint{font-size:13px;color:var(--muted);line-height:1.65}
.sw-page-hint{margin:12px 0}.sw-note strong{color:var(--ink)}
.sw-table{white-space:nowrap}.sw-table .sw-product-name{display:block;white-space:normal;min-width:150px;max-width:300px}
.sw-table small{display:block;white-space:normal;max-width:300px;margin-top:4px;color:var(--muted);font-size:12px}
.sw-numeric{font-variant-numeric:tabular-nums}.sw-table .sw-row-actions{display:flex;gap:6px;flex-wrap:wrap;max-width:230px}
.sw-row-actions button{min-height:34px;padding:6px 10px;font-size:12px}
.sw-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:600;background:var(--panel-soft);color:var(--muted)}
.sw-chip.green{background:var(--green-soft);color:var(--green)}.sw-chip.amber{background:var(--amber-soft);color:var(--amber)}.sw-chip.red{background:var(--red-soft);color:var(--red)}
.sw-strong{color:var(--blue-dark);font-weight:700}.sw-muted{color:var(--muted)}.sw-cost-tag{color:var(--amber)!important}
.sw-empty{text-align:center;padding:45px 22px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--muted)}
.sw-empty b{display:block;color:var(--ink-soft);margin-bottom:9px;font-size:17px}.sw-history-label{white-space:normal;max-width:320px}
#sw-dialog{width:min(960px,calc(100vw - 32px))}#sw-dialog-content{margin-top:16px}
#sw-dialog .sw-form{display:grid;gap:18px}#sw-dialog .sw-form textarea{min-height:84px;resize:vertical}
.sw-form fieldset{min-width:0;margin:0;border:1px solid var(--line);border-radius:12px;padding:16px}
.sw-form legend{padding:0 8px;color:var(--ink-soft);font-weight:600}
.sw-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sw-span-two{grid-column:1/-1}
.sw-dialog-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:18px}
.sw-dialog-footer .sw-note{margin-right:auto;max-width:440px}
#sw-dialog .sw-options{display:grid;gap:10px;margin:16px 0}
#sw-dialog .sw-option-row{display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:16px;min-width:0}
#sw-dialog .sw-check{display:flex;align-items:center;gap:9px;min-width:0;font-weight:400;line-height:1.5;cursor:pointer}
#sw-dialog .sw-check input[type="checkbox"]{flex:0 0 18px;width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--blue)}
#sw-dialog .sw-option-name{min-width:0;overflow-wrap:anywhere}
#sw-dialog .sw-option-row>[data-option-quantity]{width:100%;min-width:0}
@media(max-width:600px){#sw-dialog .sw-option-row{grid-template-columns:minmax(0,1fr);gap:7px}#sw-dialog .sw-option-row>[data-option-quantity]{margin-left:27px;width:calc(100% - 27px)}}
.sw-bulk-controls{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.sw-input-unit{position:relative}
#sw-dialog.sw-bulk-dialog{padding:0;overflow:hidden}
#sw-dialog.sw-bulk-dialog>section{height:min(880px,calc(100dvh - 36px));box-sizing:border-box;display:flex;flex-direction:column;min-height:0}
#sw-dialog.sw-bulk-dialog .supply-detail-heading,#sw-dialog.sw-bulk-dialog #sw-dialog-message{flex-shrink:0}
#sw-dialog.sw-bulk-dialog #sw-dialog-message{max-height:20dvh;overflow:auto}
#sw-dialog.sw-bulk-dialog #sw-dialog-content{display:flex;flex:1;min-height:0;min-width:0}
#sw-dialog #sw-bulk-form{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;gap:0}
#sw-dialog .sw-bulk-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:grid;align-content:start;gap:18px;padding:0 6px 18px 0}
#sw-dialog #sw-bulk-form>.sw-dialog-footer{flex-shrink:0;background:white;margin:0;padding-top:14px}
@media(max-width:760px){#sw-dialog.sw-bulk-dialog>section{padding:14px}#sw-dialog.sw-bulk-dialog .supply-detail-heading h2{font-size:21px}#sw-dialog #sw-bulk-form>.sw-dialog-footer{gap:8px}#sw-dialog #sw-bulk-form>.sw-dialog-footer button{min-height:42px}#sw-dialog #sw-bulk-form>.sw-dialog-footer .sw-note{margin:0}}
.sw-input-unit input{padding-right:42px}.sw-input-unit>span{position:absolute;right:13px;top:12px;color:var(--muted)}
.sw-formula{padding:16px 18px;background:var(--blue-soft);border-radius:9px;color:var(--blue-dark)}
.sw-formula strong{display:block;font-size:18px;margin:4px 0}.sw-formula small{display:block;color:var(--ink-soft)}
.sw-comparison-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:4px 0 10px}.sw-comparison-title h3{font-size:17px;margin:0}
.sw-preview-wait{padding:24px;background:var(--panel-soft);border:1px dashed var(--line-strong);border-radius:9px;color:var(--muted);text-align:center}
.sw-warning{color:var(--amber);background:var(--amber-soft);border-radius:9px;padding:12px 14px;font-size:13px}
.sw-price-line{display:grid;grid-template-columns:1fr 105px 130px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.sw-price-line small{font-size:12px;color:var(--muted)}
.sw-trial-total{background:var(--panel-soft);border-radius:9px;padding:16px;margin-top:14px}.sw-trial-total strong{font-size:24px;color:var(--blue-dark)}
.sw-import-outcome{display:flex;gap:30px;background:var(--panel-soft);padding:20px;border-radius:9px}.sw-import-outcome strong{font-size:25px;display:block}
.sw-progress{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;color:var(--muted)}
.sw-progress b{background:var(--panel-soft);padding:4px 10px;border-radius:20px;color:var(--ink-soft)}
.sw-catalog-detail{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}.sw-catalog-detail .supply-detail-facts{margin:0}.sw-catalog-detail dd{white-space:pre-wrap}
.sw-th-family .supply-sale-price{align-items:flex-start;flex-direction:column;gap:7px}.sw-th-family .supply-sale-price strong{font-size:16px;line-height:1.65}.sw-th-family .supply-card-title h3{font-size:18px;line-height:1.45}.sw-th-family .supply-record-spec{height:auto;min-height:42px}.sw-th-rules{margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:12px}.sw-th-rules h4{font-size:15px;margin:0 0 10px}.sw-th-rules p{line-height:1.7}.sw-th-rules .supply-detail-facts{margin:12px 0}.sw-th-rules dd{white-space:pre-wrap}
.sw-th-rule-block{padding:14px 0;border-top:1px solid var(--line)}.sw-th-rule-block:last-child{padding-bottom:0}.sw-th-rule-block p{white-space:pre-wrap}
.sw-maintenance-summary{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 14px}.sw-maintenance-summary strong{color:var(--blue-dark);font-size:20px}
#sw-maintenance-specifications{min-width:0}#sw-maintenance-specifications .supply-catalog-configuration{border:1px solid var(--line);border-radius:12px;padding:16px}
#sw-maintenance-preview:empty{display:none}#sw-maintenance-preview img{display:block;max-width:100%;max-height:600px;object-fit:contain;margin-top:12px}#sw-maintenance-preview iframe{width:100%;height:580px;border:1px solid var(--line);margin-top:12px}
@media(max-width:760px){.sw-catalog-detail,.sw-two-cols,.sw-bulk-controls{grid-template-columns:1fr}.sw-span-two{grid-column:auto}.sw-actions{align-items:flex-start;flex-direction:column}.sw-dialog-footer{flex-wrap:wrap}.sw-dialog-footer .sw-note{flex-basis:100%}.sw-price-line{grid-template-columns:1fr 80px 105px;gap:8px}}

.sw-business-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.sw-maintenance-context{line-height:1.7;color:var(--muted);font-size:13px}
.sw-maintenance-block{border:1px solid var(--line);border-radius:12px;margin:14px 0;background:white;overflow:hidden}
.sw-maintenance-block-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px}
.sw-maintenance-block-heading h3,.sw-maintenance-block-heading h4{margin:0;font-size:16px;color:var(--ink)}
.sw-maintenance-block-heading .sw-note{margin:6px 0}.sw-maintenance-block-heading>.sw-module-summary{flex-shrink:0}
.sw-maintenance-block-heading>.sw-action-buttons{margin:0}.sw-module-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.sw-module-summary small{color:var(--muted)}
.sw-module-summary strong{color:var(--blue-dark);font-size:16px}.sw-maintenance-block-body{padding:0 16px 16px}
.sw-maintenance-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
.sw-maintenance-facts div{min-width:0}.sw-maintenance-facts dt{font-size:12px;color:var(--muted);margin-bottom:4px}.sw-maintenance-facts dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;font-size:14px}
.sw-maintenance-block-body>.sw-action-buttons{margin:0 0 16px}.sw-module-toggle{text-align:left;padding:0;font-size:16px;font-weight:700;min-height:0;color:var(--ink)}
.sw-module-library>header{padding:16px 0 0}.sw-module-prices{white-space:normal}.sw-module-prices td{vertical-align:top}.sw-module-prices small{max-width:none}
.sw-scoped-field{display:grid;grid-template-columns:minmax(120px,1fr) minmax(180px,2fr);gap:10px;align-items:start;margin:12px 0}
.sw-scoped-field>div{display:flex;gap:8px;min-width:0}.sw-scoped-field input{min-width:0;width:100%}.sw-scoped-field button{flex-shrink:0;white-space:nowrap}
.sw-cover-library{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.sw-cover-library>header{padding:0}.sw-cover-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.sw-cover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.sw-cover-card{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;gap:6px;font-size:13px;min-width:0}.sw-cover-card span{overflow-wrap:anywhere}.sw-cover-card small{color:var(--muted)}.sw-cover-card b{font-size:13px;color:var(--blue-dark)}
@media(max-width:760px){.sw-maintenance-block-heading{flex-wrap:wrap}.sw-maintenance-facts,.sw-cover-filters,.sw-scoped-field{grid-template-columns:minmax(0,1fr)}.sw-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-scoped-field>div{flex-wrap:wrap}}
.sw-module-picks{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.sw-module-picks button{min-height:34px;padding:7px 12px;font-size:13px}

/* Soft furnishing uses one image-led module browser; other catalogs keep their layout. */
#sw-dialog.sw-soft-detail{width:min(1240px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:hidden;padding:0}
#sw-dialog.sw-soft-detail>section{height:min(900px,calc(100dvh - 36px));box-sizing:border-box;padding:22px;display:flex;flex-direction:column;min-height:0}
#sw-dialog.sw-soft-detail .supply-detail-heading{flex-shrink:0;align-items:center}
#sw-dialog.sw-soft-detail .supply-detail-heading h2{font-size:23px;line-height:1.35;margin:4px 0 0}
#sw-dialog.sw-soft-detail .supply-detail-heading .eyebrow{margin:0}
#sw-dialog.sw-soft-detail #sw-dialog-content{flex:1;min-height:0;margin-top:8px;position:relative}
.sw-soft-workspace{height:100%;min-height:0;display:flex;flex-direction:column}
.sw-soft-context{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--muted);font-size:12px;padding:0 0 10px}
.sw-soft-context>span:last-child{display:flex;gap:10px;align-items:center}
.sw-soft-section-tabs{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px;flex-wrap:wrap;flex-shrink:0}
.sw-soft-section-tabs button,.sw-soft-panel-tabs button{min-height:34px;padding:7px 12px;font-size:13px}
.sw-soft-section-tabs>.sw-note{margin-left:auto;font-size:12px}
.sw-soft-browser{display:grid;grid-template-columns:244px minmax(0,1fr);gap:18px;flex:1;min-height:0}
.sw-soft-module-list{min-height:0;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft)}
.sw-soft-list-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:12px;color:var(--muted);background:var(--panel-soft);position:sticky;top:0;z-index:1}
.sw-soft-list-heading h3{font-size:14px;margin:0;color:var(--ink)}
.sw-soft-module-list nav{display:grid;gap:6px;padding:0 8px 8px}
#sw-dialog .sw-soft-module-pick{display:grid;grid-template-columns:64px minmax(0,1fr);gap:9px;align-items:center;width:100%;padding:10px 8px;text-align:left;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink);min-height:93px}
#sw-dialog .sw-soft-module-pick[aria-pressed="true"]{border-color:var(--blue);background:white;box-shadow:0 0 0 1px var(--blue-soft)}
.sw-soft-pick-image{height:64px;background:white;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:11px;color:var(--muted)}
.sw-soft-pick-image img{width:100%;height:100%;object-fit:contain}
.sw-soft-pick-copy{display:grid;gap:4px;min-width:0}.sw-soft-pick-copy b{font-size:13px}.sw-soft-pick-copy>span{font-size:12px;overflow-wrap:anywhere}
.sw-soft-pick-copy small{font-size:10px;line-height:1.5;color:var(--blue-dark);font-variant-numeric:tabular-nums}
.sw-soft-detail-pane{min-height:0;min-width:0;display:flex}
#sw-dialog .sw-soft-selected{width:100%;margin:0;display:flex;flex-direction:column;min-height:0}
.sw-soft-module-overview{display:grid;grid-template-columns:164px minmax(0,1fr);gap:18px;padding:16px;flex-shrink:0}
.sw-maintenance-image{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;color:var(--muted);font-size:12px;padding:0}
.sw-maintenance-image img{display:block;width:100%;height:100%;object-fit:contain;background:white}
#sw-dialog .sw-soft-module-photo{width:164px;height:126px;min-height:0}
.sw-soft-module-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.sw-soft-module-title h3{font-size:19px;line-height:1.4;margin:3px 0 8px;color:var(--ink)}.sw-soft-module-title button{font-size:12px;padding:6px 8px;min-height:32px;flex-shrink:0}
.sw-soft-dimensions{font-size:12px;color:var(--ink-soft);line-height:1.7;margin:0 0 7px}
.sw-soft-price-range{font-size:17px;color:var(--blue-dark);font-variant-numeric:tabular-nums}
.sw-soft-module-overview .sw-note{font-size:11px;margin:6px 0 0}
.sw-soft-panel-tabs{display:flex;gap:8px;padding:10px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-shrink:0}
.sw-soft-module-body{overflow:auto;min-height:0;flex:1;padding:0 16px 14px}
.sw-soft-price-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:14px}
.sw-soft-price-heading h4{margin:0;font-size:14px}.sw-soft-price-heading .sw-note{margin:5px 0 10px;font-size:12px}
.sw-soft-price-heading>button{font-size:12px;padding:6px 10px;min-height:34px;flex-shrink:0}
.sw-soft-module-body .sw-module-prices th{font-size:11px;padding:8px;position:sticky;top:0;background:var(--panel-soft)}
.sw-soft-module-body .sw-module-prices td{font-size:12px;padding:5px 8px;vertical-align:middle}
.sw-soft-module-body .sw-module-prices td strong{color:var(--blue-dark)}
.sw-soft-module-body .sw-module-prices button{font-size:11px;padding:2px 6px;min-height:24px;white-space:nowrap}
.sw-soft-module-body .sw-module-prices .sw-soft-price-image{width:68px;min-width:68px}
#sw-dialog .sw-soft-price-image .sw-maintenance-image{width:52px;height:48px;min-height:48px;padding:0;white-space:normal;font-size:10px;line-height:1.3}
.sw-soft-price-image .sw-image-status{padding:3px}
.sw-soft-module-body .sw-cover-library{border:0;margin:0;padding-top:14px}
.sw-soft-module-body .sw-cover-library>header h4{font-size:14px}.sw-soft-module-body .sw-cover-library>header .sw-note{margin:4px 0;font-size:12px}
.sw-soft-module-body .sw-cover-filters{grid-template-columns:180px minmax(0,1fr);gap:10px;margin:10px 0}
.sw-soft-module-body .sw-cover-filters label{font-size:12px;gap:5px}
.sw-soft-module-body .sw-cover-filters select,.sw-soft-module-body .sw-cover-filters input{font-size:12px;padding:8px 10px;min-height:38px}
.sw-soft-module-body .sw-cover-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sw-soft-module-body .sw-cover-card{padding:9px;gap:4px;font-size:11px}
#sw-dialog .sw-cover-photo{width:100%;height:90px;min-height:0;margin-bottom:4px}
.sw-soft-module-body .sw-cover-card b{font-size:12px}
.sw-soft-info-pane{flex:1;min-height:0;overflow:auto;padding-right:4px}
.sw-soft-info-pane .sw-maintenance-block:first-child{margin-top:0}
.sw-soft-footer{flex-shrink:0;margin-top:12px;padding-top:10px}
.sw-soft-footer .sw-note{font-size:12px}.sw-soft-footer button{min-height:34px;padding:7px 14px;font-size:13px}
.sw-independent-covers{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;flex:1;min-height:0}
#sw-independent-covers .sw-cover-gallery{display:flex;flex-direction:column;min-width:0;min-height:0;margin:0;padding:16px;border:1px solid var(--line);border-radius:12px}
#sw-independent-covers .sw-cover-gallery>header{padding:0;flex-shrink:0}
#sw-independent-covers .sw-cover-gallery h3{font-size:16px}
#sw-independent-covers .sw-cover-gallery .sw-note{font-size:12px;margin:5px 0}
#sw-independent-covers .sw-cover-filters{grid-template-columns:150px minmax(0,1fr);gap:10px;margin:12px 0 4px;flex-shrink:0}
#sw-independent-covers .sw-cover-filters label{font-size:12px;gap:5px}
#sw-independent-covers .sw-cover-filters input,#sw-independent-covers .sw-cover-filters select{min-height:38px;font-size:12px;padding:8px 10px}
.sw-cover-gallery-scroll{flex:1;min-height:0;overflow:auto;margin:6px -4px 12px 0;padding-right:4px}
#sw-independent-covers .sw-cover-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0}
#sw-independent-covers .sw-cover-card{display:block;padding:0;border:0;min-width:0}
#sw-independent-covers .sw-cover-choice{display:flex;flex-direction:column;gap:5px;min-width:0;width:100%;height:100%;text-align:left;padding:8px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink)}
#sw-independent-covers .sw-cover-choice[aria-pressed="true"]{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue-soft);background:#fafaff}
.sw-cover-choice-media{display:flex;align-items:center;justify-content:center;width:100%;height:92px;background:var(--panel-soft);border:1px solid var(--line);border-radius:6px;overflow:hidden;color:var(--muted);font-size:11px;margin-bottom:3px}
.sw-cover-choice-media img{width:100%;height:100%;object-fit:contain;background:white}
#sw-independent-covers .sw-cover-choice strong{font-size:13px;color:var(--ink)}
#sw-independent-covers .sw-cover-choice>span:not(.sw-cover-choice-media){font-size:11px;line-height:1.5;color:var(--ink-soft);overflow-wrap:anywhere}
#sw-independent-covers .sw-cover-choice small{font-size:10px;color:var(--muted)}
.sw-cover-selection-pane{min-height:0;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:14px}
.sw-cover-selected>header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.sw-cover-selected h3{font-size:22px;line-height:1.3;margin:2px 0 0}
#sw-dialog .sw-cover-selected-photo{width:100%;height:120px;min-height:0}
.sw-cover-selected .sw-maintenance-facts{margin:14px 0;gap:10px}
.sw-cover-selected .sw-maintenance-facts dt{font-size:11px}.sw-cover-selected .sw-maintenance-facts dd{font-size:12px}
.sw-cover-associated{border-top:1px solid var(--line);padding-top:12px}
.sw-cover-associated h4{font-size:14px;margin:0}
.sw-cover-associated>.sw-note{font-size:11px;margin:5px 0 9px}
#sw-dialog .sw-cover-module-link{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:7px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;background:white;color:var(--ink);font-size:12px}
.sw-cover-module-link>span{display:flex;flex-direction:column;gap:4px;min-width:0}
.sw-cover-module-link>span:last-child{flex-direction:row;align-items:center;color:var(--blue-dark);font-weight:650;white-space:nowrap}
.sw-cover-module-link small{font-size:11px;color:var(--muted);font-weight:400}
.sw-cover-module-link svg{width:14px;height:14px;flex-shrink:0}
@media(max-width:1100px){.sw-independent-covers{grid-template-columns:minmax(0,1fr) 260px;gap:12px}#sw-independent-covers .sw-cover-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.sw-independent-covers{grid-template-columns:minmax(0,1fr);overflow:auto}.sw-cover-selection-pane{min-height:0;overflow:visible}#sw-independent-covers .sw-cover-gallery{min-height:440px;padding:12px}#sw-independent-covers .sw-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#sw-independent-covers .sw-cover-filters{grid-template-columns:minmax(0,1fr)}}
#sw-dialog.sw-soft-detail #sw-maintenance-preview:not(:empty){position:absolute;inset:0;z-index:5;border:1px solid var(--line);border-radius:10px;background:white;padding:16px;display:flex;flex-direction:column;overflow:auto;box-shadow:0 12px 50px #26314726}
#sw-dialog.sw-soft-detail #sw-maintenance-preview img{flex:1;min-height:0;max-height:none;object-fit:contain}
#sw-dialog.sw-soft-detail #sw-maintenance-preview button{align-self:flex-end}
@media(max-width:900px){.sw-soft-browser{grid-template-columns:200px minmax(0,1fr);gap:12px}.sw-soft-module-overview{grid-template-columns:120px minmax(0,1fr);gap:12px}#sw-dialog .sw-soft-module-photo{width:120px;height:112px}.sw-soft-module-body .sw-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-soft-module-title{flex-wrap:wrap}.sw-soft-module-title h3{font-size:16px}}
@media(max-width:650px){#sw-dialog.sw-soft-detail>section{padding:14px}#sw-dialog.sw-soft-detail .supply-detail-heading h2{font-size:19px}.sw-soft-browser{display:flex;flex-direction:column;gap:10px}.sw-soft-module-list{flex-shrink:0;overflow:auto;max-height:122px}.sw-soft-list-heading{display:none}.sw-soft-module-list nav{display:flex;padding:6px;gap:6px}#sw-dialog .sw-soft-module-pick{grid-template-columns:42px 112px;min-width:174px;width:174px;min-height:88px;padding:7px}.sw-soft-pick-image{height:48px}.sw-soft-detail-pane{flex:1}.sw-soft-module-overview{padding:12px;grid-template-columns:90px minmax(0,1fr);gap:10px}#sw-dialog .sw-soft-module-photo{width:90px;height:100px}.sw-soft-section-tabs{gap:4px;padding-bottom:8px;margin-bottom:10px}.sw-soft-section-tabs>.sw-note{width:100%;margin:2px 0 0}.sw-soft-context{font-size:11px}.sw-soft-module-body .sw-cover-filters{grid-template-columns:minmax(0,1fr)}.sw-soft-module-body{padding:0 10px 10px}.sw-soft-price-range{font-size:14px}.sw-soft-footer .sw-note{max-width:75%;flex-basis:auto}}
/* Pending structured soft previews reuse the existing soft layout with bounded image controls. */
#sw-dialog .sw-draft-soft .sw-soft-browser{grid-template-columns:270px minmax(0,1fr)}
#sw-dialog .sw-draft-soft .sw-soft-module-list{scroll-padding-top:48px}
#sw-dialog .sw-draft-soft .sw-soft-module-list nav{gap:7px;padding:0 9px 10px}
#sw-dialog .sw-draft-soft .sw-soft-module-pick{display:block;position:relative;min-height:88px;padding:12px 13px;background:white;border-color:var(--line);box-shadow:none;line-height:1.45;white-space:normal}
#sw-dialog .sw-draft-soft .sw-soft-module-pick:hover{border-color:#b8b4f3;background:#fbfaff}
#sw-dialog .sw-draft-soft .sw-soft-module-pick[aria-pressed="true"]{border-color:var(--blue);background:var(--blue-soft);box-shadow:inset 3px 0 0 var(--blue)}
#sw-dialog .sw-draft-soft .sw-soft-module-pick:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
#sw-dialog .sw-draft-soft .sw-soft-pick-copy{gap:4px}
#sw-dialog .sw-draft-soft .sw-draft-module-name{font-size:14px;font-weight:650;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
#sw-dialog .sw-draft-soft .sw-draft-module-code{font-size:11px;line-height:1.4;font-weight:500;color:var(--muted);letter-spacing:.02em;overflow-wrap:anywhere}
#sw-dialog .sw-draft-soft .sw-draft-module-dimensions{font-size:11px;line-height:1.5;color:var(--ink-soft);font-weight:400;margin-top:2px;overflow-wrap:anywhere}
#sw-dialog .sw-draft-soft .sw-soft-module-title{display:block}
#sw-dialog .sw-draft-soft .sw-soft-module-body>.table-wrap{margin:12px 0 20px}
#sw-dialog .sw-draft-soft .sw-module-prices th{padding:12px 10px;line-height:1.6}
#sw-dialog .sw-draft-soft .sw-module-prices td{padding:11px 10px;line-height:1.6}
#sw-dialog .sw-soft-original-cost{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:left}
#sw-dialog .sw-soft-original-cost small{display:block;margin-top:4px}
#sw-dialog .sw-draft-soft .sw-soft-module-photo,#sw-dialog .sw-draft-soft .sw-cover-photo{position:relative;overflow:hidden;border-radius:8px;background:var(--panel-soft)}
#sw-dialog .sw-draft-soft .supply-thumbnail-open{position:relative;inset:auto;width:100%;height:100%;display:grid;place-items:center}
#sw-dialog .sw-draft-soft .supply-thumbnail-open img{display:block;width:100%;height:100%;object-fit:contain}
#sw-dialog .sw-draft-soft .supply-thumbnail-open img[hidden]{display:none}
#sw-dialog .sw-draft-soft .sw-independent-covers{display:block;overflow:auto;min-height:0}
#sw-dialog .sw-draft-soft .sw-cover-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#sw-dialog .sw-draft-soft .sw-cover-card{min-width:0}
#sw-dialog .sw-draft-soft .sw-warning{margin:6px 0 12px;padding:9px 12px;flex-shrink:0}
#sw-dialog .sw-draft-soft .sw-soft-context{flex-shrink:0}
@media(max-width:900px){#sw-dialog .sw-draft-soft .sw-soft-browser{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:650px){#sw-dialog .sw-draft-soft .sw-soft-module-list{max-height:148px;scroll-padding-top:0}#sw-dialog .sw-draft-soft .sw-soft-module-list nav{display:flex;padding:7px;gap:7px}#sw-dialog .sw-draft-soft .sw-soft-module-pick{width:220px;min-width:220px;min-height:106px;flex-shrink:0;padding:10px 12px}#sw-dialog .sw-draft-soft .sw-draft-module-name{font-size:13px}}
#sw-dialog .sw-custom-detail .supply-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
#sw-dialog .sw-custom-detail .supply-detail-facts div{min-width:0}
#sw-dialog .sw-custom-detail .supply-detail-facts dt{font-size:11px;color:var(--muted);margin-bottom:4px}
#sw-dialog .sw-custom-detail .supply-detail-facts dd{font-size:13px;margin:0;overflow-wrap:anywhere}
#sw-dialog .sw-custom-detail .sw-soft-module-overview{grid-template-columns:120px minmax(0,1fr);padding:14px;gap:16px;align-items:start}
#sw-dialog .sw-custom-detail .sw-soft-module-photo{width:120px;height:110px}
#sw-dialog .sw-custom-detail .sw-soft-module-title .supply-detail-facts{gap:8px;margin:8px 0}
#sw-dialog .sw-custom-detail .sw-soft-module-title .supply-detail-facts>div{padding:6px 8px}
#sw-dialog .sw-custom-detail .sw-custom-photo{width:200px;height:160px;max-width:100%}
#sw-dialog .sw-custom-rules{margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:8px;overflow:auto}
#sw-dialog .sw-custom-rules summary{cursor:pointer;font-size:13px;font-weight:650}
#sw-dialog .sw-custom-detail .sw-module-prices small{display:block;margin-top:5px}
#sw-dialog .sw-custom-detail .sw-module-prices .sw-chip{white-space:normal;overflow-wrap:anywhere}
@media(max-width:650px){#sw-dialog .sw-custom-detail td[data-price-label]::before{content:attr(data-price-label);display:block;font-size:11px;color:var(--muted);text-align:left;margin-bottom:4px}#sw-dialog .sw-custom-detail .sw-soft-module-overview{grid-template-columns:80px minmax(0,1fr);gap:10px;padding:10px}#sw-dialog .sw-custom-detail .sw-soft-module-photo{width:80px;height:90px}#sw-dialog .sw-custom-detail .sw-soft-module-title .supply-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}#sw-dialog .sw-custom-detail .sw-soft-detail-pane{overflow:auto}#sw-dialog .sw-custom-detail .sw-soft-selected{height:auto;min-height:100%;overflow:visible;display:block}#sw-dialog .sw-custom-detail .sw-soft-module-body{overflow:visible;flex:none}}
:root {
  color-scheme: light;
  --ink: #14243a;
  --ink-soft: #33445b;
  --muted: #7889a1;
  --canvas: #f3f7fb;
  --panel: #ffffff;
  --panel-soft: #f8fafc;
  --line: #dce5ef;
  --line-strong: #c8d6e5;
  --blue: #176ee8;
  --blue-dark: #0e57bd;
  --blue-soft: #eaf3ff;
  --green: #147a55;
  --green-soft: #e6f6ef;
  --red: #b34242;
  --red-soft: #fff0ef;
  --amber: #9a6110;
  --amber-soft: #fff5df;
  --shadow: 0 18px 44px rgba(39, 67, 101, .10);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--canvas); color: var(--ink); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .45; }
[hidden] { display: none !important; }
.shell { min-height: 100vh; }
.session-loading-layout { min-height: 100dvh; display: grid; place-items: center; padding: 32px 24px; background: white; }
.session-loading-card { display: grid; justify-items: center; gap: 16px; width: min(100%, 420px); text-align: center; }
.session-loading-card h1 { margin: 8px 0 0; font-size: 24px; }
.session-loading-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.session-loading-card button { margin-top: 8px; }
.admin-icp-record { position: fixed; right: 24px; bottom: 18px; z-index: 4; padding: 6px 9px; border-radius: 8px; background: rgba(243,247,251,.86); color: #7f8fa4; font-size: 11px; line-height: 1.4; text-decoration: none; backdrop-filter: blur(8px); }
.admin-icp-record:hover, .admin-icp-record:focus-visible { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -.025em; }
h2 { margin-bottom: 7px; font-size: 25px; line-height: 1.25; }
h3 { margin: 16px 0 9px; font-size: 22px; }
.eyebrow { margin-bottom: 7px; color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.muted, .panel-heading p, .permission-intro > p { color: var(--muted); font-size: 13px; line-height: 1.65; }
.brand-mark { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 28px; border-radius: 17px; background: white; color: var(--blue); font-size: 30px; font-weight: 800; box-shadow: 0 14px 32px rgba(2, 40, 91, .18); }
.brand-mark.small { width: 42px; height: 42px; margin: 0; border-radius: 12px; background: var(--blue); color: white; font-size: 22px; box-shadow: none; }
.brand-mark svg { display: block; width: 39px; height: 39px; overflow: visible; }
.brand-mark.small svg { width: 29px; height: 29px; }

.login-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(520px, 1.08fr) minmax(420px, .92fr); }
.brand-panel { position: relative; isolation: isolate; display: flex; align-items: center; overflow: hidden; padding: clamp(50px, 6.4vw, 108px); background: radial-gradient(circle at 84% 14%, rgba(53, 203, 255, .34), transparent 26%), radial-gradient(circle at 8% 88%, rgba(55, 119, 255, .42), transparent 31%), linear-gradient(142deg, #071b41 0%, #0b3476 44%, #126ddd 100%); color: white; }
.brand-panel::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .24; background-image: linear-gradient(rgba(151, 210, 255, .18) 1px, transparent 1px), linear-gradient(90deg, rgba(151, 210, 255, .18) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(115deg, rgba(0,0,0,.85), transparent 78%); }
.brand-panel::after { content: ""; position: absolute; z-index: -1; width: min(51vw, 760px); aspect-ratio: 1; top: 50%; right: clamp(-390px, -18vw, -210px); border: 1px solid rgba(157, 220, 255, .2); border-radius: 50%; box-shadow: 0 0 0 70px rgba(124, 204, 255, .035), 0 0 0 150px rgba(124, 204, 255, .025); transform: translateY(-50%); }
.brand-glow { position: absolute; z-index: -1; border-radius: 999px; filter: blur(4px); pointer-events: none; }
.brand-glow-top { width: 330px; height: 330px; top: -180px; left: 20%; background: rgba(64, 217, 255, .14); }
.brand-glow-bottom { width: 380px; height: 380px; right: 5%; bottom: -250px; background: rgba(30, 134, 255, .22); }
.brand-panel-content { width: min(100%, 900px); margin: auto; }
.brand-identity { display: flex; align-items: center; gap: 17px; }
.brand-identity .brand-mark { flex: 0 0 auto; margin: 0; background: rgba(255,255,255,.96); box-shadow: 0 16px 38px rgba(0, 15, 42, .28), 0 0 0 7px rgba(255,255,255,.07); }
.brand-identity .eyebrow { margin: 0 0 5px; color: #d9efff; }
.brand-identity span { color: rgba(225, 240, 255, .64); font-size: 12px; letter-spacing: .08em; }
.brand-hero { display: grid; grid-template-columns: minmax(270px, .88fr) minmax(310px, 1.12fr); align-items: center; gap: clamp(18px, 2vw, 34px); margin-top: clamp(38px, 5.5vh, 64px); }
.brand-copy { position: relative; z-index: 3; }
.brand-status { display: flex; align-items: center; gap: 8px; margin-bottom: 17px; color: #a7ddff; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.brand-status i { width: 7px; height: 7px; border-radius: 50%; background: #64f0bc; box-shadow: 0 0 0 5px rgba(100, 240, 188, .11), 0 0 16px rgba(100, 240, 188, .55); }
.brand-status span { color: rgba(222, 240, 255, .65); letter-spacing: .05em; }
.brand-panel h1 { margin: 0 0 24px; max-width: 560px; font-size: clamp(43px, 4.25vw, 68px); line-height: 1.06; text-wrap: balance; }
.brand-panel h1 span { color: #9fe4ff; background: linear-gradient(90deg, #ffffff 0%, #89ddff 72%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.brand-description { max-width: 390px; margin: 0; color: rgba(226, 240, 255, .78); font-size: 15px; line-height: 1.85; }
.motion-gallery { position: relative; min-height: clamp(390px, 50vh, 530px); }
.gallery-halo { position: absolute; inset: 9% 3% 8%; border: 1px solid rgba(151, 220, 255, .13); border-radius: 50%; transform: rotate(-9deg); box-shadow: 0 0 0 34px rgba(105, 192, 255, .025), inset 0 0 72px rgba(59, 196, 255, .045); }
.gallery-halo::before, .gallery-halo::after { content: ""; position: absolute; border-radius: 50%; }
.gallery-halo::before { inset: 16%; border: 1px dashed rgba(151, 220, 255, .14); }
.gallery-halo::after { width: 7px; height: 7px; top: 12%; right: 13%; background: #70e9c1; box-shadow: 0 0 0 6px rgba(112,233,193,.09), 0 0 22px rgba(112,233,193,.55); }
.gallery-deck { position: absolute; inset: 0; animation: gallery-deck-drift 9s ease-in-out 1.2s infinite; }
.gallery-position { position: absolute; top: 50%; left: 50%; width: clamp(126px, 10.5vw, 168px); aspect-ratio: .72; opacity: 1; filter: blur(0); transform: translate(var(--gallery-x), var(--gallery-y)) rotate(var(--gallery-r)) scale(var(--gallery-s)); transition: transform 1.15s cubic-bezier(.18,.82,.24,1), filter .72s ease; }
.gallery-position:nth-child(1) { --gallery-x: -126%; --gallery-y: -40%; --gallery-r: 19deg; --gallery-s: .78; transition-delay: .08s; z-index: 1; }
.gallery-position:nth-child(2) { --gallery-x: -88%; --gallery-y: -48%; --gallery-r: 11deg; --gallery-s: .9; transition-delay: .17s; z-index: 3; }
.gallery-position:nth-child(3) { --gallery-x: -50%; --gallery-y: -52%; --gallery-r: 0deg; --gallery-s: 1; transition-delay: .26s; z-index: 5; }
.gallery-position:nth-child(4) { --gallery-x: -12%; --gallery-y: -48%; --gallery-r: -11deg; --gallery-s: .9; transition-delay: .35s; z-index: 4; }
.gallery-position:nth-child(5) { --gallery-x: 20%; --gallery-y: -40%; --gallery-r: -19deg; --gallery-s: .78; transition-delay: .44s; z-index: 2; }
.motion-gallery.gallery-entering .gallery-position { filter: blur(5px); transform: translate(-50%, -38%) rotate(0deg) scale(.42); }
.gallery-card { position: absolute; inset: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.72); border-radius: 18px; background: #e6edf1; box-shadow: 0 28px 60px rgba(0, 18, 49, .34), 0 0 0 5px rgba(255,255,255,.055); animation: gallery-card-float 5.4s ease-in-out infinite; }
.gallery-position:nth-child(2n) .gallery-card { animation-delay: -2.2s; }
.gallery-position:nth-child(3n) .gallery-card { animation-delay: -3.6s; }
.gallery-card svg { display: block; width: 100%; height: 100%; }
.gallery-card > div { position: absolute; inset: auto 9px 9px; display: grid; gap: 2px; padding: 9px 10px; border: 1px solid rgba(255,255,255,.34); border-radius: 10px; background: rgba(7, 24, 51, .63); box-shadow: 0 8px 22px rgba(0,0,0,.14); backdrop-filter: blur(8px); }
.gallery-card span { color: #9edcff; font-size: 7px; font-weight: 850; letter-spacing: .13em; }
.gallery-card strong { color: white; font-size: 10px; }
.featured-card { border-color: rgba(164, 233, 255, .88); box-shadow: 0 35px 75px rgba(0, 20, 57, .42), 0 0 34px rgba(91, 210, 255, .2), 0 0 0 6px rgba(255,255,255,.07); }
.gallery-caption { position: absolute; right: 1%; bottom: 4%; display: grid; grid-template-columns: 8px 1fr; gap: 2px 8px; padding: 10px 13px; border: 1px solid rgba(172, 222, 255, .18); border-radius: 11px; background: rgba(5, 29, 67, .36); backdrop-filter: blur(10px); }
.gallery-caption i { grid-row: span 2; align-self: center; width: 7px; height: 7px; border-radius: 50%; background: #72eac4; box-shadow: 0 0 12px rgba(114,234,196,.65); }
.gallery-caption span { color: #a5dafd; font-size: 7px; font-weight: 850; letter-spacing: .15em; }
.gallery-caption b { color: rgba(235, 246, 255, .74); font-size: 9px; font-weight: 650; }
.motion-gallery:hover .gallery-deck { animation-play-state: paused; }
.login-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(100%, 390px); margin-top: 28px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.1); }
.login-points span { display: grid; gap: 5px; min-width: 0; padding: 0 12px; border-left: 1px solid rgba(255,255,255,.14); color: #e8f4ff; font-size: 10px; line-height: 1.35; white-space: nowrap; }
.login-points span:first-child { padding-left: 0; border-left: 0; }
.login-points i { color: #75d9ff; font-size: 8px; font-style: normal; font-weight: 850; letter-spacing: .13em; }
@keyframes gallery-deck-drift {
  0%, 100% { transform: rotate(-.45deg) translate(-4px, 1px); }
  50% { transform: rotate(.55deg) translate(7px, -4px); }
}
@keyframes gallery-card-float {
  0%, 100% { translate: 0 -3px; }
  50% { translate: 0 5px; }
}
.login-side { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 36px; }
.login-card { width: min(440px, 100%); display: grid; gap: 20px; padding: 38px; background: var(--panel); border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow); }
.remember-login { grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 10px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-soft); cursor: pointer; }
.remember-login input { width: 18px; min-height: 18px; margin: 2px 0 0; padding: 0; accent-color: var(--blue); }
.remember-login span { display: grid; gap: 3px; }
.remember-login small { color: var(--muted); font-size: 11px; font-weight: 500; line-height: 1.5; }
.preview-entry { width: min(440px, 100%); display: grid; gap: 4px; padding: 15px 18px; border: 1px dashed #a9c8ee; border-radius: 13px; background: #edf5ff; color: var(--blue-dark); text-align: left; }
.preview-entry span { color: #6684a8; font-size: 12px; }

label { display: grid; gap: 7px; color: var(--ink-soft); font-size: 13px; font-weight: 700; }
input, select, textarea { width: 100%; min-height: 43px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 10px; outline: none; background: white; color: var(--ink); }
textarea { resize: vertical; line-height: 1.6; }
input:focus, select:focus, textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23, 110, 232, .12); }
.primary, .secondary, .ghost, .danger, .icon-button { min-height: 38px; border-radius: 9px; padding: 8px 13px; font-weight: 750; }
.primary { border: 1px solid var(--blue); background: var(--blue); color: white; }
.primary:hover { background: var(--blue-dark); }
.secondary { border: 1px solid #b8cce4; background: white; color: var(--blue-dark); }
.customer-detail-trigger { min-width: 78px; border-color: #91b9eb; background: #f7fbff; }
.customer-detail-trigger:hover, .customer-detail-trigger:focus-visible { border-color: var(--blue); background: #eaf3ff; }
.ghost { border: 1px solid transparent; background: transparent; color: var(--muted); }
.danger { border: 1px solid #edc1be; background: var(--red-soft); color: var(--red); }
.wide { width: 100%; min-height: 46px; }
.icon-button { width: 40px; padding: 0; border: 1px solid var(--line); background: white; color: var(--muted); font-size: 24px; font-weight: 400; }

.console { width: min(1480px, calc(100% - 52px)); margin: 0 auto; padding: 24px 0 70px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 5px 0 22px; }
.topbar-brand { display: flex; align-items: center; gap: 13px; }
.topbar h1 { margin: 0; font-size: 31px; line-height: 1; }
.top-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.current-user { max-width: 280px; color: var(--muted); font-size: 12px; line-height: 1.45; text-align: right; }
.demo-account-control { min-width: 228px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; padding: 5px 6px 5px 10px; border: 1px solid #e2c98e; border-radius: 11px; background: #fff8e9; color: var(--amber); }
.demo-account-control > span { font-size: 11px; white-space: nowrap; }
.demo-account-control select { min-height: 34px; padding: 6px 28px 6px 9px; border-color: #ebd6a8; background: white; font-size: 12px; }
.section-nav { position: sticky; top: 0; z-index: 5; display: flex; gap: 5px; padding: 6px; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.96); box-shadow: 0 8px 24px rgba(51, 76, 108, .07); }
.nav-item { flex: 0 0 auto; display: flex; align-items: center; gap: 9px; min-height: 42px; padding: 9px 16px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font-weight: 750; }
.nav-item small:empty { display: none; }
.nav-item small { min-width: 23px; padding: 3px 7px; border-radius: 999px; background: #edf1f6; color: #607087; text-align: center; }
.nav-item.active { background: var(--blue-soft); color: var(--blue); }
.nav-item.active small { background: white; color: var(--blue); }
.message { min-height: 21px; margin: 12px 0; color: var(--green); font-size: 13px; }
.message.error { color: var(--red); }
.console-message:empty { margin: 5px 0; min-height: 0; }
.member-denied-view { display: grid; justify-items: center; max-width: 760px; margin: clamp(54px, 10vh, 120px) auto 0; padding: 54px 42px; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: var(--shadow); text-align: center; }
.member-denied-view .denied-mark { width: 66px; height: 66px; display: grid; place-items: center; margin-bottom: 20px; border-radius: 20px; background: var(--amber-soft); color: var(--amber); font-size: 18px; font-weight: 850; }
.member-denied-view h2 { margin-bottom: 12px; font-size: 29px; }
.member-denied-view > p:not(.eyebrow) { max-width: 590px; margin-bottom: 18px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.member-denied-view > div:not(.denied-mark) { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.member-denied-view > div:not(.denied-mark) span { padding: 8px 11px; border-radius: 999px; background: var(--panel-soft); color: var(--ink-soft); font-size: 12px; }
.member-denied-view .denied-help { margin: 22px 0 0 !important; color: var(--blue) !important; font-weight: 700; }

.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin: 16px 0; }
.stats article { min-width: 0; padding: 18px 19px; border: 1px solid var(--line); border-radius: 13px; background: var(--panel); }
.stats span, .stats small { display: block; color: var(--muted); font-size: 12px; }
.stats strong { display: block; margin: 8px 0 6px; color: var(--ink); font-size: 32px; line-height: 1; }
.view-section { display: grid; gap: 16px; }
.panel { min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: 15px; background: var(--panel); box-shadow: 0 8px 26px rgba(54, 83, 117, .05); }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 17px; }
.panel-heading h2 { margin-bottom: 5px; }
.panel-heading p:last-child { max-width: 640px; margin-bottom: 0; }
.role-management-note { max-width: 390px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; font-size: 12px; font-weight: 700; line-height: 1.55; }
.role-management-note.ready { border-color: #b7dfcd; background: var(--green-soft); color: var(--green); }
.role-management-note.limited { background: var(--panel-soft); color: var(--muted); }
.filters { display: grid; grid-template-columns: minmax(260px, 1fr) 180px 180px; gap: 10px; padding: 12px; border-radius: 11px; background: var(--panel-soft); }
.filters label { gap: 4px; font-size: 11px; }
.audit-filters { grid-template-columns: minmax(260px, 1fr) 190px; }
.result-summary { min-height: 21px; padding: 9px 2px 5px; color: var(--muted); font-size: 12px; }
.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th { color: var(--muted); font-size: 11px; letter-spacing: .07em; text-align: left; }
th, td { padding: 13px 10px; border-bottom: 1px solid #e8eef4; vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
.user-row { transition: background .15s ease; }
.user-row:hover { background: #f8fbff; }
.person-button { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 10px; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; }
.avatar, .member-avatar { display: grid; place-items: center; border-radius: 11px; background: var(--blue-soft); color: var(--blue); font-weight: 800; }
.avatar { width: 38px; height: 38px; }
.person { min-width: 0; display: grid; gap: 3px; }
.person strong, .person small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.person small { color: var(--muted); }
.badge { display: inline-flex; align-items: center; width: fit-content; border-radius: 999px; padding: 5px 9px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.badge.success { background: var(--green-soft); color: var(--green); }
.badge.danger { background: var(--red-soft); color: var(--red); }
.badge.warning { background: var(--amber-soft); color: var(--amber); }
.badge.neutral { background: #eaf0f6; color: #5c6e83; }
.badge.role-super { background: var(--blue-soft); color: var(--blue-dark); }
.badge.role-admin { background: var(--green-soft); color: var(--green); }
.role-control { display: grid; justify-items: start; gap: 6px; min-width: 104px; }
.role-action { min-height: 30px; padding: 5px 9px; border-radius: 8px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.role-action.promote { border: 1px solid #a9d8c2; background: #f2fbf7; color: var(--green); }
.role-action.demote { border: 1px solid #edc7ad; background: #fff7ef; color: #9b5c25; }
.row-actions { display: flex; justify-content: flex-end; gap: 6px; white-space: nowrap; }
.row-actions button { min-height: 34px; padding: 6px 10px; font-size: 12px; }
.project-count-link { min-height: 32px; padding: 5px 9px; border: 1px solid #cfe0f4; border-radius: 9px; background: var(--blue-soft); color: var(--blue); font-size: 12px; font-weight: 800; white-space: nowrap; }
.project-count-link:hover { border-color: #a8c9ef; background: #dcecff; }
.view-section[data-section="members"] table { min-width: 1040px; }
.sales-team-panel { padding: 0; overflow: hidden; }
.sales-team-panel > .panel-heading { align-items: center; margin: 0; padding: 24px; border-bottom: 1px solid var(--line); }
.sales-team-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border-bottom: 1px solid var(--line); background: var(--line); }
.sales-team-kpis article { display: grid; gap: 4px; padding: 18px 24px; background: #fbfdff; }
.sales-team-kpis span { color: var(--muted); font-size: 11px; font-weight: 700; }
.sales-team-kpis strong { color: var(--ink); font-size: 25px; line-height: 1; }
.sales-team-kpis small { color: var(--muted); font-size: 9px; }
.sales-team-layout { min-height: 590px; display: grid; grid-template-columns: 280px minmax(0, 1fr); }
.sales-team-layout.single-team { grid-template-columns: 1fr; }
.sales-team-manager-directory { padding: 18px; border-right: 1px solid var(--line); background: linear-gradient(180deg, #f7faff, #fbfcfe); }
.section-label { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; color: var(--ink-soft); font-size: 12px; font-weight: 800; }
.section-label small { color: var(--muted); font-size: 9px; font-weight: 600; }
.sales-team-manager-list { display: grid; gap: 8px; }
.sales-team-manager-button { width: 100%; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: var(--ink); text-align: left; }
.sales-team-manager-button:hover { border-color: var(--line); background: white; }
.sales-team-manager-button.active { border-color: #b9d4f4; background: white; box-shadow: 0 8px 22px rgba(40,84,135,.08); }
.sales-team-manager-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: #e8f2ff; color: var(--blue); font-weight: 850; }
.sales-team-manager-button span { min-width: 0; display: grid; gap: 2px; }
.sales-team-manager-button strong, .sales-team-manager-button small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sales-team-manager-button small { color: var(--muted); font-size: 10px; }
.sales-team-manager-button b { padding: 4px 7px; border-radius: 999px; background: #e9eff6; color: #60748c; font-size: 10px; }
.sales-team-manager-button.active b { background: var(--blue); color: white; }
.sales-team-workspace { min-width: 0; padding: 24px; }
.sales-team-heading { padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.sales-team-heading h3 { margin: 2px 0 5px; font-size: 25px; }
.sales-team-heading p { margin-bottom: 0; }
.sales-team-profile-card { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(240px, 1.2fr) auto; align-items: end; gap: 12px; margin-top: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fbfdff; }
.sales-team-profile-actions { display: flex; align-items: center; gap: 8px; }
.sales-team-profile-card label, .sales-team-add-member label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; }
.sales-team-scope-card { display: grid; grid-template-columns: minmax(190px, .7fr) minmax(280px, 1.3fr) auto; align-items: center; gap: 18px; margin-top: 18px; padding: 16px; border: 1px solid #c9dff8; border-radius: 14px; background: linear-gradient(135deg, #f7fbff, #eef6ff); }
.sales-team-scope-card h3, .sales-team-roster-heading h3 { margin: 0 0 4px; font-size: 16px; }
.sales-team-scope-card p, .sales-team-roster-heading p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.sales-team-development-options { min-width: 0; }
.sales-team-development-picker { position: relative; width: 100%; }
.sales-team-development-picker[open] { z-index: 30; }
.sales-team-development-picker > summary { min-height: 44px; display: grid; grid-template-columns: minmax(0, 1fr) auto 18px; align-items: center; gap: 10px; padding: 8px 11px 8px 13px; border: 1px solid #cbd9e8; border-radius: 11px; background: white; color: var(--ink); cursor: pointer; list-style: none; box-shadow: 0 4px 12px rgba(35, 73, 116, .04); }
.sales-team-development-picker > summary::-webkit-details-marker { display: none; }
.sales-team-development-picker > summary:hover { border-color: #91bce9; box-shadow: 0 6px 18px rgba(35, 91, 154, .08); }
.sales-team-development-picker[open] > summary { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(29, 111, 232, .1); }
.sales-team-development-picker.disabled > summary { background: #f2f5f8; color: var(--muted); cursor: not-allowed; box-shadow: none; }
.sales-team-development-picker-copy { min-width: 0; display: grid; gap: 2px; }
.sales-team-development-picker-copy strong { font-size: 11px; }
.sales-team-development-picker-copy small { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.sales-team-development-picker-count { min-width: 26px; padding: 4px 7px; border-radius: 999px; background: #e8f2ff; color: var(--blue); font-size: 10px; font-weight: 850; text-align: center; }
.sales-team-development-picker-arrow { color: #6f849b; font-size: 13px; font-style: normal; transition: transform .18s ease; }
.sales-team-development-picker[open] .sales-team-development-picker-arrow { transform: rotate(180deg); }
.sales-team-development-popover { position: absolute; top: calc(100% + 7px); left: 0; width: min(390px, calc(100vw - 72px)); padding: 10px; border: 1px solid #cbd9e8; border-radius: 13px; background: white; box-shadow: 0 18px 44px rgba(25, 60, 99, .18); }
.sales-team-development-popover-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 2px 3px 9px; border-bottom: 1px solid #edf1f5; }
.sales-team-development-popover-head span { color: var(--muted); font-size: 9px; }
.sales-team-development-popover-actions { display: flex; gap: 4px; }
.sales-team-development-popover-actions button { min-height: 27px; padding: 4px 7px; border: 0; border-radius: 7px; background: #eef5ff; color: var(--blue); font-size: 9px; font-weight: 750; }
.sales-team-development-popover-actions button:hover { background: #dfeeff; }
.sales-team-development-list { max-height: 238px; display: grid; gap: 3px; margin-top: 7px; overflow: auto; }
.sales-team-development-list label { min-width: 0; display: grid; grid-template-columns: 17px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 9px; border-radius: 9px; color: var(--ink-soft); cursor: pointer; }
.sales-team-development-list label:hover { background: #f3f8ff; }
.sales-team-development-list label.selected { background: #eef6ff; color: #245f9d; }
.sales-team-development-list input { width: 16px; min-height: 16px; padding: 0; accent-color: var(--blue); }
.sales-team-development-list strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.sales-team-development-list small { color: var(--muted); font-size: 9px; }
.sales-team-development-empty { padding: 16px 10px; color: var(--muted); font-size: 10px; text-align: center; }
.sales-team-roster-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: 24px; }
.sales-team-add-member { display: grid; grid-template-columns: minmax(260px, 1fr) auto; align-items: end; gap: 10px; margin-top: 12px; padding: 12px; border: 1px dashed #c9d8e8; border-radius: 12px; background: #f9fbfe; }
.sales-team-member-list { display: grid; gap: 10px; margin-top: 12px; }
.sales-team-member-card { display: grid; grid-template-columns: minmax(190px, .75fr) minmax(260px, 1.25fr) auto; align-items: center; gap: 18px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.sales-team-member-identity { min-width: 0; display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 10px; }
.sales-team-member-identity > i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: #edf3fa; color: #58708b; font-style: normal; font-weight: 850; }
.sales-team-member-identity span { min-width: 0; display: grid; gap: 3px; }
.sales-team-member-identity strong, .sales-team-member-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sales-team-member-identity small { color: var(--muted); font-size: 10px; }
.sales-team-member-control { min-width: 0; }
.sales-team-member-control > label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; }
.sales-team-member-control select { min-height: 38px; }
.sales-team-member-card > button { white-space: nowrap; }
.sales-team-member-card.disabled { background: #f8fafc; opacity: .72; }
.sales-team-assignment-summary { display: flex; flex-wrap: wrap; gap: 6px; }
.sales-team-assignment-summary span { padding: 6px 8px; border-radius: 8px; background: #edf5ff; color: #35689f; font-size: 10px; font-weight: 750; }
.sales-team-assignment-summary .empty { padding: 6px 8px; border: 0; background: #f1f3f6; color: var(--muted); }
.sales-solution-panel { padding: 0; overflow: hidden; }
.sales-solution-panel > .panel-heading { align-items: center; margin: 0; padding: 24px; border-bottom: 1px solid var(--line); }
.sales-solution-layout { min-height: 610px; display: grid; grid-template-columns: 310px minmax(0, 1fr); }
.sales-development-directory { padding: 18px; border-right: 1px solid var(--line); background: linear-gradient(180deg, #f7faff, #f9fbfd); }
.sales-development-directory > label { margin-bottom: 14px; }
.sales-development-list { display: grid; gap: 8px; }
.sales-development-button { width: 100%; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 12px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: var(--ink); text-align: left; }
.sales-development-button:hover { border-color: var(--line); background: white; }
.sales-development-button.active { border-color: #b9d4f4; background: white; box-shadow: 0 8px 22px rgba(40, 84, 135, .08); }
.sales-development-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(145deg, #eaf3ff, #dbeaff); color: var(--blue); font-size: 18px; font-weight: 850; }
.sales-development-button span { min-width: 0; display: grid; gap: 3px; }
.sales-development-button strong, .sales-development-button small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sales-development-button small { color: var(--muted); font-size: 11px; }
.sales-development-button b { min-width: 27px; padding: 4px 7px; border-radius: 999px; background: #e9eff6; color: #60748c; font-size: 11px; text-align: center; }
.sales-development-button.active b { background: var(--blue); color: white; }
.sales-solution-workspace { min-width: 0; padding: 24px; }
.sales-development-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.sales-development-heading h3 { margin: 2px 0 5px; font-size: 25px; }
.sales-development-heading p { margin-bottom: 0; }
.sales-development-total { min-width: 100px; display: grid; justify-items: end; gap: 3px; padding-left: 20px; border-left: 1px solid var(--line); }
.sales-development-total span { color: var(--muted); font-size: 11px; }
.sales-development-total strong { color: var(--blue); font-size: 30px; line-height: 1; }
.sales-unit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
.sales-unit-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(150deg, #fff, #f7fbff); }
.sales-unit-card > header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 18px; border-bottom: 1px solid var(--line); }
.sales-unit-card h3 { margin: 0 0 5px; font-size: 21px; }
.sales-unit-card header p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.sales-unit-area { align-self: start; padding: 6px 9px; border-radius: 999px; background: var(--blue-soft); color: var(--blue); font-size: 11px; font-weight: 850; }
.sales-package-list { display: grid; gap: 8px; padding: 12px; }
.sales-package-card { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px; border: 1px solid #e6edf5; border-radius: 11px; background: white; }
.sales-package-file { width: 38px; height: 44px; display: grid; place-items: center; border-radius: 9px; background: #fff0ef; color: var(--red); font-size: 10px; font-weight: 900; }
.sales-package-copy { min-width: 0; display: grid; gap: 3px; }
.sales-package-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-soft); font-size: 13px; }
.sales-package-copy span, .sales-package-copy small { color: var(--muted); font-size: 10px; line-height: 1.45; }
.sales-package-card button { min-height: 34px; padding: 6px 10px; white-space: nowrap; }
.sales-solution-empty { grid-column: 1 / -1; padding: 56px 24px; border: 1px dashed var(--line-strong); border-radius: 14px; color: var(--muted); text-align: center; line-height: 1.7; }
.field-label { display: block; margin-bottom: 7px; color: var(--ink-soft); font-size: 13px; font-weight: 700; }
.sales-library-manager { min-height: 610px; background: linear-gradient(180deg,#f7faff 0,#fff 240px); }
.sales-library-manager-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 24px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.86); }
.sales-library-manager-heading h3 { margin: 2px 0 5px; font-size: 25px; }
.sales-library-manager-heading p:last-child { margin: 0; color: var(--muted); font-size: 12px; }
.sales-storage-status { margin: 18px 24px 0; padding: 12px 14px; border: 1px solid #bce2cf; border-radius: 12px; background: #effbf5; color: #247452; font-size: 11px; font-weight: 750; }
.sales-storage-status.unavailable { border-color: #f1d3a5; background: #fff8eb; color: #93611c; }
.sales-progressive-flow { display: grid; gap: 16px; padding: 24px; }
.sales-flow-step { overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: white; box-shadow: 0 10px 28px rgba(33,73,116,.05); }
.sales-flow-step > header { display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: center; gap: 13px; padding: 18px 20px; border-bottom: 1px solid var(--line); background: linear-gradient(90deg,#f8fbff,#fff); }
.sales-flow-step > header > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; background: #e8f2ff; color: var(--blue); font-size: 12px; font-weight: 900; }
.sales-flow-step.is-active > header > span { background: linear-gradient(145deg,#287df4,#1764d4); color: white; box-shadow: 0 8px 18px rgba(30,110,224,.22); }
.sales-flow-step h3 { margin: 0 0 4px; font-size: 19px; }
.sales-flow-step header p { margin: 0; color: var(--muted); font-size: 11px; }
.sales-choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 16px 20px; }
.sales-choice-shell { min-width: 0; display: grid; gap: 6px; }
.sales-choice { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 68px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: #fff; color: var(--ink); text-align: left; }
.sales-choice:hover { border-color: #9dc4f2; background: #f8fbff; }
.sales-choice.selected { border-color: var(--blue); background: #edf5ff; box-shadow: 0 0 0 3px rgba(31,116,235,.09); }
.sales-choice > i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: #e8f2ff; color: var(--blue); font-style: normal; font-size: 11px; font-weight: 900; }
.sales-choice > span { min-width: 0; display: grid; gap: 3px; }
.sales-choice strong,.sales-choice small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sales-choice strong { font-size: 12px; }.sales-choice small { color: var(--muted); font-size: 10px; }
.sales-choice > b { color: var(--blue); font-size: 15px; }
.sales-choice-delete { min-height: 30px; padding: 5px 9px; border: 1px solid #dfe6ee; border-radius: 9px; background: #f7f9fb; color: #77889b; font-size: 10px; font-weight: 750; }
.sales-choice-delete:hover:not(:disabled) { border-color: #e8b9b5; background: #fff6f5; color: #a8453f; }
.sales-choice-delete:disabled { cursor: not-allowed; opacity: .48; }
.sales-choice-empty { grid-column: 1/-1; padding: 20px; border: 1px dashed var(--line-strong); border-radius: 12px; color: var(--muted); text-align: center; font-size: 11px; }
.sales-inline-create { margin: 0 20px 18px; border: 1px dashed #b7cde7; border-radius: 13px; background: #f8fbff; }
.sales-inline-create summary { padding: 13px 15px; color: var(--blue); cursor: pointer; font-size: 12px; font-weight: 800; }
.sales-inline-create form { padding: 2px 15px 16px; }
.sales-manage-package-list { display: grid; gap: 9px; padding: 16px 20px 4px; }
.sales-manage-package-card { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.sales-manage-package-card > i { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: #eef3f8; color: #60748c; font-style: normal; font-size: 9px; font-weight: 900; }
.sales-manage-package-card > span { min-width: 0; display: grid; gap: 3px; }
.sales-manage-package-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.sales-manage-package-card small { color: var(--muted); font-size: 10px; }
.sales-manage-package-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.sales-manage-package-actions button { min-height: 34px; padding: 6px 10px; }
.sales-package-state { width: max-content; padding: 3px 7px; border-radius: 999px; background: #eaf2fb; color: #55718f; font-size: 9px; font-style: normal; font-weight: 850; }
.sales-package-state.draft { background: #fff2d9; color: #9b6416; }.sales-package-state.available { background: #e6f7ee; color: #287653; }.sales-package-state.archived { background: #eef1f5; color: #68798d; }.sales-package-state.pending { background: #fff0ef; color: #ad4a42; }
.sales-package-admin-form { margin: 16px 20px 20px; padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: #fbfdff; }
.sales-upload-heading { display: grid; gap: 3px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }.sales-upload-heading strong { font-size: 14px; }.sales-upload-heading small { color: var(--muted); font-size: 10px; }
.sales-upload-progress { display: grid; grid-template-columns: minmax(80px,1fr) auto; align-items: center; gap: 10px; color: var(--muted); font-size: 10px; }
.sales-upload-progress > span { height: 7px; overflow: hidden; border-radius: 99px; background: #dfe8f2; }.sales-upload-progress > span::after { content: ""; display: block; width: var(--sales-upload-progress,15%); height: 100%; border-radius: inherit; background: var(--blue); transition: width .25s ease; }
.form-intro { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 12px; margin-bottom: 6px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.form-intro > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; background: linear-gradient(145deg,#2174ed,#155bc2); color: white; font-size: 12px; font-weight: 850; }
.form-intro h3 { margin: 0 0 3px; font-size: 19px; }
.form-intro p { margin: 0; color: var(--muted); font-size: 10px; }
.sales-package-file-input { padding: 13px; border: 1px dashed #b7cde7; border-radius: 12px; background: #f7fbff; }
.sales-package-file-input small { color: var(--muted); font-size: 9px; line-height: 1.5; }
.sales-package-preview-dialog { width: min(1180px, calc(100% - 32px)); height: min(900px, calc(100vh - 32px)); padding: 0; border: 1px solid var(--line); border-radius: 18px; background: white; color: var(--ink); }
.sales-package-preview-dialog::backdrop { background: rgba(10, 24, 43, .62); backdrop-filter: blur(3px); }
.sales-package-preview-dialog > section { height: 100%; display: grid; grid-template-rows: auto auto minmax(0, 1fr); }
.sales-package-preview-fallback { margin: 0; padding: 10px 20px; font-size: 13px; color: var(--muted); border-bottom: 1px solid var(--line); }
.sales-package-preview-fallback a { color: var(--accent, #4855c7); text-decoration: underline; }
.sales-package-preview-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.sales-package-preview-heading h2 { margin-bottom: 4px; font-size: 21px; }
.sales-package-preview-heading p:last-child { margin: 0; color: var(--muted); font-size: 11px; }
.sales-package-preview-dialog iframe { width: 100%; height: 100%; border: 0; background: #e9eef4; }
.empty { padding: 36px 14px; border: 1px dashed var(--line-strong); border-radius: 11px; color: var(--muted); text-align: center; }
.two-column { display: grid; grid-template-columns: minmax(320px, .75fr) minmax(440px, 1.25fr); gap: 16px; }
.stack-form { display: grid; gap: 14px; }
.field-help { padding: 10px 12px; border-radius: 9px; background: var(--blue-soft); color: #597493; font-size: 12px; line-height: 1.55; }
.account-delivery-panel { background: linear-gradient(150deg, #ffffff, #f7fbff); }
.account-delivery-list { display: grid; gap: 12px; margin: 2px 0 20px; padding: 0; list-style: none; counter-reset: account-step; }
.account-delivery-list li { counter-increment: account-step; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 2px 12px; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.account-delivery-list li::before { content: counter(account-step); grid-row: span 2; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: var(--blue-soft); color: var(--blue); font-weight: 850; }
.account-delivery-list strong { color: var(--ink); }
.account-delivery-list span { color: var(--muted); font-size: 12px; line-height: 1.55; }
.item-list { display: grid; gap: 9px; }
.invite-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; }
.invite-item p { margin: 0; font-weight: 750; }
.invite-item small { display: block; margin-top: 4px; color: var(--muted); }
.token-panel { border-color: #e8cc92; background: #fffbf2; }
.warning { color: var(--amber); }
.token-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.token-row code { min-width: 0; overflow-wrap: anywhere; padding: 13px; border-radius: 9px; background: #17243a; color: #eef5ff; }

.project-oversight-panel { padding: 0; overflow: hidden; }
.project-oversight-panel > .panel-heading { align-items: center; margin: 0; padding: 24px; border-bottom: 1px solid var(--line); }
.project-oversight-layout { min-height: 590px; display: grid; grid-template-columns: 310px minmax(0, 1fr); }
.project-owner-directory { padding: 18px; border-right: 1px solid var(--line); background: var(--panel-soft); }
.project-owner-directory > label { margin-bottom: 13px; }
.project-owner-list { display: grid; gap: 7px; max-height: 650px; overflow: auto; }
.project-owner { width: 100%; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px; border: 1px solid transparent; border-radius: 11px; background: transparent; color: var(--ink); text-align: left; }
.project-owner:hover { border-color: var(--line); background: white; }
.project-owner.active { border-color: #bfd7f5; background: white; box-shadow: 0 7px 20px rgba(47, 87, 132, .08); }
.project-owner b { min-width: 27px; padding: 4px 7px; border-radius: 999px; background: #e8eef5; color: #5b6f86; font-size: 11px; text-align: center; }
.project-owner.active b { background: var(--blue); color: white; }
.project-owner-workspace { min-width: 0; padding: 24px; }
.project-owner-heading { min-height: 78px; display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.project-owner-heading h3 { margin: 2px 0 3px; font-size: 22px; }
.project-owner-heading p { margin-bottom: 0; }
.project-owner-total { min-width: 105px; display: grid; justify-items: end; gap: 3px; padding-left: 20px; border-left: 1px solid var(--line); }
.project-owner-total span { color: var(--muted); font-size: 11px; }
.project-owner-total strong { color: var(--blue); font-size: 29px; line-height: 1; }
.employee-projects-table table { min-width: 1080px; }
.employee-projects-table tbody tr:hover { background: #f8fbff; }
.project-period-overview { margin-top: 18px; }
.project-period-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 10px; }
.project-period-heading div { display: grid; gap: 4px; }
.project-period-heading span, .project-period-heading small { color: var(--muted); font-size: 11px; }
.project-period-heading strong { color: var(--ink); font-size: 16px; }
.project-period-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.project-period-kpis article { min-width: 0; padding: 14px 15px; border: 1px solid var(--line); border-radius: 11px; background: linear-gradient(145deg, #fff, #f7fbff); }
.project-period-kpis span, .project-period-kpis small { display: block; color: var(--muted); font-size: 10px; }
.project-period-kpis strong { display: block; margin: 7px 0 5px; color: var(--ink); font-size: 25px; line-height: 1; overflow-wrap: anywhere; }
.project-period-kpis article:nth-child(2) strong { color: #15734a; }
.project-period-kpis article:nth-child(3) strong { color: var(--blue); }
.project-period-kpis article:last-child strong { font-size: 20px; }
.project-history-filters { grid-template-columns: 115px 115px 135px minmax(230px, 1fr) 165px; margin-top: 16px; }
.panel-heading-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.customer-pending-button { position: relative; overflow: visible; }
.customer-pending-count { position: absolute; top: -10px; right: -10px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: 25px; height: 25px; padding: 0 6px; border: 2px solid #fff; border-radius: 999px; background: #e53935; color: #fff; font-size: 13px; line-height: 1; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; box-shadow: 0 1px 3px rgba(166, 29, 25, .18); }
.crm-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; margin: 0 0 13px; }
.crm-kpis article { min-width: 0; padding: 15px 17px; border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(145deg, #fff, #f7fbff); }
.crm-kpis span, .crm-kpis small { display: block; color: var(--muted); font-size: 11px; }
.crm-kpis strong { display: block; margin: 7px 0 5px; color: var(--ink); font-size: 28px; line-height: 1; }
.crm-kpis article:first-child strong { color: var(--blue); }
.crm-filters { grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); align-items: end; }
.customer-filter-actions { display: flex; align-items: center; gap: 5px; min-height: 43px; white-space: nowrap; }
.customer-filter-actions button { min-height: 43px; }
.customer-create-dialog { width: min(760px, calc(100% - 30px)); }
.customer-create-fields { margin-top: 24px; }
.customer-create-fields .field-wide { grid-column: 1 / -1; }
.customer-avatar { background: #e8f2ff; color: var(--blue); }
.customer-transfer-dialog { width: min(620px, calc(100% - 30px)); }
.customer-transfer-fields { grid-template-columns: 1fr; margin-top: 24px; }
.customer-transfer-avatar { background: var(--amber-soft); color: var(--amber); }
.customer-detail-dialog { width: min(900px, calc(100% - 30px)); }
.customer-detail-dialog > section { padding: 27px; }
.customer-detail-heading { padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.customer-detail-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 20px 0; }
.customer-detail-summary > div { min-width: 0; display: grid; gap: 6px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-soft); }
.customer-detail-summary span { color: var(--muted); font-size: 11px; }
.customer-detail-summary strong { overflow-wrap: anywhere; color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
.customer-detail-block { margin-top: 16px; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: #fbfdff; }
.customer-detail-section-heading h3 { margin: 0 0 4px; font-size: 18px; }
.customer-detail-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.customer-record-sort { display: grid; gap: 4px; min-width: 125px; font-size: 12px; color: var(--muted); }
.customer-record-sort select { min-height: 36px; padding: 6px 10px; }
.customer-detail-section-heading p { margin-bottom: 0; }
.customer-related-list { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; gap: 8px; margin-top: 13px; color: var(--muted); font-size: 12px; }
.customer-related-list article { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; gap: 5px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.customer-related-list article > * { min-width: 0; overflow-wrap: anywhere; }
.customer-related-list strong { color: var(--ink-soft); }
.customer-related-list p { margin: 0; color: var(--ink-soft); line-height: 1.6; white-space: pre-wrap; }
.customer-followup-form { display: grid; grid-template-columns: 150px 1fr 1fr; gap: 10px; margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--line); }
.customer-followup-form .field-wide { grid-column: 1 / -1; }
.project-history-dialog { width: min(920px, calc(100% - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 1px solid var(--line); border-radius: 18px; color: var(--ink); }
.project-history-dialog::backdrop { background: rgba(17, 32, 51, .45); }
.project-history-dialog > section { padding: 28px; }
.project-history-dialog .project-history-heading { grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.project-history-heading > div { min-width: 0; }
.project-history-heading h2 { margin: 4px 0 7px; overflow-wrap: anywhere; font-size: clamp(25px, 3vw, 34px); line-height: 1.2; }
.project-history-heading .eyebrow { line-height: 1.4; }
.project-history-content { display: grid; gap: 16px; max-height: 60vh; margin-top: 20px; padding-right: 3px; overflow: auto; }
.project-history-summary, .project-history-files { display: grid; gap: 11px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--panel-soft); }
.project-history-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.project-history-summary span { min-width: 0; display: grid; gap: 7px; padding: 13px 14px; border: 1px solid #e6edf5; border-radius: 10px; background: white; color: var(--muted); font-size: 12px; }
.project-history-summary strong { overflow-wrap: anywhere; color: var(--ink); font-size: 15px; line-height: 1.45; }
.project-history-files > strong { font-size: 16px; }
.project-file { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.project-file:last-child { border-bottom: 0; }

.permission-intro { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 40px; }
.permission-intro > p { margin: 0; }
.permission-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.role-card { min-height: 218px; padding: 22px; border: 1px solid var(--line); border-top-width: 4px; border-radius: 14px; background: white; }
.role-card.super { border-top-color: var(--blue); }
.role-card.admin { border-top-color: var(--green); }
.role-card.member { border-top-color: #8a97aa; }
.role-card p { min-height: 70px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.role-card strong { color: var(--ink-soft); font-size: 12px; }
.role-index { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.permission-table td:not(:first-child) { font-weight: 700; }
.yes { color: var(--green); }
.no { color: var(--muted); }
.readiness-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.readiness-list span { padding: 12px 14px; border-radius: 10px; background: #f2f5f8; color: #687a90; font-size: 13px; }
.readiness-list .ready { background: var(--green-soft); color: var(--green); }

dialog { width: min(720px, calc(100% - 30px)); max-height: calc(100vh - 38px); padding: 0; overflow: auto; border: 1px solid var(--line); border-radius: 18px; background: white; color: var(--ink); box-shadow: 0 28px 90px rgba(18, 42, 72, .28); }
dialog::backdrop { background: rgba(18, 35, 57, .42); backdrop-filter: blur(3px); }
dialog form { padding: 25px; }
.compact-dialog { width: min(560px, calc(100% - 30px)); }
.compact-dialog .dialog-heading { grid-template-columns: minmax(0, 1fr) auto; margin-bottom: 20px; }
.compact-dialog > form > label { display: grid; gap: 7px; margin-top: 13px; }
.dialog-heading { display: grid; grid-template-columns: 54px 1fr auto; align-items: center; gap: 14px; }
.member-avatar { width: 54px; height: 54px; font-size: 20px; }
.dialog-heading h2 { margin-bottom: 2px; }
.dialog-heading p { margin-bottom: 0; }
.member-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin: 22px 0; }
.member-summary div { min-width: 0; padding: 13px; border-radius: 10px; background: var(--panel-soft); }
.member-summary span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 11px; }
.member-summary strong { display: block; overflow: hidden; color: var(--ink-soft); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.dialog-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dialog-actions { display: flex; align-items: center; gap: 8px; margin-top: 22px; }
.dialog-spacer { flex: 1; }
.confirm-dialog { width: min(480px, calc(100% - 30px)); }
.confirm-dialog h2 { margin-bottom: 10px; }
.password-dialog { width: min(520px, calc(100% - 30px)); }
.password-dialog h2 { margin-bottom: 7px; }
.password-dialog label { margin-top: 14px; }

@media (min-width: 981px) and (max-height: 950px) {
  .brand-panel { padding-block: 42px; }
  .brand-hero { margin-top: 34px; }
  .brand-panel h1 { margin-bottom: 18px; font-size: clamp(48px, 4.2vw, 62px); }
  .brand-description { font-size: 14px; line-height: 1.7; }
  .motion-gallery { min-height: 410px; }
  .login-points { margin-top: 16px; }
}
@media (min-width: 981px) and (max-height: 800px) {
  .brand-panel { padding-block: 26px; }
  .brand-identity .brand-mark { width: 50px; height: 50px; border-radius: 15px; font-size: 26px; }
  .brand-hero { margin-top: 22px; }
  .brand-status { margin-bottom: 12px; }
  .brand-panel h1 { margin-bottom: 14px; font-size: clamp(45px, 3.8vw, 54px); }
  .brand-description { line-height: 1.55; }
  .motion-gallery { min-height: 340px; }
  .gallery-position { width: clamp(124px, 10vw, 154px); }
  .gallery-caption { bottom: 1%; }
  .login-points { margin-top: 10px; }
}
@media (min-width: 981px) and (max-width: 1250px) {
  .brand-panel { padding-inline: 48px; }
  .brand-hero { grid-template-columns: 1fr; gap: 8px; }
  .brand-panel h1 { max-width: 460px; font-size: clamp(44px, 4.7vw, 56px); }
  .brand-description { max-width: 460px; }
  .motion-gallery { min-height: clamp(270px, 34vh, 360px); }
  .gallery-position { width: clamp(120px, 12vw, 150px); }
  .gallery-caption { right: 4%; bottom: 0; }
}
@media (min-width: 981px) and (max-width: 1400px) {
  .gallery-position { width: 118px; }
}
@media (max-width: 980px) {
  .login-layout { grid-template-columns: 1fr; }
  .admin-icp-record { position: static; display: block; width: max-content; margin: -34px auto 18px; background: transparent; }
  .shell:has(#console-view:not([hidden])) > .admin-icp-record { position: fixed; right: 10px; bottom: 8px; margin: 0; background: rgba(243,247,251,.9); }
  .brand-panel { min-height: auto; padding: 50px 30px 54px; }
  .brand-panel-content { width: min(100%, 800px); }
  .brand-hero { margin-top: 44px; }
  .brand-panel h1 { font-size: 52px; }
  .login-side { padding: 30px 18px 50px; }
  .console { width: min(100% - 24px, 1480px); }
  .topbar { align-items: flex-start; }
  .top-actions { flex-wrap: wrap; }
  .demo-account-control { min-width: min(100%, 300px); }
  .current-user { flex-basis: 100%; max-width: none; order: 5; text-align: left; }
  .stats { grid-template-columns: 1fr 1fr; }
  .two-column, .permission-intro { grid-template-columns: 1fr; }
  .project-oversight-layout { grid-template-columns: 250px minmax(0, 1fr); }
  .sales-team-layout { grid-template-columns: 240px minmax(0, 1fr); }
  .sales-team-profile-card, .sales-team-scope-card, .sales-team-add-member, .sales-team-member-card { grid-template-columns: 1fr; align-items: stretch; }
  .sales-solution-layout { grid-template-columns: 250px minmax(0, 1fr); }
  .sales-unit-grid { grid-template-columns: 1fr; }
  .project-period-kpis { grid-template-columns: 1fr 1fr; }
  .project-history-filters { grid-template-columns: 115px 115px 135px minmax(220px, 1fr); }
  .project-history-filters label:last-child { grid-column: 1 / -1; }
  .permission-grid { grid-template-columns: 1fr; }
  .role-card { min-height: auto; }
  .role-card p { min-height: 0; }
  .customer-detail-summary { grid-template-columns: 1fr 1fr; }
  .customer-followup-form { grid-template-columns: 1fr 1fr; }
  .crm-filters { grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); }
  .customer-filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .brand-panel::after { width: 620px; right: -470px; }
  .brand-identity .brand-mark { width: 50px; height: 50px; border-radius: 15px; font-size: 26px; }
  .brand-hero { grid-template-columns: 1fr; margin-top: 38px; }
  .brand-description { font-size: 14px; }
  .motion-gallery { min-height: 370px; margin-top: -8px; }
  .gallery-position { width: clamp(120px, 27vw, 158px); }
  .console { padding-top: 14px; }
  .topbar { display: grid; }
  .top-actions { justify-content: flex-start; }
  .section-nav { margin: 0 -2px; }
  .nav-item { padding-inline: 12px; }
  .stats { grid-template-columns: 1fr 1fr; }
  .panel { padding: 17px; }
  .filters, .audit-filters, .crm-filters { grid-template-columns: 1fr; }
  .customer-filter-actions { grid-column: auto; }
  .table-wrap { margin-right: -17px; width: calc(100% + 17px); }
  table { min-width: 760px; }
  .permission-table { min-width: 620px; }
  .member-summary { grid-template-columns: 1fr 1fr; }
  .dialog-fields { grid-template-columns: 1fr; }
  .customer-create-fields .field-wide { grid-column: auto; }
  .dialog-actions { flex-wrap: wrap; }
  .dialog-spacer { display: none; }
  .dialog-actions button { flex: 1 1 calc(50% - 8px); }
  .readiness-list { grid-template-columns: 1fr; }
  .member-denied-view { margin-top: 34px; padding: 38px 22px; }
  .project-oversight-panel > .panel-heading { align-items: flex-start; }
  .project-oversight-layout { min-height: 0; grid-template-columns: 1fr; }
  .sales-team-kpis { grid-template-columns: 1fr 1fr; }
  .sales-team-layout { min-height: 0; grid-template-columns: 1fr; }
  .sales-team-manager-directory { border-right: 0; border-bottom: 1px solid var(--line); }
  .sales-team-manager-list { display: flex; overflow-x: auto; }
  .sales-team-manager-button { flex: 0 0 min(250px, 78vw); }
  .sales-solution-layout { min-height: 0; grid-template-columns: 1fr; }
  .sales-development-directory { border-right: 0; border-bottom: 1px solid var(--line); }
  .sales-development-list { display: flex; overflow-x: auto; }
  .sales-development-button { flex: 0 0 min(270px, 80vw); }
  .sales-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .project-owner-directory { border-right: 0; border-bottom: 1px solid var(--line); }
  .project-owner-list { display: flex; max-height: none; overflow-x: auto; }
  .project-owner { flex: 0 0 min(260px, 78vw); }
  .project-owner-workspace { padding: 18px 17px; }
  .project-period-heading { align-items: flex-start; flex-direction: column; }
  .project-history-filters { grid-template-columns: 1fr; }
  .project-history-filters label:last-child { grid-column: auto; }
  .project-history-dialog > section { padding: 20px; }
  .project-history-summary { grid-template-columns: 1fr; }
  .customer-detail-summary, .customer-followup-form { grid-template-columns: 1fr; }
  .customer-followup-form .field-wide { grid-column: auto; }
}
.access-role-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); min-height: 620px; margin: 0 -24px -24px; border-top: 1px solid var(--line); }
.access-role-directory { padding: 20px; background: #f7faff; border-right: 1px solid var(--line); }
.access-role-list { display: grid; gap: 9px; margin-top: 14px; }
.access-role-button { width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; padding: 14px; text-align: left; background: #fff; color: var(--ink); border: 1px solid var(--line); }
.access-role-button.active { border-color: #8ab9ff; background: #edf5ff; box-shadow: inset 3px 0 0 var(--blue); }
.access-role-button strong { font-size: 15px; }
.access-role-button small { grid-column: 1 / -1; color: var(--muted); }
.access-role-workspace { min-width: 0; margin: 20px; padding: 24px; border: 1px solid rgba(141, 187, 255, .34); border-radius: 24px; background: rgba(255, 255, 255, .96); box-shadow: 0 14px 36px rgba(43, 104, 194, .07), 0 0 24px rgba(73, 145, 255, .05); backdrop-filter: blur(8px); }
.access-role-workspace > header { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; margin-bottom: 18px; }
.access-role-workspace > header h3, .access-role-workspace > header p { margin-bottom: 0; }
.access-role-step-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 22px; padding: 7px; border: 1px solid rgba(151, 179, 218, .3); border-radius: 22px; background: rgba(239, 245, 253, .82); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 8px 20px rgba(55, 91, 143, .05); backdrop-filter: blur(6px); }
.access-role-step-nav button { display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 46px; padding: 9px 14px; color: var(--muted); background: transparent; border-color: transparent; border-radius: 16px; box-shadow: none; transition: color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease; }
.access-role-step-nav button > span { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #e5edf8; color: #60728b; font-size: 12px; }
.access-role-step-nav button small { min-width: 22px; padding: 2px 6px; border-radius: 999px; background: #e5edf8; color: #60728b; }
.access-role-step-nav button.active { color: var(--blue); background: rgba(255, 255, 255, .98); border-color: rgba(112, 169, 255, .36); box-shadow: 0 0 0 1px rgba(85, 151, 255, .12), 0 7px 18px rgba(42, 112, 216, .1), 0 0 20px rgba(63, 139, 255, .08); transform: translateY(-1px); }
.access-role-step-nav button.active > span, .access-role-step-nav button.active small { color: #fff; background: var(--blue); }
.access-role-section-heading { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin: 4px 0 14px; }
.access-role-section-heading h3, .access-role-section-heading p { margin: 0; }
.access-role-section-heading p { margin-top: 5px; color: var(--muted); }
.access-role-fields { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fbfdff; }
.access-role-fields .field-wide { grid-column: 1 / -1; }
.access-permission-heading { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin: 4px 0 14px; }
.access-permission-heading h3, .access-permission-heading p { margin: 0; }
.access-permission-heading p { margin-top: 5px; color: var(--muted); }
.access-permission-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
.access-permission-group { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.access-permission-group > h4 { margin: 0; padding: 12px 15px; background: #f5f8fc; border-bottom: 1px solid var(--line); }
.access-permission-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(130px, 190px); gap: 12px; align-items: center; padding: 13px 15px; border-bottom: 1px solid #edf1f6; }
.access-permission-row:last-child { border-bottom: 0; }
.access-permission-toggle { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.access-permission-toggle input { width: 18px; height: 18px; }
.access-role-editor-actions { position: sticky; bottom: 12px; z-index: 2; margin: 24px -8px -8px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255, 255, 255, .96); box-shadow: 0 12px 30px rgba(42, 66, 102, .12); backdrop-filter: blur(12px); }
@media (max-width: 900px) {
  .access-role-layout { grid-template-columns: 1fr; }
  .access-role-directory { border-right: 0; border-bottom: 1px solid var(--line); }
  .access-role-list { display: flex; overflow-x: auto; }
  .access-role-button { min-width: 220px; }
  .access-role-fields { grid-template-columns: 1fr; }
  .access-role-fields .field-wide { grid-column: auto; }
  .access-permission-groups { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .access-role-step-nav { grid-template-columns: 1fr; }
  .access-role-step-nav button { justify-content: flex-start; }
}
@media (max-width: 480px) {
  .brand-panel { padding: 34px 22px 38px; }
  .brand-panel::before { background-size: 38px 38px; }
  .brand-identity span { font-size: 10px; }
  .brand-hero { margin-top: 32px; }
  .brand-status span { display: none; }
  .brand-panel h1 { font-size: 39px; }
  .motion-gallery { display: none; }
  .login-points { margin-top: 24px; }
  .login-points span { padding-inline: 8px; font-size: 9px; }
  .login-points span:first-child { padding-left: 0; }
  .login-card { padding: 26px; }
  .stats { grid-template-columns: 1fr; }
  .project-period-kpis { grid-template-columns: 1fr; }
  .sales-team-kpis { grid-template-columns: 1fr; }
  .sales-development-heading { align-items: flex-start; }
  .sales-package-card { grid-template-columns: 34px minmax(0, 1fr); }
  .sales-package-card button { grid-column: 1 / -1; width: 100%; }
  .sales-library-manager-heading { align-items: stretch; flex-direction: column; }
  .sales-library-manager-heading button { width: 100%; }
  .sales-storage-status { margin-inline: 14px; }
  .sales-progressive-flow { padding: 14px; }
  .sales-choice-grid { grid-template-columns: 1fr; padding-inline: 14px; }
  .sales-inline-create,.sales-package-admin-form { margin-inline: 14px; }
  .sales-manage-package-card { grid-template-columns: 38px minmax(0,1fr); }
  .sales-manage-package-actions { grid-column: 1/-1; justify-content: stretch; }
  .sales-manage-package-actions button { flex: 1; }
  .crm-kpis { grid-template-columns: 1fr; }
  .invite-item { align-items: flex-start; flex-direction: column; }
  .token-row { grid-template-columns: 1fr; }
  .dialog-heading { grid-template-columns: 46px 1fr auto; }
  .member-avatar { width: 46px; height: 46px; }
  .admin-icp-record { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-deck, .gallery-card { animation: none; }
  .gallery-position { transition: none; }
}


.supply-packages { margin-top: 20px; }
.supply-packages [hidden] { display: none !important; }
.package-intro { display: flex; gap: 20px; justify-content: space-between; align-items: flex-start; padding: 22px 24px; background: #f3f6fb; border: 1px solid #dbe3ee; border-radius: 14px; }
.package-intro h3 { font-size: 24px; margin: 6px 0 10px; }
.package-intro p { margin: 0; font-size: 13px; line-height: 1.8; }
.package-guide { border: 1px solid var(--line); border-radius: 12px; margin: 14px 0; padding: 16px 20px; }
.package-guide summary { cursor: pointer; font-size: 14px; font-weight: 650; line-height: 1.7; }
.package-guide ol { margin: 16px 0; padding-left: 22px; font-size: 13px; line-height: 2; }
.package-guide p { font-size: 12px; line-height: 1.8; }
.package-command { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: end; }
.package-command input { font-family: ui-monospace, monospace; font-size: 12px; }
.package-layout { display: grid; grid-template-columns: minmax(240px,.75fr) minmax(0,2fr); gap: 20px; align-items: start; scroll-margin-top: 76px; }
.package-layout > *, .supply-packages label { min-width: 0; }
.package-queue { background: #f7f9fc; border: 1px solid var(--line); border-radius: 12px; padding: 18px; }
.package-workspace { border: 1px solid var(--line); border-radius: 12px; padding: 22px; min-width: 0; background: white; }
.package-section-heading { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.package-section-heading h4 { font-size: 19px; margin: 4px 0 0; }
.package-section-heading .eyebrow { margin: 0; font-size: 10px; }
#package-history-filter { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 8px; padding: 0; }
.package-history-list { display: grid; gap: 10px; padding: 16px 0; }
.package-history-item { width: 100%; text-align: left; display: grid; gap: 7px; border: 1px solid var(--line); background: white; border-radius: 10px; padding: 14px; color: var(--ink); }
.package-history-item[aria-pressed=true] { border-color: var(--blue); box-shadow: inset 3px 0 0 var(--blue); background: #eef4ff; }
.package-history-item strong { font-size: 13px; overflow-wrap: anywhere; line-height: 1.6; }
.package-history-item small { color: var(--muted); font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.package-history-pager { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.package-history-pager button { padding: 9px; font-size: 12px; }
.package-history-pager span { font-size: 11px; color: var(--muted); }
.package-upload-form { display: grid; gap: 16px; padding: 0; }
.package-upload-form > p { margin: 0; line-height: 1.8; font-size: 12px; }
.package-supplier-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: -12px; }
.package-upload-progress { display: grid; gap: 10px; }
.package-upload-progress progress { width: 100%; accent-color: var(--blue); }
.package-upload-progress span { font-size: 12px; color: var(--muted); }
.package-detail h4 { font-size: 18px; margin: 8px 0 12px; overflow-wrap: anywhere; }
.package-detail p { font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.package-overview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 20px 0; }
.package-overview article { padding: 14px 12px; background: #f5f7fa; border-radius: 9px; }
.package-overview strong { display: block; font-size: 25px; font-weight: 700; margin-bottom: 5px; }
.package-overview span { font-size: 11px; color: var(--muted); line-height: 1.6; }
.package-checklist { display: grid; gap: 12px; margin: 18px 0; }
.package-check { padding: 15px; border: 1px solid var(--line); border-radius: 10px; }
.package-check summary { cursor: pointer; font-size: 13px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
.package-check .badge { margin-bottom: 9px; }
.package-check p:last-child { margin-bottom: 0; }
.package-warning { padding: 12px 15px; background: #fff7e9; border: 1px solid #ead8b7; border-radius: 9px; color: #75521c; font-size: 12px; line-height: 1.8; }
.package-warning ul { margin: 8px 0 0; padding-left: 18px; }
.package-preview-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.package-preview-fields > div { min-width: 0; }
.package-preview-fields dt { font-size: 11px; color: var(--muted); }
.package-preview-fields dd { font-size: 12px; margin: 5px 0 0; white-space: pre-wrap; line-height: 1.8; overflow-wrap: anywhere; }
.package-batch-actions { position: sticky; bottom: 0; background: rgba(255,255,255,.98); border-top: 1px solid var(--line); padding: 16px 22px; margin: 22px -22px -22px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; z-index: 2; border-radius: 0 0 12px 12px; }
.package-batch-actions .primary { margin-left: auto; }
.package-mobile-steps { display: none; }
@media (max-width: 1000px) { .package-layout { grid-template-columns: minmax(220px,.8fr) minmax(0,1.6fr); gap: 14px; } .package-queue { padding: 14px; } .package-workspace { padding: 18px; } .package-section-heading { flex-wrap: wrap; } .package-batch-actions { margin: 20px -18px -18px; padding: 14px 18px; } }
@media (max-width: 720px) {
  .package-intro { padding: 16px; flex-direction: column; gap: 12px; }
  .package-intro h3 { font-size: 20px; }
  .package-guide { padding: 14px; }
  .package-command { grid-template-columns: minmax(0,1fr); }
  .package-mobile-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin: 16px 0; border-radius: 10px; background: #edf1f6; }
  .package-mobile-steps button { border: 0; background: transparent; color: var(--muted); border-radius: 7px; padding: 12px; }
  .package-mobile-steps button[aria-pressed=true] { background: white; color: var(--blue); box-shadow: 0 1px 4px #20334a15; }
  .package-layout { display: block; }
  .package-layout[data-pane=detail] > .package-queue, .package-layout[data-pane=queue] > .package-workspace { display: none; }
  .package-workspace, .package-queue { padding: 16px; }
  .package-overview { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .package-preview-fields { grid-template-columns: minmax(0,1fr); }
  .package-batch-actions { margin: 20px -16px -16px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); }
  .package-batch-actions button { flex: 1; }
  .package-batch-actions .primary { flex-basis: 100%; margin: 0; }
}

.supply-extraction { margin-top: 16px; }
#intake-source-workspace { scroll-margin-top: 76px; }
.supply-extraction, .intake-review-dialog, .supply-packages { --blue: #3357da; --panel-soft: #f5f7fc; --line: #e0e6f0; --ink: #172039; }
.supply-extraction [hidden], .intake-review-dialog [hidden], .intake-image-dialog [hidden] { display: none !important; }
.intake-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 22px; background: var(--panel-soft); border: 1px solid var(--line); border-radius: 14px; }
.intake-intro h3 { margin: 6px 0 10px; font-size: 23px; }
.intake-intro p { margin-bottom: 0; font-size: 13px; line-height: 1.7; }
.intake-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; padding: 16px 0; }
.intake-search label { min-width: 0; }
#intake-candidate-filter { grid-template-columns: minmax(0, 1fr) minmax(110px, .5fr) auto; }
.intake-source-heading, .intake-list-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 14px 0; }
.intake-source-title { overflow-wrap: anywhere; }
.intake-source-title p { color: var(--muted); font-size: 13px; }
.intake-work-sections { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(0, 1.8fr); gap: 22px; align-items: start; }
.intake-work-sections h4 { margin: 18px 0 8px; font-size: 17px; }
.intake-job-section { padding: 0 18px 18px; background: var(--panel-soft); border: 1px solid var(--line); border-radius: 12px; }
.intake-job-section > p { line-height: 1.6; font-size: 12px; }
.intake-range { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0; }
.intake-range > button, .intake-range > p { grid-column: 1 / -1; }
.intake-job { padding: 14px 0; border-top: 1px solid var(--line); }
.intake-job p { margin: 7px 0; color: var(--muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.intake-job progress { width: 100%; accent-color: var(--blue); }
.intake-job-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.intake-candidate-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.intake-candidate { display: flex; flex-direction: column; gap: 9px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: white; min-width: 0; }
.intake-candidate h5 { margin: 0; font-size: 18px; overflow-wrap: anywhere; }
.intake-candidate p { margin: 0; font-size: 12px; color: var(--muted); line-height: 1.6; overflow-wrap: anywhere; }
.intake-candidate button { margin-top: auto; }
.intake-review-dialog { width: min(1600px, calc(100% - 32px)); max-height: calc(100dvh - 32px); }
.intake-review-dialog > section, .intake-image-dialog > section { padding: 24px; }
.intake-review-dialog > section { background: #fafbfe; }
.intake-review-layout > .intake-section { background: white; padding: 18px; border: 1px solid var(--line); border-radius: 10px; margin-top: 18px; }
.intake-inline-page { padding: 10px; background: #f0f3f8; border: 1px solid var(--line); border-radius: 8px; margin: 16px 0; }
.intake-inline-page img { display: block; width: 100%; height: auto; background: white; }
.intake-inline-page .intake-list-heading { font-size: 11px; flex-wrap: wrap; margin: 0 0 10px; }
.intake-review-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 15px; align-items: start; }
.intake-review-heading h2 { margin: 4px 0 10px; overflow-wrap: anywhere; }
.intake-review-heading p { font-size: 12px; line-height: 1.6; }
.intake-review-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.intake-review-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: start; gap: 24px; }
.intake-review-layout > *, .intake-review-dialog * { min-width: 0; }
.intake-review-dialog form { padding: 0; }
.intake-section { padding: 18px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 12px; }
.intake-section h3 { margin: 0 0 10px; font-size: 18px; }
.intake-section > p { font-size: 12px; line-height: 1.7; color: var(--muted); }
.intake-field { display: block; padding: 12px 0; border-bottom: 1px solid #edf1f6; }
.intake-field > span { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.intake-field textarea { min-height: 110px; }
.intake-field button { margin: 8px 0 0; }
.intake-field-note { display: block; font-size: 12px; color: var(--muted); font-weight: 400; line-height: 1.6; margin-top: 7px; }
.intake-price { padding: 14px; margin: 12px 0; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-soft); }
.intake-price .supply-fields { gap: 10px; }
.intake-price label { font-size: 12px; }
.intake-price textarea { min-height: 82px; }
.intake-warnings { padding: 12px 15px; border: 1px solid #ead1a6; border-radius: 9px; background: var(--amber-soft); font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.intake-warnings ul { padding-left: 18px; margin: 7px 0 0; }
.intake-proof { padding: 14px; margin: 12px 0; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-soft); scroll-margin-top: 15px; }
.intake-proof:focus { outline: 2px solid var(--blue); }
.intake-proof h4 { margin: 0 0 8px; font-size: 14px; }
.intake-proof blockquote { white-space: pre-wrap; overflow-wrap: anywhere; margin: 12px 0; padding: 0 0 0 12px; border-left: 3px solid var(--line-strong); font-size: 13px; line-height: 1.8; }
.intake-proof p { color: var(--muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.intake-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.intake-image { padding: 10px; border: 1px solid var(--line); border-radius: 10px; font-size: 12px; }
.intake-image button { display: block; padding: 0; width: 100%; min-height: 100px; border: 0; border-radius: 8px; background: var(--panel-soft); overflow: hidden; }
.intake-image img { width: 100%; height: 165px; object-fit: contain; display: block; }
.intake-image p { overflow-wrap: anywhere; font-size: 12px; line-height: 1.6; }
.intake-image label, .intake-choice { display: flex; gap: 9px; align-items: flex-start; font-size: 13px; line-height: 1.7; margin-top: 10px; }
.intake-image input[type=checkbox], .intake-choice input, .intake-diff input { width: 18px; height: 18px; flex: 0 0 18px; margin: 3px 0 0; }
.intake-destination { grid-column: 1 / -1; }
.intake-match-list { display: grid; gap: 8px; margin: 12px 0; }
.intake-match { padding: 12px; border: 1px solid var(--line); border-radius: 10px; text-align: left; background: white; color: var(--ink); }
.intake-match strong, .intake-match small { display: block; overflow-wrap: anywhere; line-height: 1.6; }
.intake-match small { margin-top: 5px; color: var(--muted); }
.intake-match[aria-pressed=true] { border-color: var(--blue); background: var(--panel-soft); }
.intake-diff { padding: 14px; margin: 10px 0; border: 1px solid var(--line); border-radius: 10px; }
.intake-diff > label { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; }
.intake-diff-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 12px 0 0; }
.intake-diff-values div { padding: 10px; border-radius: 8px; background: var(--panel-soft); }
.intake-diff-values dt { font-size: 11px; color: var(--muted); }
.intake-diff-values dd { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; line-height: 1.7; margin: 6px 0 0; }
.intake-actions { position: sticky; bottom: 0; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; margin: 24px -24px -24px; padding: 15px 24px; background: rgba(255,255,255,.98); border-top: 1px solid var(--line); z-index: 2; }
.intake-actions .intake-left-action { margin-right: auto; }
.intake-image-dialog { width: min(1200px, calc(100% - 24px)); max-height: calc(100dvh - 24px); }
.intake-image-dialog a { color: var(--blue); display: inline-block; padding: 10px 0; }
#intake-image-content img { width: 100%; height: auto; display: block; }
.intake-image-tools { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.intake-image-tools span { font-size: 12px; color: var(--muted); }
.intake-image-viewport { width: 100%; max-height: 72dvh; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-radius: 8px; }
.intake-proof-image { position: relative; width: 100%; max-width: none; }
.intake-proof-box { position: absolute; border: 2px solid #bd3d31; background: rgba(189,61,49,.08); pointer-events: none; }
.intake-editable { border: 0; padding: 0; margin: 0; }
.intake-review-body { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 24px; align-items: start; }
.intake-review-queue { position: sticky; top: 0; background: #f5f7fb; border: 1px solid var(--line); border-radius: 10px; padding: 14px; margin-top: 18px; }
.intake-review-queue h3 { margin: 8px 0; font-size: 17px; }
.intake-review-queue > p { font-size: 11px; line-height: 1.8; }
#intake-review-queue-list { display: grid; gap: 8px; }
.intake-queue-item { display: grid; width: 100%; text-align: left; gap: 7px; padding: 12px; border-radius: 8px; border: 1px solid var(--line); background: white; color: var(--ink); }
.intake-queue-item strong { font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.intake-queue-item small { font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; color: var(--muted); }
.intake-queue-item[aria-pressed=true] { background: #eaf1fc; border-color: var(--blue); box-shadow: inset 3px 0 0 var(--blue); }
.intake-review-layout { grid-template-areas: 'evidence fields' 'destination destination'; }
#intake-fields { grid-area: fields; }
#intake-evidence { grid-area: evidence; }
#intake-destination { grid-area: destination; }
.intake-review-shortcuts button[aria-pressed=true] { background: #eaf1fc; border-color: var(--blue); color: var(--blue); }
@media (max-width: 1120px) { .intake-review-body { grid-template-columns: 170px minmax(0,1fr); gap: 16px; } .intake-review-layout { grid-template-columns: minmax(0,1fr); grid-template-areas: 'fields' 'evidence' 'destination'; gap: 0; } }
@media (max-width: 980px) {
  .intake-work-sections { grid-template-columns: minmax(0, 1fr); }
  .intake-job-section { padding: 0 16px 16px; }
}
@media (max-width: 720px) {
  .supply-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intake-intro { padding: 16px; flex-direction: column; }
  .intake-intro h3 { font-size: 20px; }
  .intake-search, #intake-candidate-filter { grid-template-columns: minmax(0, 1fr); }
  .intake-source-heading { flex-wrap: wrap; }
  .intake-source-heading button { flex: 1; }
  .intake-candidate-list { grid-template-columns: minmax(0, 1fr); }
  .intake-review-dialog { width: calc(100% - 12px); max-height: calc(100dvh - 12px); border-radius: 12px; }
  .intake-review-dialog > section, .intake-image-dialog > section { padding: 16px; }
  .intake-review-body { display: block; }
  .intake-review-queue { position: static; }
  .intake-review-layout { display: block; }
  .intake-review-body[data-pane=intake-review-queue] > #intake-review-content { display: none; }
  .intake-review-body:not([data-pane=intake-review-queue]) > #intake-review-queue { display: none; }
  .intake-review-body[data-pane=intake-fields] #intake-evidence, .intake-review-body[data-pane=intake-fields] #intake-destination,
  .intake-review-body[data-pane=intake-evidence] #intake-fields, .intake-review-body[data-pane=intake-evidence] #intake-destination,
  .intake-review-body[data-pane=intake-destination] #intake-fields, .intake-review-body[data-pane=intake-destination] #intake-evidence { display: none; }
  .intake-review-shortcuts { gap: 5px; }
  .intake-review-shortcuts button { flex: 1; padding: 10px 6px; font-size: 12px; }
  .intake-field textarea { min-height: 150px; }
  .intake-images { gap: 8px; }
  .intake-image img { height: 125px; }
  .intake-image label { font-size: 12px; }
  .intake-diff-values { grid-template-columns: minmax(0, 1fr); }
  .intake-actions { bottom: 0; margin: 20px -16px -16px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); }
  .intake-actions button { flex: 1; }
  .intake-actions .intake-left-action { margin-right: 0; flex-basis: 100%; }
}

.supply-publication { display: grid; gap: 18px; }
.supply-publication-heading, .supply-publication-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.supply-publication-heading h2, .supply-publication-heading p, .supply-publication-section-heading h3, .supply-publication-section-heading p { margin: 0; }
.supply-publication-heading h2 { margin-top: 4px; }
.supply-publication-heading p:last-child, .supply-publication-section-heading p { margin-top: 5px; color: var(--muted); font-size: 12px; }
.supply-publication-current { display: grid; grid-template-columns: minmax(0, 2fr) minmax(120px, 1fr) auto; gap: 10px; align-items: center; padding: 16px; border: 1px solid var(--line); background: var(--panel-soft); }
.supply-publication-current > div { display: grid; gap: 5px; }
.supply-publication-current span { color: var(--muted); font-size: 11px; }
.supply-publication-create, .supply-publication-history { padding: 18px; border: 1px solid var(--line); background: white; }
.supply-publication-create { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: start; }
.supply-publication-create h3, .supply-publication-create p { margin: 0; }
.supply-publication-create p { margin-top: 5px; color: var(--muted); font-size: 12px; }
#supply-publication-preflight-result, #supply-publication-form { grid-column: 1 / -1; }
#supply-publication-preflight-result > div { display: flex; justify-content: space-between; gap: 10px; padding: 12px; }
#supply-publication-preflight-result > div.success { background: #eaf5ef; color: #1e6941; }
#supply-publication-preflight-result > div.warning { background: var(--amber-soft); color: var(--amber); }
#supply-publication-preflight-result li { margin: 7px 0; }
.supply-publication-issue { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border-bottom: 1px solid var(--line); }
.supply-publication-issue > div { flex: 1; min-width: 180px; overflow-wrap: anywhere; }
.supply-publication-issue strong, .supply-publication-issue span { display: block; }
.supply-publication-issue span { margin-top: 5px; color: var(--muted); }
.supply-publication-issue button { min-height: 44px; }
#supply-publication-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) auto; gap: 10px; align-items: end; padding: 14px; background: var(--panel-soft); }
#supply-publication-form[hidden] { display: none; }
.supply-publication-list { display: grid; margin-top: 12px; }
.supply-publication-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 16px; }
.supply-publication-pagination span { margin-right: auto; color: var(--muted); font-size: 12px; }
.supply-publication-list > article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.supply-publication-list h4, .supply-publication-list span, .supply-publication-list small { display: block; margin: 0; }
.supply-publication-list span, .supply-publication-list small { color: var(--muted); font-size: 11px; }
.supply-publication-row-actions { display: flex; align-items: center; gap: 8px; }
.supply-publication-row-actions strong { color: var(--green); font-size: 12px; }
.supply-publication-empty { padding: 32px 14px; color: var(--muted); text-align: center; }
.supply-publication-detail { width: min(780px, calc(100% - 32px)); }
.supply-publication-detail > section { padding: 24px; }
.supply-publication-detail header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.supply-publication-products { display: grid; margin-top: 16px; }
.supply-publication-products article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.supply-publication-products span { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.supply-publication-products b { white-space: nowrap; }
@media (max-width: 720px) {
  .supply-publication-heading, .supply-publication-section-heading { flex-direction: column; }
  .supply-publication-current, .supply-publication-create, #supply-publication-form, .supply-publication-list > article { grid-template-columns: minmax(0, 1fr); }
  .supply-publication-row-actions { flex-wrap: wrap; }
  .supply-publication-row-actions button { flex: 1; }
  .supply-publication-detail { width: calc(100% - 16px); }
}

.supply-heading-actions { display: flex; flex-wrap: wrap; gap: 10px; }
#supply-detail-dialog:has(.supplier-registration-archive) .supply-detail-heading,
#supply-detail-dialog:has(.supplier-current-profile) .supply-detail-heading,
.supplier-registration-dialog .supply-detail-heading { position: sticky; top: 0; z-index: 3; margin: -26px -26px 20px; padding: 22px 26px 14px; background: #fff; border-bottom: 1px solid var(--line); }
#supply-detail-dialog:has(.supplier-current-profile) .supply-detail-actions { bottom: 0; z-index: 3; }
.supplier-summary-line { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.supplier-registration-caption { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin-top: 26px; }
.supplier-registration-caption h3 { margin: 0; font-size: 18px; }
.supplier-registration-caption span { color: var(--muted); font-size: 12px; }
.supplier-registration-archive > .muted { font-size: 12px; line-height: 1.6; }
.supplier-registration-group { padding: 18px 0; border-top: 1px solid var(--line); }
.supplier-registration-group h4 { margin: 0 0 12px; font-size: 14px; }
.supplier-current-profile .supplier-registration-group h3 { margin: 0 0 16px; font-size: 16px; }
.supplier-profile-intro { font-size: 12px; line-height: 1.7; margin-bottom: 20px; }
.supplier-current-profile .supplier-registration-group:first-of-type { border-top: 0; padding-top: 0; }
.supplier-registration-grid > .field-wide { grid-column: 1 / -1; }
.supplier-original-record { margin: 24px 0 12px; padding: 16px 0; border-top: 1px solid var(--line); }
.supplier-original-record > summary { cursor: pointer; font-size: 13px; font-weight: 600; }
.supplier-original-record > summary span { margin-left: 8px; color: var(--muted); font-size: 12px; font-weight: 400; }
.supplier-original-record .supplier-registration-caption { margin-top: 18px; }
.supplier-registration-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 28px; margin: 0; }
.supplier-registration-grid > div { min-width: 0; }
.supplier-registration-grid dt { color: var(--muted); font-size: 12px; margin-bottom: 4px; }
.supplier-registration-grid dd { margin: 0; font-size: 13px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.registration-intake-form { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin: 22px 0; }
.registration-intake-form > label { min-width: 0; flex: 1 1 230px; font-size: 12px; }
.registration-intake-form input[type=file] { width: 100%; }
.registration-intake-summary { display: flex; flex-wrap: wrap; gap: 16px; padding: 16px 0; }
.registration-intake-summary span { color: var(--muted); font-size: 12px; }
.registration-intake-summary strong { margin-right: 6px; color: var(--ink); font-size: 20px; }
.registration-intake-details { margin: 14px 0; }
.registration-intake-details > summary, .registration-intake-table summary { cursor: pointer; font-size: 13px; }
.registration-intake-table { overflow-x: auto; max-width: 100%; border: 1px solid var(--line); border-radius: 8px; }
.registration-intake-table table { width: 100%; min-width: 760px; margin: 0; font-size: 12px; }
.registration-intake-table th, .registration-intake-table td { padding: 12px; vertical-align: top; white-space: normal; overflow-wrap: anywhere; }
.registration-intake-table th { background: var(--panel-soft); }
.registration-intake-table td:first-child { width: 85px; }
.registration-intake-table td:nth-child(2) { width: 200px; }
.registration-intake-table td:nth-child(3) { width: 220px; line-height: 1.8; }
.registration-product-image { display: block; width: 150px; height: 120px; object-fit: contain; margin: 12px 0; }
.registration-changes { padding: 0; list-style: none; margin: 14px 0; }
.registration-changes li { padding: 9px 0; border-top: 1px solid var(--line); font-size: 12px; display: grid; gap: 4px; }
.registration-changes span { color: var(--muted); overflow-wrap: anywhere; white-space: pre-wrap; }
.registration-intake-issues { margin: 18px 0; }
.registration-intake-issues h3 { font-size: 15px; }
.registration-intake-issues p, .registration-limitations { font-size: 12px; line-height: 1.7; }
@media (max-width: 720px) {
  #supply-detail-dialog:has(.supplier-registration-archive) .supply-detail-heading,
  #supply-detail-dialog:has(.supplier-current-profile) .supply-detail-heading,
  .supplier-registration-dialog .supply-detail-heading { margin: -16px -16px 16px; padding: 16px; }
  .supplier-registration-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .supply-heading-actions { width: 100%; }
  .registration-intake-form { align-items: stretch; }
}

.mobile-nav-toggle { display: none; }
.panel.supply-panel { padding: 0; border: 0; background: transparent; box-shadow: none; color: #273247; --muted: #68748a; }
.supply-panel .supply-overview { align-items: center; gap: 24px; margin: 0 0 26px; }
.supply-overview > div:first-child { flex: 1; min-width: 0; }
.supply-overview .eyebrow { margin-bottom: 8px; color: #7773af; font-size: 10px; letter-spacing: .18em; }
.supply-panel .supply-overview h2 { color: #263147; font-size: 30px; }
.supply-heading-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.supply-template-download { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; flex: 0 0 auto; }
.supply-template-download-label { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.supply-template-download:focus-visible, .supply-template-download-label:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.supply-heading-actions .primary { box-shadow: 0 4px 10px #5856df16; }
.supply-summary { display: flex; flex-wrap: wrap; gap: 22px; margin: 0 8px 0 0; }
.supply-panel .supply-summary:empty { display: none; }
.supply-summary article { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; padding: 0 0 0 20px; border: 0; border-left: 1px solid #dfe3ec; border-radius: 0; background: transparent; }
.supply-summary strong { margin: 0; color: #344057; font-size: 25px; font-weight: 650; font-variant-numeric: tabular-nums; line-height: 1.1; }
.supply-summary article:nth-child(3) strong { color: #357963; }
.supply-summary span { order: -1; color: var(--muted); font-size: 12px; white-space: nowrap; }
.supply-controls { overflow: hidden; border: 1px solid #e2e6ef; border-radius: 14px; background: white; box-shadow: 0 2px 5px #26314703; }
.supply-tabs { display: flex; gap: 24px; margin: 0; padding: 0 22px; border-bottom: 1px solid #edf0f5; overflow-x: auto; scrollbar-width: thin; }
.supply-tabs button { position: relative; flex: 0 0 auto; min-height: 53px; padding: 0 3px; border: 0; border-radius: 0; color: #68748a; background: transparent; font-size: 14px; font-weight: 550; }
.supply-tabs button:hover { color: var(--blue); background: transparent; }
.supply-tabs button.active { background: transparent; color: #514dcc; font-weight: 700; }
.supply-tabs button.active::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--blue); }
.supply-library-navigation { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0; padding: 14px 22px 0; font-size: 12px; color: var(--muted); }
.supply-advanced-tools { margin-left: auto; position: relative; }
.supply-advanced-tools summary { cursor: pointer; padding: 8px; }
.supply-advanced-tools > div { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.supply-brand-card { min-height: 220px; padding: 22px; }
.supply-brand-card .eyebrow { color: var(--muted); font-size: 10px; letter-spacing: .1em; }
.supply-brand-counts { display: flex; flex-wrap: wrap; gap: 20px; padding: 12px 0; font-size: 12px; color: var(--muted); }
.supply-brand-counts strong { margin-left: 5px; color: var(--blue); }
.supply-filters { display: flex; flex-wrap: wrap; gap: 14px; align-items: end; padding: 20px 22px 22px; border-radius: 0; background: transparent; }
.supply-filters > label { flex: 1 1 140px; }
.supply-filters > .supply-search { flex: 2 1 240px; }
.supply-filters label { min-width: 0; gap: 8px; color: #566279; font-size: 12px; font-weight: 550; }
.supply-filters input, .supply-filters select { background-color: #fbfcfe; border-color: #dfe4ee; font-size: 13px; }
.supply-filters input:focus, .supply-filters select:focus { background-color: white; border-color: #827ee8; box-shadow: 0 0 0 3px #5856df10; }
.supply-query { min-width: 70px; }
.supply-results-heading, .supply-pagination { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 14px 0; color: var(--muted); font-size: 13px; }
.supply-results { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.supply-record { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 20px; border: 1px solid #e1e5ee; border-radius: 14px; background: white; transition: border-color .15s, box-shadow .15s; }
.supply-thumbnail { position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; margin: 0; border-radius: 10px; background: #f5f5f3; overflow: hidden; }
.supply-thumbnail-open { position: absolute; inset: 0; display: grid; place-items: center; width: 100%; height: 100%; padding: 0; border: 0; border-radius: inherit; background: transparent; cursor: zoom-in; }
.supply-thumbnail-open:disabled { cursor: default; }
.supply-thumbnail-open:focus-visible { outline: 3px solid var(--blue); outline-offset: -3px; }
.supply-thumbnail img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.supply-thumbnail span { color: var(--muted); font-size: 12px; }
.supply-image-viewer { width: min(1100px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); padding: 0; border: 1px solid var(--line); border-radius: 12px; }
.supply-image-viewer::backdrop { background: rgba(17, 24, 39, .75); }
.supply-image-viewer > section { display: grid; gap: 12px; padding: 16px; }
.supply-image-viewer-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.supply-image-viewer-heading h2 { margin: 0; font-size: 16px; overflow-wrap: anywhere; }
.supply-image-viewer img { display: block; max-width: 100%; max-height: calc(100dvh - 112px); margin: auto; object-fit: contain; }
.supply-record:hover { border-color: var(--line-strong); }
.supply-record h3 { margin: 0; font-size: 19px; overflow-wrap: anywhere; }
.supply-record p { margin: 0; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; color: var(--ink-soft); }
.supply-record .supply-record-meta { color: var(--muted); font-size: 12px; }
.supply-record > button { margin-top: auto; }
.supply-status-line { display: flex; flex-wrap: wrap; gap: 6px; }
.supply-price-summary { display: grid; gap: 8px; padding: 12px; border-radius: 9px; background: var(--panel-soft); font-size: 12px; }
.supply-price-summary span { white-space: pre-wrap; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.supply-price-summary strong { color: var(--blue-dark); }
.supply-empty { grid-column: 1 / -1; padding: 45px 22px; border: 1px dashed var(--line-strong); border-radius: 12px; color: var(--muted); text-align: center; }
.supply-detail-dialog { width: min(1220px, calc(100% - 32px)); max-height: calc(100dvh - 32px); }
.supply-detail-dialog > section { padding: 26px; }
.supply-detail-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 15px; }
.supply-detail-heading h2 { overflow-wrap: anywhere; }
.supply-detail-dialog form { padding: 0; }
.supply-detail-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0; }
.supply-detail-facts div { min-width: 0; display: grid; gap: 5px; padding: 12px; border-radius: 9px; background: var(--panel-soft); }
.supply-detail-facts dt { color: var(--muted); font-size: 12px; }
.supply-detail-facts dd { margin: 0; overflow-wrap: anywhere; font-size: 13px; }
.supply-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.supply-product-fields { border: 0; padding: 0; margin: 18px 0 0; }
.supply-upload-status { display: grid; gap: 8px; margin: 20px 0; color: var(--muted); font-size: 12px; }
.supply-upload-status progress { width: 100%; height: 10px; accent-color: var(--blue); }
.supply-fields > .field-wide { grid-column: 1 / -1; }
.supply-form-block { margin: 20px 0 0; padding-top: 20px; border-top: 1px solid var(--line); }
.supply-form-block h3 { margin-bottom: 6px; font-size: 17px; }
.supply-form-block > p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.supply-repeat { display: grid; gap: 12px; margin: 12px 0; }
.supply-repeat-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-soft); }
.supply-repeat-row label { min-width: 0; font-size: 12px; }
.supply-repeat-row .field-wide { grid-column: 1 / -1; }
.supply-repeat-row > button { justify-self: start; }
.supply-review-controls { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.supply-detail-actions { position: sticky; bottom: -26px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin: 24px -26px -26px; padding: 16px 26px; background: rgba(255,255,255,.97); border-top: 1px solid var(--line); }
.supply-detail-actions .supply-archive { margin-right: auto; }
.supply-source-links { display: grid; gap: 8px; margin: 12px 0; }
.supply-source-link { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px; }
.supply-source-link span { overflow-wrap: anywhere; }
.supply-source-link a { color: var(--blue); }
.supply-image-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 16px 0; }
.supply-image-grid img { width: 100%; height: 170px; object-fit: contain; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-soft); }
#supply-detail-content[data-type="products"] { display: block; }
.supply-detail-dialog:has(.supply-review-form) { width: min(1100px, calc(100% - 32px)); }
.supply-detail-dialog:has(.supply-review-form) > section { padding: 22px; }
.supply-detail-dialog:has(.supply-review-form) .supply-detail-heading h2 { margin: 4px 0 12px; font-size: 25px; }
.supply-detail-dialog:has(.supply-review-form) .supply-detail-heading .eyebrow { margin: 0; }
#supply-detail-message:empty { display: none; }
.supply-review-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 12px; }
.supply-review-meta > span:first-child { margin-right: 8px; color: var(--muted); }
.supply-review-meta small { margin-left: auto; color: var(--muted); }
.supply-review-steps { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; padding: 8px; border-radius: 10px; background: var(--panel-soft); }
.supply-review-steps span { flex: 1; padding: 7px 12px; color: var(--muted); font-size: 12px; border-radius: 6px; }
.supply-review-steps .current { color: var(--blue); background: white; box-shadow: 0 1px 4px #172b4310; font-weight: 650; }
.supply-review-main { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 14px; align-items: stretch; }
.supply-review-card { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 10px; }
.supply-review-card h3 { margin: 0 0 12px; font-size: 16px; }
.supply-review-card > p { margin: -3px 0 12px; font-size: 12px; line-height: 1.5; }
.supply-review-card .supply-product-fields { margin: 0; }
.supply-review-card .supply-fields { gap: 10px 12px; }
.supply-review-card label { font-size: 12px; }
.supply-review-card input { min-height: 40px; }
.supply-review-card textarea { min-height: 66px; height: 66px; resize: vertical; }
.supply-catalog-detail-group { border-top: 1px solid var(--line); padding: 12px 0; }
.supply-catalog-detail-group summary { cursor: pointer; font-weight: 600; font-size: 13px; overflow-wrap: anywhere; }
.supply-catalog-detail-group summary span { margin-left: 10px; color: var(--muted); font-weight: 400; }
.supply-catalog-detail-body { min-width: 0; padding-top: 12px; }
.supply-catalog-detail-body dl { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 12px 20px; margin: 0; }
.supply-catalog-detail-body dt { color: var(--muted); font-size: 12px; }
.supply-catalog-detail-body dd { margin: 4px 0 0; font-size: 13px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.supply-catalog-media { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.supply-catalog-detail-table { overflow: auto; max-height: 460px; margin-top: 12px; }
.supply-catalog-detail-table table { min-width: 540px; width: 100%; border-collapse: collapse; font-size: 12px; }
.supply-catalog-detail-table th, .supply-catalog-detail-table td { padding: 10px; border-bottom: 1px solid var(--line); text-align: left; white-space: normal; overflow-wrap: anywhere; }
.supply-catalog-detail-table th { background: var(--panel-soft); position: sticky; top: 0; }
.supply-catalog-asset-preview { padding: 12px; margin: 12px 0; border: 1px solid var(--line); border-radius: 10px; }
.supply-catalog-asset-preview img { display: block; max-width: 100%; max-height: 450px; object-fit: contain; margin: 12px auto; }
.supply-catalog-asset-preview iframe { display: block; border: 0; width: 100%; height: min(65vh,650px); margin-top: 12px; }
.supply-review-specs { margin-top: 12px; }
.supply-review-specs > .field-wide { grid-column: auto; }
.supply-review-pricing { background: #f8f9ff; }
.supply-review-evidence, .supply-review-extra { margin: 12px 0; border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; }
.supply-review-evidence summary, .supply-review-extra summary { cursor: pointer; font-size: 13px; font-weight: 600; }
.supply-review-evidence summary span, .supply-review-extra summary span { margin-left: 10px; color: var(--muted); font-size: 12px; font-weight: 400; }
.supply-review-evidence-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.supply-review-evidence .supply-image-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); max-height: 150px; overflow: auto; margin: 12px 0 0; }
.supply-review-evidence .supply-image-grid img { height: 120px; }
.supply-review-evidence .supply-image-correction { margin-bottom: 0; padding: 10px; }
.supply-review-evidence .supply-image-correction h3 { font-size: 13px; }
.supply-review-extra > p { font-size: 12px; }
.supply-review-extra > .supply-fields { margin-top: 12px; }
.supply-review-actions { bottom: -22px; margin: 14px -22px -22px; padding: 12px 22px; align-items: center; justify-content: space-between; z-index: 3; }
.supply-review-action-note { flex: 1; min-width: 160px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.supply-review-action-buttons { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.supply-review-more { position: relative; }
.supply-review-more summary { padding: 11px; font-size: 12px; cursor: pointer; color: var(--muted); }
.supply-review-more > div { position: absolute; bottom: calc(100% + 8px); left: 0; min-width: 160px; padding: 8px; background: white; border: 1px solid var(--line); box-shadow: 0 6px 24px #172b4320; border-radius: 10px; }
.supply-review-more > div button { display: block; width: 100%; margin: 4px 0; text-align: left; }
.supply-product-next-step { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-bottom: 20px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-soft); }
.supply-product-next-step > div { flex: 1; min-width: min(220px, 100%); }
.supply-product-next-step h3 { margin: 0 0 6px; font-size: 17px; }
.supply-product-next-step p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.supply-product-next-step button { min-height: 44px; }
.supply-image-correction { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: start; margin: 16px 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-soft); }
.supply-image-correction h3, .supply-image-correction p { margin: 0; }
.supply-image-correction p { margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.supply-image-correction-workspace, #supply-image-correction-workspace { grid-column: 1 / -1; }
.supply-image-correction-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; margin-top: 12px; padding: 0; }
.supply-image-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; max-height: 430px; overflow: auto; margin-top: 10px; }
.supply-image-choice { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 5px 9px; align-items: start; padding: 9px; border: 1px solid var(--line); border-radius: 10px; background: white; cursor: pointer; }
.supply-image-choice > input { grid-row: 1 / span 3; margin-top: 4px; }
.supply-image-choice-preview { display: grid; place-items: center; height: 105px; border-radius: 7px; overflow: hidden; background: var(--panel-soft); }
.supply-image-choice-preview img { width: 100%; height: 100%; object-fit: contain; }
.supply-image-choice-preview em, .supply-image-choice small { color: var(--muted); font-size: 11px; font-style: normal; overflow-wrap: anywhere; }
.supply-image-choice strong { overflow-wrap: anywhere; font-size: 12px; }
.supply-image-correction-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.supply-image-correction-actions > span { margin-right: auto; color: var(--muted); font-size: 12px; }
.supply-readonly-note { padding: 12px; border-radius: 9px; background: var(--amber-soft); color: var(--amber); font-size: 12px; }
.supply-panel #supply-message:empty { display: none; }
.supply-panel .supply-results-heading { justify-content: flex-start; margin: 18px 0 14px; min-height: 32px; }
#supply-result-count { color: #46536b; font-weight: 600; }
.supply-image-tip { padding-left: 14px; border-left: 1px solid #dbe1eb; color: #778296; font-size: 12px; }
.supply-results-heading > button { margin-left: auto; min-height: 36px; padding: 7px 14px; border: 1px solid #d6d2f5; background: #fff; color: #5856df; font-size: 12px; font-weight: 600; }
.supply-results-heading > button:hover { border-color: #aaa5ee; background: #f2f0ff; }
.supply-results-heading > button:focus-visible { outline: 2px solid #5856df; outline-offset: 3px; }
.supply-record:hover { border-color: #c8cbe5; box-shadow: 0 8px 24px #26314709; }
.supply-product-record { gap: 0; padding: 10px; }
.supply-card-media { position: relative; }
.supply-card-media .supply-status-line { position: absolute; inset: 10px auto auto 10px; max-width: calc(100% - 20px); pointer-events: none; }
.supply-card-media .badge { padding: 5px 8px; font-size: 11px; line-height: 1.2; box-shadow: 0 1px 4px #26314708; }
.supply-thumbnail img { padding: 8px; }
.supply-image-missing { display: grid; gap: 10px; justify-items: center; }
.supply-image-missing::before { content: ""; display: block; width: 42px; height: 34px; border: 1.5px solid #c5cad4; border-radius: 6px; background: linear-gradient(140deg, transparent 52%, #d8dce4 53% 63%, transparent 64%) center / 24px 20px no-repeat; }
.supply-card-body { display: flex; flex: 1; flex-direction: column; gap: 9px; min-width: 0; padding: 16px 8px 8px; }
.supply-card-title h3 { font-size: 19px; font-weight: 700; color: #263147; line-height: 1.4; letter-spacing: -.01em; }
.supply-card-title p { margin-top: 3px; color: #5a667c; }
.supply-card-body .supply-record-meta { color: #717c8e; font-size: 12px; }
.supply-card-body .supply-record-spec { display: -webkit-box; min-height: 38px; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: #717c8e; font-size: 12px; line-height: 1.6; }
.supply-card-body .supply-price-summary { gap: 10px; margin-top: auto; padding: 13px 0 0; border-top: 1px solid #edf0f5; border-radius: 0; background: transparent; }
.supply-price-summary .supply-price-rule { min-height: 34px; color: #7a8394; font-size: 11px; line-height: 1.55; -webkit-line-clamp: 2; }
.supply-sale-price { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 10px; }
.supply-sale-price > span { display: block; color: #647087; font-size: 12px; }
.supply-sale-price > strong { color: #514dcc; font-size: 18px; line-height: 1.5; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.supply-sale-price.pending > strong { color: #8991a0; font-size: 13px; font-weight: 500; }
.supply-card-body .supply-card-action { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 40px; margin-top: 5px; padding: 9px 12px; border-color: #e5e6f3; background: #f8f8fd; color: #5b58b5; font-size: 13px; }
.supply-card-action span { font-size: 17px; font-weight: 400; }
.supply-card-body .supply-card-action:hover { border-color: #c9c6f5; background: #eeedfc; }
.supply-brand-card { min-height: 250px; padding: 24px; gap: 14px; }
.supply-brand-card h3 { font-size: 23px; line-height: 1.4; }
.supply-brand-card .eyebrow { color: #7773af; letter-spacing: .16em; }
.supply-brand-counts { gap: 24px; border-top: 1px solid #edf0f5; }
.supply-brand-counts span { display: flex; flex-direction: column; gap: 6px; }
.supply-brand-counts strong { margin: 0; color: #514dcc; font-size: 24px; font-variant-numeric: tabular-nums; }
.supply-brand-card > button { min-height: 40px; border-color: #e5e6f3; background: #f8f8fd; color: #5b58b5; text-align: left; }
.supply-brand-card > button:hover { border-color: #c9c6f5; background: #eeedfc; }
.supply-panel .supply-pagination { justify-content: center; gap: 22px; margin-top: 28px; }
.supply-pagination button { min-height: 38px; padding: 7px 15px; font-size: 12px; }
@media (max-width: 1550px) {
  .supply-results { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .supply-overview { flex-wrap: wrap; }
  .supply-overview > div:first-child { flex-basis: 50%; }
  .supply-overview .supply-summary { order: 3; flex-basis: 100%; gap: 28px; }
  .supply-summary article:first-child { padding-left: 0; border-left: 0; }
  .supply-summary article { flex-direction: row; align-items: baseline; gap: 10px; }
  .supply-summary strong { font-size: 20px; }
}
@media (max-width: 1120px) {
  .supply-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .shell { display: flex; flex-direction: column; }
  .shell > #console-view { order: 1; }
  .shell > .admin-icp-record { order: 2; }
  .console { width: calc(100% - 24px); padding-bottom: calc(28px + env(safe-area-inset-bottom)); }
  .console, .console * { min-width: 0; }
  .console label, dialog label { overflow-wrap: anywhere; }
  .console input, .console select, .console textarea, dialog input, dialog select, dialog textarea { max-width: 100%; font-size: 16px; }
  .console button, dialog button { min-height: 44px; }
  .topbar { width: 100%; gap: 15px; padding-bottom: 14px; }
  .topbar h1 { font-size: 25px; }
  .top-actions { gap: 8px; width: 100%; }
  .current-user { overflow-wrap: anywhere; }
  .demo-account-control { width: 100%; grid-template-columns: 1fr; }
  .mobile-nav-toggle { position: sticky; top: 0; z-index: 6; display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 13px 16px; border: 1px solid var(--line); background: white; color: var(--ink); box-shadow: 0 5px 16px rgba(51,76,108,.07); }
  .mobile-nav-toggle small { color: var(--blue); font-size: 12px; }
  .section-nav { position: sticky; top: 49px; display: none; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 6px 0 0; max-height: calc(75dvh - 60px); overflow-y: auto; overflow-x: hidden; }
  .section-nav.mobile-open { display: grid; }
  .nav-item { justify-content: space-between; padding-inline: 10px; white-space: normal; text-align: left; }
  .panel-heading, .panel-heading-actions, .permission-intro { gap: 12px; }
  .panel-heading { flex-direction: column; }
  .panel-heading > *, .role-management-note { max-width: 100%; }
  .panel-heading-actions { width: 100%; justify-content: flex-start; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .stats article { padding: 12px; }
  .stats strong { font-size: 26px; }
  .stats small { line-height: 1.5; }
  .two-column, .filters, .audit-filters, .crm-filters, .project-history-filters { grid-template-columns: minmax(0, 1fr); }
  .table-wrap { width: 100%; margin: 0; overflow: visible; }
  .console table.mobile-card-table, .console .employee-projects-table table.mobile-card-table { min-width: 0; display: block; }
  .mobile-card-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .mobile-card-table tbody { display: grid; gap: 12px; }
  .mobile-card-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr); padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: white; }
  .mobile-card-table tbody td { display: grid; grid-template-columns: 80px minmax(0, 1fr); align-items: start; gap: 8px; padding: 9px 0; border-bottom: 1px solid #edf1f6; overflow-wrap: anywhere; }
  .mobile-card-table tbody td::before { content: attr(data-mobile-label); color: var(--muted); font-size: 11px; line-height: 1.6; }
  .mobile-card-table tbody td:first-child { display: block; padding-top: 0; color: var(--ink); font-weight: 700; }
  .mobile-card-table tbody td:first-child::before { display: none; }
  .mobile-card-table tbody td:last-child { border-bottom: 0; padding-bottom: 0; }
  .mobile-card-table tbody td[colspan] { display: block; text-align: center; }
  .mobile-card-table tbody td[colspan]::before { display: none; }
  .mobile-card-table .row-actions { flex-wrap: wrap; justify-content: flex-start; white-space: normal; }
  .mobile-card-table .person strong, .mobile-card-table .person small { white-space: normal; overflow-wrap: anywhere; }
  .access-role-layout { margin: 0 -17px -17px; }
  .access-role-directory { padding: 17px; }
  .access-role-workspace { margin: 12px; padding: 14px; border-radius: 14px; }
  .access-permission-row { grid-template-columns: minmax(0, 1fr); }
  .access-role-workspace > header, .access-role-section-heading, .access-permission-heading { flex-wrap: wrap; gap: 10px; }
  .access-role-fields { padding: 12px; }
  .access-role-editor-actions { bottom: 6px; }
  .sales-team-workspace, .sales-development-workspace { padding: 17px; }
  .sales-team-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sales-team-kpis article { padding: 14px; }
  .sales-team-panel > .panel-heading, .project-oversight-panel > .panel-heading { padding: 17px; }
  .project-owner-heading, .sales-development-heading { grid-template-columns: 44px minmax(0, 1fr); }
  .project-owner-total, .sales-development-total { grid-column: 1 / -1; display: flex; gap: 8px; padding: 0; border: 0; justify-content: flex-start; }
  .project-period-kpis, .crm-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .customer-filter-actions { flex-wrap: wrap; white-space: normal; }
  dialog, .customer-detail-dialog, .project-history-dialog, .supply-detail-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 16px); margin: auto; border-radius: 14px; }
  dialog form, .customer-detail-dialog > section, .project-history-dialog > section { padding: 16px; }
  .dialog-heading { gap: 10px; }
  .dialog-heading h2 { font-size: 21px; overflow-wrap: anywhere; }
  .dialog-heading p { overflow-wrap: anywhere; }
  .dialog-actions { gap: 8px; }
  .dialog-fields, .customer-detail-summary, .customer-followup-form, .project-history-summary { grid-template-columns: minmax(0, 1fr); }
  .project-history-content { max-height: none; overflow: visible; }
  .project-file { flex-wrap: wrap; overflow-wrap: anywhere; }
  .member-summary strong { white-space: normal; overflow-wrap: anywhere; }
  .shell:has(#console-view:not([hidden])) > .admin-icp-record { position: static; margin: 12px auto; }
  .supply-panel { padding: 17px; }
  .supply-panel .supply-overview { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 18px 12px; margin-bottom: 20px; }
  .supply-overview > div:first-child { flex-basis: 100%; }
  .supply-heading-actions { flex-basis: 100%; }
  .supply-heading-actions button { font-size: 12px; }
  .supply-overview #supply-page-description { font-size: 12px; }
  .supply-panel .supply-overview h2 { font-size: 25px; }
  .supply-overview .supply-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; width: 100%; margin: 0; }
  .supply-summary article { flex-direction: column; align-items: flex-start; gap: 7px; padding: 0 0 0 10px; }
  .supply-summary span { font-size: 10px; }
  .supply-summary strong { font-size: 21px; }
  .supply-tabs { gap: 20px; margin-inline: 0; padding-inline: 14px; }
  .supply-tabs button { min-height: 48px; padding: 0 2px; font-size: 13px; }
  .supply-library-navigation { padding: 12px 12px 0; gap: 6px; }
  .supply-library-navigation > span { overflow-wrap: anywhere; }
  .supply-filters { gap: 12px; padding: 12px; }
  .supply-filters > label { flex-basis: calc(50% - 12px); }
  .supply-filters > .supply-search { flex-basis: 100%; }
  .supply-query { flex-basis: 100%; }
  .supply-image-tip { display: none; }
  .supply-results { grid-template-columns: minmax(0, 1fr); }
  .supply-detail-dialog > section { padding: 16px; }
  .supply-detail-dialog form { padding: 0; }
  .supply-detail-facts, .supply-fields, .supply-repeat-row { grid-template-columns: minmax(0, 1fr); }
  .supply-fields > .field-wide, .supply-repeat-row .field-wide { grid-column: auto; }
  .supply-detail-actions { bottom: -16px; margin: 22px -16px -16px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); }
  .supply-detail-actions button { flex: 1; }
  .supply-detail-actions .supply-archive { flex-basis: 100%; margin-right: 0; }
  .supply-image-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .supply-image-grid img { height: 140px; }
  #supply-detail-content[data-type="products"] { display: block; }
  .supply-detail-dialog:has(.supply-review-form) { width: calc(100% - 16px); }
  .supply-detail-dialog:has(.supply-review-form) > section { padding: 14px; }
  .supply-review-main, .supply-review-evidence-body { grid-template-columns: minmax(0, 1fr); }
  .supply-review-meta small { margin-left: 0; flex-basis: 100%; }
  .supply-review-steps { gap: 3px; padding: 4px; }
  .supply-review-steps span { padding: 6px; font-size: 11px; }
  .supply-review-specs > .field-wide { grid-column: 1 / -1; }
  .supply-review-actions { bottom: -14px; margin: 14px -14px -14px; padding: 10px 14px; gap: 8px; }
  .supply-review-action-note, .supply-review-action-buttons { flex-basis: 100%; }
  .supply-review-action-buttons { justify-content: flex-end; }
  .supply-review-action-buttons button { flex: 0 1 auto; }
  .supply-review-extra summary span, .supply-review-evidence summary span { display: block; margin: 5px 0 0 16px; }
  .supply-image-correction { grid-template-columns: minmax(0, 1fr); }
  .supply-image-correction-search { grid-template-columns: minmax(0, 1fr); }
  .supply-image-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .supply-image-correction-actions button { flex: 1; }
}
  .supply-catalog-configuration fieldset { border: 1px solid var(--border, #e1e4ec); border-radius: 10px; padding: 14px; margin: 12px 0; min-width: 0; }
  .supply-catalog-configuration legend { padding: 0 8px; font-weight: 600; overflow-wrap: anywhere; }
  .supply-catalog-config-field { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(180px, 2fr); gap: 6px 16px; margin: 10px 0 16px; }
  .supply-catalog-config-field small { color: #737c8e; grid-column: 1; overflow-wrap: anywhere; }
  .supply-catalog-config-field > div { grid-column: 2; grid-row: span 2; display: flex; gap: 8px; align-items: start; }
  .supply-catalog-config-field input { min-width: 0; width: 100%; }
  .supply-catalog-config-field button { white-space: nowrap; flex-shrink: 0; }
  @media (max-width: 600px) {
    .supply-catalog-config-field { grid-template-columns: minmax(0, 1fr); }
    .supply-catalog-config-field > div { grid-column: 1; grid-row: auto; }
  }


/* Approved C “专注处理” shell: quiet canvas, white work surfaces and an indigo action rail. */
:root {
  --ink: #292a35;
  --ink-soft: #41434f;
  --muted: #858897;
  --canvas: #f5f6f8;
  --panel-soft: #f7f8fa;
  --line: #dfe1e8;
  --line-strong: #d3d6df;
  --blue: #5856df;
  --blue-dark: #4543c6;
  --blue-soft: #ececff;
  --shadow: 0 10px 28px rgba(37, 39, 56, .06);
}
body { background: var(--canvas); }
.login-layout { grid-template-columns: minmax(480px, 1.08fr) minmax(430px, .92fr); background: white; }
.brand-panel { background: #eef3ff; color: var(--ink); }
.brand-panel::before { opacity: .28; }
.brand-panel::after { opacity: .16; }
.brand-identity strong, .brand-panel h1 { color: var(--ink); }
.brand-identity span, .brand-description { color: var(--muted); }
.brand-status { border-color: rgba(88,86,223,.18); background: rgba(255,255,255,.72); color: var(--blue); }
.login-side { background: white; }
.login-card { border-color: var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.console { width: calc(100% - 208px); margin: 0 0 0 208px; padding: 96px 32px 72px; }
.topbar { position: fixed; inset: 0 0 auto 208px; z-index: 40; height: 64px; padding: 0 32px; border-bottom: 1px solid #ececf1; background: rgba(255,255,255,.97); }
.topbar-brand .brand-mark { display: none; }
.topbar-brand .eyebrow { display: none; }
.topbar h1 { color: var(--muted); font-size: 13px; font-weight: 600; letter-spacing: 0; }
.top-actions { gap: 8px; }
.top-actions .secondary, .top-actions .ghost { min-height: 34px; padding: 6px 10px; border-color: transparent; background: transparent; color: var(--muted); font-size: 12px; }
.current-user { color: var(--ink); font-size: 12px; }
.section-nav { position: fixed; inset: 0 auto 0 0; z-index: 50; width: 208px; display: flex; flex-direction: column; gap: 4px; padding: 20px; overflow: auto; border: 0; border-right: 1px solid #ececf1; border-radius: 0; background: white; box-shadow: none; }
.sidebar-brand { display: grid; grid-template-columns: 36px 1fr; align-items: center; gap: 12px; min-height: 52px; margin-bottom: 10px; }
.section-nav .sidebar-brand { flex-shrink: 0; width: 100%; padding: 0; border: 0; background: transparent; text-align: left; }
.section-nav .sidebar-brand:hover strong { color: var(--blue); }
.sidebar-brand > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 8px; background: var(--blue); color: white; }
.sidebar-brand svg { width: 25px; height: 25px; }
.sidebar-brand strong { display: grid; gap: 2px; color: var(--ink); font-size: 18px; line-height: 1.15; }
.sidebar-brand small { color: var(--muted); font-size: 10px; font-weight: 500; }
.sidebar-group { margin: 14px 0 5px; color: var(--muted); font-size: 11px; line-height: 1; }
.nav-item { width: 100%; min-height: 42px; justify-content: flex-start; padding: 9px 16px; border-radius: 8px; color: #747786; font-size: 13px; font-weight: 550; text-align: left; }
.nav-item span { flex: 1; }
.nav-item small { min-width: 22px; padding: 2px 6px; background: #f0f1f4; color: #898c99; font-size: 10px; }
.nav-item.active { background: var(--blue-soft); color: var(--blue); }
.nav-item.active small { background: rgba(255,255,255,.75); color: var(--blue); }
.sidebar-mobile-actions { display: none; }
.mobile-nav-toggle { display: none; }
.panel, .stats article { border-color: var(--line); border-radius: 12px; box-shadow: none; }
.panel { padding: 20px; }
.stats { gap: 16px; margin: 0 0 24px; }
.stats article { padding: 20px 16px; }
.stats strong { color: var(--ink); font-size: 28px; }
.panel-heading { margin-bottom: 20px; }
.panel-heading h2 { font-size: 26px; }
.filters, .audit-filters, .crm-filters { padding: 0; background: transparent; }
input, select, textarea { min-height: 44px; border-radius: 8px; }
.primary, .secondary, .ghost, .danger, .icon-button { min-height: 44px; border-radius: 8px; }
.primary { border-color: var(--blue); background: var(--blue); }
th { height: 46px; background: var(--canvas); font-weight: 500; letter-spacing: 0; }
th, td { padding: 13px 12px; }
.table-wrap { border: 1px solid var(--line); border-radius: 12px; background: white; }
.table-wrap table { overflow: hidden; }
.table-wrap thead th:first-child { border-radius: 11px 0 0; }
.table-wrap thead th:last-child { border-radius: 0 11px 0 0; }
.access-role-layout { margin-inline: -20px; margin-bottom: -20px; }
.sales-team-panel, .project-oversight-panel, .sales-library-manager { overflow: hidden; }
dialog { border-radius: 12px; }

@media (max-width: 720px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .login-layout { display: block; min-height: 100dvh; background: white; }
  .brand-panel { min-height: 0; padding: 22px 24px 6px; background: white; }
  .brand-panel::before, .brand-panel::after, .brand-status, .brand-description, .login-points, .motion-gallery { display: none; }
  .brand-identity { grid-template-columns: 40px 1fr; }
  .brand-identity .brand-mark { width: 40px; height: 40px; border-radius: 9px; font-size: 21px; }
  .brand-hero { display: block; margin-top: 18px; }
  .brand-panel h1 { margin: 0; font-size: 0; }
  .brand-panel h1::after { content: "管理工作台"; color: var(--muted); font-size: 12px; font-weight: 550; }
  .login-side { min-height: 0; align-items: flex-start; padding: 14px 24px 36px; }
  .login-card { width: 100%; padding: 22px 0; border: 0; box-shadow: none; }
  .console { width: 100%; margin: 0; padding: 88px 16px 82px; }
  .topbar { inset: 0 0 auto 0; display: flex; height: 64px; align-items: center; justify-content: flex-end; padding: 0 16px; background: #fff; box-shadow: 0 2px 10px rgba(37,39,56,.04); }
  .top-actions { justify-content: flex-end; }
  .topbar-brand, .top-actions > :not(.current-user) { display: none !important; }
  .current-user { max-width: 42px; overflow: hidden; color: var(--blue); font-size: 0; white-space: nowrap; }
  .current-user::after { content: attr(data-initial); display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-size: 13px; font-weight: 750; }
  .mobile-nav-toggle { position: fixed; top: 12px; left: 12px; z-index: 61; width: min(270px, calc(100% - 96px)); min-height: 40px; display: grid; grid-template-columns: 28px 1fr; align-items: center; padding: 0 8px 0 0; border: 0; background: transparent; color: var(--ink); text-align: left; }
  .mobile-nav-toggle::before { content: "☰"; grid-row: 1 / span 2; font-size: 24px; line-height: 1; }
  .mobile-nav-toggle span { font-size: 14px; font-weight: 650; }
  .mobile-nav-toggle small { color: var(--muted); font-size: 9px; }
  .section-nav { width: min(328px, calc(100vw - 44px)); padding: 18px; overflow-x: clip !important; overflow-y: auto; transform: translateX(-105%); transition: transform .2s ease; box-shadow: 18px 0 48px rgba(30,31,48,.18); }
  .section-nav::-webkit-scrollbar { width: 6px; height: 0; }
  .section-nav.mobile-open { display: flex; transform: translateX(0); }
  .sidebar-brand { margin: 44px 0 4px; }
  .sidebar-group { margin-top: 10px; }
  .sidebar-mobile-actions { display: grid; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
  .sidebar-mobile-actions button { width: 100%; }
  .panel-heading { align-items: stretch; flex-direction: column; gap: 12px; }
  .panel-heading-actions, .row-actions { flex-wrap: wrap; }
  .panel-heading-actions .primary { width: 100%; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .stats article { padding: 15px; }
  .stats strong { font-size: 24px; }
  .panel { padding: 16px; }
  .panel-heading h2 { font-size: 22px; }
  .table-wrap { margin: 0; width: 100%; overflow: visible; border: 0; background: transparent; }
  .table-wrap table { min-width: 0; display: block; }
  .table-wrap thead { display: none; }
  .table-wrap tbody { display: grid; gap: 12px; }
  .table-wrap tr { display: grid; gap: 9px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: white; }
  .table-wrap td { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; padding: 0; border: 0; text-align: right; }
  .table-wrap td:empty { display: none; }
  .table-wrap td:first-child { justify-content: flex-start; text-align: left; }
  .table-wrap td:last-child { justify-content: flex-end; padding-top: 4px; }
  .table-wrap td:not(:first-child):not(:last-child)::before { color: var(--muted); font-size: 10px; font-weight: 500; }
  [data-section="members"] td:nth-child(2)::before { content: "角色"; }
  [data-section="members"] td:nth-child(3)::before { content: "状态"; }
  [data-section="members"] td:nth-child(4)::before { content: "项目"; }
  [data-section="members"] td:nth-child(5)::before { content: "会话"; }
  [data-section="members"] td:nth-child(6)::before { content: "最近登录"; }
  [data-section="customers"] td[data-label]::before { content: attr(data-label); }
  [data-section="activity"] td[data-mobile-label]::before { content: attr(data-mobile-label); }
  /* Keep these component rules after the shared mobile table adapters. */
  .view-section[data-section="members"] .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .view-section[data-section="members"] .filters .search-field { grid-column: 1 / -1; }
  .view-section[data-section="members"] table { min-width: 0; }
  .view-section[data-section="members"] tbody tr.user-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px; }
  .view-section[data-section="members"] .user-row:hover { background: #fff; }
  .view-section[data-section="members"] .user-row td { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 6px; padding: 0; border: 0; text-align: left; }
  .view-section[data-section="members"] .user-row td::before { color: var(--muted); font-size: 11px; line-height: 1.4; }
  .view-section[data-section="members"] .user-row td:first-child { grid-column: 1 / -1; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
  .view-section[data-section="members"] .user-row td:first-child::before,
  .view-section[data-section="members"] .user-row td:last-child::before { display: none; }
  .view-section[data-section="members"] .person-button { grid-template-columns: 36px minmax(0, 1fr); gap: 10px; }
  .view-section[data-section="members"] .avatar { width: 36px; height: 36px; border-radius: 10px; }
  .view-section[data-section="members"] .person strong { font-size: 13px; line-height: 1.5; }
  .view-section[data-section="members"] .person small { font-size: 11px; line-height: 1.5; font-weight: 400; }
  .view-section[data-section="members"] .role-control { width: 100%; min-width: 0; gap: 6px; }
  .view-section[data-section="members"] .badge { max-width: 100%; white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
  .view-section[data-section="members"] .user-row td:nth-child(4),
  .view-section[data-section="members"] .user-row td:nth-child(5) { justify-content: center; padding: 10px; border-radius: 8px; background: var(--panel-soft); }
  .view-section[data-section="members"] .user-row td:nth-child(5) { font-size: 18px; font-weight: 650; }
  .view-section[data-section="members"] .user-row td:nth-child(5)::before { content: "有效会话"; font-weight: 400; }
  .view-section[data-section="members"] .project-count-link { padding: 5px 8px; background: #fff; border-color: var(--line); }
  .view-section[data-section="members"] .user-row td:nth-child(6) { grid-column: 1 / -1; flex-direction: row; align-items: baseline; justify-content: space-between; flex-wrap: wrap; font-size: 11px; color: var(--muted); }
  .view-section[data-section="members"] .user-row td:last-child { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid var(--line); }
  .view-section[data-section="members"] .row-actions { width: 100%; gap: 8px; }
  .view-section[data-section="members"] .row-actions button { flex: 1; }
  .access-role-panel > .panel-heading > .primary { align-self: flex-start; }
  .access-role-layout { min-height: 0; margin-inline: -16px; margin-bottom: -16px; }
  .access-role-directory { padding: 16px; background: var(--panel-soft); }
  .access-role-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; overflow: visible; }
  .access-role-button { min-width: 0; grid-template-columns: minmax(0, 1fr) auto; align-content: start; align-items: start; gap: 6px; padding: 12px 10px; border-radius: 10px; }
  .access-role-button strong { font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
  .access-role-button > .badge { align-self: start; justify-self: end; min-width: 22px; min-height: 22px; justify-content: center; padding: 3px 6px; font-size: 10px; line-height: 1.6; }
  .access-role-button small { font-size: 10px; line-height: 1.5; }
  .access-role-button.active { border-color: var(--blue); background: var(--blue-soft); box-shadow: inset 0 0 0 1px var(--blue); }
  .access-role-button.active > .badge { background: #fff; color: var(--blue); }
  .access-role-workspace { margin: 0; padding: 16px; border: 0; border-radius: 0 0 12px 12px; box-shadow: none; background: #fff; backdrop-filter: none; }
  .access-role-workspace > header h3 { margin-top: 4px; font-size: 22px; }
  .access-role-step-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; border-radius: 10px; background: var(--panel-soft); box-shadow: none; }
  .access-role-step-nav button { justify-content: center; gap: 6px; padding: 8px 6px; border-radius: 7px; font-size: 12px; }
  .access-role-step-nav button.active { transform: none; box-shadow: 0 1px 4px rgba(37,39,56,.08); }
  .access-role-fields { padding: 12px; border-radius: 10px; background: var(--panel-soft); }
  .access-role-editor-actions { bottom: max(8px, env(safe-area-inset-bottom)); margin: 18px 0 0; padding: 10px; border-radius: 10px; background: #fff; box-shadow: 0 3px 14px rgba(37,39,56,.08); }
  .sales-team-kpis, .project-period-kpis, .crm-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sales-team-layout, .project-oversight-layout, .sales-solution-layout { grid-template-columns: 1fr; }
  dialog, .customer-detail-dialog, .project-history-dialog { width: calc(100% - 20px); max-height: calc(100dvh - 20px); margin: 10px; }
  .dialog-actions { position: sticky; bottom: 0; padding-top: 12px; background: white; }
}
.portal-welcome { padding: clamp(24px, 4vw, 48px); }
.portal-welcome h2 { font-size: 26px; margin: 8px 0; }
.portal-welcome .primary { margin-top: 16px; }

.customer-create-fields>label{align-content:start}
.customer-create-fields .field-help{font-size:12px;font-weight:400;line-height:1.5;margin:0;padding:0;background:transparent;border-radius:0;color:var(--muted)}
.crm-attachment-create{margin:20px 0 0}.crm-attachment-picker,.crm-file-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.crm-attachment-picker label,.crm-file-toolbar label{display:grid;gap:7px;font-size:13px}.crm-file-toolbar{margin:15px 0}.crm-attachment-picker select,.crm-file-toolbar select{min-width:140px}.crm-file-select{min-width:0;flex:1}.crm-file-select input{max-width:100%;font-size:13px}.crm-attachment-queue{max-height:280px;overflow:auto}.crm-upload-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.crm-upload-item>div{display:grid;gap:5px;min-width:0}.crm-upload-item strong{font-size:13px;overflow-wrap:anywhere}.crm-upload-item small,.crm-upload-item .muted{font-size:12px}.crm-upload-item button{flex-shrink:0}.crm-attachment-list{display:grid;gap:10px;margin:12px 0}.crm-file-upload{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.crm-file-upload summary,.crm-legacy-files summary{cursor:pointer;color:var(--blue);font-weight:600}.crm-file-upload[open] summary{margin-bottom:18px}.crm-file-upload>button{margin-top:16px}.crm-legacy-files{margin-top:20px}.crm-legacy-files .crm-file-card{margin-top:10px}
.crm-attachment-preview{width:min(1160px,calc(100vw - 28px));max-width:none;height:calc(100dvh - 36px);max-height:none;padding:0;border:0;border-radius:16px;background:#f1f4f8;color:var(--ink)}.crm-attachment-preview[open]{display:flex;flex-direction:column}.crm-attachment-preview::backdrop{background:rgba(15,24,40,.72)}.crm-attachment-preview header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;background:#fff;border-bottom:1px solid var(--line)}.crm-attachment-preview header>div{min-width:0}.crm-attachment-preview h3{font-size:17px;margin:5px 0 0;overflow-wrap:anywhere}.crm-attachment-preview header small{font-size:12px;color:var(--muted)}.crm-preview-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 22px;background:white;border-bottom:1px solid var(--line);font-size:13px}.crm-attachment-preview>.crm-form-error{margin:0;padding:10px 22px;background:white}.crm-preview-content{flex:1;min-height:0;overflow:auto;padding:20px;text-align:center}.crm-preview-content>img{display:block;margin:auto;height:auto;max-width:100%;object-fit:contain}.crm-preview-content>section{background:white;padding:20px;text-align:left;margin:0 auto 18px;border-radius:10px}.crm-preview-content pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px;line-height:1.7}.crm-preview-table{overflow:auto}.crm-preview-table td{white-space:pre-wrap;min-width:100px;vertical-align:top}.crm-preview-table table{border-collapse:collapse;width:100%}.crm-preview-table td{border:1px solid var(--line);padding:8px}
@media(max-width:700px){.crm-attachment-preview{width:calc(100vw - 12px);height:calc(100dvh - 16px);border-radius:10px}.crm-attachment-preview header{padding:12px}.crm-preview-controls{padding:10px;gap:6px}.crm-preview-controls button{padding:7px 9px}.crm-preview-content{padding:8px}.crm-preview-controls .dialog-spacer{display:none}.crm-attachment-picker{align-items:stretch;flex-direction:column}.crm-file-toolbar label{flex:1}.crm-customer-files .customer-detail-section-heading{align-items:flex-start;flex-wrap:wrap}}
.crm-solution-editor{padding-top:16px}.crm-solution-editor>label{display:grid;gap:8px}.crm-solution-editor select{width:100%;min-width:0}.crm-solution-editor .crm-actions{justify-content:flex-end;margin-top:14px}.crm-solution-history{margin-top:16px}.crm-solution-history summary,details.customer-detail-block>summary{cursor:pointer;font-weight:600}.crm-solution-history .crm-file-card{margin-top:12px}.crm-customer-solutions .customer-detail-section-heading{flex-wrap:wrap;gap:12px}
.crm-action-dialog>section{padding:27px}.crm-action-content{margin-top:24px}.crm-action-content>label{display:grid;gap:8px;margin:16px 0}.crm-action-content textarea{min-height:100px}
.crm-transfer-state,.crm-customer-status{display:inline-flex;align-items:center;padding:5px 10px;border-radius:7px;font-size:12px;font-weight:650;white-space:nowrap;background:#f0f2f6;color:#657188}
.crm-transfer-state.pending{background:#fff5df;color:#94610d}.crm-transfer-state.accepted,.crm-customer-status.active{background:#e8f6ef;color:#247451}.crm-customer-status.inactive{background:#f1f2f5;color:#69758a}
.crm-transfer-state.returned{background:#fff0eb;color:#ad563a}.crm-customer-source{max-width:180px;color:var(--ink-soft);white-space:normal;overflow-wrap:anywhere;line-height:1.6}
#customers-body .table-actions{display:flex;gap:8px;flex-wrap:wrap}
.crm-form-error,.crm-inbox-error{color:#b83131;white-space:pre-wrap;font-size:13px}.crm-form-error:empty,.crm-inbox-error:empty{display:none}.crm-selected-customer{padding:14px 16px;background:var(--panel-soft);border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}.crm-selected-customer p{margin:7px 0 0;color:var(--muted);font-size:13px}
.crm-card{border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:16px;background:#fff}.crm-card:first-child{margin-top:0}.crm-card h3{margin:0 0 14px;font-size:15px;line-height:1.4;letter-spacing:0}.crm-card p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:13px;margin-bottom:12px}.crm-card p:last-child{margin-bottom:0}
.crm-file-card{display:flex;align-items:center;gap:13px;background:var(--panel-soft);border:1px solid #e9edf4;border-radius:10px;padding:14px}.crm-file-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:48px;border:1px solid #e3dfff;border-radius:8px;background:#f1eeff;color:#6256c5;font-size:11px;font-weight:800}.crm-file-description{display:grid;gap:6px;min-width:0;flex:1}.crm-file-description strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.crm-file-description span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.crm-file-actions{display:flex;gap:8px;flex-shrink:0}.crm-file-actions button{white-space:nowrap}
.crm-actions{display:flex;gap:8px;flex-wrap:wrap}.crm-submission-meta dt{font-size:12px;color:var(--muted);margin-bottom:6px}.crm-submission-meta dd{margin:0;line-height:1.6;overflow-wrap:anywhere}.crm-submission-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0 0}.crm-submission-meta dd{font-size:13px}.crm-transfer-decision{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.crm-transfer-decision .crm-actions{margin:0}.crm-pending-note{font-size:13px;color:#896320;margin:0 0 16px}.crm-return-reason{background:#fffaf2;border-color:#f0dfbd}.crm-return-reason small{color:var(--muted);font-size:12px}
.crm-inbox-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:27px;padding:0 8px;border-radius:7px;font-size:14px;vertical-align:middle;background:var(--blue-soft);color:var(--blue);margin-left:6px}.crm-inbox-summary{margin:16px 0 10px}.crm-inbox-empty{text-align:center!important;padding:48px 18px!important;color:var(--muted)}.crm-inbox-next{margin-top:16px}.crm-inbox table td{vertical-align:middle}
@media(max-width:700px){.crm-action-dialog>section{padding:16px}.crm-submission-meta{grid-template-columns:1fr;}.crm-file-card{flex-wrap:wrap;padding:12px}.crm-file-actions{width:100%;justify-content:flex-end}.crm-file-actions button{flex:1}.crm-transfer-decision{align-items:flex-start;flex-wrap:wrap}.crm-inbox .panel-heading{align-items:flex-start}.crm-inbox .panel-heading-actions{flex-wrap:wrap}.crm-inbox .table-wrap{overflow:visible}.crm-inbox thead{display:none}.crm-inbox table,.crm-inbox tbody,.crm-inbox tr{display:block;width:100%}.crm-inbox tr{padding:12px;border-bottom:1px solid var(--line)}.crm-inbox td{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;border:0;padding:7px 0;text-align:left;overflow-wrap:anywhere}.crm-inbox td::before{content:attr(data-label);color:var(--muted);font-size:12px}.crm-inbox td.crm-inbox-empty{display:block}.crm-inbox td.crm-inbox-empty::before{display:none}.crm-customer-source{max-width:none}}


#construction-resources-root{min-width:0}.cr-heading,.cr-toolbar,.cr-actions,.cr-dialog-heading,.cr-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cr-heading{margin-bottom:20px}.cr-heading h2{font-size:26px;margin:0 0 6px}.cr-heading p{margin:0;color:var(--muted)}
.cr-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}
.cr-filters{display:grid;grid-template-columns:minmax(200px,2fr) repeat(4,minmax(110px,1fr)) auto;gap:12px;align-items:end}
.cr-filters label,.cr-form-grid label{display:grid;gap:7px;color:var(--ink-soft);font-size:13px}
.cr-filters input,.cr-filters select,.cr-form-grid input,.cr-form-grid select,.cr-form-grid textarea{width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--line-strong);border-radius:8px;padding:10px 12px;background:#fff;font:inherit;color:var(--ink)}
.cr-summary{margin:18px 0 12px;font-size:13px;color:var(--muted)}.cr-list{display:grid;gap:12px}
.cr-card{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(130px,1fr) minmax(160px,1fr) auto;align-items:center;gap:20px;border:1px solid var(--line);border-radius:10px;padding:18px}
.cr-card h3{font-size:17px;margin:0 0 8px}.cr-card p{margin:5px 0;color:var(--ink-soft);font-size:13px;overflow-wrap:anywhere}
.cr-tags{display:flex;gap:6px;flex-wrap:wrap}.cr-tag{display:inline-block;font-size:12px;padding:3px 8px;background:var(--panel-soft);border:1px solid var(--line);border-radius:5px;color:var(--ink-soft)}
.cr-status{color:var(--green);background:var(--green-soft)}.cr-status.inactive{color:var(--amber);background:var(--amber-soft)}.cr-status.trash{color:var(--red);background:var(--red-soft)}
.cr-empty{padding:48px 20px;text-align:center;color:var(--muted)}.cr-pagination{margin-top:20px;font-size:13px}
.cr-dialog{width:min(880px,calc(100vw - 40px));max-height:calc(100dvh - 40px);border:1px solid var(--line);border-radius:12px;padding:24px;color:var(--ink);box-sizing:border-box}
.cr-dialog::backdrop{background:rgba(25,28,43,.4)}.cr-dialog-heading{align-items:flex-start;margin-bottom:20px}.cr-dialog-heading h2{font-size:23px;margin:0 0 6px}.cr-dialog-heading p{font-size:13px;color:var(--muted);margin:0}
.cr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cr-wide{grid-column:1/-1}.cr-form-grid textarea{min-height:90px;resize:vertical}
.cr-section{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.cr-section h3{font-size:17px;margin:0 0 14px}
.cr-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0}.cr-facts div{min-width:0}.cr-facts dt{font-size:12px;color:var(--muted);margin-bottom:6px}.cr-facts dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:14px}
.cr-files{display:grid;gap:8px;margin-top:12px}.cr-file{padding:12px;border:1px solid var(--line);border-radius:8px;display:flex;justify-content:space-between;gap:12px;align-items:center}.cr-file-info{min-width:0}.cr-file strong{display:block;overflow-wrap:anywhere;font-size:14px}.cr-file small{display:block;color:var(--muted);margin-top:5px}
.cr-actions{justify-content:flex-start}.cr-actions button,.cr-toolbar button,.cr-pagination button,.cr-heading button,.cr-dialog button{min-height:44px}
.cr-footer{position:sticky;bottom:-24px;background:#fff;border-top:1px solid var(--line);padding:14px 0 4px;margin-top:24px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.cr-note{font-size:13px;line-height:1.7;color:var(--muted)}.cr-alert{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);font-size:13px;line-height:1.6;margin:14px 0}.cr-alert.error{background:var(--red-soft);color:var(--red)}
.cr-preview-content{min-height:160px}.cr-preview-content img{display:block;max-width:100%;margin:16px auto;height:auto}.cr-preview-content pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.7}.cr-preview-content .table-wrap{overflow:auto;max-width:100%}
.cr-upload-label{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:8px;cursor:pointer;font-size:13px}.cr-upload-label input{width:1px;opacity:0;position:absolute}.cr-upload-label:focus-within{outline:2px solid var(--blue)}
@media(max-width:1100px){.cr-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.cr-card{grid-template-columns:1.2fr 1fr}.cr-card>.cr-actions{justify-content:flex-end}}
@media(max-width:600px){.cr-heading h2{font-size:23px}.cr-panel{padding:16px}.cr-filters{grid-template-columns:1fr 1fr}.cr-filters label:first-child{grid-column:1/-1}.cr-card{grid-template-columns:1fr;gap:10px;padding:16px}.cr-card>.cr-actions{justify-content:flex-start}.cr-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);margin:10px;padding:16px}.cr-form-grid,.cr-facts{grid-template-columns:1fr}.cr-dialog-heading h2{font-size:21px}.cr-file{align-items:flex-start;flex-direction:column}.cr-footer{bottom:-16px}.cr-toolbar select{max-width:100%}}
