@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--brand: #ff5a1f;--brand-2: #ff8a3d;--brand-ink: #ffffff;--bg: #f4f5f7;--bg-grad-a: #f6f7f9;--bg-grad-b: #eceef2;--surface: #ffffff;--surface-2: #fbfbfd;--surface-inset: #f3f4f7;--shell: rgba(15, 20, 32, .035);--hairline: rgba(15, 20, 32, .09);--hairline-strong: rgba(15, 20, 32, .14);--text: #12151d;--text-2: #4a515f;--text-3: #868d9c;--ok: #12a150;--warn: #d98a00;--danger: #e5484d;--ring: rgba(255, 90, 31, .35);--shadow-sm: 0 1px 2px rgba(15, 20, 32, .05), 0 1px 1px rgba(15, 20, 32, .04);--shadow-md: 0 6px 24px -8px rgba(15, 20, 32, .12), 0 2px 6px rgba(15, 20, 32, .05);--shadow-lg: 0 24px 60px -20px rgba(15, 20, 32, .22), 0 6px 18px rgba(15, 20, 32, .08);--inner-hi: inset 0 1px 0 rgba(255, 255, 255, .7);--r-lg: 22px;--r-md: 15px;--r-sm: 10px;--font: "Plus Jakarta Sans", system-ui, sans-serif;--font-display: "Space Grotesk", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--ease: cubic-bezier(.32, .72, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1)}:root[data-theme=dark]{--bg: #080a0f;--bg-grad-a: #0b0e15;--bg-grad-b: #05070b;--surface: #11141c;--surface-2: #151925;--surface-inset: #0c0f16;--shell: rgba(255, 255, 255, .035);--hairline: rgba(255, 255, 255, .09);--hairline-strong: rgba(255, 255, 255, .16);--text: #eef1f6;--text-2: #a7afbe;--text-3: #6b7284;--ok: #3ad07f;--warn: #ffc061;--danger: #ff6b6f;--ring: rgba(255, 90, 31, .45);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 30px -10px rgba(0, 0, 0, .6);--shadow-lg: 0 30px 70px -24px rgba(0, 0, 0, .75), 0 8px 24px rgba(0, 0, 0, .4);--inner-hi: inset 0 1px 0 rgba(255, 255, 255, .06)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:radial-gradient(1200px 700px at 12% -8%,color-mix(in srgb,var(--brand) 10%,transparent),transparent 60%),radial-gradient(900px 600px at 100% 0%,color-mix(in srgb,#3d82ff 8%,transparent),transparent 55%),linear-gradient(180deg,var(--bg-grad-a),var(--bg-grad-b));background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:15px;line-height:1.5}::selection{background:color-mix(in srgb,var(--brand) 30%,transparent)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:6px}*{scrollbar-width:thin;scrollbar-color:var(--hairline-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--hairline-strong);border-radius:20px;border:3px solid transparent;background-clip:content-box}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.shell{display:grid;grid-template-columns:264px 1fr;min-height:100dvh}.sidebar{position:sticky;top:0;align-self:start;height:100dvh;display:flex;flex-direction:column;gap:6px;padding:20px 16px;border-right:1px solid var(--hairline);background:color-mix(in srgb,var(--surface) 55%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;padding:6px 8px 18px}.brand-mark{width:40px;height:40px;border-radius:12px;flex:none;background:linear-gradient(150deg,var(--brand),var(--brand-2));display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-weight:700;font-size:18px;box-shadow:var(--shadow-md),inset 0 1px #fff6;object-fit:cover}.brand-name{font-family:var(--font-display);font-weight:700;font-size:16px;letter-spacing:-.02em;line-height:1.1}.brand-sub{font-size:11px;color:var(--text-3);letter-spacing:.14em;text-transform:uppercase}.nav-group-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);padding:16px 12px 6px}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--text-2);font-weight:500;font-size:14px;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),transform .2s var(--ease)}.nav-link:hover{background:var(--shell);color:var(--text)}.nav-link.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);border:1px solid var(--hairline)}.nav-link.active .nav-ic{color:var(--brand)}.nav-ic{width:19px;height:19px;flex:none;color:var(--text-3);transition:color .3s var(--ease)}.nav-spacer{flex:none}.nav-scroll{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-height:0;overflow-y:auto;margin:0 -4px;padding:0 4px}.nav-scroll::-webkit-scrollbar{width:6px}.nav-scroll::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:6px}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group+.nav-group{margin-top:2px}.nav-group .nav-group-label{padding:12px 12px 5px}.nav-sep{height:1px;background:var(--hairline);margin:8px 12px}.side-user{display:flex;align-items:center;gap:11px;padding:10px;border-radius:14px;border:1px solid var(--hairline);background:var(--surface);box-shadow:var(--shadow-sm)}.avatar{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff;font-family:var(--font-display)}.avatar-edit{position:relative;flex:none}.avatar-cam{position:absolute;right:-4px;bottom:-4px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--surface);background:var(--brand);color:#fff;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .18s var(--ease)}.avatar-cam:hover{transform:translateY(-1px)}.avatar-cam:disabled{opacity:.6;cursor:default}.side-user .meta{min-width:0}.side-user .nm{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user .rl{font-size:11px;color:var(--text-3)}.side-collapse{margin-left:auto;flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;cursor:pointer;color:var(--text-3);background:transparent;border:1px solid transparent;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}.side-collapse:hover{background:var(--shell);color:var(--text);border-color:var(--hairline)}.side-collapse svg{width:18px;height:18px}.nav-head{display:flex;align-items:center;gap:6px;padding-right:6px}.nav-head .nav-group-label{padding:16px 12px 6px;flex:1}.nav-cfg{flex:none;width:28px;height:28px;border-radius:8px;margin-top:8px;display:grid;place-items:center;cursor:pointer;color:var(--text-3);background:transparent;border:1px solid transparent;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}.nav-cfg:hover{background:var(--shell);color:var(--text);border-color:var(--hairline)}.nav-cfg.on{color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent)}.nav-cfg svg{width:17px;height:17px}.nav-edit,.nav-edit-group{display:flex;flex-direction:column;gap:3px}.nav-edit-group+.nav-edit-group{margin-top:6px}.nav-edit-group .nav-group-label{padding:8px 4px 4px}.nav-edit-row{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:11px;background:var(--surface);border:1px solid var(--hairline);box-shadow:var(--shadow-sm);font-size:13px;font-weight:500;color:var(--text-2);cursor:grab;transition:opacity .2s var(--ease),border-color .2s var(--ease),transform .12s var(--ease)}.nav-edit-row:active{cursor:grabbing}.nav-edit-row.is-hidden{opacity:.48}.nav-edit-row.drag-over{border-color:var(--brand);transform:translateY(1px)}.nav-grip{display:grid;place-items:center;color:var(--text-3);cursor:grab;flex:none}.nav-grip svg{width:16px;height:16px}.nav-edit-row .nav-ic{width:17px;height:17px}.nav-edit-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-edit-actions{display:flex;align-items:center;gap:1px;flex:none}.nav-edit-actions button{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;cursor:pointer;color:var(--text-3);background:transparent;border:none;transition:background .18s var(--ease),color .18s var(--ease)}.nav-edit-actions button:hover:not(:disabled){background:var(--shell);color:var(--text)}.nav-edit-actions button:disabled{opacity:.3;cursor:default}.nav-edit-actions svg{width:15px;height:15px}.nav-edit-actions .ic-up{transform:rotate(-90deg)}.nav-edit-actions .ic-down{transform:rotate(90deg)}.nav-reset{margin-top:8px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px;border-radius:10px;font-size:12.5px;font-weight:500;cursor:pointer;color:var(--text-2);background:transparent;border:1px dashed var(--hairline);transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}.nav-reset:hover{background:var(--shell);color:var(--text);border-color:var(--text-3)}.nav-reset svg{width:15px;height:15px}@media(min-width:901px){.shell.nav-collapsed{grid-template-columns:76px 1fr}.sidebar.collapsed{padding:20px 12px;align-items:stretch}.sidebar.collapsed .brand{flex-direction:column;gap:10px;padding:6px 0 14px}.sidebar.collapsed .side-collapse{margin:0 auto}.sidebar.collapsed .nav-link{justify-content:center;padding:11px 0;gap:0}.sidebar.collapsed .side-user{justify-content:center;padding:8px}}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;padding:16px 32px;border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--bg-grad-a) 72%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.topbar h1{font-size:21px}.topbar .sub{font-size:13px;color:var(--text-3)}.topbar-spacer{flex:1}.content{padding:28px 32px 64px;animation:riseIn .5s var(--ease-out) both}.content-narrow{max-width:1180px;margin:0 auto}.mobile-bar{display:none}.btn{--b: var(--surface);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--hairline);background:var(--b);color:var(--text);font-weight:600;font-size:13.5px;cursor:pointer;box-shadow:var(--shadow-sm),var(--inner-hi);transition:transform .18s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md),var(--inner-hi)}.btn:active{transform:scale(.98)}.btn.primary{background:linear-gradient(150deg,var(--brand),var(--brand-2));border-color:transparent;color:#fff;box-shadow:var(--shadow-md),inset 0 1px #ffffff4d}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--text-2)}.btn.ghost:hover{background:var(--shell);color:var(--text);box-shadow:none}.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--hairline))}.btn.sm{padding:7px 12px;font-size:12.5px}.btn.icon{padding:9px;width:38px;height:38px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:11px;border:1px solid var(--hairline);background:var(--surface);color:var(--text-2);cursor:pointer;box-shadow:var(--shadow-sm);transition:all .25s var(--ease)}.icon-btn:hover{color:var(--text);transform:translateY(-1px);box-shadow:var(--shadow-md)}.icon-btn svg{width:18px;height:18px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em;border:1px solid var(--hairline);background:var(--surface-inset);color:var(--text-2)}.badge.brand{color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent);border-color:color-mix(in srgb,var(--brand) 28%,transparent)}.badge.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:color-mix(in srgb,var(--ok) 26%,transparent)}.badge.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.eyebrow{font-size:10.5px;text-transform:uppercase;letter-spacing:.2em;color:var(--text-3);font-weight:600}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.shell-card{background:var(--shell);border:1px solid var(--hairline);border-radius:calc(var(--r-lg) + 6px);padding:6px}.shell-card>.card{border-radius:var(--r-lg)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12.5px;font-weight:600;color:var(--text-2)}.input,.select,textarea.input{width:100%;padding:11px 13px;border-radius:var(--r-sm);border:1px solid var(--hairline);background:var(--surface-inset);color:var(--text);font:inherit;font-size:14px;transition:border-color .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease)}.input:focus,.select:focus,textarea.input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--ring);background:var(--surface)}.input::placeholder{color:var(--text-3)}.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239aa1ac' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 13px center}.select::-ms-expand{display:none}.table-wrap{overflow-x:auto;border-radius:var(--r-md)}table.tbl{width:100%;border-collapse:collapse;font-size:14px}table.tbl th{text-align:left;font-family:var(--font);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding:11px 16px;border-bottom:1px solid var(--hairline);white-space:nowrap;position:sticky;top:0;background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}table.tbl td{padding:12px 16px;border-bottom:1px solid var(--hairline);vertical-align:middle}table.tbl tbody tr{transition:background .2s var(--ease)}table.tbl tbody tr:hover{background:var(--shell)}table.tbl tbody tr:last-child td{border-bottom:none}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap;text-align:right}table.tbl td.num,table.tbl th.col-num,table.tbl td.col-text,table.tbl th.col-text{width:1%}table.tbl td.num,table.tbl td.col-text{white-space:nowrap}table.tbl th.col-text,table.tbl td.col-text{text-align:center;white-space:normal}table.tbl td.col-text{white-space:nowrap}table.tbl th.col-num{text-align:right;white-space:normal}table.tbl td.col-name,table.tbl th.col-name{min-width:132px;max-width:240px;white-space:normal;word-break:normal;overflow-wrap:break-word}table.tbl th.col-num,table.tbl th.col-text,table.tbl td.col-text{padding-left:10px;padding-right:10px;letter-spacing:.04em}table.tbl th.col-spacer,table.tbl td.col-spacer{width:100%;padding:0;border-bottom:none}@media(max-width:640px){.table-wrap table.tbl td:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--hairline)}.table-wrap table.tbl th:first-child{left:0;z-index:4;background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:1px 0 0 var(--hairline)}.table-wrap table.tbl thead th{z-index:3}}.price-main{color:var(--text);font-weight:600}.muted{color:var(--text-3)}.free{color:var(--ok);font-weight:600;font-family:var(--font)}.section-head{display:flex;align-items:center;gap:12px;margin:28px 0 12px}.section-head h3{font-size:16px}.section-head .count{font-size:12px;color:var(--text-3)}.section-note{font-size:12.5px;color:var(--text-2);background:color-mix(in srgb,var(--warn) 9%,transparent);border:1px solid color-mix(in srgb,var(--warn) 24%,transparent);padding:8px 12px;border-radius:10px;margin-bottom:10px}.price-guide{margin:0 0 18px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-inset);overflow:hidden}.price-guide>summary{cursor:pointer;list-style:none;padding:10px 14px;font-size:13px;font-weight:600;color:var(--text-2);display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.price-guide>summary::-webkit-details-marker{display:none}.price-guide>summary:before{content:"ⓘ";color:var(--brand);font-size:14px}.price-guide>summary:after{content:"▾";margin-left:auto;color:var(--text-3);font-size:11px;transition:transform .2s var(--ease)}.price-guide[open]>summary:after{transform:rotate(180deg)}.price-guide[open]>summary{border-bottom:1px solid var(--hairline)}.price-guide-body{padding:12px 16px 6px;font-size:13px;color:var(--text-2)}.price-guide-body ul{margin:0 0 6px;padding-left:18px;display:grid;gap:5px}.price-guide-body b{color:var(--text)}.price-guide-body p{margin:0;font-size:12px}.col-help{cursor:help;color:var(--text-3);font-weight:700;margin-left:3px;font-size:9px}.eq-name-btn{background:none;border:0;padding:0;margin:0;font:inherit;font-weight:500;color:var(--text);cursor:pointer;text-align:left;display:inline-flex;align-items:center;gap:5px;line-height:1.35}.eq-name-btn .eq-name-ic{color:var(--text-3);flex:none;transform:rotate(-90deg);opacity:.55;transition:color .2s var(--ease),opacity .2s var(--ease),transform .2s var(--ease)}.eq-name-btn:hover{color:var(--brand)}.eq-name-btn:hover .eq-name-ic{color:var(--brand);opacity:1;transform:rotate(-90deg) translateY(2px)}.eq-name-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.eq-detail{display:grid;gap:20px}.eq-detail-title{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.01em;line-height:1.25;margin-bottom:8px;white-space:pre-line}.eq-detail-badges{display:flex;flex-wrap:wrap;gap:6px}.eq-detail h4{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--text-3);margin:0 0 10px;font-weight:600}.eq-specs{display:grid;gap:0;margin:0}.eq-specs .eq-spec{display:grid;grid-template-columns:minmax(120px,42%) 1fr;gap:14px;padding:8px 0;border-bottom:1px solid var(--hairline)}.eq-specs .eq-spec:last-child{border-bottom:none}.eq-specs dt{color:var(--text-2);font-size:13.5px}.eq-specs dd{margin:0;font-weight:500;font-size:13.5px;color:var(--text)}.eq-prices{display:grid;gap:8px}.eq-price-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid var(--hairline);border-radius:11px;background:var(--surface-inset)}.eq-price-row .lbl{font-size:13px;color:var(--text-2)}.eq-price-row .val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:15px;color:var(--text);white-space:nowrap}.eq-price-row.is-main{border-color:color-mix(in srgb,var(--brand) 32%,transparent);background:color-mix(in srgb,var(--brand) 7%,transparent)}.eq-price-row.is-main .val{color:var(--brand)}.bulk-grid{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:620px){.bulk-grid{grid-template-columns:1.4fr 1fr}.bulk-grid>.field:first-child{grid-column:1 / -1}}.bulk-cols{margin-top:16px}.bulk-cols-head{font-size:12.5px;font-weight:600;color:var(--text-2);margin-bottom:8px}.bulk-cols-list{display:flex;flex-wrap:wrap;gap:8px}.bulk-col{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--hairline);border-radius:999px;font-size:13px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s var(--ease)}.bulk-col:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--hairline))}.bulk-col.on{background:color-mix(in srgb,var(--brand) 10%,transparent);border-color:color-mix(in srgb,var(--brand) 34%,transparent);color:var(--text)}.bulk-col input{accent-color:var(--brand)}.bulk-preview{margin-top:18px;border-top:1px solid var(--hairline);padding-top:14px}.bulk-preview-head{font-size:13.5px;color:var(--text-2);margin-bottom:10px}.bulk-preview-table{max-height:320px;overflow:auto;border:1px solid var(--hairline);border-radius:12px}.bulk-preview-table table.tbl th{position:sticky;top:0}.cat-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.cat-tab{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;border:1px solid var(--hairline);background:var(--surface);color:var(--text-2);font-weight:600;font-size:13.5px;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .25s var(--ease)}.cat-tab:hover{transform:translateY(-1px);color:var(--text);box-shadow:var(--shadow-md)}.cat-tab.active{background:linear-gradient(150deg,var(--brand),var(--brand-2));color:#fff;border-color:transparent;box-shadow:var(--shadow-md)}.cat-count{font-size:11px;padding:1px 7px;border-radius:999px;background:var(--surface-inset);color:var(--text-3);font-family:var(--font-mono)}.cat-tab.active .cat-count{background:#ffffff40;color:#fff}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;border:1px solid var(--hairline);background:var(--surface);color:var(--text-2);font-weight:600;font-size:12.5px;cursor:pointer;transition:all .2s var(--ease)}.chip:hover{color:var(--text);border-color:color-mix(in srgb,var(--brand) 40%,transparent)}.chip.active{background:linear-gradient(150deg,var(--brand),var(--brand-2));color:#fff;border-color:transparent;box-shadow:var(--shadow-sm)}.chip.tag{padding:2px 9px;font-size:11px;font-weight:600;cursor:default;background:color-mix(in srgb,var(--brand) 9%,transparent);border-color:color-mix(in srgb,var(--brand) 22%,transparent);color:var(--brand)}.chip.tag.active{background:linear-gradient(150deg,var(--brand),var(--brand-2));color:#fff}.chip-count{margin-left:6px;font-size:10.5px;padding:0 6px;border-radius:999px;background:var(--surface-inset);color:var(--text-3);font-family:var(--font-mono)}.chip.active .chip-count{background:#ffffff40;color:#fff}.tab-tools{display:inline-flex;align-items:center;gap:2px;margin-left:4px;padding-left:6px;border-left:1px solid rgba(255,255,255,.35)}.tab-tool{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;cursor:pointer;opacity:.85;transition:background .15s,opacity .15s}.tab-tool:hover{opacity:1;background:#ffffff38}.zip-head{display:flex;align-items:flex-start;gap:12px;padding:16px 18px 12px}.zip-title{font-size:16px;font-weight:700;color:var(--text);display:flex;align-items:center;flex-wrap:wrap}.zip-meta{font-size:12px;color:var(--text-3);margin-top:4px}.zip-meta b{color:var(--text-2);font-weight:600}.constructor-label{font-size:12px;font-weight:600;color:var(--text-3);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.col-builder{display:flex;flex-direction:column;gap:8px}.col-row{display:flex;align-items:center;gap:8px}.col-move{display:flex;flex-direction:column;gap:1px}.icon-btn.xs{width:20px;height:18px;font-size:12px;line-height:1;padding:0}.icon-btn:disabled{opacity:.35;cursor:default}.dev-flag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--text-3);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.dev-flag input{accent-color:var(--brand);cursor:pointer}.dev-flag.off{opacity:.4;cursor:default}.dev-flag.off input{cursor:default}.dev-hit{background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand);font-weight:600;padding:1px 6px;border-radius:6px}.tbl tr.has-upsell{cursor:help}.tbl tr.has-upsell:hover{background:color-mix(in srgb,var(--brand) 5%,transparent)}.upsell-pop{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:200;pointer-events:none;width:min(440px,calc(100vw - 32px));background:var(--surface);border:1px solid color-mix(in srgb,var(--brand) 32%,var(--hairline));border-radius:14px;padding:12px 15px;box-shadow:var(--shadow-lg);animation:upsellIn .16s var(--ease)}@keyframes upsellIn{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.upsell-head{display:flex;align-items:center;gap:8px;color:var(--brand);font-weight:700;font-size:13.5px}.upsell-head b{color:var(--text);font-weight:700}.upsell-sub{font-size:12px;color:var(--text-3);margin:4px 0 8px}.upsell-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.upsell-list li{display:flex;align-items:baseline;gap:10px;font-size:12.5px}.upsell-svc{flex:1;color:var(--text)}.upsell-price{font-family:var(--font-mono);font-weight:600;color:var(--brand);white-space:nowrap}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.search{position:relative;flex:1;min-width:220px;max-width:420px}.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--text-3);pointer-events:none}.search .input{padding-left:38px;border-radius:999px}.seg{display:inline-flex;padding:4px;gap:3px;background:var(--shell);border:1px solid var(--hairline);border-radius:999px}.seg button{border:none;background:transparent;padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--text-3);cursor:pointer;transition:all .25s var(--ease)}.seg button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:400px;animation:pop .6s var(--ease-out) both}.login-inner{padding:32px}.login-logo{width:54px;height:54px;border-radius:16px;margin:0 auto 18px;background:linear-gradient(150deg,var(--brand),var(--brand-2));display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-weight:700;font-size:24px;box-shadow:var(--shadow-lg),inset 0 1px #fff6;object-fit:cover}.login-card h2{text-align:center;font-size:22px}.login-card .lead{text-align:center;color:var(--text-3);font-size:13.5px;margin:6px 0 26px}.form-error{background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger);padding:9px 12px;border-radius:10px;font-size:13px;margin-bottom:14px;animation:fadeIn .3s}.login-hint{text-align:center;font-size:12px;color:var(--text-3);margin-top:18px}.login-hint code{font-family:var(--font-mono);background:var(--surface-inset);padding:2px 6px;border-radius:6px;color:var(--text-2)}.combo{position:relative}.combo-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);max-height:280px;overflow-y:auto;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:6px;animation:pop .2s var(--ease-out) both}.combo-opt{padding:9px 12px;border-radius:9px;cursor:pointer;display:flex;align-items:center;gap:10px}.combo-opt:hover,.combo-opt.hi{background:var(--shell)}.combo-opt .sub{font-size:11px;color:var(--text-3);margin-left:auto}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:28px}.stat{padding:20px;position:relative;overflow:hidden}.stat .k{font-size:12px;color:var(--text-3);font-weight:600;letter-spacing:.02em}.stat .v{font-family:var(--font-display);font-size:34px;font-weight:700;letter-spacing:-.03em;margin-top:6px}.stat .ic{position:absolute;right:16px;top:16px;width:30px;height:30px;color:var(--brand);opacity:.85}.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.bento .card{padding:22px}.col-7{grid-column:span 7}.col-5{grid-column:span 5}.col-12{grid-column:span 12}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.quick{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:14px;border:1px solid var(--hairline);background:var(--surface-2);cursor:pointer;transition:all .3s var(--ease)}.quick:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--hairline-strong)}.quick .qic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);flex:none}.quick .qt{font-weight:600;font-size:14px}.quick .qs{font-size:12px;color:var(--text-3)}.link-row{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--hairline)}.link-row:last-child{border-bottom:none}.link-row .lt{font-weight:500;font-size:13.5px;flex:1}.dept-block{margin-bottom:26px}.dept-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.dept-head h3{font-size:15px}.emp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.emp-card{padding:16px;display:flex;flex-direction:column;gap:10px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.emp-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.emp-top{display:flex;align-items:center;gap:12px}.emp-name{font-weight:600;font-size:15px;line-height:1.2}.emp-loc{font-size:12px;color:var(--text-3);display:flex;align-items:center;gap:4px}.emp-contacts{display:flex;flex-direction:column;gap:5px;font-size:13px}.emp-contacts a,.emp-contacts span{display:flex;align-items:center;gap:8px;color:var(--text-2)}.emp-contacts a:hover{color:var(--brand)}.emp-contacts svg{width:14px;height:14px;color:var(--text-3);flex:none}.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.chip{font-size:10.5px;padding:2px 8px;border-radius:999px;background:var(--surface-inset);border:1px solid var(--hairline);color:var(--text-2);font-weight:500}.dept-add{display:flex;gap:10px;margin-bottom:16px}.dept-add .input{flex:1}.dept-list{display:flex;flex-direction:column;gap:8px}.dept-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;border:1px solid var(--hairline);background:var(--surface-inset)}.dept-row .input{flex:1}.dept-reorder{display:flex;flex-direction:column;gap:3px;flex:none}.dept-reorder .icon-btn{width:26px;height:22px;border-radius:7px}.dept-reorder .icon-btn svg{width:14px;height:14px}.dept-title{flex:1;font-weight:600;font-size:14px;display:flex;align-items:baseline;gap:8px}.dept-title .count{font-size:12px;color:var(--text-3);font-weight:500}.dept-row .row-actions{opacity:1}.dept-row.deleting{border-color:color-mix(in srgb,var(--danger) 40%,var(--hairline));background:color-mix(in srgb,var(--danger) 7%,var(--surface-inset))}.dept-del-panel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}.dept-del-msg{font-size:13px;font-weight:600;color:var(--text-2)}.dept-del-panel .select{width:auto;flex:1;min-width:160px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:color-mix(in srgb,#05070b 55%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px;animation:fadeIn .25s}.modal{width:100%;max-width:560px;max-height:88dvh;overflow-y:auto;animation:pop .3s var(--ease-out) both}.modal-inner{padding:24px}.modal h3{font-size:18px;margin-bottom:4px}.modal .lead{color:var(--text-3);font-size:13px;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1 / -1}.modal-foot{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;padding-top:18px;border-top:1px solid var(--hairline)}.flag-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.flag{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:10px;border:1px solid var(--hairline);background:var(--surface-inset);font-size:12.5px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s var(--ease)}.flag.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--text)}.flag input{accent-color:var(--brand)}.empty{text-align:center;padding:60px 20px;color:var(--text-3)}.empty svg{width:44px;height:44px;margin-bottom:12px;opacity:.5}.row-actions{display:flex;gap:6px;opacity:0;transition:opacity .2s}tr:hover .row-actions,.emp-card:hover .row-actions{opacity:1}.boot{min-height:100dvh;display:grid;place-items:center}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--hairline);border-top-color:var(--brand);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast-host{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px}.toast{background:var(--text);color:var(--bg);padding:11px 18px;border-radius:999px;font-size:13.5px;font-weight:600;box-shadow:var(--shadow-lg);animation:pop .3s var(--ease-out) both}.toast.err{background:var(--danger);color:#fff}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:90;left:0;top:0;width:264px;transform:translate(-105%);transition:transform .4s var(--ease);box-shadow:var(--shadow-lg);background:var(--surface)}.sidebar.open{transform:none}.side-collapse{display:none}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .25s}.mobile-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--bg-grad-a) 80%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar{padding:14px 16px}.content{padding:20px 16px 60px}.bento>*{grid-column:span 12!important}.form-grid,.flag-grid{grid-template-columns:1fr}.table-wrap{-webkit-overflow-scrolling:touch}.table-wrap table.tbl{min-width:640px}table.tbl{font-size:13px}table.tbl th{padding:10px 12px}table.tbl td{padding:11px 12px;vertical-align:top}.section-head,.zip-head{flex-wrap:wrap;row-gap:8px}.section-head .row-actions,.zip-head .row-actions{margin-left:auto}}.gs-trigger{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 12px;min-width:220px;border-radius:999px;border:1px solid var(--hairline);background:var(--surface);color:var(--text-3);cursor:pointer;box-shadow:var(--shadow-sm);font:inherit;font-size:13.5px;transition:all .25s var(--ease)}.gs-trigger:hover{color:var(--text-2);transform:translateY(-1px);box-shadow:var(--shadow-md)}.gs-trigger svg{width:17px;height:17px;flex:none}.gs-trigger .gs-kbd{margin-left:auto}.gs-kbd{font-family:var(--font-mono);font-size:11px;padding:2px 7px;border-radius:6px;border:1px solid var(--hairline);background:var(--surface-inset);color:var(--text-3)}.gs-trigger .gs-label{flex:1;text-align:left}.gs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:color-mix(in srgb,#05070b 52%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:flex-start;padding:10vh 20px 20px;animation:fadeIn .2s}.gs-modal{width:100%;max-width:640px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .25s var(--ease-out) both;display:flex;flex-direction:column;max-height:76vh}.gs-input-row{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--hairline)}.gs-input-row svg{width:20px;height:20px;color:var(--text-3);flex:none}.gs-input{flex:1;border:none;outline:none;background:transparent;color:var(--text);font:inherit;font-size:16px}.gs-input::placeholder{color:var(--text-3)}.gs-scope{display:inline-flex;gap:3px;padding:8px 18px 12px}.gs-scope button{border:1px solid var(--hairline);background:var(--surface-inset);color:var(--text-3);padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s var(--ease)}.gs-scope button.active{background:linear-gradient(150deg,var(--brand),var(--brand-2));color:#fff;border-color:transparent}.gs-results{overflow-y:auto;overscroll-behavior:contain;padding:6px}.gs-group-label{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);font-weight:700;padding:12px 12px 6px}.gs-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:11px;cursor:pointer}.gs-item.hi,.gs-item:hover{background:var(--shell)}.gs-ic{width:32px;height:32px;border-radius:9px;flex:none;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}.gs-ic svg{width:17px;height:17px}.gs-texts{min-width:0;flex:1}.gs-title{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gs-sub{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gs-cat{font-size:11px;color:var(--text-3)}.gs-val{font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--text-2);white-space:nowrap}.gs-empty{padding:40px 20px;text-align:center;color:var(--text-3)}.gs-foot{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--hairline);font-size:11.5px;color:var(--text-3)}.gs-foot .gs-kbd{padding:1px 6px}@media(max-width:640px){.gs-overlay{padding:0}.gs-modal{max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:none}.gs-results{flex:1}.gs-trigger{min-width:0}.gs-trigger .gs-label,.gs-trigger .gs-kbd{display:none}}.kb-art-head{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:16px 18px;color:var(--text)}.kb-chev{color:var(--text-3);flex:none;transition:transform .25s var(--ease)}.kb-art-title{font-family:var(--font-display);font-weight:600;font-size:15.5px;letter-spacing:-.01em}.kb-art-meta{font-size:12px;color:var(--text-3);margin-top:3px;display:flex;align-items:center;flex-wrap:wrap;gap:2px}.kb-art-body{padding:4px 20px 20px 46px;border-top:1px solid var(--hairline)}.kb-body{font-size:14px;color:var(--text-2);line-height:1.65}.kb-body .kb-h{font-family:var(--font-display);color:var(--text);font-size:14.5px;margin:18px 0 8px;letter-spacing:-.01em}.kb-body .kb-h:first-child{margin-top:8px}.kb-p{margin:8px 0}.kb-list{margin:8px 0;padding-left:4px;list-style:none;display:flex;flex-direction:column;gap:7px}.kb-list li{position:relative;padding-left:18px}.kb-list li:before{content:"";position:absolute;left:3px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--brand)}.kb-list li strong{color:var(--text);font-weight:600}.kb-note{font-size:12.5px;color:var(--text-3);margin-top:3px;border-left:2px solid var(--hairline);padding-left:10px}.kb-body em{color:var(--text-3);font-style:normal}@media(max-width:640px){.kb-art-body{padding-left:20px}}.ct-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:22px}.ct-stat{padding:16px 18px}.ct-stat .k{font-size:12px;color:var(--text-3);font-weight:600}.ct-stat .v{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.02em;margin-top:4px}.ct-stat .v.ok{color:var(--ok)}.ct-stat .v.warn{color:var(--warn)}.ct-stat .v.off{color:var(--text-3)}.ct-status{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}.ct-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.ct-status.on{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.ct-status.off,.ct-status.unk{color:var(--text-3);background:var(--surface-inset)}.ct-term{font-family:var(--font-mono);font-size:12.5px;white-space:nowrap}.ct-term.soon{color:var(--warn);font-weight:600}.ct-term.over{color:var(--danger)}.ct-row{cursor:pointer}.ct-point{font-weight:600}.ct-sub{font-size:12px;color:var(--text-3);margin-top:1px}.ct-detail td{background:var(--surface-inset)}.ct-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 24px;padding:6px 4px}.ct-field .l{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);font-weight:600}.ct-field .val{font-size:13.5px;margin-top:2px;white-space:pre-line}.ct-field a{color:var(--brand)}.icon-btn.renew{color:var(--ok)}.icon-btn.renew:hover{border-color:color-mix(in srgb,var(--ok) 40%,var(--hairline))}.ct-detail-actions{padding:12px 4px 2px}.ct-history{margin-top:14px;padding:12px 4px 4px;border-top:1px dashed var(--hairline)}.ct-history.empty{color:var(--text-3);font-size:12.5px}.ct-history-h{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);font-weight:600;margin-bottom:8px}.ct-history-list{display:flex;flex-direction:column;gap:6px}.ct-history-row{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;font-size:13px;padding:6px 10px;border-radius:10px;background:var(--surface);border:1px solid var(--hairline)}.ct-h-inv b{font-family:var(--font-mono)}.ct-h-term{color:var(--ok);font-weight:600;font-size:12.5px}.ct-h-dates{font-family:var(--font-mono);font-size:12.5px;color:var(--text-2)}.ct-h-by{margin-left:auto;color:var(--text-3);font-size:12px}.rn-point{font-weight:600;font-size:15px}.rn-cur{font-size:13px;color:var(--text-2);margin:4px 0 16px}.rn-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rn-presets button{padding:8px 14px;border-radius:10px;border:1px solid var(--hairline);background:var(--surface);color:var(--text-2);font-weight:600;font-size:13px;cursor:pointer;transition:all .2s var(--ease)}.rn-presets button:hover{color:var(--text)}.rn-presets button.active{color:#fff;background:linear-gradient(150deg,var(--brand),var(--brand-2));border-color:transparent}.rn-custom{width:84px}.rn-preview{margin-top:16px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--ok) 8%,transparent);border:1px solid color-mix(in srgb,var(--ok) 24%,transparent);font-size:14px}.rn-note{font-size:12px;margin-top:4px}.crm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:20px}.crm-stat{padding:16px 18px}.crm-stat .k{font-size:12px;color:var(--text-3);font-weight:600}.crm-stat .v{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.02em;margin-top:4px}.crm-stat .v.brand{color:var(--brand)}.crm-stat .v.warn{color:var(--warn)}.crm-stat .v.danger{color:var(--danger)}.crm-stat-sub{margin-top:4px;font-size:12px;font-weight:600}.crm-stat-sub.danger{color:var(--danger)}.crm-sla-toggle{display:inline-flex;align-items:center;gap:4px;padding:7px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--danger) 30%,var(--hairline));background:var(--surface);color:var(--danger);font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap;transition:all .15s var(--ease)}.crm-sla-toggle:hover{background:color-mix(in srgb,var(--danger) 8%,transparent)}.crm-sla-toggle.on{background:var(--danger);color:#fff;border-color:transparent}.crm-tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.crm-tabs button{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:12px;border:1px solid var(--hairline);background:var(--surface);color:var(--text-2);font-weight:600;font-size:14px;cursor:pointer;transition:all .2s var(--ease)}.crm-tabs button:hover{color:var(--text)}.crm-tabs button.active{color:#fff;background:linear-gradient(150deg,var(--brand),var(--brand-2));border-color:transparent}.crm-pill{display:inline-flex;min-width:18px;height:18px;padding:0 5px;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb,#fff 26%,transparent);font-size:11px;font-weight:700}.crm-tabs button:not(.active) .crm-pill{background:var(--surface-inset);color:var(--brand)}.crm-count{margin:-6px 0 14px;font-size:13px}.crm-sub{font-size:12px;color:var(--text-3);margin-top:1px}.crm-point,.crm-deal-title{font-weight:600}.crm-due{font-family:var(--font-mono);font-size:12.5px}.crm-days{display:inline-block;margin-top:2px;font-family:var(--font-mono);font-size:11.5px;white-space:nowrap}.crm-days.ok{color:var(--text-3)}.crm-days.soon{color:var(--warn);font-weight:600}.crm-days.over{color:var(--danger);font-weight:600}.crm-days.none{color:var(--text-3)}.crm-kind{display:inline-block;padding:2px 8px;border-radius:7px;font-size:11.5px;font-weight:600;white-space:nowrap;color:var(--text-2);background:var(--surface-inset);border:1px solid var(--hairline)}.crm-kind.k-fn{color:#b45309;background:color-mix(in srgb,#d98a00 14%,transparent);border-color:transparent}.crm-kind.k-its{color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent);border-color:transparent}.crm-kind.k-ofd{color:#0e7490;background:color-mix(in srgb,#0ea5b7 14%,transparent);border-color:transparent}.crm-kind.k-new_register{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:transparent}.crm-auto{margin-left:8px;padding:1px 6px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent);vertical-align:1px}.crm-stage-sel{padding:5px 8px;font-size:12.5px;min-width:108px}.crm-stage-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600}.crm-stage-badge.st-new{color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent)}.crm-stage-badge.st-in_work{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}.crm-stage-badge.st-won{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.crm-stage-badge.st-lost{color:var(--text-3);background:var(--surface-inset)}.crm-unassigned{color:var(--text-3);font-style:italic}.crm-deal-row.st-won{opacity:.72}.crm-deal-row.st-lost{opacity:.55}.crm-ofd{display:inline-block;margin-top:2px;padding:2px 7px;border-radius:7px;font-size:11px;font-weight:600}.crm-ofd.a-ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.crm-ofd.a-restore{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.crm-ofd.a-none{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.crm-reg-row{cursor:pointer}.crm-detail td{background:var(--surface-inset)}.crm-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 24px;padding:6px 4px}.crm-field .l{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);font-weight:600}.crm-field .val{font-size:13.5px;margin-top:2px}.crm-note{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--hairline);font-size:13px;color:var(--text-2);white-space:pre-line}.crm-form-sep{margin:8px 0 -2px;font-size:12px;font-weight:600;color:var(--text-3);padding-top:12px;border-top:1px dashed var(--hairline)}.crm-tnum{margin-left:8px;font-family:var(--font-mono);font-size:11px;color:var(--text-3)}.crm-prio-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--danger);margin-right:7px;vertical-align:1px}.crm-warn-line{margin-top:4px;padding:8px 12px;border-radius:10px;font-size:12.5px;font-weight:600;color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,transparent);border:1px solid color-mix(in srgb,var(--danger) 22%,transparent)}.crm-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;align-items:flex-start}.crm-col{flex:0 0 236px;width:236px;background:var(--surface-inset);border:1px solid var(--hairline);border-radius:14px;display:flex;flex-direction:column;max-height:calc(100vh - 320px)}.crm-col.drag-over{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 30%,transparent)}.crm-col-head{display:flex;align-items:center;gap:8px;padding:11px 13px;border-bottom:1px solid var(--hairline);position:sticky;top:0}.crm-col-name{font-weight:600;font-size:13px}.crm-col-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--surface);border:1px solid var(--hairline);font-size:11.5px;font-weight:700;color:var(--text-3)}.crm-col.st-new .crm-col-name{color:var(--brand)}.crm-col.st-in_work .crm-col-name{color:var(--warn)}.crm-col.st-waiting .crm-col-name{color:#0e7490}.crm-col.st-done .crm-col-name,.crm-col.st-closed .crm-col-name{color:var(--ok)}.crm-col.st-rejected .crm-col-name{color:var(--text-3)}.crm-col-body{padding:10px;display:flex;flex-direction:column;gap:9px;overflow-y:auto}.crm-col-empty{color:var(--text-3);text-align:center;font-size:12px;padding:10px 0}.crm-tcard{background:var(--surface);border:1px solid var(--hairline);border-radius:11px;padding:10px 11px;cursor:grab;transition:border-color .15s var(--ease),box-shadow .15s var(--ease),transform .05s var(--ease)}.crm-tcard:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--hairline));box-shadow:0 2px 10px #0000000f}.crm-tcard:active{cursor:grabbing;transform:scale(.99)}.crm-tcard.sla-over{border-left:3px solid var(--danger)}.crm-tcard.sla-soon{border-left:3px solid var(--warn)}.crm-tcard-top{display:flex;align-items:center;gap:7px;margin-bottom:6px}.crm-tcard-top .crm-tnum{margin-left:auto}.crm-tcard-title{font-weight:600;font-size:13.5px;line-height:1.25}.crm-tcard-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.crm-tcard-who{font-size:11.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.crm-tabs button{flex:1;justify-content:center}.crm-col{flex-basis:200px;width:200px}}.crm-report-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;border:1px solid var(--hairline);background:var(--surface);color:var(--text-2);font-weight:600;font-size:13px;cursor:pointer}.crm-report-btn:hover{color:var(--text);border-color:var(--brand)}.crm-sla{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:700;vertical-align:middle}.crm-sla.over{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.crm-sla.soon{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.crm-error{margin:10px 0;padding:9px 12px;border-radius:10px;font-size:13px;color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 26%,transparent)}.crm-empty{padding:16px;color:var(--text-3);font-size:13px}.report-tile strong.danger{color:var(--danger)}.crm-log-wrap{margin-top:18px}.crm-log{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:240px;overflow-y:auto}.crm-log-item{display:flex;gap:10px;align-items:flex-start}.crm-log-dot{flex:none;width:9px;height:9px;border-radius:50%;margin-top:4px;background:var(--text-3)}.crm-log-dot.a-created{background:var(--brand)}.crm-log-dot.a-stage,.crm-log-dot.a-status{background:var(--warn)}.crm-log-dot.a-assignee{background:color-mix(in srgb,var(--brand) 60%,var(--text-3))}.crm-log-body{min-width:0}.crm-log-detail{font-size:13px;color:var(--text);line-height:1.3}.crm-log-meta{font-size:11.5px;color:var(--text-3);margin-top:1px}.crm-log-empty{padding:8px 0;color:var(--text-3);font-size:12.5px}.builds-notice{font-size:13px;color:var(--text-2);background:color-mix(in srgb,var(--brand) 7%,transparent);border:1px solid color-mix(in srgb,var(--brand) 20%,transparent);border-radius:var(--r-md);padding:12px 16px;margin-bottom:20px}.builds-notice strong{color:var(--text)}.builds-filterbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}.builds-sort{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--text-3)}.builds-sort .input{padding:8px 12px;border-radius:999px;font-size:13px}.builds-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-2);cursor:pointer}.builds-check input{width:16px;height:16px;accent-color:var(--brand)}.builds-instock-badge{font-size:12.5px;color:var(--text-3)}.builds-instock-badge b{color:var(--text);font-family:var(--font-mono)}.builds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-bottom:40px}.build-card{padding:6px;transition:transform .25s var(--ease)}.build-card:hover{transform:translateY(-2px)}.build-card.is-comparing>.card{outline:2px solid var(--brand);outline-offset:-1px}.build-card-inner{display:flex;flex-direction:column;height:100%;overflow:hidden}.builds-periph{margin-bottom:40px}.builds-periph-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:8px 0 14px;padding-top:22px;border-top:1px solid var(--hairline)}.builds-periph-head h2{font-size:17px}.builds-periph-head span{font-size:12.5px;color:var(--text-3)}.builds-periph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:10px}.periph-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--surface);box-shadow:var(--shadow-sm)}.periph-thumb{width:48px;height:48px;flex:0 0 48px;border-radius:var(--r-sm);overflow:hidden;display:grid;place-items:center;background:var(--surface-inset);color:var(--text-3)}.periph-thumb img{width:100%;height:100%;object-fit:cover}.periph-info{flex:1;min-width:0}.periph-title{font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.periph-meta{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;white-space:nowrap;font-size:11.5px;color:var(--text-3);margin-top:3px}.periph-meta .build-dot{flex:0 0 auto}.periph-price{text-align:right;flex:0 0 auto}.periph-price strong{font-family:var(--font-display);font-size:15px;font-weight:700;white-space:nowrap}.periph-price small{display:block;font-size:10.5px;color:var(--text-3);font-family:var(--font-mono);white-space:nowrap}.periph-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}@media(max-width:560px){.builds-periph-grid{grid-template-columns:1fr}.periph-card{flex-wrap:wrap}.periph-actions{flex-basis:100%;flex-wrap:wrap;justify-content:flex-end;margin-top:6px}}.build-thumb{position:relative;height:148px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(150deg,var(--surface-inset),var(--shell));color:var(--text-3);border-bottom:1px solid var(--hairline)}.build-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.build-badge{position:absolute;top:10px;right:10px;font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:3px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--hairline);color:var(--text-3);box-shadow:var(--shadow-sm)}.build-badge.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent);background:color-mix(in srgb,var(--ok) 12%,var(--surface))}.build-body{display:flex;flex-direction:column;flex:1;padding:14px 16px 16px}.build-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand);margin-bottom:3px}.build-title{font-size:16.5px;font-weight:700}.build-sub{font-size:13px;color:var(--text-2);margin-top:2px}.build-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--text-3);margin-top:8px}.build-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 18%,transparent)}.build-dot.muted{background:var(--text-3);box-shadow:none}.build-note{font-size:12px;color:var(--text-2);background:color-mix(in srgb,var(--warn) 9%,transparent);border:1px solid color-mix(in srgb,var(--warn) 22%,transparent);border-radius:8px;padding:6px 10px;margin-top:10px}.build-specs{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.build-specs li{position:relative;padding-left:15px;font-size:12.5px;color:var(--text-2)}.build-specs li:before{content:"";position:absolute;left:2px;top:8px;width:4px;height:4px;border-radius:50%;background:var(--brand);opacity:.6}.build-specs-more:before{display:none!important}.build-specs-more{padding-left:0!important}.build-specs-more button{background:none;border:none;color:var(--brand);font-weight:600;font-size:12px;cursor:pointer;padding:2px 0}.build-price{margin-top:auto;padding-top:14px}.build-price-main{display:flex;flex-direction:column}.build-price-main small{font-size:11px;color:var(--text-3)}.build-price-main strong{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.02em}.build-price-cost{display:flex;gap:16px}.build-price-cost small{display:block;font-size:10.5px;color:var(--text-3)}.build-price-cost strong{font-family:var(--font-mono);font-size:15px;font-weight:600}.build-margin strong{color:var(--ok)}.build-actions{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--hairline)}.build-compare-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-3);cursor:pointer}.build-compare-toggle input{width:15px;height:15px;accent-color:var(--brand)}.build-cta{display:flex;gap:8px;margin-top:10px}.build-cta .btn{flex:1}.cfg-total{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid var(--hairline)}.cfg-total span{font-size:13px;color:var(--text-2);font-weight:600}.cfg-total strong{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em}.builds-image-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.builds-image-preview{width:72px;height:72px;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--hairline)}.builds-image-row .btn{position:relative;overflow:hidden}.builds-compare-bar{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:min(920px,calc(100vw - 32px));padding:12px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--hairline);box-shadow:var(--shadow-lg);animation:pop .3s var(--ease-out) both}.builds-compare-count{font-size:12.5px;font-weight:700;color:var(--text-2);white-space:nowrap}.builds-compare-chips{display:flex;gap:6px;flex-wrap:wrap}.builds-compare-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;border:1px solid var(--hairline);background:var(--surface-inset);color:var(--text-2);cursor:pointer}.builds-compare-chip b{color:var(--danger)}.builds-compare-table th{text-align:left}.builds-compare-table td{vertical-align:top}.builds-compare-specs{list-style:none;margin:0;padding:0;font-size:12px;color:var(--text-2);display:flex;flex-direction:column;gap:3px}.builds-journal-btn{position:relative}.builds-pending-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:2px;border-radius:999px;font-size:11px;font-weight:700;font-family:var(--font-mono);background:var(--brand);color:#fff}.build-reserved{color:var(--warn);font-weight:600}.reserve-head{display:flex;gap:14px;align-items:center;margin-bottom:18px}.reserve-thumb{width:64px;height:64px;flex-shrink:0;border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--surface-inset);display:grid;place-items:center;color:var(--text-3);overflow:hidden}.reserve-thumb img{width:100%;height:100%;object-fit:cover}.reserve-title{font-weight:700;font-size:15.5px}.reserve-sub{font-size:12.5px;color:var(--text-3);margin-top:2px}.reserve-avail{font-size:12.5px;color:var(--text-2);margin-top:6px}.reserve-avail b{color:var(--ok);font-family:var(--font-mono)}.reserve-qty{display:flex;align-items:stretch;gap:6px;height:44px}.reserve-qty .icon-btn{width:44px;height:44px;flex:0 0 44px;font-size:20px;font-weight:600;line-height:1}.reserve-qty .input{width:72px;flex:0 0 72px;height:44px;padding:0;text-align:center;font-family:var(--font-mono);font-size:15px;-moz-appearance:textfield}.reserve-qty .input::-webkit-outer-spin-button,.reserve-qty .input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-required{border-color:color-mix(in srgb,var(--danger) 45%,var(--hairline))}.reserve-error{margin-top:12px;padding:9px 12px;border-radius:10px;font-size:13px;color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 26%,transparent)}.resv-list{display:flex;flex-direction:column;gap:10px;max-height:60dvh;overflow-y:auto}.resv-card{display:flex;gap:14px;align-items:flex-start;padding:13px 15px;border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--surface)}.resv-card.status-pending{border-left:3px solid var(--warn)}.resv-card.status-ready{border-left:3px solid var(--ok)}.resv-card.status-cancelled{border-left:3px solid var(--text-3);opacity:.82}.resv-main{flex:1;min-width:0}.resv-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.resv-top strong{font-size:14.5px}.resv-status{font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px}.resv-status.pending{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.resv-status.ready{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}.resv-status.cancelled{color:var(--text-3);background:var(--surface-inset)}.resv-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:12.5px;color:var(--text-2)}.resv-comment{margin-top:7px;font-size:12.5px;color:var(--text-2)}.resv-foot{margin-top:7px;font-size:11.5px;color:var(--text-3)}.resv-reason{margin-top:5px;font-size:12px;color:var(--danger)}.resv-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch;flex-shrink:0}@media(max-width:720px){.builds-grid{grid-template-columns:1fr}.builds-compare-bar{border-radius:var(--r-lg)}.resv-card{flex-direction:column}.resv-actions{flex-direction:row;width:100%}}.builds-cart-bar{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:61;display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:min(920px,calc(100vw - 32px));width:max-content;padding:12px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--hairline);box-shadow:var(--shadow-lg);animation:pop .3s var(--ease-out) both}.builds-cart-count{font-size:12.5px;font-weight:700;color:var(--text-2);white-space:nowrap}.cart-lines{display:flex;flex-direction:column;gap:8px}.cart-line{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface-inset)}.cart-thumb{width:42px;height:42px;flex-shrink:0;border-radius:8px;border:1px solid var(--hairline);background:var(--surface);display:grid;place-items:center;color:var(--text-3);overflow:hidden}.cart-thumb img{width:100%;height:100%;object-fit:cover}.cart-info{flex:1;min-width:0}.cart-title{font-weight:600;font-size:14px}.cart-sub{font-size:12px;color:var(--text-3);margin-top:1px}.cart-qty{height:38px}.cart-qty .icon-btn{width:38px;height:38px;flex:0 0 38px}.cart-qty .input{width:56px;flex:0 0 56px;height:38px}.cart-sum{font-family:var(--font-mono);font-size:13.5px;font-weight:600;min-width:90px;text-align:right}.report-range{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.report-range label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2);font-weight:600}.report-range .input{width:auto}.report-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:18px}.report-tile{padding:12px 14px;border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface-inset);display:flex;flex-direction:column;gap:4px}.report-tile small{font-size:11.5px;color:var(--text-3);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.report-tile strong{font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-.02em}.report-tile.accent{border-color:color-mix(in srgb,var(--ok) 45%,var(--hairline));background:color-mix(in srgb,var(--ok) 8%,transparent)}.report-tile.accent strong{color:var(--ok)}.report-subhead{margin:18px 0 8px;font-size:14px;font-weight:700}.report-cat{font-size:11.5px;color:var(--text-3);margin-top:1px}@media(max-width:560px){.cart-line{flex-wrap:wrap}.cart-sum{min-width:auto}}.inv-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:20px}.inv-stat{padding:16px 18px;text-align:left;border:1px solid var(--hairline);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-md);cursor:pointer;transition:all .25s var(--ease);font:inherit}.inv-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.inv-stat.active{border-color:color-mix(in srgb,var(--brand) 45%,transparent)}.inv-stat .k{font-size:12px;color:var(--text-3);font-weight:600}.inv-stat .v{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.02em;margin-top:4px}.inv-stat .v.warn{color:var(--warn)}.inv-stat .v.off{color:var(--text-3)}.inv-notice{padding:14px 18px;border-radius:var(--r-md);background:color-mix(in srgb,var(--brand) 7%,transparent);border:1px solid color-mix(in srgb,var(--brand) 20%,transparent);font-size:13.5px;line-height:1.55;color:var(--text-2);margin-bottom:20px}.inv-notice strong{color:var(--text)}.inv-code{font-family:var(--font-mono);font-size:12px;color:var(--text-3);white-space:nowrap}.inv-name{font-weight:600}.inv-sub{font-size:12px;color:var(--text-3);margin-top:2px}.inv-1c{font-size:12.5px;color:var(--text-2)}.inv-1c.none{color:var(--text-3);font-style:italic}.inv-qty{font-family:var(--font-mono);font-size:13px;text-align:right;white-space:nowrap}.inv-qty.zero{color:var(--text-3)}.inv-qty.low{color:var(--warn);font-weight:600}.inv-row{cursor:pointer}.inv-hit{display:inline-flex;align-items:center;gap:5px;margin-top:3px;font-size:11.5px;color:var(--brand)}.inv-hit b{font-weight:600}.inv-flags{display:inline-flex;gap:5px;flex-wrap:wrap;margin-left:8px;vertical-align:middle}.inv-flag{padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:600;white-space:nowrap;border:1px solid var(--hairline);background:var(--surface-inset);color:var(--text-3)}.inv-flag.check{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);border-color:color-mix(in srgb,var(--warn) 26%,transparent)}.inv-flag.miss{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:color-mix(in srgb,var(--danger) 24%,transparent)}.inv-detail td{background:var(--surface-inset)}.inv-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 24px;padding:6px 4px}.inv-field .l{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);font-weight:600}.inv-field .val{font-size:13.5px;margin-top:3px;white-space:pre-line}.inv-alias-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.inv-alias{padding:3px 10px;border-radius:999px;font-size:12px;background:var(--surface);border:1px solid var(--hairline);color:var(--text-2)}.inv-alias.hit{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 40%,transparent);background:color-mix(in srgb,var(--brand) 9%,transparent)}.inv-detail-actions{display:flex;gap:8px;padding:12px 4px 2px}.inv-pick{width:34px}.inv-mergebar{position:sticky;bottom:16px;z-index:30;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;padding:12px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--hairline-strong);box-shadow:var(--shadow-lg)}.inv-mergebar .cnt{font-weight:600;font-size:13px}.inv-merge-chips{display:flex;gap:6px;flex-wrap:wrap;flex:1}.inv-merge-chip{padding:4px 10px;border-radius:999px;font-size:12px;background:var(--surface-inset);border:1px solid var(--hairline);color:var(--text-2);cursor:pointer}.inv-merge-chip:hover{color:var(--danger)}.inv-merge-opt{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--hairline);background:var(--surface);cursor:pointer;margin-bottom:8px}.inv-merge-opt.on{border-color:color-mix(in srgb,var(--brand) 45%,transparent);background:color-mix(in srgb,var(--brand) 7%,transparent)}.inv-merge-opt .nm{font-weight:600;font-size:13.5px}.inv-merge-opt .mt{font-size:12px;color:var(--text-3);margin-top:2px}.inv-stock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}@media(max-width:720px){.inv-stats{grid-template-columns:repeat(2,1fr)}.inv-mergebar{border-radius:var(--r-lg)}}.inv-branches{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.inv-branches-label{font-size:13px;font-weight:600;color:var(--text-2)}.inv-total{font-weight:700;font-family:var(--font-mono)}.inv-error{margin-top:12px;padding:9px 12px;border-radius:10px;font-size:13px;color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 26%,transparent)}.inv-pick-list{display:flex;flex-direction:column;gap:4px;margin:6px 0 4px;max-height:220px;overflow:auto}.inv-pick-opt{text-align:left;padding:8px 10px;border:1px solid var(--hairline);border-radius:8px;background:var(--surface);cursor:pointer;font-size:13px}.inv-pick-opt:hover{border-color:var(--brand);background:var(--surface-inset)}.inv-line-num{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--text-3)}.inv-line-num .input{width:84px}.inv-move-type{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:700}.inv-move-type.t-receipt{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.inv-move-type.t-transfer{background:color-mix(in srgb,var(--brand) 15%,transparent);color:var(--brand)}.inv-move-type.t-writeoff{background:color-mix(in srgb,var(--danger) 13%,transparent);color:var(--danger)}.inv-move-type.t-adjust{background:var(--surface-inset);color:var(--text-2)}.msg-wrap{display:grid;grid-template-columns:336px 1fr;gap:16px;height:calc(100dvh - 200px);min-height:480px}.msg-list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.msg-list-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--hairline)}.msg-list-head h2{font-size:16px;font-family:var(--font-display)}.msg-list-head .btn svg{width:15px;height:15px}.msg-list-scroll{flex:1;overflow-y:auto;padding:8px}.msg-empty-list{padding:40px 20px;text-align:center;color:var(--text-3);font-size:13px;line-height:1.7}.msg-conv{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:10px;border:0;border-radius:var(--r-md);background:transparent;cursor:pointer;transition:background .18s var(--ease)}.msg-conv:hover{background:var(--shell)}.msg-conv.active{background:color-mix(in srgb,var(--brand) 10%,transparent)}.msg-conv-av{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;flex-shrink:0}.msg-conv-av.group{background:linear-gradient(150deg,var(--brand),var(--brand-2));color:#fff}.msg-conv-av.group svg{width:22px;height:22px}.msg-conv-av.group.sm{width:38px;height:38px;border-radius:10px}.msg-conv-av.group.sm svg{width:19px;height:19px}.msg-conv-body{flex:1;min-width:0}.msg-conv-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.msg-conv-name{font-weight:600;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-conv-time{font-size:11px;color:var(--text-3);flex-shrink:0}.msg-conv-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.msg-conv-preview{font-size:12.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-unread{flex-shrink:0;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:var(--brand);color:#fff;font-size:11px;font-weight:700}.msg-thread{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden;min-width:0}.msg-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-3)}.msg-placeholder svg{opacity:.5}.msg-placeholder p{font-size:14px}.msg-thread-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--hairline);background:var(--surface-2)}.msg-thread-title{display:flex;flex-direction:column;min-width:0}.msg-thread-title strong{font-size:15px}.msg-thread-title span{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-back{display:none}.msg-scroll{flex:1;overflow-y:auto;padding:18px 18px 8px;display:flex;flex-direction:column}.msg-loading,.msg-thread-empty{text-align:center;color:var(--text-3);font-size:13px;padding:20px;margin:auto}.msg-day{display:flex;align-items:center;justify-content:center;margin:12px 0}.msg-day span{font-size:11px;font-weight:600;color:var(--text-3);background:var(--surface-inset);padding:3px 12px;border-radius:999px}.msg-row{display:flex;gap:8px;margin-top:2px;align-items:flex-end}.msg-row.mine{flex-direction:row-reverse}.msg-row-av{width:30px;flex-shrink:0}.msg-bubble-wrap{display:flex;align-items:center;gap:6px;max-width:74%}.msg-row.mine .msg-bubble-wrap{flex-direction:row-reverse}.msg-sender{font-size:11.5px;font-weight:700;color:var(--brand);margin:6px 0 2px 2px}.msg-bubble{position:relative;background:var(--surface-inset);border:1px solid var(--hairline);padding:8px 12px 7px;border-radius:16px 16px 16px 5px;font-size:14px;line-height:1.45;color:var(--text);min-width:0}.msg-row.mine .msg-bubble{background:linear-gradient(150deg,var(--brand),var(--brand-2));color:#fff;border-color:transparent;border-radius:16px 16px 5px}.msg-bubble.deleted{opacity:.6;font-style:italic}.msg-text{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.msg-time{display:block;text-align:right;font-size:10.5px;opacity:.6;margin-top:3px}.msg-row.mine .msg-time{opacity:.8}.msg-del{border:0;background:transparent;color:var(--text-3);cursor:pointer;opacity:0;transition:opacity .15s;padding:4px;border-radius:8px}.msg-row:hover .msg-del{opacity:.7}.msg-del:hover{opacity:1;color:var(--danger);background:var(--shell)}.msg-atts{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.msg-att-img{display:block;border-radius:10px;overflow:hidden;max-width:260px}.msg-att-img img{display:block;width:100%;max-height:300px;object-fit:cover}.msg-att-file{display:flex;align-items:center;gap:8px;text-decoration:none;padding:8px 10px;border-radius:10px;background:var(--surface);border:1px solid var(--hairline);color:var(--text);max-width:260px}.msg-row.mine .msg-att-file{background:#ffffff29;border-color:#ffffff40;color:#fff}.msg-att-name{flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-att-size{font-size:11px;opacity:.7;flex-shrink:0}.msg-composer{border-top:1px solid var(--hairline);padding:12px 14px;background:var(--surface-2)}.msg-pending{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.msg-pending-chip{display:flex;align-items:center;gap:7px;padding:5px 8px 5px 6px;background:var(--surface);border:1px solid var(--hairline);border-radius:10px;font-size:12.5px}.msg-pending-chip img{width:26px;height:26px;border-radius:6px;object-fit:cover}.msg-pending-chip .nm{max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-pending-chip button{border:0;background:transparent;color:var(--text-3);cursor:pointer;display:grid;place-items:center}.msg-pending-chip button:hover{color:var(--danger)}.msg-composer-row{display:flex;align-items:flex-end;gap:8px}.msg-input{flex:1;resize:none;max-height:140px;border:1px solid var(--hairline);border-radius:14px;background:var(--surface);color:var(--text);padding:10px 14px;font:inherit;font-size:14px;line-height:1.4}.msg-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--ring)}.msg-input::placeholder{color:var(--text-3)}.msg-send{width:42px;height:42px;padding:0;display:grid;place-items:center;border-radius:12px;flex-shrink:0}.msg-send svg{width:19px;height:19px}.msg-uploading{font-size:12px;color:var(--text-3);margin-top:6px}.nc-tabs{display:flex;gap:6px;background:var(--surface-inset);padding:4px;border-radius:12px;margin-bottom:16px}.nc-tabs button{flex:1;border:0;background:transparent;cursor:pointer;padding:8px;border-radius:9px;font-weight:600;font-size:13px;color:var(--text-2)}.nc-tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.nc-search{display:flex;align-items:center;gap:8px;padding:0 12px;margin:12px 0;border:1px solid var(--hairline);border-radius:12px;background:var(--surface)}.nc-search svg{color:var(--text-3);flex-shrink:0}.nc-search .input{border:0;background:transparent;box-shadow:none;padding:10px 0}.nc-search .input:focus{box-shadow:none}.nc-list{max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin:0 -4px}.nc-empty{text-align:center;color:var(--text-3);font-size:13px;padding:24px}.nc-peer{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:transparent;cursor:pointer;padding:8px 10px;border-radius:12px}.nc-peer:hover{background:var(--shell)}.nc-peer.sel{background:color-mix(in srgb,var(--brand) 10%,transparent)}.nc-peer-body{flex:1;min-width:0;display:flex;flex-direction:column}.nc-peer-body .nm{font-weight:600;font-size:14px}.nc-peer-body .dp{font-size:12px;color:var(--text-3)}.nc-check{width:20px;height:20px;border-radius:6px;border:2px solid var(--hairline-strong);flex-shrink:0;position:relative}.nc-check.on{background:var(--brand);border-color:var(--brand)}.nc-check.on:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}@media(max-width:860px){.msg-wrap{grid-template-columns:1fr;height:calc(100dvh - 150px)}.msg-thread,.msg-wrap.show-thread .msg-list{display:none}.msg-wrap.show-thread .msg-thread{display:flex}.msg-back{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--hairline);background:var(--surface);color:var(--text-2);cursor:pointer;flex-shrink:0}.msg-bubble-wrap{max-width:82%}}.msg-head-btns{display:flex;align-items:center;gap:6px}.msg-head-btns .icon-btn svg.on{color:var(--brand)}.msg-list-head .btn.sm{display:inline-flex;align-items:center;gap:5px}.msg-install{display:flex;align-items:center;gap:10px;width:calc(100% - 16px);margin:0 8px 8px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--brand) 30%,transparent);background:color-mix(in srgb,var(--brand) 8%,transparent);border-radius:12px;cursor:pointer;text-align:left;color:var(--text)}.msg-install strong{display:block;font-size:13px}.msg-install small{color:var(--text-3);font-size:11.5px}.msg-search-box,.msg-inline-search{display:flex;align-items:center;gap:8px;margin:0 12px 10px;padding:0 12px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface)}.msg-search-box svg,.msg-inline-search svg{color:var(--text-3);flex-shrink:0}.msg-search-box input,.msg-inline-search input{flex:1;border:0;background:transparent;padding:9px 0;font:inherit;font-size:13.5px;color:var(--text);outline:none}.msg-inline-search{margin:10px 14px 0}.msg-filters{display:flex;gap:4px;padding:0 10px 8px}.msg-filters button{flex:1;border:0;background:transparent;cursor:pointer;padding:6px 4px;border-radius:8px;font-size:12px;font-weight:600;color:var(--text-3)}.msg-filters button.on{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}.pin-dot{color:var(--brand);margin-right:3px;vertical-align:-1px}.muted-ic{color:var(--text-3);margin-left:4px;vertical-align:-2px}.msg-unread.muted{background:var(--text-3)}.msg-head-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.msg-back .rot180{transform:rotate(180deg)}.msg-pinned-banner{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--brand) 6%,var(--surface-2));color:var(--text-2)}.msg-pinned-banner svg{color:var(--brand);flex-shrink:0}.msg-pinned-banner .pin-text{flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-pinned-banner .pin-text small{display:block;font-size:10.5px;color:var(--brand);font-weight:600}.msg-reply-bar{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:8px;background:var(--surface-inset);border-left:3px solid var(--brand);border-radius:8px}.msg-reply-bar svg{color:var(--brand);flex-shrink:0}.msg-reply-bar .rb-text{flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-reply-bar .rb-text small{display:block;font-size:10.5px;color:var(--brand);font-weight:600}.msg-quote{border-left:3px solid currentColor;opacity:.85;padding:2px 8px;margin-bottom:5px;font-size:12.5px;border-radius:4px;background:#0000000d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-row.mine .msg-quote{background:#ffffff29}.msg-quote span{display:block;font-size:10px;font-weight:700;opacity:.8}.msg-time svg{vertical-align:-1px;margin-right:3px;opacity:.8}.msg-reactions-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:3px}.msg-row.mine .msg-reactions-row{justify-content:flex-end}.msg-reaction{border:1px solid var(--hairline);background:var(--surface);border-radius:999px;padding:1px 8px;font-size:12px;cursor:pointer;line-height:1.6}.msg-reaction.mine{background:color-mix(in srgb,var(--brand) 14%,transparent);border-color:color-mix(in srgb,var(--brand) 34%,transparent)}.msg-react-add,.msg-more{border:0;background:transparent;color:var(--text-3);cursor:pointer;padding:2px 4px;border-radius:6px;opacity:0;transition:opacity .15s}.msg-row:hover .msg-react-add,.msg-row:hover .msg-more{opacity:.7}.msg-react-add:hover,.msg-more:hover{opacity:1;color:var(--brand);background:var(--shell)}.react-wrap{position:relative}.react-pop,.emoji-pop{position:absolute;bottom:100%;margin-bottom:6px;z-index:40;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:8px;background:var(--surface);border:1px solid var(--hairline);border-radius:12px;box-shadow:var(--shadow-lg)}.msg-row.mine .react-pop{right:0}.msg-row:not(.mine) .react-pop{left:0}.react-pop button,.emoji-pop button{border:0;background:transparent;cursor:pointer;font-size:19px;padding:4px;border-radius:8px;line-height:1}.react-pop button:hover,.emoji-pop button:hover{background:var(--shell)}.emoji-wrap{position:relative}.emoji-pop{bottom:calc(100% + 6px);left:0;width:300px}.msg-mentions{display:flex;flex-direction:column;gap:2px;margin-bottom:8px;max-height:180px;overflow-y:auto;background:var(--surface);border:1px solid var(--hairline);border-radius:12px;padding:4px}.msg-mentions button{display:flex;align-items:center;gap:8px;border:0;background:transparent;cursor:pointer;padding:6px 8px;border-radius:9px;font-size:13.5px;text-align:left;color:var(--text)}.msg-mentions button:hover{background:var(--shell)}.conv-swipe{position:relative;overflow:hidden;border-radius:var(--r-md)}.conv-actions{position:absolute;inset:0 0 0 auto;display:flex;align-items:stretch}.conv-actions .ca{border:0;width:44px;display:grid;place-items:center;color:#fff;cursor:pointer}.conv-actions .ca.pin{background:#3d82ff}.conv-actions .ca.mute{background:#d98a00}.conv-actions .ca.del{background:var(--danger)}.conv-swipe .msg-conv{position:relative;z-index:1;background:var(--surface);transition:transform .18s var(--ease)}.conv-swipe .msg-conv.active{background:color-mix(in srgb,var(--brand) 10%,var(--surface))}.conv-more{margin-left:auto;color:var(--text-3);display:grid;place-items:center;padding:4px;border-radius:6px;align-self:center}.conv-more:hover{color:var(--text);background:var(--shell)}.msg-row{position:relative;transition:transform .12s var(--ease)}.swipe-reply-ic{position:absolute;left:-30px;top:50%;transform:translateY(-50%);color:var(--brand)}.ctx-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120}.ctx-overlay.sheet{background:color-mix(in srgb,#05070b 45%,transparent);display:flex;align-items:flex-end}.ctx-menu{position:fixed;min-width:264px;background:var(--surface);border:1px solid var(--hairline);border-radius:20px;box-shadow:var(--shadow-lg);padding:6px;z-index:121;overflow:hidden;animation:pop .18s var(--ease-out) both}.ctx-overlay.sheet .ctx-menu{position:static;width:100%;border-radius:22px 22px 0 0;padding:8px 8px calc(10px + env(safe-area-inset-bottom));animation:sheetUp .22s var(--ease-out) both}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ctx-group{padding:2px 0}.ctx-group+.ctx-group{border-top:1px solid var(--hairline)}.ctx-menu button{display:flex;align-items:center;gap:16px;width:100%;text-align:left;border:0;background:transparent;cursor:pointer;padding:13px 18px;border-radius:12px;font-size:15.5px;color:var(--text);line-height:1.25}.ctx-menu button:hover{background:var(--shell)}.ctx-menu button.danger{color:var(--danger)}.ctx-menu button svg{flex-shrink:0;color:var(--text-2)}.ctx-menu button.danger svg{color:var(--danger)}.fwd-list{display:flex;flex-direction:column;gap:2px;max-height:340px;overflow-y:auto}.fwd-item{display:flex;align-items:center;gap:12px;border:0;background:transparent;cursor:pointer;padding:8px 10px;border-radius:12px;text-align:left;font-size:14px;font-weight:600;color:var(--text)}.fwd-item:hover{background:var(--shell)}@media(max-width:860px){.react-pop,.emoji-pop{grid-template-columns:repeat(8,1fr)}.emoji-pop{width:min(300px,78vw)}}.nav-link{position:relative}.nav-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;border-radius:999px;background:var(--brand);color:#fff;font-size:11px;font-weight:700}.nav-badge.dot{position:absolute;top:6px;left:26px;min-width:8px;width:8px;height:8px;padding:0}.msg-thread-open{display:flex;align-items:center;gap:12px;flex:1;min-width:0;border:0;background:transparent;padding:0;cursor:pointer;text-align:left;color:inherit}.msg-thread-open:hover .msg-thread-title strong{color:var(--brand)}.msg-thread-title .typing{color:var(--brand);font-style:normal;font-weight:600}.msg-conv-av.general{background:linear-gradient(150deg,#16a34a,#0ea5e9);color:#fff}.msg-conv-av.general svg{width:22px;height:22px}.msg-conv-av.general.sm{width:38px;height:38px;border-radius:10px}.msg-conv-av.general.sm svg{width:19px;height:19px}.msg-conv-av.general.lg,.msg-conv-av.group.lg{width:72px;height:72px;border-radius:18px}.msg-conv-av.general.lg svg,.msg-conv-av.group.lg svg{width:34px;height:34px}.msg-conv-av-wrap{position:relative;flex-shrink:0;display:inline-flex}.online-dot{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:#22c55e;border:2px solid var(--surface);z-index:1}.msg-conv-av-wrap.sm .online-dot{width:10px;height:10px}.msg-time .tick{vertical-align:-2px;margin-left:2px;opacity:.75}.msg-time .tick.read{color:#38bdf8;opacity:1}.msg-bubble.mine .msg-time .tick{color:#ffffffd9}.msg-bubble.mine .msg-time .tick.read{color:#bae6fd}.msg-new-sep{display:flex;align-items:center;gap:10px;margin:12px 2px;color:var(--brand)}.msg-new-sep:before,.msg-new-sep:after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--brand) 40%,transparent)}.msg-new-sep span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.msg-drop{position:absolute;top:12px;right:12px;bottom:12px;left:12px;z-index:5;border:2px dashed var(--brand);border-radius:var(--r-lg);background:color-mix(in srgb,var(--brand) 8%,var(--surface));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--brand);font-size:13px;font-weight:600;pointer-events:none}.msg-thread{position:relative}.ci-head{display:flex;align-items:center;gap:16px;margin-bottom:16px}.ci-avatar{position:relative;flex-shrink:0}.ci-avatar-edit{position:absolute;right:-4px;bottom:-4px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;border:2px solid var(--surface);cursor:pointer}.ci-title{display:flex;flex-direction:column;min-width:0;gap:3px}.ci-title strong{font-size:17px;display:inline-flex;align-items:center;gap:6px}.ci-title>span{font-size:12.5px;color:var(--text-3)}.ci-rename{display:flex;gap:8px;align-items:center}.ci-rename .input{padding:6px 10px}.ci-tabs,.ci-media-tabs{display:flex;gap:6px;margin-bottom:12px}.ci-tabs button,.ci-media-tabs button{flex:1;padding:8px 10px;border:1px solid var(--hairline);background:var(--surface);color:var(--text-2);border-radius:var(--r-md);font-size:13px;font-weight:600;cursor:pointer}.ci-tabs button.on,.ci-media-tabs button.on{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);border-color:transparent}.ci-members{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow-y:auto}.ci-add{display:flex;align-items:center;gap:8px;padding:10px;border:1px dashed var(--hairline);border-radius:var(--r-md);background:transparent;color:var(--brand);font-weight:600;cursor:pointer;font-size:13px}.ci-member{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:var(--r-md)}.ci-member:hover{background:var(--shell)}.ci-member-body{display:flex;flex-direction:column;min-width:0;flex:1}.ci-member-body .nm{font-size:13.5px;font-weight:600}.ci-member-body .dp{font-size:11.5px;color:var(--text-3)}.ci-owner{font-style:normal;color:var(--text-3);font-weight:500}.ci-add-panel{border:1px solid var(--hairline);border-radius:var(--r-md);padding:10px;margin-bottom:8px}.ci-add-list{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto;margin:8px 0}.ci-add-actions{display:flex;gap:8px;justify-content:flex-end}.ci-media-empty{text-align:center;color:var(--text-3);font-size:13px;padding:24px}.ci-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:340px;overflow-y:auto}.ci-photo{aspect-ratio:1;border-radius:var(--r-md);overflow:hidden;background:var(--surface-inset)}.ci-photo img{width:100%;height:100%;object-fit:cover}.ci-file-list{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow-y:auto}.ci-file{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--hairline);border-radius:var(--r-md);color:var(--text);text-decoration:none;font-size:13px}.ci-file:hover{background:var(--shell)}.ci-file .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ci-file .sz{color:var(--text-3);font-size:11.5px}.msg-text a{color:inherit;text-decoration:underline;text-underline-offset:2px;word-break:break-word}.msg-bubble:not(.mine) .msg-text a{color:var(--brand)}.msg-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:color-mix(in srgb,currentColor 12%,transparent);padding:1px 5px;border-radius:6px}.msg-mention{font-weight:600;color:var(--brand)}.msg-bubble.mine .msg-mention{color:#fff;text-decoration:underline;text-underline-offset:2px}.msg-emoji-only{font-size:42px;line-height:1.1;padding:2px 0}@media(pointer:coarse){.msg-bubble{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}}.msg-scroll-down{position:absolute;right:20px;bottom:88px;z-index:6;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--hairline);box-shadow:var(--shadow-md);color:var(--text-2);cursor:pointer;animation:pop .18s var(--ease-out) both}.msg-scroll-down:hover{color:var(--brand)}.msg-scroll-down .rot270{transform:rotate(90deg)}.msg-scroll-badge{position:absolute;top:-6px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--brand);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.msg-thread-title .typing:after{content:"…";display:inline-block;width:1em;text-align:left;overflow:hidden;vertical-align:bottom;animation:typingDots 1.2s steps(4,end) infinite}@keyframes typingDots{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.msg-day{position:sticky;top:4px;z-index:2}.msg-day span{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.msg-composer{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
