.cad-dimension-review{margin:20px 0}.cad-dimension-review fieldset{border:0;padding:0;min-width:0}.cad-dimension-review textarea{display:block;box-sizing:border-box;width:100%;margin:8px 0 14px;padding:9px;border:1px solid #cbd5e1;border-radius:5px;font:inherit}.cad-dimension-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(180px,2fr) auto auto;gap:12px;align-items:center;padding:12px;margin-bottom:8px;border:1px solid #d8e1ec;border-radius:8px}.cad-dimension-row.is-assumed{background:#fff8e8}.cad-dimension-row label{display:flex;flex-direction:column;gap:4px}.cad-dimension-row small{color:#64748b;overflow-wrap:anywhere}.cad-dimension-row input{min-width:0;width:100%;box-sizing:border-box;padding:7px;border:1px solid #cbd5e1;border-radius:5px}.cad-dimension-confirm{display:flex;gap:8px;margin:18px 0;align-items:center}.cad-source-image{display:block;width:100%;max-height:540px;object-fit:contain;background:#fff}@media(max-width:900px){.cad-dimension-row{grid-template-columns:1fr}}:root{--bg: #eef3f8;--panel: #ffffff;--ink: #152536;--muted: #5a6b7c;--line: #d3dce6;--accent: #007bc7;--accent-hover: #0063a3;--accent-soft: rgba(0, 123, 199, .1);--danger: #b42318;--header-bg: rgba(255, 255, 255, .92);--header-ink: #152536;--header-muted: #5a6b7c;--radius: 14px;--radius-sm: 10px;--radius-pill: 999px;--shadow: 0 8px 24px rgba(0, 80, 140, .06);--shadow-hover: 0 12px 32px rgba(0, 80, 140, .1);font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.5;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html{max-width:100%;font-size:80%}@media(max-width:760px){html{font-size:100%}}body{margin:0;min-height:100vh;min-height:100dvh;max-width:100%;background:radial-gradient(ellipse 80% 50% at 8% 0%,rgba(0,123,199,.1),transparent),radial-gradient(ellipse 55% 40% at 92% 8%,rgba(0,99,163,.08),transparent),var(--bg)}.app{max-width:100%;width:100%;min-width:0;min-height:100vh;min-height:100dvh;margin:0;padding:1.5rem 1.25rem 3rem;box-sizing:border-box}.app-version-tag{display:inline-block;margin-left:.4rem;padding:.08rem .45rem;font-size:.72rem;font-weight:500;letter-spacing:0;line-height:1.3;vertical-align:.18em;color:var(--header-muted);background:var(--accent-soft);border-radius:var(--radius-pill);white-space:nowrap}.panel{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.5rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow)}.panel h2{margin:0 0 1rem;font-size:1.05rem;font-weight:600}.panel h3{margin:1.25rem 0 .5rem;font-size:.98rem;font-weight:600}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab{border:1px solid var(--line);background:#fff;color:var(--muted);padding:.5rem 1rem;cursor:pointer;font-size:.92rem;border-radius:var(--radius-pill)}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.film-out-kv-wide{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.film-out-kv-wide{grid-template-columns:repeat(2,minmax(0,1fr))}}.users-drawer-group-title{padding:.35rem .2rem .05rem;font-size:.75rem;color:var(--muted)}.users-model-cell{font-size:.82rem;color:var(--muted);max-width:220px}.feedback-admin-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;margin-bottom:.35rem}.feedback-admin-meta time{font-size:.8rem;color:var(--muted)}.smart-th-sort{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}.smart-flat-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}.design-user-title{margin:0 0 .5rem;font-size:1.05rem;display:flex;align-items:baseline;gap:.5rem}.design-user-title em{font-style:normal;font-size:.85rem;color:#789;font-weight:400}.design-project-block{border:1px solid var(--border, #d8dee6);border-radius:8px;background:#fff;margin-bottom:.65rem}.design-project-block>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;padding:.7rem .9rem;-webkit-user-select:none;user-select:none}.design-project-block>summary::-webkit-details-marker{display:none}.design-project-block>summary em{font-style:normal;font-size:.85rem;color:#678;flex:1}.design-project-body{border-top:1px solid #e8edf2;padding:.65rem .9rem .85rem;display:flex;flex-direction:column;gap:.75rem;background:#f8fafc}.smart-esr-placeholder{color:#b07000}.smart-esr-trace-auth{margin-top:.55rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:6px;background:#f7fbfe;display:flex;flex-direction:column;gap:.5rem;max-width:22rem}.smart-esr-trace-auth p{margin:0;font-size:.88rem;color:var(--ink)}.smart-esr-trace-auth input[type=password]{width:100%;padding:.45rem .6rem;border:1px solid var(--line);font:inherit}.smart-esr-trace-auth-actions{display:flex;flex-wrap:wrap;gap:.45rem}.catalog-field{display:flex;flex-direction:column;gap:.35rem;max-width:220px;font-size:.9rem}button.linkish{border:none;background:none;color:var(--muted);cursor:pointer;font-size:.8rem;padding:0;text-decoration:underline}button.linkish:hover{color:var(--danger)}.pack-form-disabled{pointer-events:none}.pack-form-disabled .pack-card{cursor:default}.pack-block{margin-top:.5rem}.pack-lead{margin-top:0}.pack-common{margin-bottom:1rem}.pack-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}.pack-card{border:1px solid var(--line);background:#fafbfc;padding:.85rem .9rem .95rem;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.pack-card:hover{border-color:#9bb8a8}.pack-card.selected{border-color:var(--accent);background:#f3faf6;box-shadow:inset 0 0 0 1px #007bc740}.pack-card-head{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:.75rem}.pack-card-radio{width:1rem;height:1rem;margin-top:.2rem;border:2px solid #9aa7b5;border-radius:50%;flex-shrink:0;position:relative}.pack-card.selected .pack-card-radio{border-color:var(--accent)}.pack-card.selected .pack-card-radio:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:var(--accent)}.pack-card-title{font-size:1rem;font-weight:650;color:var(--ink)}.pack-card-sub{font-size:.8rem;color:var(--muted);margin-top:.1rem}.pack-badge{margin-left:auto;background:var(--accent);color:#fff;font-size:.72rem;padding:.15rem .45rem;letter-spacing:.02em}.pack-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:.75rem}.pack-card-fields label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--muted)}.pack-card-fields input{border:1px solid var(--line);padding:.4rem .5rem;font-size:.95rem;color:var(--ink);background:#fff;width:100%}.pack-card-fields input:focus{outline:2px solid rgba(0,123,199,.35);border-color:var(--accent)}.pack-card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .65rem;font-size:.78rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:.65rem}.pack-card-metrics>div{display:flex;flex-direction:column;gap:.1rem}.pack-card-metrics strong{color:var(--ink);font-size:.88rem;font-weight:600;font-variant-numeric:tabular-nums}.pack-card-metrics .clr.ok strong{color:#007bc7}.pack-card-metrics .clr.tight strong{color:#9a6700}.pack-card-metrics .clr.neg strong{color:var(--danger)}.pack-card-placeholder{font-size:.8rem;color:#8a97a6;border-top:1px dashed var(--line);padding-top:.65rem}.pack-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.pack-selected-hint{font-size:.88rem;color:var(--accent);font-weight:600}@media(max-width:800px){.pack-choice-grid{grid-template-columns:1fr}}.stack3d{display:flex;flex-direction:column;gap:.55rem}.stack3d-case-hint,.stack3d-clearance-note{background:transparent;border-style:dashed;color:var(--muted)}.stack3d-cap-diff strong{font-variant-numeric:tabular-nums}.hint{margin:1rem 0 .85rem;font-size:.85rem;color:var(--muted)}.error{color:var(--danger);margin:.75rem 0 0;font-size:.9rem}.result-meta{margin-bottom:.75rem;font-size:.88rem;color:var(--muted)}.agent-chat-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:6px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);font-size:.72rem;font-weight:700;letter-spacing:.04em}.agent-chat-toggle{flex:0 0 auto;border:1px solid rgba(255,255,255,.28);background:transparent;color:#eef6fb;padding:.35rem .7rem;font-size:.82rem;cursor:pointer}.agent-chat-toggle:hover{background:#ffffff1a}.agent-msg-user{align-self:flex-end;justify-content:flex-end}.agent-msg-assistant,.agent-msg-system{align-self:flex-start}.agent-msg-kb{margin:.45rem 0 0;font-size:.78rem;opacity:.72;line-height:1.35}.kb-status-ok{color:#166534;background:#dcfce7;border-color:#86efac}.kb-status-warn{color:#854d0e;background:#fef9c3;border-color:#fde047}.kb-status-bad{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.kb-status-busy{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.kb-status-off{color:#4b5563;background:#f3f4f6;border-color:#d1d5db}.agent-composer-hint{margin:.45rem 0 0;font-size:.78rem;color:var(--muted)}.asst-erp{flex:0 1 auto;max-height:min(42vh,22rem);display:flex;flex-direction:column;gap:.55rem;padding:.7rem 1.1rem .85rem;border-bottom:1px solid #d3dce6;background:#f4f8fb}.asst-erp-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem}.asst-erp-field{flex:1 1 16rem;display:flex;flex-direction:column;gap:.28rem;font-size:.78rem;font-weight:600;color:#35586e}.asst-erp-field input{font:inherit;font-weight:500;font-size:.92rem;padding:.45rem .7rem;border:1px solid #c5d4e0;border-radius:8px;background:#fff;color:#1a3a52}.asst-msg-user{align-self:flex-end;justify-content:flex-end}.asst-msg-assistant,.asst-msg-system{align-self:flex-start}.asst-msg-system{max-width:100%;justify-content:center;align-self:center}.maker-stats{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin:.35rem 0 0;font-size:.82rem;color:var(--muted)}.maker-frame{width:100%;flex:1;min-height:32rem;border:1px solid var(--line);border-radius:12px;background:#fff}.maker-html{min-height:10rem;font-family:ui-monospace,Consolas,monospace;font-size:.82rem}.hr-msg,.hr-busy{margin:0 1.1rem .5rem;flex-shrink:0}.hr-month{display:flex;align-items:center;gap:.4rem;font-size:.86rem;color:var(--muted)}.hr-freeze-fill{display:block;box-sizing:border-box;width:100%;min-height:100%;padding:.42rem .65rem;background-color:var(--hr-freeze-fill, #fff)}.hr-row-actions{text-align:right}.hr-row-actions button{margin-left:.3rem}.hr-welcome p{margin:0 0 .7rem;color:var(--muted);font-size:.9rem}.hr-bubble-user{align-self:flex-end;background:var(--accent);color:#fff}.hr-bubble-assistant{align-self:flex-start;background:#f4f7fb;border:1px solid var(--line)}.hr-extra-row{display:grid;grid-template-columns:.4fr 1fr;gap:.45rem;margin-bottom:.4rem}.finance-body{grid-template-columns:minmax(0,1fr)}.sched-tone-day{--tone-bg: #e6f2fd;--tone-bar: #2f86d6;--tone-ink: #17558f;background:var(--tone-bg)}.sched-tone-night{--tone-bg: #eeeafb;--tone-bar: #7a5fd0;--tone-ink: #4a3699;background:var(--tone-bg)}.sched-tone-rest{--tone-bg: #f2f3f5;--tone-bar: #b4bac3;--tone-ink: #5f6772;background:var(--tone-bg)}.sched-col-meta{width:11%}.app-header{background:var(--header-bg);color:var(--header-ink);padding:1rem 1.35rem 1.05rem;margin-bottom:1.25rem;border:1px solid rgba(211,220,230,.9);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-brand{display:flex;align-items:center;gap:1rem;min-width:0}.app-logo{height:40px;width:auto;max-width:100%;flex-shrink:0;display:block;object-fit:contain}.app-brand-text{min-width:0}.app-header h1{margin:0 0 .25rem;font-size:1.4rem;font-weight:650;letter-spacing:.01em;color:var(--header-ink)}.app-header p{margin:0;color:var(--header-muted);font-size:.9rem}.app-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}html[data-entry=dingtalk] .module-hub,html[data-entry=dingtalk] .module-hub-shell,html[data-entry=dingtalk] .hr-page{width:100%;max-width:100%;min-width:0;margin-left:0;margin-right:0}html[data-entry=dingtalk] .hr-search{min-width:0}@keyframes module-hub-fade{0%{opacity:0}to{opacity:1}}@keyframes module-hub-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hr-page{width:100%;min-width:0;height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse 80% 50% at 8% 0%,rgba(0,123,199,.1),transparent),radial-gradient(ellipse 55% 40% at 92% 8%,rgba(0,99,163,.08),transparent),var(--bg)}.hr-header{margin:.85rem 1.1rem .6rem;flex-shrink:0}.hr-panes{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 1.1rem .65rem;flex-shrink:0}.hr-body{flex:1 1 auto;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);gap:.85rem;padding:0 1.1rem 1.1rem}.hr-body-reminders{display:block;overflow:auto}.hr-body-reminders .panel{margin-bottom:.85rem}.hr-roster,.hr-chat{min-width:0;min-height:0;display:flex;flex-direction:column;margin:0}.hr-toolbar{min-width:0;display:flex;flex-wrap:wrap;gap:.45rem .6rem;align-items:center;margin-bottom:.7rem}.hr-page input:not([type=checkbox]):not([type=file]),.hr-page select,.hr-page textarea{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.4rem .55rem;font:inherit;color:var(--ink);background:#fff}.hr-form-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;color:var(--muted)}.hr-toolbar select{max-width:160px}.hr-archive{display:flex;align-items:center;gap:.35rem;font-size:.86rem;color:var(--muted);white-space:nowrap}.hr-archive select{max-width:200px}.hr-archive-note{margin:-.35rem 0 .65rem}.hr-search{min-width:12rem;flex:1 1 12rem}.hr-search-all{white-space:nowrap}.hr-audit{width:min(920px,100%)}.hr-audit-list{max-height:min(60vh,28rem);overflow:auto;margin-top:.6rem;border:1px solid var(--line);border-radius:var(--radius-sm)}.hr-audit-list .hr-table td{white-space:normal;vertical-align:top}.hr-audit-filters{display:flex;flex-wrap:wrap;gap:.55rem .75rem;align-items:center;margin-top:.65rem}.hr-audit-filters label{display:flex;align-items:center;gap:.3rem;font-size:.82rem;color:var(--muted)}.hr-audit-pager{display:flex;align-items:center;gap:.5rem;margin-top:.65rem;font-size:.82rem;color:var(--muted)}.hr-scopes{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem}.hr-scope{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:var(--radius-pill);padding:.2rem .7rem;font-size:.82rem;cursor:pointer}.hr-scope.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.hr-count{font-size:.82rem;color:var(--muted)}.hr-toolbar-spacer{flex:1 1 8px}.hr-table-wrap{flex:1 1 auto;min-width:0;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);contain:layout paint}.hr-roster-grid{--hr-freeze-bg: #fff;--hr-freeze-on: color-mix(in srgb, rgb(0, 123, 199) 10%, #fff);display:grid;width:max-content;min-width:100%;font-size:.82rem}.hr-grid-row{display:contents}.hr-grid-spacer{grid-column:1 / -1}.hr-grid-row:not(.hr-grid-head){cursor:pointer}.hr-grid-cell{padding:.42rem .65rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;background:#fff}.hr-roster-grid .hr-grid-row:not(.hr-grid-head) .hr-grid-cell{box-sizing:border-box;height:2.25rem}.hr-grid-head .hr-grid-cell{position:sticky;top:0;z-index:5;background:#f6f9fc;font-weight:600}.hr-grid-row:not(.hr-grid-head):hover .hr-grid-cell,.hr-grid-row.is-on .hr-grid-cell{background:var(--accent-soft)}.hr-roster-grid .hr-col-freeze{position:sticky;z-index:2;background:var(--hr-freeze-bg)}.hr-roster-grid .hr-col-name{left:0}.hr-roster-grid .hr-col-sort{left:calc(var(--hr-name-w, 4.5rem) - 1px);box-shadow:1px 0 0 var(--line)}.hr-roster-grid:has(.hr-col-sort) .hr-col-name{box-shadow:none}.hr-roster-grid .hr-grid-head .hr-col-freeze{z-index:6;background:#f6f9fc}.hr-grid-row:not(.hr-grid-head):hover .hr-col-freeze,.hr-grid-row.is-on .hr-col-freeze{background:var(--hr-freeze-on)}.hr-table{--hr-freeze-bg: #fff;--hr-freeze-on: color-mix(in srgb, rgb(0, 123, 199) 10%, #fff);width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.82rem}.hr-table th,.hr-table td{padding:.42rem .65rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.hr-table th{position:sticky;top:0;background:#f6f9fc;font-weight:600;z-index:1}.hr-sort{display:inline-flex;align-items:center;gap:.25rem;border:0;padding:0;background:none;font:inherit;font-weight:600;color:inherit;cursor:pointer;white-space:nowrap}.hr-sort-mark{font-size:.72rem;color:var(--muted);font-weight:500}.hr-sort.is-on .hr-sort-mark{color:var(--accent-hover)}.hr-table .hr-col-freeze{--hr-freeze-fill: var(--hr-freeze-bg);position:sticky}.hr-table td.hr-col-freeze{padding:0}.hr-table .hr-col-name{left:0;z-index:3;box-shadow:1px 0 0 var(--line)}.hr-table .hr-col-sort{left:calc(var(--hr-name-w, 4.5rem) - 1px);z-index:2;box-shadow:1px 0 0 var(--line)}.hr-table:has(.hr-col-sort) .hr-col-name{box-shadow:none}.hr-table th.hr-col-name{z-index:5;background:#f6f9fc;box-shadow:1px 0 0 var(--line)}.hr-table th.hr-col-sort{z-index:4;background:#f6f9fc;box-shadow:1px 0 0 var(--line)}.hr-table:has(.hr-col-sort) th.hr-col-name{box-shadow:none}.hr-table tbody tr{cursor:pointer}.hr-table tbody tr:hover,.hr-table tbody tr.is-on{background:var(--accent-soft)}.hr-table tbody tr:hover td.hr-col-freeze,.hr-table tbody tr.is-on td.hr-col-freeze{--hr-freeze-fill: var(--hr-freeze-on);background-color:var(--hr-freeze-on)}.hr-pill{display:inline-block;padding:.05rem .45rem;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-hover);font-size:.78rem}.hr-pill.is-left{background:#f8e8e6;color:var(--danger)}.hr-hit{margin:0;padding:.05em .12em;border-radius:3px;background:#ffe082;color:inherit;font:inherit}.hr-page .danger-btn{border:1px solid #f0c9c5;background:#fff;color:var(--danger);border-radius:var(--radius-sm);padding:.28rem .55rem;cursor:pointer;font-size:.82rem}.hr-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius-sm);padding:2rem 1rem}.hr-empty strong{color:var(--ink);margin-bottom:.35rem}.hr-peek{margin-top:.65rem;padding-top:.55rem;border-top:1px solid var(--line)}.hr-peek h3{margin:0 0 .2rem;font-size:1rem}.hr-peek p{margin:.15rem 0;color:var(--muted);font-size:.86rem}.hr-sync-note{font-size:.78rem;color:var(--muted);white-space:nowrap;margin-right:.35rem}.hr-note-btn{margin-top:.6rem}.hr-note-form{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--line);display:grid;gap:.45rem}.hr-note-form label{display:grid;gap:.2rem;font-size:.8rem;color:var(--muted)}.hr-note-form input{height:2rem;padding:0 .5rem;border:1px solid var(--line);border-radius:.35rem;background:var(--card);color:var(--foreground);font-size:.86rem}.hr-note-actions{display:flex;gap:.5rem;justify-content:flex-end}.hr-dl{margin:.35rem 0 0;display:grid;gap:.35rem}.hr-dl div{display:grid;grid-template-columns:3.2rem 1fr;gap:.5rem;font-size:.86rem}.hr-dl dt{color:var(--muted)}.hr-dl dd{margin:0}.hr-ratio{margin:.4rem 0 0!important;font-weight:650}.hr-fieldset{border:1px solid var(--line);border-radius:var(--radius-sm);margin:0 0 .75rem;padding:.7rem .8rem .85rem}.hr-fieldset legend{padding:0 .35rem;font-size:.82rem;font-weight:650;color:var(--ink)}.hr-chat-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem;flex-shrink:0}.hr-chat-tools{display:flex;align-items:center;gap:.45rem}.hr-chat-reset{font-size:.78rem;padding:.15rem .5rem}.hr-query-chips{display:flex;flex-wrap:wrap;gap:.28rem;margin-bottom:.4rem}.hr-query-chips span{font-size:.72rem;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:.05rem .45rem}.hr-mini-table tbody tr{cursor:pointer}.hr-mini-table tbody tr:hover{background:var(--accent-soft)}.hr-model{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--muted)}.hr-thread{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:.55rem}.hr-suggest{display:flex;flex-wrap:wrap;gap:.45rem;flex-shrink:0;margin-bottom:.55rem;padding:.2rem .15rem .35rem}.hr-suggest .asst-suggest-chip:hover:not(:disabled){transform:none}.hr-bubble{max-width:95%;padding:.55rem .7rem;border-radius:var(--radius-sm);font-size:.88rem;line-height:1.45}.hr-bubble p{margin:0;white-space:pre-wrap}.hr-stat-list{list-style:none;margin:.45rem 0 0;padding:0}.hr-stat-list li{display:flex;justify-content:space-between;gap:.6rem;padding:.12rem 0;border-bottom:1px solid var(--line)}.hr-stat-list em{font-style:normal;font-weight:650}.hr-analysis{margin-top:.45rem}.hr-mini-table{margin-top:.5rem;overflow:auto;max-height:220px}.hr-mini-table-bar{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;margin-bottom:.35rem}.hr-mini-table-bar .hint{margin:0;flex:1 1 auto;font-size:.75rem}.hr-mini-export{font-size:.75rem;padding:.12rem .5rem}.hr-mini-table table{width:100%;border-collapse:collapse;font-size:.78rem}.hr-mini-table th,.hr-mini-table td{padding:.22rem .35rem;border-bottom:1px solid var(--line);white-space:nowrap}.hr-composer{display:flex;gap:.45rem;margin-top:.55rem;align-items:flex-end}.hr-composer textarea{flex:1 1 auto;resize:none;min-height:2.6rem}.hr-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#101c2859;display:flex;align-items:center;justify-content:center;z-index:40;padding:1rem}.hr-modal{width:min(920px,100%);max-height:min(90vh,900px);overflow:auto;margin:0}.hr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem .8rem}.hr-fieldset>label{display:flex;flex-direction:column;gap:.25rem;margin-top:.95rem;font-size:.82rem;color:var(--muted)}.hr-addable{display:flex;flex-direction:column;gap:.35rem}.hr-page input.hr-ro:not([type=checkbox]),.hr-page input[readonly]:not([type=checkbox]):not([type=file]){background:#eceff3;color:var(--muted)}.hr-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}@media(max-width:980px){.hr-page{height:auto;min-height:100vh;min-height:100dvh;overflow:auto}.hr-body{grid-template-columns:1fr}.hr-roster{min-height:0}.hr-table-wrap{flex:none;height:min(68vh,640px);min-height:280px}.hr-chat{height:70vh;min-height:420px}.hr-form-grid{grid-template-columns:1fr}}@media(max-width:640px){.hr-page .app-header-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.35rem .75rem}.hr-page .app-brand{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:.15rem .75rem;width:auto;min-width:0}.hr-page .app-logo{grid-column:1;grid-row:1;height:28px;width:auto}.hr-page .app-brand-text{grid-column:1 / -1;grid-row:2;width:auto;min-width:0}.hr-page .app-header h1{font-size:1.2rem;line-height:1.3;word-break:normal;overflow-wrap:break-word}.hr-page .app-header p{word-break:normal;overflow-wrap:break-word}.hr-page .header-actions{grid-column:2;grid-row:1;width:auto;margin:.15rem 0 0;align-self:start;justify-content:flex-end}}.panel.smart-config-bar{padding:.75rem 1.25rem}.smart-config-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem}.smart-config-row+.smart-config-row{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--line)}.smart-config-select{display:flex;align-items:center;gap:.5rem;font-weight:600}.smart-config-select select{min-width:16rem;padding:.35rem .5rem}.smart-config-summary{flex:1 1 18rem;display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none}.smart-config-summary li{padding:.15rem .6rem;border-radius:var(--radius-pill);background:var(--bg);color:var(--muted);font-size:.76rem;white-space:nowrap}.smart-config-summary li:first-child{background:var(--accent-soft);color:var(--accent);font-weight:600}.smart-config-actions{display:flex;gap:.25rem;margin-left:auto}.smart-config-actions .agent-ghost-btn.is-on{color:var(--accent);background:var(--accent-soft)}.smart-config-row input:not([type=file]){min-width:14rem;padding:.35rem .5rem}.smart-config-bar .error{margin:.5rem 0 0}@keyframes design-spin{to{transform:rotate(360deg)}}.flow-steps{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}.flow-step{display:flex;align-items:center;gap:.45rem;border:1px solid var(--line);background:#fff;padding:.55rem .75rem;cursor:pointer;text-align:left;color:var(--ink);flex:1 1 140px;min-width:0;border-radius:var(--radius-sm)}.flow-step .flow-idx{width:1.4rem;height:1.4rem;border-radius:50%;background:#dfe6ec;color:#456;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}.flow-step .flow-text{display:flex;flex-direction:column;gap:.05rem;min-width:0}.flow-step .flow-text strong{font-size:.88rem}.flow-step .flow-text em{font-style:normal;font-size:.72rem;color:var(--muted)}.flow-step .flow-arrow{margin-left:auto;color:#9aa7b5;font-size:.95rem}.flow-step.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px #007bc733}.flow-step.active .flow-idx{background:var(--accent);color:#fff}.flow-step.done .flow-idx{background:#7faf96;color:#fff}.flow-step.locked{opacity:.45;cursor:not-allowed}.external-series-status{display:flex;flex-wrap:wrap;gap:.35rem .85rem;align-items:baseline;margin:0 0 .85rem;padding:.45rem .75rem;border:1px solid var(--line);background:#f6f7f4}.external-series-status span{color:#5c6560}.panel-muted{opacity:.72}html[data-entry=dingtalk] .header-actions-sep:has(+.header-logout-btn){display:none!important}.header-actions-sep{width:1px;height:1.15rem;background:var(--line);margin:0 .2rem;flex-shrink:0}.stack3d-top-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.25rem;margin-bottom:1rem}.stack3d-inputs-col{flex:0 0 auto;display:flex;flex-direction:column;gap:.75rem}.stack3d-inputs-col .field-grid{gap:.85rem 1rem;margin:0}.cap-check-compact{flex:0 0 auto;margin-left:auto;min-width:320px;max-width:440px;border:1px solid var(--line);border-radius:8px;padding:.7rem .9rem .8rem;background:#eef6f0}.cap-check-compact-title{font-size:.95rem;color:var(--muted);margin-bottom:.5rem;font-weight:600}.cap-check-compact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem .85rem}.cap-check-compact-grid>div{display:flex;flex-direction:column;gap:.2rem}.cap-check-compact-grid span{font-size:.85rem;color:var(--muted);line-height:1.25}.cap-check-compact-grid strong{font-size:1.2rem;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.25}.cap-check-compact-grid .tone-ok strong{color:#1e7a3a}.cap-check-compact-grid .tone-warn strong{color:#c48a00}.cap-check-compact-grid .tone-bad strong{color:#c0392b}@media(max-width:720px){.cap-check-compact{min-width:0;max-width:none;width:100%;margin-left:0}.stack3d-inputs-col{width:100%}}.stack3d-pack-mode{border:1px solid var(--line);border-radius:6px;padding:.65rem .85rem .75rem;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.65rem 1.25rem}.stack3d-pack-mode legend{padding:0 .35rem;font-size:.88rem;color:var(--muted)}.stack3d-pack-opt{display:flex;align-items:flex-start;gap:.45rem;cursor:pointer;font-size:.9rem;color:var(--ink)}.stack3d-pack-opt input{margin-top:.2rem}.stack3d-pack-opt span{display:flex;flex-direction:column;gap:.15rem}.stack3d-pack-opt em{font-style:normal;font-size:.8rem;color:var(--muted)}.stack3d-inputs-col .stack3d-counts.field-grid{display:grid;grid-template-columns:180px 180px 180px;width:max-content;max-width:none}.stack3d-inputs-col .stack3d-gaps.field-grid{display:grid;grid-template-columns:180px 180px;width:max-content;max-width:none}@media(max-width:720px){.stack3d-inputs-col .stack3d-counts.field-grid{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.stack3d-inputs-col .stack3d-gaps.field-grid,.field-grid.is-cols-3,.field-grid.is-cols-2{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}}.design-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0f2a3d73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.design-loading-card{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.75rem 2.25rem;background:#fffffff0;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 44px #0f2a3d29;min-width:min(320px,86vw)}.design-loading-card p{margin:0;font-size:1rem;font-weight:600;color:var(--ink);text-align:center}.smart-design-shell .panel{box-shadow:none}.smart-design-shell .flow-steps{gap:.25rem;padding:.25rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm)}.smart-design-shell .flow-step{border-color:transparent;background:transparent;padding:.4rem .75rem;justify-content:center}.smart-design-shell .flow-step .flow-text em,.smart-design-shell .flow-step .flow-arrow{display:none}.smart-design-shell .flow-step.active{background:var(--accent-soft);box-shadow:none}.smart-design-shell .pack-gate-hint{color:var(--ink);background:var(--accent-soft);border:none;border-left:3px solid var(--accent);border-radius:var(--radius-sm);font-size:.85rem}.smart-design-shell .smart-pack-meta{gap:.4rem;font-size:.78rem}.smart-design-shell .smart-pack-meta>span{padding:.3rem .65rem;border-radius:var(--radius-sm);background:var(--bg)}.field-primary select,.field-secondary select,.field-inherited select{border:1px solid var(--line);padding:.65rem .75rem;font-size:1.1rem;font-weight:600;color:var(--ink);background:#f3faf6;border-color:#8fc4a8;width:100%}.field-inherited span{font-size:.82rem;color:#5a6a7a}.field-inherited input{font-size:.92rem;background:#eef1f4;border-color:#c5ced8;color:#5a6570;cursor:not-allowed}.field-priority.muted{background:#7a8b9a}.parity-banner{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .85rem;margin-bottom:1rem;padding:.7rem .9rem;border:1px solid var(--line)}.parity-banner.even{background:#eef6ff;border-color:#b7cce8}.parity-banner.odd{background:#fff6eb;border-color:#e8d0a8}.parity-banner strong{font-size:.98rem}.parity-banner.even strong{color:#1e4d8c}.parity-banner.odd strong{color:#8a5a12}.parity-banner span{font-size:.85rem;color:var(--muted)}.ghost-btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:.45rem .85rem;cursor:pointer;font-size:.85rem;border-radius:var(--radius-sm)}.ghost-btn:hover{border-color:var(--accent);color:var(--accent)}.field-hint{font-style:normal;color:#8a97a6;font-size:.8rem}.param-section{margin-bottom:1.1rem}.param-section-title{margin:0 0 .65rem;font-size:.88rem;font-weight:650;color:#3d4f5f;letter-spacing:.02em}.primary-section .param-section-title{color:var(--accent)}.secondary-section .param-section-title{color:#6b7a89;font-weight:600}.field-grid.primary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.field-primary span{color:#1f3d32;font-weight:600;font-size:.92rem}.field-primary input{border-color:#8fc4a8;background:#f3faf6;font-size:1.1rem;font-weight:600;padding:.65rem .75rem}.field-secondary span{font-size:.82rem}.field-secondary input{font-size:.92rem;background:#fafbfc}.field-priority{display:inline-block;margin-right:.35rem;padding:.05rem .3rem;font-size:.68rem;font-weight:700;color:#fff;background:var(--accent);vertical-align:.1em}.film-out-kv{grid-template-columns:repeat(3,minmax(0,1fr))}.kv-item.kv-warn{border-left-color:var(--danger);background:#fff5f4}.kv-item.kv-warn .kv-value{color:var(--danger)}@media(max-width:900px){.field-grid.primary-grid,.primary-kv{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.field-grid.primary-grid,.primary-kv{grid-template-columns:1fr}}.limit-hint{margin:0 0 .85rem;font-size:.85rem;color:var(--danger)}.kv-item.kv-warn .kv-value{color:#b33939;font-weight:700}.sample-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem}.empty-state{color:var(--muted);padding:1.25rem .25rem;font-size:.95rem}.ai-train-workbench{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.ai-train-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.ai-train-list li{border:1px solid var(--border, #c9d6e2);padding:.75rem .9rem;background:#fff}.ai-train-list li.is-disabled{opacity:.55}.ai-train-list-meta{display:flex;flex-wrap:wrap;gap:.65rem;align-items:baseline}.scheme-transfer-head{display:flex;flex-wrap:wrap;gap:.35rem 1rem;align-items:baseline;margin-bottom:.85rem}.scheme-transfer-head h2,.scheme-transfer-head p{margin:0}.scheme-transfer-head p{color:#5c6560}.scheme-transfer-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem 1.25rem;margin:0 0 1rem}.scheme-transfer-facts div{margin:0}.scheme-transfer-facts dt{color:#5c6560;font-size:.82rem}.scheme-transfer-facts dd{margin:.15rem 0 0}.scheme-transfer-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.55rem .85rem}.primary-kv{grid-template-columns:repeat(4,minmax(0,1fr))}.kv-item{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .65rem;background:#f7faf8;border-left:3px solid #b7dfc8}.kv-item.kv-primary{background:linear-gradient(180deg,#e8f6ef,#f4faf7);border-left-width:4px;border-left-color:var(--accent);padding:.85rem .9rem}.kv-item.kv-primary .kv-label{font-size:.82rem;color:#3d5c4e;font-weight:600}.kv-item.kv-primary.kv-esr{border-color:#c5d4e8;background:linear-gradient(180deg,#f3f7fc,#fff)}.kv-item.kv-primary.kv-esr .kv-value{color:#1a4a7a}.kv-item.kv-primary .kv-value{font-size:1.35rem;font-weight:700;color:#0a3d2c;letter-spacing:.01em}.kv-item.kv-secondary{background:#f8f9fa;border-left-color:#cfd6de}.kv-item.kv-secondary .kv-value{font-size:.9rem;color:#3a4654}.kv-label{font-size:.78rem;color:var(--muted)}.kv-value{font-size:.95rem;font-variant-numeric:tabular-nums}.core-esr-fields{margin-top:1.25rem;padding-top:.5rem;border-top:1px dashed var(--line)}.smart-esr-reset{font-size:.78rem;padding:.35rem .65rem;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;color:var(--ink)}.smart-esr-reset:hover{border-color:#9aa8b8}.smart-esr-block{margin-top:.85rem;padding:.65rem .75rem .85rem;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.smart-esr-block-inner{border-color:#c5d4e8;background:#f3f7fc}.smart-esr-block-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .75rem;margin:0 0 .55rem;font-size:.92rem;font-weight:700;color:#1e2a3a}.smart-esr-block-tag{font-size:.72rem;font-weight:500;color:#5a6b7d}.smart-esr-zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.65rem}.smart-esr-zone{background:#fff;border:1px solid var(--line);border-radius:8px;padding:.55rem .65rem .7rem}.smart-esr-zone h5{margin:0 0 .45rem;font-size:.82rem;font-weight:650}.smart-esr-zone label{display:flex;flex-direction:column;gap:.2rem;margin-top:.4rem;font-size:.72rem;color:#8a97a6}.smart-esr-zone input{width:100%;box-sizing:border-box;padding:.35rem .45rem;border:1px solid var(--line);border-radius:6px;font-size:.88rem;font-variant-numeric:tabular-nums}.smart-esr-zone input:read-only{background:#f3f6f8;color:var(--muted)}.smart-esr-zone-note{margin:.55rem 0 0;font-size:.72rem;color:var(--muted);line-height:1.4}.field-optional{margin-left:.25rem;font-style:normal;font-size:.75rem;font-weight:500;color:#8a97a6}.design-mode-fieldset{border:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.design-mode-opt{display:flex;align-items:flex-start;gap:.55rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:#f7fafc}.design-mode-opt.selected{border-color:var(--accent, #007bc7);background:#e8f2f6;box-shadow:inset 0 0 0 1px var(--accent, #007bc7)}.design-mode-opt input{margin-top:.25rem}.design-mode-opt span{display:flex;flex-direction:column;gap:.2rem}.design-mode-opt em{font-style:normal;font-size:.82rem;color:var(--muted);line-height:1.4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.agent-chat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden;box-shadow:var(--shadow)}.agent-chat-float{position:fixed;z-index:920;margin:0;display:flex;flex-direction:column;overflow:hidden;min-width:320px;border-radius:16px;background:#fffffff5;border:1px solid rgba(21,37,54,.08);box-shadow:0 1px 2px #0f2a3d0a,0 18px 48px #0f2a3d24;-webkit-backdrop-filter:blur(18px) saturate(1.12);backdrop-filter:blur(18px) saturate(1.12)}.agent-chat.agent-chat-dock{position:relative;z-index:2;left:auto;top:auto;width:auto;height:auto;min-width:0;margin:0 0 1rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.agent-chat.agent-chat-dock:before{display:none}.agent-chat.agent-chat-dock .agent-chat-float-body{flex:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,21rem);grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"msgs side" "prompts side" "composer side"}.agent-chat.agent-chat-dock .agent-chat-messages{grid-area:msgs;min-height:9rem;max-height:20rem}.agent-chat.agent-chat-dock .agent-chat-composer{grid-area:composer;padding-top:.55rem}.agent-chat.agent-chat-dock .agent-chat-header-actions .agent-model-select select{max-width:13rem}.agent-quick-prompts{grid-area:prompts;display:flex;flex-wrap:wrap;gap:.35rem;padding:.55rem .85rem 0;background:var(--panel)}.agent-quick-prompts button{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:var(--radius-pill);padding:.2rem .7rem;font-size:.76rem;cursor:pointer}.agent-quick-prompts button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.agent-dock-side{grid-area:side;display:flex;flex-direction:column;gap:.7rem;padding:.85rem 1rem 1rem;border-left:1px solid var(--line);background:var(--panel);min-width:0}.agent-dock-side-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.agent-dock-side-head strong{font-size:.88rem;font-weight:600}.agent-dock-side-head span{padding:.1rem .55rem;border-radius:var(--radius-pill);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-dock-side-head .is-ready{color:#1a7f52;background:#1aa36a1a}.agent-dock-side-head .is-pending{color:var(--danger);background:#b4231814}.agent-param-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin:0}.agent-param{min-width:0;padding:.35rem .6rem;border:1px solid var(--line);border-radius:var(--radius-sm)}.agent-param.is-wide{grid-column:1 / -1}.agent-param dt{font-size:.7rem;color:var(--muted)}.agent-param dd{margin:0;font-size:.92rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-param.is-missing{border-style:dashed}.agent-param.is-missing dd{color:var(--danger);font-weight:500}.agent-constraint-block>span{display:block;margin-bottom:.3rem;font-size:.7rem;color:var(--muted)}.agent-constraint-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none}.agent-constraint-chips li{padding:.12rem .5rem;border-radius:var(--radius-pill);background:var(--bg);color:var(--ink);font-size:.72rem;white-space:nowrap}.agent-dock-side-actions{display:flex;gap:.5rem;margin-top:auto}.agent-dock-side-actions .primary-btn{flex:1 1 auto}.agent-dock-collapsed{flex:1 1 auto;display:flex;align-items:center;justify-content:flex-end;gap:.75rem;min-width:0}.agent-dock-collapsed span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;color:var(--muted)}.agent-dock-collapsed .primary-btn{flex:0 0 auto;padding:.3rem .85rem;font-size:.8rem}.agent-secondary-btn.is-strong{border-color:var(--accent);color:var(--accent)}@media(max-width:900px){.agent-chat.agent-chat-dock .agent-chat-float-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"msgs" "prompts" "composer" "side"}.agent-dock-side{border-left:none;border-top:1px solid var(--line)}.agent-dock-collapsed span{display:none}}.agent-chat-float:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#007bc7,#5bb0e0);pointer-events:none;z-index:3}.agent-chat-float.is-collapsed .agent-chat-title em{display:none}.agent-chat-float.is-collapsed .agent-chat-header{padding:.5rem .65rem .5rem .95rem;border-bottom:none}.agent-chat-float-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;position:relative;background:#fff}.agent-chat-float .agent-chat-messages{flex:1 1 auto;max-height:none;min-height:0}.agent-chat-float .agent-session-bar,.agent-chat-float .agent-chat-composer{flex:0 0 auto}.agent-chat-drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.agent-chat-drag-handle:active{cursor:grabbing}.agent-float-dragging{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.agent-float-dragging *{cursor:inherit!important}.agent-chat-resize{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;touch-action:none;z-index:2}.agent-chat-resize:after{content:"";position:absolute;right:4px;bottom:4px;width:10px;height:10px;border-right:2px solid rgba(10,58,92,.45);border-bottom:2px solid rgba(10,58,92,.45)}.agent-chat-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(90deg,#0a3a5c,#0d5a8a 55%,#007bc7);color:#eef6fb}.agent-chat-header-actions{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}.agent-token-remain{flex:0 0 auto;white-space:nowrap;border:1px solid rgba(255,255,255,.28);background:#081c2673;color:#b8f0d0;padding:.35rem .55rem;font-size:.78rem;font-weight:650;letter-spacing:.02em}.agent-token-remain.is-warn{color:#ffe0a3;border-color:#ffd27873}.agent-token-remain.is-critical{color:#ffb4a8;border-color:#ff8c7880}.agent-token-remain.is-unknown{color:#eef6fbb3;font-weight:500}.agent-model-select select{max-width:min(48vw,220px);border:1px solid rgba(255,255,255,.28);background:#081c2673;color:#eef6fb;padding:.35rem .5rem;font-size:.82rem;cursor:pointer}.agent-model-select select:focus{outline:2px solid rgba(255,255,255,.35)}.agent-model-select select:disabled{opacity:.6;cursor:not-allowed}.agent-model-select option{color:#1a2332;background:#fff}.agent-chat-title{display:flex;align-items:center;gap:.7rem;min-width:0}.agent-chat-title strong{display:block;font-size:.95rem;font-weight:650}.agent-chat-title em{display:block;font-style:normal;font-size:.78rem;opacity:.82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(62vw,520px)}.agent-chat-messages{max-height:280px;overflow-y:auto;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.65rem;background:linear-gradient(180deg,#f4f8f6,#fff 48px)}.agent-msg{display:flex;max-width:92%}.agent-msg-bubble{border:1px solid var(--line);background:#fff;padding:.65rem .8rem;font-size:.9rem;line-height:1.45}.agent-msg-user .agent-msg-bubble{background:#007bc7;border-color:#007bc7;color:#fff}.agent-msg-system .agent-msg-bubble{background:#f0f6fb;border-color:#c5d5e4;color:#1a3548;font-size:.85rem}.agent-msg-text{margin:0;white-space:pre-wrap;word-break:break-word}.agent-msg-file{margin:.4rem 0 0;font-size:.8rem;opacity:.85}.agent-msg-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem}.agent-case-suggestions{display:flex;flex-direction:column;gap:.45rem;margin-top:.7rem}.agent-case-suggest-card{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;text-align:left;width:100%;border:1px solid var(--line);background:#f7fbfe;padding:.55rem .7rem;cursor:pointer;border-radius:6px;color:var(--ink);font:inherit}.agent-case-suggest-card:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.agent-case-suggest-card:disabled{opacity:.55;cursor:default}.agent-case-suggest-card strong{font-size:.9rem}.agent-case-suggest-card span{font-size:.8rem;color:var(--muted)}.agent-case-suggest-card em{font-style:normal;font-size:.78rem;font-weight:650;color:var(--accent);margin-top:.15rem}.agent-case-suggest-card.is-geo-only{background:#faf8f4;border-color:#e0d5c4}.agent-case-suggest-card.is-geo-only em{color:#9a6b2f}.agent-secondary-btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:.55rem .9rem;font-size:.88rem;cursor:pointer}.agent-secondary-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.agent-secondary-btn:disabled,.agent-send-btn:disabled{opacity:.55;cursor:not-allowed}.agent-msg-typing{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.86rem}.agent-msg-typing span{width:.4rem;height:.4rem;border-radius:50%;background:var(--accent);opacity:.45;animation:agent-dot 1s infinite ease-in-out}.agent-msg-typing span:nth-child(2){animation-delay:.15s}.agent-msg-typing span:nth-child(3){animation-delay:.3s}@keyframes agent-dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.agent-chat-composer{border-top:1px solid var(--line);padding:.75rem 1rem .85rem;background:#fafbfc}.agent-file-chip{display:inline-flex;align-items:center;gap:.4rem;max-width:100%;margin-bottom:.5rem;padding:.25rem .45rem .25rem .6rem;border:1px solid #c5d5e4;background:#eef6fb;color:#0063a3;font-size:.82rem}.agent-file-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:28rem}.agent-file-chip button{border:none;background:transparent;color:#0063a3;cursor:pointer;font-size:1.05rem;line-height:1;padding:0 .2rem}.agent-composer-row{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:end}.agent-attach-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:2.6rem;padding:.45rem .75rem;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:.86rem;cursor:pointer}.agent-attach-btn:hover{border-color:var(--accent);color:var(--accent)}.agent-attach-btn input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.agent-composer-row textarea{width:100%;resize:vertical;min-height:2.6rem;max-height:8rem;border:1px solid var(--line);padding:.55rem .7rem;font:inherit;font-size:.92rem;color:var(--ink);background:#fff}.agent-composer-row textarea:focus{outline:2px solid rgba(0,123,199,.35);border-color:var(--accent)}.agent-send-btn{min-height:2.6rem;padding-left:1.1rem;padding-right:1.1rem}.agent-session-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.55rem;padding:.55rem 1rem;border-top:1px solid var(--line);background:#f3f7f5;font-size:.8rem;color:var(--muted)}.agent-session-meta{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:.12rem;line-height:1.4}.agent-session-constraints{font-size:.74rem;color:#6a7a86}.agent-session-bar-actions{display:flex;flex-wrap:wrap;gap:.4rem}.agent-session-bar-actions .primary-btn,.agent-session-bar-actions .agent-secondary-btn{padding:.4rem .75rem;font-size:.82rem}.agent-chat-float .agent-chat-header{background:transparent;color:var(--ink);padding:.62rem .65rem .58rem .95rem;border-bottom:1px solid rgba(21,37,54,.06);gap:.4rem}.agent-chat-float .agent-chat-title{gap:.6rem}.agent-chat-mark{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #007bc71f}.agent-chat-float .agent-chat-title strong{font-size:.86rem;font-weight:600;letter-spacing:.06em;color:#152536}.agent-chat-float .agent-chat-title em{display:flex;align-items:center;gap:.35rem;font-size:.7rem;color:var(--muted);opacity:1;max-width:14rem}.agent-status-dot{width:6px;height:6px;border-radius:50%;background:#9aa8b6;flex:0 0 auto}.agent-status-dot.is-on{background:#1aa36a;box-shadow:0 0 0 3px #1aa36a29}.agent-status-dot.is-off{background:#c9a227}.agent-icon-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:#6b7c8d;border-radius:8px;cursor:pointer;padding:0;flex:0 0 auto}.agent-icon-btn:hover:not(:disabled){background:#007bc714;color:var(--accent)}.agent-icon-btn:disabled{opacity:.4;cursor:not-allowed}.agent-chat-float-body{background:transparent}.agent-chat-float .agent-chat-messages{padding:.95rem .95rem 1rem;gap:.7rem;background:#f4f7fa}.agent-chat-float .agent-msg{max-width:88%}.agent-chat-float .agent-msg-bubble{border:none;border-radius:14px 14px 14px 5px;background:#fff;padding:.68rem .85rem;font-size:.875rem;line-height:1.55;box-shadow:0 1px 2px #0f2a3d0d;color:#1a2a3a}.agent-chat-float .agent-msg-user .agent-msg-bubble{background:var(--accent);color:#fff;border-radius:14px 14px 5px;box-shadow:none}.agent-chat-float .agent-msg-system{max-width:100%;align-self:center}.agent-chat-float .agent-msg-system .agent-msg-bubble{background:transparent;box-shadow:none;color:var(--muted);font-size:.78rem;text-align:center;padding:.2rem .4rem}.agent-chat-float .agent-msg-file{display:inline-block;margin-top:.45rem;padding:.12rem .45rem;border-radius:999px;background:#007bc714;color:var(--accent);font-size:.74rem;opacity:1}.agent-chat-float .agent-msg-user .agent-msg-file{background:#ffffff2e;color:#fff}.agent-chat-float .agent-case-suggest-card{border:1px solid rgba(21,37,54,.08);background:#f8fbfe;border-radius:10px;padding:.55rem .7rem}.agent-chat-float .agent-case-suggest-card em{display:none}.agent-chat-float .agent-msg-actions .primary-btn,.agent-chat-float .agent-session-bar-actions .primary-btn{border-radius:8px;padding:.38rem .8rem;font-size:.8rem}.agent-chat-float .agent-secondary-btn{border-radius:8px;padding:.38rem .75rem;font-size:.8rem;background:transparent}.agent-ghost-btn{border:none;background:transparent;color:var(--muted);padding:.3rem .35rem;font-size:.78rem;cursor:pointer;border-radius:6px}.agent-ghost-btn:hover:not(:disabled){color:var(--accent);background:#007bc70f}.agent-ghost-btn:disabled{opacity:.45;cursor:not-allowed}.agent-chat-float .agent-session-bar{background:#fff;border-top:1px solid rgba(21,37,54,.06);padding:.42rem .85rem;flex-wrap:nowrap;gap:.5rem}.agent-chat-float .agent-session-meta{flex:1 1 auto;min-width:0}.agent-chat-float .agent-session-meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;letter-spacing:.01em}.agent-chat-float .agent-session-constraints{font-size:.68rem;color:#7a8b97}.agent-chat-float .agent-session-bar-actions{flex-wrap:nowrap;flex:0 0 auto}.agent-chat-float .agent-chat-composer{background:#fff;border-top:none;padding:.45rem .7rem .65rem}.agent-chat-float .agent-file-chip{border:none;border-radius:999px;background:#eef6fb;padding:.2rem .4rem .2rem .65rem}.agent-chat-float .agent-composer-row{align-items:center;gap:.4rem}.agent-chat-float .agent-attach-btn{width:36px;height:36px;min-height:36px;padding:0;border:none;border-radius:10px;background:transparent;color:#6b7c8d}.agent-chat-float .agent-attach-btn:hover{background:#007bc714;color:var(--accent)}.agent-chat-float .agent-composer-row textarea{min-height:40px;max-height:7.5rem;resize:none;overflow-y:auto;border:none;border-radius:12px;background:#f4f7fa;padding:.55rem .75rem;font-size:.875rem;line-height:1.45}.agent-chat-float .agent-composer-row textarea:focus{outline:none;background:#eef3f8;box-shadow:0 0 0 2px #007bc72e}.agent-chat-float .agent-send-btn{width:36px;height:36px;min-height:36px;padding:0;border:none;border-radius:10px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.agent-chat-float .agent-send-btn:hover:not(:disabled){background:var(--accent-hover)}.agent-chat-float .agent-send-btn:disabled{opacity:.35;cursor:not-allowed}.agent-composer-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.35rem;min-height:1.2rem}.agent-chat-float .agent-model-select select{max-width:11.5rem;border:none;background:transparent;color:var(--muted);padding:0;font-size:.72rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a97a6' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;padding-right:.9rem}.agent-chat-float .agent-model-select select:focus{outline:none;color:var(--ink)}.agent-chat-float .agent-token-remain{border:none;background:transparent;color:#8a97a6;padding:0;font-size:.72rem;font-weight:500;letter-spacing:0}.agent-chat-float .agent-token-remain.is-warn{color:#b8860b}.agent-chat-float .agent-token-remain.is-critical{color:var(--danger)}.agent-chat-float .agent-chat-resize{width:16px;height:16px}.agent-chat-float .agent-chat-resize:after{right:5px;bottom:5px;width:8px;height:8px;border-right:1.5px solid rgba(21,37,54,.22);border-bottom:1.5px solid rgba(21,37,54,.22)}@media(max-width:640px){.app{padding:1rem .75rem 2rem}.app-header,.panel{padding-left:1rem;padding-right:1rem}.app-header-row{flex-direction:column;align-items:stretch;gap:.75rem}.app-brand{gap:.65rem;width:100%}.app-brand-text{flex:1 1 auto;width:100%}.app-logo{height:32px}.app-header h1{font-size:1.12rem;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}.app-header p{font-size:.78rem}.header-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.header-admin-btn{flex:1 1 auto}.agent-composer-row{grid-template-columns:auto 1fr}.agent-send-btn{grid-column:1 / -1}.agent-chat-title em{white-space:normal;max-width:none}.agent-chat-messages{max-height:240px}.agent-chat-float .agent-chat-messages{max-height:none}.agent-chat-header{flex-wrap:wrap}.agent-chat-float{max-width:calc(100vw - 16px)}.agent-chat.agent-chat-dock{max-width:none;position:relative}.agent-chat-float .agent-chat-header{flex-wrap:nowrap}.agent-chat-header-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.agent-chat-float .agent-chat-header-actions{width:auto;flex-wrap:nowrap}.agent-chat-float .agent-composer-row{grid-template-columns:auto 1fr auto}.agent-chat-float .agent-send-btn{grid-column:auto}.agent-chat-float .agent-session-bar{flex-wrap:wrap}.agent-token-remain{white-space:normal}.agent-model-select{flex:1 1 100%}.agent-model-select select{max-width:none;width:100%}.agent-chat-float .agent-model-select{flex:0 1 auto}.agent-chat-float .agent-model-select select{width:auto;max-width:11.5rem}}.header-admin-btn{flex-shrink:0;padding:.42rem .85rem;border:1px solid var(--line);background:#fff;color:var(--accent);border-radius:var(--radius-sm);cursor:pointer;font-size:.88rem;font-weight:600;box-shadow:0 1px 2px #00508c0f}.header-admin-btn:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover)}.header-admin-btn:disabled{opacity:.45;cursor:not-allowed}.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.header-user-label{font-size:.85rem;color:var(--muted);max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-hub{position:relative;width:100%;min-width:0;min-height:100vh;min-height:100dvh;padding:1.5rem 1.25rem 3rem;color:var(--ink);background:radial-gradient(ellipse 80% 50% at 8% 0%,rgba(0,123,199,.1),transparent),radial-gradient(ellipse 55% 40% at 92% 8%,rgba(0,99,163,.08),transparent),var(--bg)}.module-hub-shell{width:100%;min-width:0;margin:0}.module-hub-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;background:var(--header-bg);color:var(--header-ink);padding:1.05rem 1.4rem 1.1rem;margin-bottom:1.5rem;border:1px solid rgba(211,220,230,.9);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:module-hub-fade .45s ease both}.module-hub-brand{display:flex;align-items:flex-start;gap:1rem;min-width:0}.module-hub-logo{height:25px;width:auto;flex-shrink:0;display:block;object-fit:contain;margin-top:1.2rem}.module-hub-brand-text{min-width:0}.module-hub-brand-text h1{margin:0 0 .25rem;font-size:clamp(1.25rem,2.4vw,1.55rem);font-weight:650;letter-spacing:.01em;color:var(--header-ink)}.module-hub-brand-text p{margin:0;color:var(--header-muted);font-size:.9rem}.module-hub-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.module-hub-entries .module-entry{min-height:8.75rem;align-items:start;gap:.85rem;padding:1.35rem 1.45rem 1.25rem}.module-hub-entries .module-entry-body{align-self:stretch;justify-content:space-between;gap:.85rem}.module-hub-entries .module-entry-go,.module-hub-entries .module-entry-lock,.module-hub-entries .module-entry-coming{margin-top:0;padding-top:0}.module-entry{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:stretch;text-align:left;min-height:11rem;padding:1.35rem 1.35rem 1.2rem;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow);color:var(--ink);cursor:pointer;font:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;animation:module-hub-rise .5s ease both;animation-delay:calc(.08s * var(--entry-i, 1))}.module-entry:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:var(--accent)}.module-entry:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.module-entry-mark{display:block;width:.42rem;height:.42rem;margin-top:.48rem;border-radius:50%;background:var(--accent);flex-shrink:0}.module-entry.is-locked .module-entry-mark,.module-entry.is-coming .module-entry-mark,.module-entry:disabled .module-entry-mark{background:var(--muted)}.module-entry-body{display:flex;flex-direction:column;gap:.45rem;min-width:0}.module-entry-body strong{font-size:1.2rem;font-weight:650;color:var(--ink)}.module-entry-body>span{color:var(--muted);line-height:1.5;font-size:.95rem}.module-entry-go{margin-top:auto;padding-top:.85rem;font-style:normal;font-size:.9rem;font-weight:600;color:var(--accent)}.module-entry:hover:not(:disabled) .module-entry-go{color:var(--accent-hover)}.module-entry.is-locked,.module-entry.is-coming,.module-entry:disabled{opacity:.55;cursor:not-allowed;border-color:#c5d0db}.module-entry-lock{margin-top:auto;padding-top:.85rem;font-style:normal;font-size:.88rem;color:var(--danger)}.module-entry-coming{margin-top:auto;padding-top:.85rem;font-style:normal;font-size:.9rem;font-weight:600;color:var(--muted)}.module-entry:not(:disabled):not(.is-coming) .module-entry-coming{color:var(--accent)}@media(max-width:720px){.module-hub-entries{grid-template-columns:1fr}.module-hub-header{flex-direction:column;align-items:stretch}.module-hub-brand{flex-direction:column;align-items:flex-start}}html[data-entry=dingtalk] .hub-back-btn,html[data-entry=dingtalk] .header-logout-btn{display:none!important}.admin-auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:#0a28467a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.users-drawer-group{display:flex;flex-direction:column;gap:.35rem}.users-drawer-nav-btn.has-children .users-drawer-nav-title{display:flex;align-items:center;width:100%;gap:.35rem}.users-drawer-nav-btn.has-children .users-drawer-nav-title:after{content:"▸";margin-left:auto;font-size:.7rem;color:var(--muted)}.users-drawer-nav-btn.has-children.is-open .users-drawer-nav-title:after{content:"▾"}.users-drawer-nav-btn.is-child{width:calc(100% - .85rem);margin-left:.85rem}.users-accounts-table{table-layout:fixed;width:100%;min-width:52rem}.users-accounts-table .users-col-user{width:7rem}.users-accounts-table .users-col-name{width:6.5rem}.users-accounts-table .users-col-status{width:3.4rem}.users-accounts-table .users-col-mods{width:auto}.users-accounts-table .users-col-token{width:5.8rem}.users-accounts-table .users-col-created{width:8.8rem}.users-accounts-table .users-col-actions{width:9.2rem}.users-accounts-table td:nth-child(1),.users-accounts-table td:nth-child(2){overflow:hidden;text-overflow:ellipsis}.users-accounts-table td.users-mod-summary{max-width:100%;font-size:.82rem;color:var(--muted);line-height:1.4;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.users-mod-chips,.users-mod-tree{display:flex;flex-wrap:wrap;gap:.28rem;max-width:100%}.users-mod-tree{align-items:flex-start;gap:.35rem .45rem}.users-mod-branch{display:flex;flex-direction:column;align-items:flex-start;gap:.28rem;max-width:100%}.users-mod-children{display:flex;flex-wrap:wrap;gap:.28rem;margin-left:.85rem;max-width:100%}button.users-mod-chip{border:none;font:inherit;cursor:pointer}.users-mod-chip.is-toggle:after{content:"▸";margin-left:.28rem;font-size:.65rem;color:var(--muted)}.users-mod-chip.is-toggle.is-open:after{content:"▾"}.users-mod-chip{display:inline-block;max-width:100%;padding:.08rem .42rem;font-size:.75rem;line-height:1.35;color:#334e63;background:#eef3f7;border-radius:999px;white-space:nowrap}.users-mod-chip.is-manage{color:#0f5c4c;background:#e8f6f1}.users-usage-head-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.users-usage-head-tools input[type=search]{min-width:10rem;padding:.35rem .6rem;border:1px solid var(--line);border-radius:8px}.users-drawers{display:grid;grid-template-columns:minmax(10.5rem,13.5rem) minmax(0,1fr);gap:1rem;align-items:start}.users-drawer-nav{display:flex;flex-direction:column;gap:.35rem}.users-drawer-nav-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.12rem;width:100%;padding:.55rem .75rem;text-align:left;background:#f7fafc;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer}.users-drawer-nav-btn.is-active{background:var(--accent-soft);border-color:var(--accent)}.users-drawer-nav-title{font-size:.92rem;font-weight:600;color:var(--ink)}.users-drawer-nav-count{font-size:.75rem;color:var(--muted)}.users-drawer-body{min-width:0}.users-drawer-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.7rem}.users-drawer-toolbar h4{margin:0;font-size:1rem}.users-drawer-toolbar input[type=search]{min-width:11rem;padding:.35rem .6rem;border:1px solid var(--line);border-radius:8px}.users-drawer-cols{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.users-drawer-col{min-width:0;padding:.7rem .75rem .85rem;background:#f7fafc;border:1px solid var(--line);border-radius:var(--radius-sm)}.users-drawer-col-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.users-drawer-col-head span{font-size:.78rem;color:var(--muted)}.users-drawer-col-actions{margin-bottom:.45rem}.users-drawer-col-actions button{padding:.22rem .55rem;font-size:.78rem;cursor:pointer}.users-person-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.users-person{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .6rem;padding:.5rem .6rem;background:#fff;border:1px solid var(--line);border-radius:8px}.users-person.is-disabled{opacity:.6}.users-person-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;min-width:0}.users-person-name{font-weight:600}.users-person-meta code{max-width:100%;overflow-wrap:anywhere}.users-person-off{font-size:.72rem;color:#8a6a3a;background:#fbf6ea;border-radius:4px;padding:.05rem .35rem}.users-dingtalk-tag{display:inline-block;margin-left:.35rem;font-size:.72rem;color:#0f5c4c;background:#e8f6f1;border-radius:4px;padding:.05rem .35rem;vertical-align:middle}.users-person-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.users-person-actions button{padding:.22rem .55rem;font-size:.78rem;cursor:pointer}.users-person-actions .primary-btn{padding:.22rem .7rem;font-size:.78rem}@media(max-width:860px){.users-drawers,.users-drawer-cols{grid-template-columns:1fr}.users-drawer-nav{flex-direction:row;flex-wrap:wrap;align-items:flex-start}.users-drawer-nav-btn{width:auto;min-width:8.5rem}}.users-table .users-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.users-table .users-row-actions button{padding:.25rem .5rem;font-size:.8rem;cursor:pointer}.users-access-select{min-width:5.6rem;max-width:7.2rem;padding:.2rem .35rem;font-size:.8rem;border:1px solid #c5d4e0;border-radius:4px;background:#fff;color:#1a3a52;cursor:pointer}.users-access-select.is-none{color:#8a6a3a;background:#fbf6ea}.users-access-select.is-manage{color:#0f5c4c;background:#e8f6f1}.users-accounts-table th.users-token-col,.users-accounts-table .users-token-cell{position:relative;z-index:1;width:5.8rem;min-width:5.8rem;white-space:nowrap;background:#fff}.users-accounts-table thead th.users-token-col{background:#f4f7f9}.users-accounts-table tbody tr:hover .users-token-cell{background:#f7faf8}.users-token-btn{padding:.15rem .4rem;font:inherit;font-variant-numeric:tabular-nums;color:#155a8a;background:transparent;border:none;border-bottom:1px dashed #155a8a;cursor:pointer}.users-token-btn:disabled{color:inherit;border-bottom:none;cursor:default}.users-token-detail{margin-top:.35rem;max-width:16rem;padding:.4rem .5rem;font-size:.78rem;line-height:1.45;color:#334e63;background:#f4f8fb;border:1px solid #d5e3ee;border-radius:6px;white-space:normal}.users-table tr.is-disabled td{opacity:.55}.users-usage-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.users-usage-head h3{margin:0}.users-extra-usage{margin-top:1rem}.users-extra-usage h4{margin:0 0 .4rem;font-size:.95rem}.users-extra-usage ul{margin:0;padding-left:1.2rem;font-size:.88rem;color:var(--muted)}.users-model-total{margin-top:.75rem}.admin-auth-card{width:min(360px,90vw);padding:1.45rem 1.55rem 1.5rem;background:#ffffffeb;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 44px #0f2a3d24;display:flex;flex-direction:column;gap:.65rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-auth-card h2{margin:0;font-size:1.1rem}.admin-auth-card>p{margin:0;font-size:.88rem;color:var(--muted)}.admin-auth-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;color:var(--muted)}.admin-auth-card input{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.55rem .7rem;font-size:1rem;color:var(--ink);background:#fafbfc}.admin-auth-card input:focus{outline:2px solid rgba(0,123,199,.35);border-color:var(--accent);background:#fff}.admin-auth-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:.35rem}.admin-auth-actions button{padding:.5rem .9rem;font-size:.9rem;cursor:pointer;border:1px solid var(--line);background:#f4f7f9;border-radius:var(--radius-sm)}.admin-auth-actions .primary-btn{border:none;background:var(--accent);color:#fff}.admin-auth-actions .primary-btn:hover:not(:disabled){background:var(--accent-hover)}.admin-auth-actions .primary-btn:disabled{opacity:1;background:var(--accent);color:#fff;cursor:wait}html[data-entry=dingtalk] body,html[data-entry=dingtalk] #root,html[data-entry=dingtalk] .module-keep-alive:not([hidden]){display:block!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;float:none!important}.user-watermark,.user-watermark-sheet,.user-watermark-item{pointer-events:none!important}.user-watermark{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;overflow:hidden;-webkit-user-select:none;user-select:none}.user-watermark-sheet{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;display:grid;grid-template-columns:repeat(6,max-content);justify-content:space-evenly;align-content:space-evenly;gap:3.5rem 4rem;transform:rotate(-28deg);opacity:.11}.user-watermark-item{flex:0 0 auto;font-size:1.1rem;font-weight:600;letter-spacing:.08em;color:#1a3a52;white-space:nowrap;line-height:1}.site-auth-boot{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;color:var(--muted);background:radial-gradient(ellipse 80% 50% at 8% 0%,rgba(0,123,199,.1),transparent),radial-gradient(ellipse 55% 40% at 92% 8%,rgba(0,99,163,.08),transparent),var(--bg)}.site-auth-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1.5rem;position:relative;isolation:isolate}.site-auth-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse 80% 50% at 8% 0%,rgba(0,123,199,.12),transparent),radial-gradient(ellipse 55% 40% at 92% 8%,rgba(0,99,163,.1),transparent),var(--bg)}.site-auth-card{width:min(400px,92vw);box-shadow:0 18px 50px #0f2d461f}.site-auth-logo{display:block;height:25px;width:auto;align-self:flex-start;margin-bottom:.35rem}.site-auth-card h2{font-size:1.2rem}.site-auth-captcha{display:flex;gap:.5rem;align-items:stretch}.site-auth-captcha input{flex:1;min-width:0;letter-spacing:.18em;text-transform:uppercase}.site-auth-captcha-refresh{padding:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:#f4f7fa;cursor:pointer;line-height:0;overflow:hidden}.site-auth-captcha-refresh img{display:block;height:40px;width:auto}.site-auth-captcha-wait{display:grid;place-items:center;width:7rem;height:40px;font-size:.75rem;line-height:1;color:var(--muted)}.site-auth-remember{flex-direction:row!important;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.site-auth-remember input[type=checkbox]{width:1rem;height:1rem;margin:0;padding:0;accent-color:var(--accent);background:#fff}.site-auth-card .admin-auth-actions{justify-content:stretch;margin-top:.55rem}.site-auth-card .admin-auth-actions .primary-btn{width:100%;padding:.72rem 1.25rem;font-size:1rem;font-weight:600;border-radius:12px}.primary-btn{border:none;background:var(--accent);color:#fff;padding:.65rem 1.25rem;font-size:.95rem;cursor:pointer;border-radius:12px;box-shadow:0 8px 18px #0063a329}.primary-btn:hover:not(:disabled){background:var(--accent-hover)}.primary-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.module-keep-alive[hidden]{display:none!important}.design-loading-spinner{width:2.25rem;height:2.25rem;border:3px solid #d5e3dc;border-top-color:var(--accent);border-radius:50%;animation:design-spin .75s linear infinite}.asst-erp-form .primary-btn{flex:0 0 auto;padding:.48rem 1.1rem}html[data-entry=dingtalk] .hr-body,html[data-entry=dingtalk] .sched-tree,html[data-entry=dingtalk] .hr-roster,html[data-entry=dingtalk] .hr-toolbar,html[data-entry=dingtalk] .hr-table-wrap,html[data-entry=dingtalk] .finance-stamp{min-width:0;max-width:100%}.module-hub-entries.is-rows{grid-template-columns:1fr}.module-entry.is-row{min-height:0}.module-entry.is-row .module-entry-go{margin-top:.15rem;padding-top:.35rem}.finance-table{width:100%}.finance-stamp{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .8rem;margin:0 0 .45rem;padding:.7rem .9rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 14%,#fff);color:var(--ink);font-size:1rem}.finance-stamp strong{font-weight:700}.finance-stamp span{font-size:.88rem;font-weight:500;color:var(--muted)}.finance-name{border:0;padding:0;background:none;font:inherit;color:var(--accent);cursor:pointer}.finance-dayline td{color:var(--muted);font-size:.92rem;white-space:normal}.users-create-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:.85rem}.table-wrap{overflow-x:auto}.result-table{width:100%;border-collapse:collapse;font-size:.9rem}.result-table th,.result-table td{border-bottom:1px solid var(--line);padding:.55rem .65rem;text-align:left;white-space:nowrap}.result-table th{background:#f4f7f9;font-weight:600;color:#334155;position:sticky;top:0}.result-table tbody tr:hover{background:#f7faf8}.admin-tabs{display:flex;gap:.35rem;margin:0 0 1rem;flex-wrap:wrap}.admin-tabs button{border:1px solid var(--border, #c9d6e2);background:#fff;color:var(--muted);padding:.45rem .95rem;font-size:.9rem;cursor:pointer}.admin-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.admin-tabs-sub{margin-top:-.55rem}.admin-tabs-sub button{font-size:.84rem;padding:.32rem .8rem;background:#f7fafc}.admin-tabs-sub button.active{background:#fff;color:var(--accent);border-color:var(--accent)}.session-expiry-banner{position:fixed;top:0;left:0;right:0;z-index:1400;display:flex;justify-content:center;padding:.85rem 1rem;pointer-events:none}.session-expiry-card{pointer-events:auto;width:min(520px,94vw);padding:.95rem 1.1rem 1rem;background:#fff8e8;border:1px solid #e0b84a;border-radius:10px;box-shadow:0 12px 36px #0f2a3d38}.session-expiry-card p{margin:0 0 .9rem;font-size:.92rem;line-height:1.55;color:var(--ink)}.session-expiry-actions{display:flex;justify-content:flex-end;gap:.55rem}.session-expiry-actions button{padding:.45rem .85rem;font-size:.88rem;cursor:pointer;border:1px solid var(--line);background:#f4f7f9;border-radius:4px}.feedback-admin-list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.65rem}.feedback-admin-list li{border:1px solid var(--line);border-radius:8px;padding:.7rem .85rem;background:#fafbfc}.feedback-admin-list p{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.92rem;color:var(--ink)}.kb-trial{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem}.kb-trial input{flex:1 1 16rem;min-width:12rem}.kb-upload-box{margin-top:.35rem;padding:.75rem .85rem;border:1px dashed var(--line);border-radius:10px;background:#f8fafc}.kb-upload-box-over{border-color:#3b82f6;background:#eff6ff}.kb-new-collection{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.55rem}.kb-new-collection input{min-width:12rem;flex:1 1 14rem}.kb-file-list{list-style:none;margin:.65rem 0 0;padding:0;max-height:12rem;overflow:auto;display:flex;flex-direction:column;gap:.35rem}.kb-file-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.86rem;padding:.28rem 0;border-bottom:1px solid var(--line)}.kb-file-list li:last-child{border-bottom:none}.kb-filter{display:flex;flex-wrap:wrap;gap:.4rem;margin:.45rem 0 .75rem}.kb-filter button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.15rem .7rem;font-size:.82rem;cursor:pointer;color:var(--muted)}.kb-filter button.kb-filter-on{border-color:#3b82f6;background:#eff6ff;color:#1e40af;font-weight:600}.kb-doc-collection{font:inherit;color:inherit;max-width:9.5rem;padding:.05rem .2rem;border:1px solid var(--line);border-radius:4px;background:#fff}.kb-trial-hits{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.55rem}.kb-trial-hits li{border:1px solid var(--line);border-radius:8px;padding:.55rem .75rem;background:#f7fafc}.kb-trial-hits p{margin:.3rem 0 0;font-size:.85rem;white-space:pre-wrap}.kb-doc-detail{margin-top:.65rem;padding-top:.5rem;border-top:1px dashed var(--line)}.kb-page-list{max-height:9rem;overflow:auto;margin:.35rem 0 .6rem;padding-left:1.1rem;font-size:.8rem;color:var(--muted)}.kb-chunk-preview{margin:.35rem 0 0;font-size:.82rem;white-space:pre-wrap}.kb-status-badge{display:inline-block;padding:.08rem .45rem;border-radius:4px;font-size:.78rem;font-weight:600;line-height:1.35;vertical-align:baseline;border:1px solid transparent}.kb-doc-head{display:flex;flex-direction:column;gap:.28rem;margin-bottom:.45rem}.kb-doc-row1{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.kb-doc-title-meta{min-width:0;flex:1 1 auto;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem}.kb-doc-title{font-weight:700;color:var(--ink)}.kb-doc-meta{font-size:.86rem;color:var(--muted)}.kb-doc-row1 .kb-status-badge{flex:0 0 auto;margin-top:.1rem}.kb-doc-row2{font-size:.82rem;color:var(--muted);word-break:break-all}.kb-doc-row3{margin:0;font-size:.82rem}.feedback-import-btn{display:inline-flex;align-items:center;padding:.45rem .85rem;border:1px solid var(--line);background:#f4f7f9;border-radius:4px;cursor:pointer;font-size:.9rem}.feedback-import-btn:hover{border-color:var(--accent)}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.85rem 1rem}.field-grid.is-cols-3,.field-grid.is-cols-2{width:max-content;max-width:100%;margin-bottom:.75rem}.field-grid.is-cols-2{grid-template-columns:repeat(2,minmax(140px,200px))}.field-grid label{min-width:0;display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;color:var(--muted)}.field-grid input{min-width:0;width:100%;border:1px solid var(--line);padding:.5rem .65rem;font-size:1rem;color:var(--ink);background:#fafbfc}.field-grid input:focus{outline:2px solid rgba(0,123,199,.35);border-color:var(--accent);background:#fff}.ai-train-workbench textarea,.ai-train-workbench input[type=text],.ai-train-panel label>input,.ai-train-panel label>textarea{width:100%;box-sizing:border-box;margin-top:.35rem}.ai-train-file-btn,.feedback-import-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border, #c9d6e2);background:#f7fafc;padding:.4rem .75rem;font-size:.88rem;cursor:pointer}.ai-train-model{display:inline-flex;align-items:center;gap:.35rem;font-size:.88rem}.ai-train-model select{min-width:10rem}.ai-train-summary{margin:0;padding:.75rem .9rem;background:#f4f7fa;border:1px solid var(--border, #c9d6e2);font-size:.82rem;white-space:pre-wrap;max-height:160px;overflow:auto}.ai-train-compare{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem}@media(max-width:800px){.ai-train-compare{grid-template-columns:1fr}}.smart-pack-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:.85rem 0;font-size:.9rem;color:var(--muted)}.smart-pack-meta-empty{color:#b42318;font-weight:700}.smart-empty-banner{margin:.35rem 0 .85rem;padding:.9rem 1rem 1rem;border:1px solid #f3c4bc;border-radius:10px;background:linear-gradient(180deg,#fff7f4,#fff 62%)}.smart-empty-banner-copy strong{display:block;font-size:1.02rem;color:#9f1d14;margin-bottom:.3rem}.smart-empty-banner-copy p{margin:0 0 .4rem;font-size:.9rem;line-height:1.5;color:var(--ink)}.smart-empty-banner-copy .hint{margin:0}.smart-empty-actions,.smart-filter-empty{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.smart-filter-empty{margin:.75rem 0 0;padding:.75rem .85rem;border:1px dashed var(--line);border-radius:8px;background:#f8fafb}.smart-filter-empty p{margin:0;font-size:.9rem;color:var(--ink)}.smart-empty-action{border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:.82rem;padding:.4rem .75rem;border-radius:6px;cursor:pointer;white-space:nowrap}.smart-empty-action:hover{filter:brightness(.95)}.smart-empty-action.is-ghost{background:#fff;color:var(--ink);border-color:var(--line)}.smart-pack-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.75rem;font-size:.9rem}.smart-pack-toolbar select{margin-left:.35rem}.smart-pack-table-wrap{overflow-x:auto;overflow-y:auto;max-height:min(520px,60vh);border:1px solid var(--line);border-radius:6px}.smart-pack-table{width:100%;border-collapse:collapse;font-size:.78rem}.smart-pack-table th,.smart-pack-table td{padding:.3rem .2rem;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}.smart-pack-table th{position:sticky;top:0;background:#f4f7f9;font-weight:600;z-index:1;padding-top:.28rem;padding-bottom:.28rem}.smart-pack-table tbody tr{cursor:pointer}.smart-pack-table tbody tr:hover{background:#f0f7f4}.smart-pack-table tbody tr.is-selected{background:#e3f2eb}.smart-th-stack{display:flex;flex-direction:column;align-items:center;gap:.02rem;line-height:1.15;white-space:nowrap}.smart-th-title-row{display:inline-flex;align-items:center;gap:.12rem;max-width:100%}.smart-th-title{font-weight:650;font-size:.78rem}.smart-th-unit{font-size:.65rem;font-weight:500;color:#7a8a99}.smart-sort-toggle{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:3px;padding:0 .15rem;min-width:1.1rem;font-size:.68rem;line-height:1.25;cursor:pointer}.smart-sort-toggle:hover{border-color:var(--accent);color:var(--accent)}.smart-sort-toggle.is-on{border-color:var(--accent);color:var(--accent);background:#e8f5f0}.smart-inline-select{max-width:5.5rem;font-size:.78rem;padding:.1rem .2rem;border:1px solid var(--line);border-radius:4px;background:#fff;vertical-align:middle}.tag-pref{display:inline-block;margin-left:.12rem;padding:0 .18rem;font-style:normal;font-size:.65rem;color:var(--accent);border:1px solid rgba(0,123,199,.35);border-radius:3px;vertical-align:middle}.smart-pack-detail{margin-top:1rem;padding:.9rem 1rem 1.1rem;border:1px solid var(--line);border-radius:8px;background:#f5f8fa}.smart-pack-detail h3{margin:0;font-size:1rem}@media(min-width:1100px){.smart-flat-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.smart-flat-layout .smart-pack-detail{margin-top:0;position:sticky;top:.5rem}}.smart-detail-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.85rem}.smart-detail-status{display:flex;flex-wrap:wrap;gap:.35rem}.smart-export-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%}.smart-export-actions .primary-btn{padding:.45rem .95rem;font-size:.88rem;border-radius:6px}.smart-status-chip{font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:999px;background:#e8eef2;color:var(--muted)}.smart-status-chip.ok{background:#e3f5ea;color:#1e7a3a}.smart-status-chip.bad{background:#fdecea;color:#c0392b}.smart-detail-layout{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(300px,1fr);gap:.85rem 1rem;align-items:start}.smart-detail-3d{min-width:0;scroll-margin-top:.75rem}.smart-detail-info{display:flex;flex-direction:column;gap:.75rem;min-width:0}.smart-diameter-wheel{display:grid;grid-template-columns:auto 1fr auto auto;grid-template-areas:"label value nudge reset" "hint hint hint hint";align-items:center;gap:.35rem .65rem;padding:.7rem .85rem;background:#fff;border:1px solid var(--line);border-radius:8px;cursor:ns-resize;outline:none;-webkit-user-select:none;user-select:none}.smart-diameter-wheel:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px #007bc733}.smart-diameter-wheel-label{grid-area:label;font-size:.85rem;color:var(--muted)}.smart-diameter-value{grid-area:value;font-size:1.45rem;font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:.01em}.smart-diameter-value em{font-style:normal;font-size:.85rem;font-weight:600;color:var(--muted);margin-left:.2rem}.smart-diameter-nudge{grid-area:nudge;display:inline-flex;align-items:center;gap:.25rem}.smart-diameter-nudge-btn{min-width:2.1rem;height:2rem;padding:0 .4rem;border:1px solid var(--line);border-radius:6px;background:#f4f7f9;color:var(--ink);font-size:.78rem;font-weight:650;font-variant-numeric:tabular-nums;line-height:1;cursor:pointer;touch-action:manipulation}.smart-diameter-nudge-btn:hover{border-color:var(--accent);color:var(--accent);background:#eef6fb}.smart-diameter-nudge-btn:active{background:#e2f0ea}.smart-wheel-pair{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:.2rem;white-space:nowrap;word-break:keep-all;max-width:100%}.smart-wheel-pair em{font-style:normal;font-size:.78rem;color:var(--muted);margin-left:.05rem;flex-shrink:0}.smart-wheel-sep{color:var(--muted)}.smart-wheel-value{display:inline-block;min-width:2.2rem;padding:.1rem .28rem;font-size:.78rem;line-height:1.35;text-align:center;border:1px solid var(--line);border-radius:4px;background:#fff;cursor:pointer;font-variant-numeric:tabular-nums;outline:none;vertical-align:middle;box-sizing:border-box}.smart-wheel-value:hover{border-color:var(--accent);color:var(--accent)}.smart-wheel-value:focus,.smart-wheel-value:focus-visible,.smart-wheel-value.is-active{border-color:var(--accent);background:#e8f4fc;color:var(--accent);box-shadow:0 0 0 1px #007bc759}.smart-diameter-wheel-hint{grid-area:hint;font-size:.75rem;color:#8a97a6}.smart-diameter-reset{grid-area:reset;border:none;background:none;color:var(--muted);font-size:.8rem;text-decoration:underline;cursor:pointer;padding:.2rem 0;justify-self:end}.smart-diameter-reset:hover:not(:disabled){color:var(--accent)}.smart-diameter-reset:disabled{opacity:.35;cursor:default;text-decoration:none}.smart-detail-warns{margin:0;padding:.55rem .75rem .55rem 1.35rem;list-style:disc;background:#fff8e8;border:1px solid #f0dfb0;border-radius:6px;color:#8a6700;font-size:.82rem}.smart-detail-warns li{margin:.2rem 0}.smart-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.smart-metric-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:.65rem .75rem .75rem}.smart-metric-card-wide{grid-column:1 / -1}.smart-metric-card dl.smart-metric-dl-3{grid-template-columns:1fr 1fr 1fr}.smart-metric-card h4{margin:0 0 .5rem;font-size:.82rem;font-weight:650;color:var(--muted);letter-spacing:.02em}.smart-metric-card dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.45rem .75rem}.smart-metric-card dl>div{display:flex;flex-direction:column;gap:.1rem;min-width:0}.smart-metric-card dt{font-size:.72rem;color:#8a97a6}.smart-metric-card dd{margin:0;font-size:.88rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;word-break:break-word}.smart-metric-card dd.tone-ok{color:#1e7a3a}.smart-metric-card dd.tone-bad{color:#c0392b}.smart-metric-empty{margin:0;font-size:.88rem;color:var(--muted)}.smart-esr-panel{margin-top:.85rem;padding:.75rem .85rem .9rem;background:#f7f9fb;border:1px solid var(--line);border-radius:10px}.smart-esr-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1.25rem;margin-bottom:.65rem}.smart-esr-head h4{margin:0 0 .25rem;font-size:.95rem}.smart-esr-hint{margin:0;font-size:.78rem;color:var(--muted);max-width:36rem;line-height:1.45}.smart-esr-readout{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.1rem}.smart-esr-readout>div{display:flex;flex-direction:column;gap:.1rem;min-width:5.5rem}.smart-esr-readout-label{font-size:.72rem;color:#8a97a6}.smart-esr-readout strong{font-size:1.05rem;font-variant-numeric:tabular-nums}.smart-esr-fixed{display:flex;flex-wrap:wrap;gap:.35rem .85rem;margin-bottom:.7rem;font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}.pack-gate-hint{margin-top:0;color:#8a6700;background:#fff8e8;border:1px solid #f0dfb0;padding:.65rem .85rem}.smart-constraints{margin:.85rem 0 1rem;padding:.9rem 1rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#f5f9fc,#fff 48%)}.smart-constraints.has-blocked{border-color:#f3c4bc;background:linear-gradient(180deg,#fff8f5,#fff 48%)}.smart-constraints-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.65rem}.smart-constraints-head h3{margin:0 0 .25rem;font-size:1rem;font-weight:650;color:var(--ink)}.smart-constraints-head p{margin:0;font-size:.82rem;color:var(--muted);max-width:42rem;line-height:1.45}.smart-constraints-actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end;flex-shrink:0}.smart-constraints-reset{border:1px solid var(--line);background:#fff;color:var(--muted);font-size:.82rem;padding:.35rem .7rem;border-radius:6px;cursor:pointer;white-space:nowrap}.smart-constraints-apply{border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:.82rem;padding:.35rem .7rem;border-radius:6px;cursor:pointer;white-space:nowrap}.smart-constraints-apply:hover:not(:disabled){filter:brightness(.95)}.smart-constraints-apply:disabled{opacity:.4;cursor:default}.smart-constraints-reset:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.smart-constraints-reset:disabled{opacity:.4;cursor:default}.smart-constraints-dirty-hint{margin:0 0 .7rem;font-size:.78rem;color:#8a6700;background:#fff8e8;border:1px solid #f0dfb0;border-radius:6px;padding:.35rem .6rem}.smart-constraints-body{display:flex;flex-direction:column;gap:.75rem}.smart-constraint-row{display:grid;grid-template-columns:11.5rem minmax(0,1fr) 7.75rem;column-gap:.85rem;align-items:center}.smart-constraint-label{font-size:.88rem;color:var(--muted);font-weight:600;line-height:1.3}.smart-constraint-toggle{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;-webkit-user-select:none;user-select:none}.smart-constraint-toggle input{width:.95rem;height:.95rem;margin:0;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.smart-constraint-toggle input:disabled{cursor:default}.smart-constraint-row.is-off .smart-constraint-track,.smart-constraint-row.is-off .smart-constraint-value{opacity:.42}.smart-constraint-row.is-blocked{margin:0 -.45rem;padding:.4rem .45rem;border-radius:8px;background:#fff4f0;outline:1px solid #f3c4bc}.smart-constraint-blocked-tag{display:inline-block;margin-left:.35rem;font-size:.7rem;font-style:normal;font-weight:700;color:#c2410c;background:#ffedd5;padding:.04rem .35rem;border-radius:4px;vertical-align:middle}.smart-constraint-track{min-width:0;width:100%}.smart-constraint-value{font-size:.92rem;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700;text-align:right;white-space:nowrap;justify-self:end}.smart-constraint-value em{font-style:normal;font-size:.76rem;font-weight:600;color:var(--muted)}.smart-constraint-track-hint{display:flex;justify-content:space-between;margin-top:.1rem;font-size:.72rem;color:#8a97a6}.smart-range{position:relative;height:1.5rem;display:flex;align-items:center;width:100%}.smart-range-rail{position:absolute;left:0;right:0;height:.35rem;border-radius:999px;background:#d5e0ea;pointer-events:none}.smart-range-fill{position:absolute;top:0;bottom:0;border-radius:999px;background:var(--accent);opacity:.85}.smart-range-input{position:absolute;left:0;width:100%;margin:0;background:transparent;pointer-events:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;height:1.5rem}.smart-range-input::-webkit-slider-runnable-track{height:.35rem;background:transparent}.smart-range-input::-moz-range-track{height:.35rem;background:transparent;border:none}.smart-range-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1rem;height:1rem;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 1px 3px #0f2a3d33;cursor:pointer;pointer-events:auto;margin-top:-.32rem;position:relative;z-index:2}.smart-range-input::-moz-range-thumb{width:1rem;height:1rem;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 1px 3px #0f2a3d33;cursor:pointer;pointer-events:auto;position:relative;z-index:2}.smart-range-input:disabled::-webkit-slider-thumb{cursor:default;opacity:.55}.smart-range-input:disabled::-moz-range-thumb{cursor:default;opacity:.55}.smart-range-max{z-index:3}.smart-range-min{z-index:4}.smart-range-input.is-top{z-index:5}@media(max-width:720px){.smart-constraint-row{grid-template-columns:1fr auto;grid-template-areas:"label value" "track track";row-gap:.25rem}.smart-constraint-label{grid-area:label}.smart-constraint-value{grid-area:value}.smart-constraint-track{grid-area:track}}@media(max-width:560px){.smart-constraints-head{flex-direction:column}.smart-constraints-actions{width:100%}.smart-constraints-reset,.smart-constraints-apply{flex:1;text-align:center}}.smart-pack-toggle{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.smart-decision-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem;margin:.75rem 0 .85rem}.smart-backup-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:.35rem 0 .75rem}.smart-backup-toggle{border:1px solid var(--line);background:#fff;color:var(--ink);padding:.4rem .75rem;font-size:.85rem;cursor:pointer;border-radius:4px}.smart-backup-toggle:hover{border-color:var(--accent)}.smart-backup-hidden{display:none}.smart-esr-pack{color:#0b5cab}.smart-esr-fixed-note{font-style:normal;opacity:.85}.smart-esr-single-note{margin:.75rem 0 0;padding:.5rem .7rem;font-size:.8rem;color:#5a6b7d;background:#f4f5f7;border-radius:8px}@media(max-width:900px){.smart-detail-layout{grid-template-columns:1fr}.stack3d-canvas-embed{height:min(320px,42vh)}.smart-esr-zones{grid-template-columns:1fr 1fr}}@media(max-width:560px){.smart-esr-zones,.smart-metric-grid,.smart-metric-card dl,.smart-metric-card dl.smart-metric-dl-3{grid-template-columns:1fr}.smart-diameter-wheel{grid-template-columns:1fr auto;grid-template-areas:"label reset" "value value" "nudge nudge" "hint hint"}.smart-diameter-nudge{justify-content:stretch}.smart-diameter-nudge-btn{flex:1;min-width:0;height:2.35rem;font-size:.85rem}}.ai-reject-panel{margin:.75rem 0 1rem;border:1px solid var(--border, #c9d6e2);background:#fbfcfe;padding:.55rem .85rem}.ai-reject-panel summary{cursor:pointer;font-weight:600;font-size:.92rem}.ai-reject-list{list-style:none;margin:.65rem 0 0;padding:0;display:flex;flex-direction:column;gap:.55rem;max-height:280px;overflow:auto}.ai-reject-list li{border-top:1px solid var(--border, #e2e8f0);padding-top:.55rem;font-size:.88rem}.smart-decision-card{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;text-align:left;width:100%;border:1px solid var(--line);background:var(--panel);padding:.7rem .8rem;cursor:pointer;border-radius:6px;color:var(--ink);font:inherit}.smart-decision-card:hover{border-color:var(--accent)}.smart-decision-card.is-primary{border-color:var(--accent);background:var(--accent-soft)}.smart-decision-card.is-selected{outline:2px solid var(--accent);outline-offset:1px}.smart-decision-kicker{font-size:.75rem;font-weight:650;color:var(--accent);letter-spacing:.02em}.smart-decision-card strong{font-size:.92rem}.smart-decision-card span{font-size:.8rem;color:var(--muted)}.smart-decision-card em{font-style:normal;font-size:.78rem;color:var(--muted)}.smart-esr-trace-stack{display:flex;flex-direction:column;gap:.85rem}.smart-esr-trace-sum{width:100%}.smart-esr-trace{margin-top:.85rem;padding-top:.75rem;border-top:1px dashed var(--line)}.smart-esr-trace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.35rem}.smart-esr-trace-toolbar h5{margin:0;font-size:.88rem}.smart-esr-trace-locked{margin:.35rem 0 0;font-size:.82rem;color:var(--muted)}.smart-esr-trace-desc{margin:.55rem 0 .75rem;max-width:none}.smart-esr-trace h5{margin:0 0 .55rem;font-size:.88rem}.smart-esr-trace-tables{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.smart-esr-trace table{width:100%;border-collapse:collapse;font-size:.75rem;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.smart-esr-trace th,.smart-esr-trace td{padding:.28rem .45rem;border-bottom:1px solid #eef1f4;text-align:left;vertical-align:top}.smart-esr-trace th{background:#f3f6f8;color:var(--muted);font-weight:650}.smart-esr-trace-val{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.smart-esr-trace-note{color:#8a97a6;font-size:.7rem}@media(max-width:900px){.smart-esr-trace-tables{grid-template-columns:1fr}}.smart-export-msg{margin:0;font-size:.85rem}.smart-file-output{display:flex;flex-direction:column;gap:1rem;position:relative}.smart-file-stack-capture{position:fixed;left:0;top:0;width:640px;height:480px;opacity:0;pointer-events:none;overflow:hidden}.smart-file-stack-capture .stack3d-canvas-embed{height:480px;min-height:480px}.smart-file-stack-capture .stack3d-legend{display:none}.smart-file-summary{border:1px solid var(--border, #d8dee6);border-radius:8px;padding:.85rem 1rem;background:#f7f9fc}.smart-file-summary h3{margin:0 0 .65rem;font-size:1rem}.smart-file-summary ul{list-style:none;margin:0 0 .75rem;padding:0;display:grid;gap:.4rem}.smart-file-summary li{display:grid;grid-template-columns:4.5rem 1fr;gap:.5rem;align-items:baseline;font-size:.92rem}.smart-file-summary li span{color:#678}.smart-file-summary li strong{font-weight:600}.smart-file-req{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;font-size:.9rem}.smart-file-req span{color:#567;font-weight:600}.smart-file-req a{color:var(--accent, #1a6fb5);word-break:break-all}.smart-file-req em{color:#89a;font-size:.8rem;font-style:normal}.smart-file-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem}.smart-file-card{border:1px solid var(--border, #d8dee6);border-radius:8px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.55rem;background:#fff}.smart-file-card.is-ready{border-color:#7eb0e0}.smart-file-card header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.smart-file-card h3{margin:0;font-size:1rem}.smart-file-card p{margin:0;font-size:.85rem;color:#567;line-height:1.4;flex:1}.smart-file-badge{flex-shrink:0;font-size:.72rem;padding:.15rem .45rem;border-radius:4px;background:#eef1f5;color:#556}.smart-file-badge.ok{background:#e5f4ea;color:#1b6b3a}.smart-file-badge.pending{background:#fff4df;color:#8a5a00}.smart-file-badge.wait{background:#f0f2f5;color:#778}.smart-file-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.design-records-panel .design-records-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.design-records-panel .design-records-head h2{margin:0}.design-user-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-top:.5rem}.design-user-card{text-align:left;border:1px solid var(--border, #d8dee6);border-radius:8px;padding:.9rem 1rem;background:#fff;cursor:pointer;display:flex;flex-direction:column;gap:.25rem}.design-user-card:hover{border-color:#7eb0e0;background:#f7fbff}.design-user-card strong{font-size:1rem}.design-user-card em{font-style:normal;font-size:.85rem;color:#789}.design-user-card span{font-size:.85rem;color:#567;margin-top:.25rem}.design-project-list{display:flex;flex-direction:column;margin-top:.75rem;border:1px solid var(--border, #d8dee6);border-radius:8px;background:#fff;overflow:hidden}.design-records-search{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-bottom:1px solid var(--border, #d8dee6);background:#f7f9fb}.design-records-search span{flex:none;color:#567}.design-records-search input{flex:1;min-width:0;border:1px solid var(--border, #d8dee6);border-radius:6px;padding:.4rem .6rem;background:#fff}.design-project-list .design-project-card{border:0;border-radius:0;border-bottom:1px solid var(--border, #d8dee6)}.design-project-list .design-project-card:last-child{border-bottom:0}.design-project-card{display:flex;align-items:stretch;border:1px solid var(--border, #d8dee6);border-radius:8px;background:#fff;overflow:hidden}.design-project-card:hover{border-color:#7eb0e0;background:#f7fbff}.design-project-card-main{flex:1;text-align:left;border:none;background:transparent;padding:.9rem 1rem;cursor:pointer;display:flex;flex-direction:column;gap:.3rem;min-width:0}.design-project-card-main strong{font-size:1rem}.design-project-card-main span{font-size:.85rem;color:#567}.design-project-card .design-project-del{margin:.55rem .7rem .55rem 0;align-self:center;flex-shrink:0}.design-project-detail-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;padding:.7rem .9rem;border:1px solid var(--border, #d8dee6);border-radius:8px;background:#fff;margin-bottom:.15rem}.design-project-detail-head strong{display:block}.design-project-detail-head em{display:block;margin-top:.2rem;font-style:normal;font-size:.85rem;color:#678}.design-project-req-doc{margin:.45rem 0 0;font-size:.88rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem}.design-project-req-doc span{color:#567;font-weight:600}.design-project-req-doc a{color:var(--accent, #1a6fb5);word-break:break-all}.design-project-req-doc em{display:inline;margin:0;color:#89a;font-size:.8rem}.design-project-req-doc button{font-size:.82rem;padding:.15rem .55rem}.design-records-tree{display:flex;flex-direction:column;gap:1rem}.design-project-del{margin-left:auto}.design-scheme-block{border:1px solid #e2e8f0;border-radius:6px;padding:.65rem .75rem;background:#fff}.design-scheme-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.design-scheme-learn-tag{display:inline-block;margin-left:.45rem;padding:.05rem .4rem;font-size:.72rem;font-style:normal;font-weight:600;color:#0f766e;background:#ccfbf1;border-radius:999px;vertical-align:middle}.design-file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.design-file-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .75rem;font-size:.9rem;padding:.35rem 0;border-top:1px dashed #e8edf2}.design-file-list li:first-child{border-top:none}.design-file-list li em{display:block;font-style:normal;font-size:.8rem;color:#789}.tpl-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem;margin:.75rem 0 1.25rem}.tpl-card{border:1px solid var(--border, #d8dee6);border-radius:8px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.55rem;background:#fff}.tpl-card.is-ready{border-color:#7eb0e0}.tpl-card.is-selected{border-color:#1a6fb5;box-shadow:0 0 0 2px #1a6fb52e;cursor:pointer}.tpl-card:not(.is-selected){cursor:pointer}.tpl-card:hover{border-color:#5a9fd4}.tpl-card header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tpl-card h3{margin:0;font-size:1rem}.tpl-card p{margin:0;font-size:.85rem;color:#567;line-height:1.4;flex:1}.tpl-card p em{display:block;margin-top:.2rem;font-style:normal;font-size:.78rem;color:#89a}.tpl-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem}.tpl-map-block{border:1px solid var(--border, #d8dee6);border-radius:8px;background:#fff}.tpl-map-toggle{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;padding:.7rem .9rem;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit}.tpl-map-toggle strong{font-size:.95rem}.tpl-map-toggle em{margin-left:auto;font-style:normal;font-size:.82rem;color:#678}.tpl-map-body{padding:0 .9rem .9rem;border-top:1px solid var(--border, #e6edf3)}.tpl-map-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:.75rem 0}.tpl-map-tech{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:#567;cursor:pointer}.tpl-map-filter{margin-left:auto;min-width:10rem;max-width:16rem;flex:1 1 10rem;min-height:2rem}.tpl-map-warn{margin:0 0 .65rem;color:#8a5a00}.tpl-map-table-wrap{max-height:22rem;overflow:auto}.stack3d-preview{gap:.35rem}.stack3d-canvas-embed{height:min(380px,48vh);min-height:260px;border-radius:8px;background:#e8eef2}.stack3d-legend-embed{font-size:.75rem;gap:.55rem .9rem;padding:0 .15rem}.stack3d-meta{font-size:.88rem;color:var(--muted);line-height:1.45}.stack3d-below{display:flex;flex-direction:column;gap:1rem;margin-top:.85rem}.stack3d-section{border:1px solid var(--line);border-radius:8px;padding:.75rem .85rem .9rem;background:#fbfcfd}.stack3d-section-title{margin:0 0 .65rem;font-size:.95rem;font-weight:650;color:var(--ink)}.stack3d-size-board{display:flex;flex-direction:column;gap:.45rem}.stack3d-extents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.stack3d-extents>div{border:1px solid var(--line);border-radius:6px;padding:.55rem .7rem;display:flex;flex-direction:column;gap:.2rem;background:#f7fafc}.stack3d-extents .stack3d-extent-count{background:#eef6f0;border-color:#b7d4c0}.stack3d-extents span{font-size:.78rem;color:var(--muted)}.stack3d-extents strong{font-size:1.05rem;color:var(--ink);font-variant-numeric:tabular-nums}.stack3d-case-slot{cursor:grab;background:#f3f0ea;border-style:dashed;-webkit-user-select:none;user-select:none}.stack3d-case-slot:active{cursor:grabbing}.stack3d-case-slot.drag-active{border-color:var(--accent, #007bc7);background:#e8f2f6;box-shadow:inset 0 0 0 1px var(--accent, #007bc7)}.stack3d-clearance-note strong.clr-ok{color:#1e7a3a}.stack3d-clearance-note strong.clr-neg{color:#c0392b}.stack3d-clearance-row .clr-ok strong{color:#1e7a3a}.stack3d-clearance-row .clr-tight strong{color:#b86b0b}.stack3d-clearance-row .clr-neg strong{color:#c0392b}.stack3d-density-row .clr-ok strong,.stack3d-density-note strong.clr-ok{color:#1e7a3a}.stack3d-density-row .clr-neg strong,.stack3d-density-note strong.clr-neg{color:#c0392b}.stack3d-density-note{background:transparent;border-style:dashed}.stack3d-density-note strong{font-size:.9rem;font-weight:600}@media(max-width:720px){.stack3d-extents{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.stack3d-extents{grid-template-columns:1fr}}.stack3d-canvas{position:relative;height:min(520px,62vh);min-height:320px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#e8eef2;touch-action:none}.stack3d-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.82rem;color:var(--muted)}.stack3d-legend .leg.x{color:#c0392b}.stack3d-legend .leg.y{color:#27ae60}.stack3d-legend .leg.z{color:#2980b9}.stack3d-legend .leg.dim-len{color:#d35400;font-weight:600}.stack3d-legend .leg.dim-wid{color:#7d3c98;font-weight:600}.stack3d-legend .leg.dim-hgt{color:#0e8c75;font-weight:600}.stack3d-dim-hud{position:absolute;top:8px;left:8px;z-index:2;margin:0;padding:.4rem .55rem;list-style:none;background:#ffffffeb;border:1px solid rgba(31,106,148,.25);border-radius:6px;box-shadow:0 1px 4px #14283c14;pointer-events:none;font-size:.78rem;line-height:1.35}.stack3d-dim-hud li{display:grid;grid-template-columns:1.2em 4.6em auto;gap:.25rem .4rem;align-items:baseline}.stack3d-dim-hud strong{font-weight:700}.stack3d-dim-hud span{color:var(--ink);font-variant-numeric:tabular-nums}.stack3d-dim-hud em{font-style:normal;color:var(--muted);font-size:.72rem}.stack3d-case-toggle{display:inline-flex;align-items:center;gap:.35rem;margin-left:.25rem;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none}.stack3d-case-toggle input{margin:0;accent-color:var(--accent)}.open-axis-swap-caption{display:block;margin-top:.45rem;font-size:.75rem;color:var(--muted)}.open-axis-swap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin-top:.2rem}.open-axis-swap label{display:flex;flex-direction:column;gap:.15rem;font-size:.75rem;color:var(--muted)}.open-axis-swap select{width:100%;font-size:.85rem}.open-gap-tune{display:flex;flex-direction:column;gap:.4rem;margin-top:.55rem;padding-top:.5rem;border-top:1px solid var(--line)}.open-gap-tune-row{display:flex;align-items:center;justify-content:space-between;gap:.45rem;font-size:.78rem;color:var(--muted)}.open-gap-tune-row input{width:3.6rem;height:2rem;padding:0 .3rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:.82rem;font-variant-numeric:tabular-nums;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.open-gap-tune-row input::-webkit-outer-spin-button,.open-gap-tune-row input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.catalog-width-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.35rem .75rem}.catalog-width-list li{display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.25rem 0;border-bottom:1px dashed var(--line)}.catalog-width-list label{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.catalog-add-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.85rem}.catalog-add-row input{max-width:160px}.catalog-rule-list{margin:.5rem 0 0;padding-left:1.2rem;color:var(--muted);font-size:.9rem}.catalog-rule-list li{margin:.35rem 0}.catalog-rule-list strong{color:var(--ink)}.field-grid.is-cols-3{grid-template-columns:repeat(3,minmax(140px,200px))}@media(max-width:560px){.field-grid.is-cols-3,.field-grid.is-cols-2{grid-template-columns:1fr}.smart-config-select{width:100%;min-width:0}.smart-config-select select{flex:1;width:100%;min-width:0}}.robot-admin .panel>h3{margin-top:0}.robot-reminder-note{margin:0;color:var(--muted);font-size:.85rem}.robot-reminders{display:flex;flex-direction:column;gap:.75rem;margin-top:.85rem}.robot-reminder{border:1px solid var(--line);border-radius:10px;background:#f7fafc;padding:.9rem 1rem .75rem}.robot-reminder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.robot-reminder h4{margin:0;font-size:.98rem}.robot-reminder-head p{margin:.15rem 0 0;color:var(--muted);font-size:.82rem}.robot-reminder-toggle{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;margin:0;color:var(--ink);font-size:.85rem;cursor:pointer;white-space:nowrap}.robot-reminder ul{margin:.7rem 0 .15rem;padding-left:1.15rem;color:var(--muted);font-size:.85rem}.robot-reminder li+li{margin-top:.28rem}.robot-preview-btn{margin-top:.65rem;border:none;background:transparent;color:var(--accent);padding:0;font:inherit;font-size:.85rem;cursor:pointer}.robot-preview{margin-top:.55rem;padding-top:.55rem;border-top:1px solid var(--line);font-size:.85rem}.robot-preview-day+.robot-preview-day{margin-top:.65rem;padding-top:.55rem;border-top:1px dashed var(--line)}.robot-preview p,.robot-preview-note{margin:.35rem 0;color:var(--muted)}.robot-preview-who{color:var(--ink);font-weight:600}.robot-preview-text{white-space:pre-wrap}.robot-admin .robot-search input,.robot-admin textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;font:inherit}.robot-admin textarea{display:block;margin:.75rem 0;resize:vertical}.result-table td.robot-log-content{white-space:pre-wrap;overflow-wrap:anywhere;max-width:28rem}.hr-robot .result-table td.robot-log-content{max-width:none}.hr-robot .result-table td:last-child{white-space:normal;overflow-wrap:anywhere}.robot-admin .robot-search{display:flex;gap:.5rem;margin:.6rem 0}.robot-admin .robot-search input{max-width:22rem}.robot-hits{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.robot-hits button,.robot-picks button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.35rem .7rem;font:inherit;cursor:pointer}.robot-picks{display:flex;flex-wrap:wrap;gap:.4rem}.asst-page{position:relative;width:100%;min-width:0;height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:row;overflow:hidden;color:var(--ink);background:radial-gradient(ellipse 80% 50% at 8% 0%,rgba(0,123,199,.1),transparent),radial-gradient(ellipse 55% 40% at 92% 8%,rgba(0,99,163,.08),transparent),var(--bg)}.asst-page.is-drop{cursor:copy}.asst-main{position:relative;flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.asst-rail-backdrop{display:none}.asst-drop-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;background:#eef3f8d1;border:2px dashed var(--accent);color:var(--accent);pointer-events:none}.asst-drop-mask strong{font-size:1.15rem}.asst-drop-mask span{font-size:.88rem;color:var(--muted)}.asst-toolbar{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.15rem .2rem;padding:.65rem 1rem 1.5rem;background:linear-gradient(180deg,#eef3f8f5,#eef3f8c7 52%,#eef3f800);pointer-events:none}.asst-toolbar>*{pointer-events:auto}.asst-toolbar-actions{display:inline-flex;align-items:center;flex-shrink:0;gap:.08rem;margin-left:.35rem;padding-left:.55rem;border-left:1px solid rgba(211,220,230,.95)}.asst-toolbar-link{border:none;background:transparent;color:#3d5366;font:inherit;font-size:.82rem;font-weight:600;line-height:1.3;padding:.38rem .7rem;border-radius:999px;cursor:pointer}.asst-toolbar-link:hover{color:var(--accent);background:#ffffffc7}.asst-toolbar-link.is-on{color:var(--accent);background:#ffffffe6}.asst-msg.asst-msg-erp{width:min(38rem,100%);max-width:min(38rem,100%);flex-shrink:0}.asst-msg.asst-msg-erp .asst-bubble{flex:1 1 auto;width:auto;min-width:0}.asst-status{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .45rem;color:#35586e;font-size:.75rem;font-weight:600;white-space:nowrap}.asst-status i{width:.42rem;height:.42rem;border-radius:50%;background:#8a97a6}.asst-status.is-ok i{background:#1f9d6a}.asst-status.is-off{color:var(--danger)}.asst-status.is-off i{background:var(--danger)}.asst-model{position:relative;display:inline-flex;align-items:center}.asst-model select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-width:15.5rem;width:16.75rem;max-width:min(44vw,18rem);border:none;border-radius:999px;background-color:#ffffffd1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.2 1.6 6 6.4 10.8 1.6' stroke='%235a6b7c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:.72rem;color:var(--ink);padding:.38rem 1.85rem .38rem .8rem;font-size:.82rem;line-height:1.3;cursor:pointer;box-shadow:0 1px 2px #0f2a3d0d}.asst-model select:hover{background-color:#fff}.asst-model select:focus{outline:2px solid rgba(0,123,199,.28)}.asst-model select:disabled{opacity:.6;cursor:not-allowed}.asst-quota{font-size:.76rem;color:var(--muted);white-space:nowrap;padding:0 .25rem}.asst-stage{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;width:100%}.asst-thread{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(15,42,61,.28) transparent}.asst-thread::-webkit-scrollbar{width:10px}.asst-thread::-webkit-scrollbar-track{background:transparent}.asst-thread::-webkit-scrollbar-thumb{background:#0f2a3d38;border:2px solid transparent;border-radius:99px;background-clip:padding-box}.asst-thread::-webkit-scrollbar-thumb:hover{background:#0f2a3d61;border:2px solid transparent;background-clip:padding-box}.asst-thread-inner{width:min(820px,calc(100% - 2rem));min-height:100%;margin:0 auto;padding:3.25rem .35rem .5rem;display:flex;flex-direction:column;gap:.95rem}.asst-welcome{margin:auto 0;padding:1.5rem .5rem 2rem;text-align:center;animation:module-hub-rise .45s ease both}.asst-welcome-mark{width:3.55rem;height:3.55rem;margin:0 auto .95rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(165deg,#3aa8e4,#007bc7 48%,#0a3a5c);color:#fff;box-shadow:0 0 0 7px #007bc71f,0 12px 28px #0063a342}.asst-welcome h2{margin:0 0 .45rem;font-size:1.45rem;font-weight:650}.asst-welcome p{margin:0 auto;max-width:36rem;color:var(--muted);font-size:.92rem;line-height:1.55;white-space:pre-line}.asst-suggest{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.15rem}.asst-suggest-chip{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);padding:.48rem .95rem;font:inherit;font-size:.86rem;cursor:pointer;box-shadow:0 4px 12px #00508c0d;transition:border-color .15s ease,color .15s ease,background .15s ease,transform .15s ease}.asst-suggest-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.asst-suggest-chip:disabled{opacity:.55;cursor:not-allowed}.asst-msg{display:flex;align-items:flex-end;gap:.55rem;max-width:86%;animation:module-hub-rise .28s ease both}.asst-avatar{flex:0 0 auto;width:1.85rem;height:1.85rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(165deg,#3aa8e4,#007bc7 48%,#0a3a5c);color:#fff}.asst-bubble{min-width:0;padding:.7rem .9rem;border-radius:14px 14px 14px 4px;border:1px solid var(--line);background:#fff;font-size:.92rem;line-height:1.55;box-shadow:0 4px 14px #0f2a3d0d}.asst-msg-user .asst-bubble{border-radius:14px 14px 4px;background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 8px 18px #0063a32e}.asst-msg-system .asst-bubble{border-radius:10px;background:#fdf4f3;border-color:#ecd4d0;color:var(--danger);font-size:.85rem;box-shadow:none}.asst-status-hint{margin:0 0 .5rem;color:var(--muted, #64748b);font-size:.88rem}.asst-thinking{margin:0 0 .65rem;padding:.55rem .65rem;border-left:2px solid rgba(100,116,139,.35);background:#94a3b814;border-radius:0 .35rem .35rem 0;font-size:.84rem;color:var(--muted, #64748b)}.asst-thinking summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;margin-bottom:.35rem}.asst-thinking-body{margin:0;white-space:pre-wrap;word-break:break-word}.asst-bubble-file{display:inline-flex;align-items:center;gap:.3rem;margin:.45rem 0 0;font-size:.78rem;opacity:.88}.asst-kb{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.55rem 0 0}.asst-kb>span{font-size:.72rem;font-weight:650;color:var(--muted)}.asst-kb em{font-style:normal;font-size:.72rem;padding:.12rem .45rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-hover);border:1px solid #c5d8e8}.asst-typing{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.86rem}.asst-typing span{width:.38rem;height:.38rem;border-radius:50%;background:var(--accent);opacity:.45;animation:agent-dot 1s infinite ease-in-out}.asst-typing span:nth-child(2){animation-delay:.15s}.asst-typing span:nth-child(3){animation-delay:.3s}.asst-composer{flex:0 0 auto;width:min(820px,calc(100% - 2rem));margin:0 auto;padding:.55rem .15rem 1.15rem}.asst-mode-tabs{display:flex;gap:.4rem;margin:0 auto .55rem;padding:.18rem;width:fit-content;max-width:100%;border-radius:999px;background:#ffffffb8;border:1px solid #d3dce6}.asst-mode-tab{border:none;background:transparent;color:#3d5366;font:inherit;font-size:.86rem;font-weight:600;line-height:1.3;padding:.38rem .95rem;border-radius:999px;cursor:pointer}.asst-mode-tab:hover:not(:disabled){color:var(--accent)}.asst-mode-tab.is-on{color:#fff;background:var(--accent)}.asst-mode-tab:disabled{opacity:.55;cursor:default}.asst-file-chip{display:inline-flex;align-items:center;gap:.4rem;max-width:100%;margin:0 0 .5rem 2.6rem;padding:.28rem .4rem .28rem .65rem;border:1px solid #c5d8e8;border-radius:999px;background:#eef6fb;color:#0063a3;font-size:.82rem}.asst-file-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:24rem}.asst-file-chip button{border:none;background:transparent;color:#0063a3;cursor:pointer;font-size:1.05rem;line-height:1;padding:0 .25rem}.asst-composer-box{display:flex;align-items:flex-end;gap:.4rem;padding:.45rem .5rem .45rem .45rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 1px 2px #0f2a3d0a,0 12px 32px #00508c14}.asst-composer-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #007bc729,0 12px 32px #00508c14}.asst-attach{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:12px;color:var(--muted);cursor:pointer}.asst-attach:hover{color:var(--accent);background:var(--accent-soft)}.asst-attach input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.asst-composer-box textarea{flex:1 1 auto;min-width:0;width:100%;min-height:2.35rem;max-height:10.5rem;resize:none;border:none;padding:.5rem .2rem;font:inherit;font-size:.95rem;line-height:1.45;color:var(--ink);background:transparent}.asst-composer-box textarea:focus{outline:none}.asst-composer-box textarea:disabled{opacity:.7}.asst-send{flex:0 0 auto;width:2.45rem;height:2.45rem;border:none;border-radius:12px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.asst-send:hover:not(:disabled){background:var(--accent-hover)}.asst-send:disabled{opacity:.4;cursor:not-allowed}.asst-hint{margin:.45rem 0 0;text-align:center;font-size:.75rem;color:var(--muted)}@media(max-width:1360px){.asst-quota{display:none}}@media(max-width:860px){.asst-status{display:none}.asst-rail:not(.is-collapsed){position:absolute;inset:0 auto 0 0;height:100%;box-shadow:12px 0 32px #0f2a3d29}.asst-page:not(.is-rail-collapsed) .asst-rail-backdrop{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border:none;background:#0f2a3d47;cursor:pointer}}@media(max-width:720px){.asst-toolbar{padding:.5rem .65rem 1.2rem}.asst-thread-inner{padding-top:3.6rem}.asst-thread-inner,.asst-composer{width:calc(100% - 1.2rem)}.asst-msg{max-width:94%}.asst-msg.asst-msg-erp{width:100%;max-width:100%}.asst-msg-erp .asst-avatar{display:none}.asst-msg-erp .asst-bubble{padding:.65rem .7rem}.asst-erp-card{padding:.7rem .75rem .75rem}.asst-erp-stocks li{grid-template-columns:1fr;gap:.15rem}.asst-file-chip{margin-left:0}.asst-composer{padding-bottom:.85rem}.asst-model select{min-width:0;width:min(16.75rem,calc(100vw - 7rem));max-width:calc(100vw - 7rem)}}@media(prefers-reduced-motion:reduce){.asst-welcome,.asst-msg,.asst-suggest-chip,.asst-typing span{animation:none}}.asst-rail{flex:0 0 276px;width:276px;min-height:0;display:flex;flex-direction:column;background:#e7eef4;border-right:1px solid #d3dce6;z-index:3;isolation:isolate;transition:width .2s ease,flex-basis .2s ease}.asst-rail.is-collapsed{flex-basis:58px;width:58px;align-items:center}.asst-rail-top{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.85rem .7rem .45rem}.asst-rail.is-collapsed .asst-rail-top{flex-direction:column;padding:.85rem .4rem .35rem}.asst-rail-brand{min-width:0;display:flex;align-items:center;gap:.45rem}.asst-rail-logo{height:16px;width:auto;display:block;object-fit:contain;mix-blend-mode:multiply}.asst-rail-brand span{flex:0 0 auto;font-size:.8rem;color:var(--muted);font-weight:600;white-space:nowrap}.asst-rail-top-actions{flex-shrink:0;display:flex;align-items:center;gap:.15rem}.asst-rail-icon{width:2.15rem;height:2.15rem;border:none;border-radius:10px;background:transparent;color:#3d5366;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.asst-rail-icon:hover,.asst-rail-icon.is-on{background:#ffffffb8;color:var(--accent)}.asst-rail-new{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:.4rem;margin:.2rem .7rem .7rem;padding:.58rem .8rem;border:none;border-radius:999px;background:#2f3d4a;color:#fff;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 8px 18px #0f2a3d1f}.asst-rail-new:hover:not(:disabled){background:#24313c}.asst-rail-new:disabled,.asst-rail-new-icon:disabled{opacity:.45;cursor:not-allowed}.asst-rail-new-icon{margin:.15rem 0 .35rem;background:#2f3d4a;color:#fff;border-radius:50%}.asst-rail-new-icon:hover:not(:disabled){background:#24313c;color:#fff}.asst-rail-search{display:block;width:calc(100% - 1.4rem);margin:0 .7rem .65rem;padding:.45rem .7rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:.86rem}.asst-rail-search:focus{outline:2px solid rgba(0,123,199,.28);border-color:var(--accent)}.asst-rail-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 .45rem .6rem;scrollbar-width:thin;scrollbar-color:rgba(15,42,61,.22) transparent}.asst-rail-empty{margin:1.2rem .5rem;color:var(--muted);font-size:.82rem;text-align:center}.asst-rail-group{margin:0 0 .55rem}.asst-rail-group h3{margin:.35rem .55rem .25rem;font-size:.72rem;font-weight:650;color:#7a8b9a;letter-spacing:.02em}.asst-rail-item{position:relative;display:flex;align-items:center;border-radius:10px}.asst-rail-item:hover,.asst-rail-item.is-active{background:#ffffffc7}.asst-rail-item.is-active{box-shadow:inset 0 0 0 1px #c5d8e8}.asst-rail-item-btn{flex:1 1 auto;min-width:0;border:none;background:transparent;color:var(--ink);text-align:left;font:inherit;font-size:.88rem;padding:.48rem .2rem .48rem .65rem;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asst-rail-item-btn:disabled{cursor:not-allowed}.asst-rail-more{flex:0 0 auto;width:1.8rem;height:1.8rem;margin-right:.25rem;border:none;border-radius:8px;background:transparent;color:#7a8b9a;opacity:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.asst-rail-item:hover .asst-rail-more,.asst-rail-item.is-active .asst-rail-more,.asst-rail-more:focus-visible{opacity:1}.asst-rail-more:hover{background:var(--accent-soft);color:var(--accent)}.asst-rail-rename{flex:1 1 auto;min-width:0;margin:.2rem .2rem .2rem .45rem;padding:.28rem .4rem;border:1px solid var(--accent);border-radius:6px;font:inherit;font-size:.86rem}.asst-rail-menu{position:absolute;top:2.05rem;right:.3rem;z-index:4;min-width:7.5rem;padding:.28rem;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 10px 28px #0f2a3d24}.asst-rail-menu button{display:block;width:100%;border:none;background:transparent;color:var(--ink);text-align:left;font:inherit;font-size:.84rem;padding:.38rem .55rem;border-radius:7px;cursor:pointer}.asst-rail-menu button:hover{background:var(--accent-soft)}.asst-rail-menu button.is-danger{color:var(--danger)}.asst-rail-user{flex:0 0 auto;display:flex;align-items:center;gap:.55rem;padding:.7rem .85rem .9rem;border-top:1px solid #d3dce6;min-width:0}.asst-rail.is-collapsed .asst-rail-user{justify-content:center;padding:.7rem .4rem .9rem}.asst-rail-avatar{flex:0 0 auto;width:1.85rem;height:1.85rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(165deg,#3aa8e4,#007bc7 48%,#0a3a5c);color:#fff;font-size:.78rem;font-weight:700}.asst-rail-user-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600}.asst-erp-list{display:flex;flex-direction:column;gap:.7rem;min-width:0}.asst-erp-scroll{min-width:0;overflow:visible}.asst-erp-scroll.is-more{max-height:min(70vh,36rem);overflow-y:auto;padding-right:.15rem}.asst-erp-more{display:block;width:100%;margin-top:.65rem;border:1px solid #c5d8e8;border-radius:10px;background:#f4f9fc;color:#0b6aad;padding:.5rem .75rem;font:inherit;font-size:.84rem;font-weight:650;cursor:pointer}.asst-erp-more:hover:not(:disabled){background:#e7f3fb}.asst-erp-more:disabled{opacity:.6;cursor:default}.asst-erp-card{padding:.75rem .85rem .8rem;border:1px solid #d5e3ee;border-radius:12px;background:linear-gradient(180deg,#f9fcfe,#fff 42%)}.asst-erp-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .7rem;min-width:0}.asst-erp-card-code{font-size:.78rem;font-weight:650;letter-spacing:.02em;color:#1d6ea8;background:#e8f3fb;padding:.12rem .4rem;border-radius:6px}.asst-erp-card-name{margin:0;flex:1 1 8rem;min-width:0;font-size:.98rem;font-weight:700;line-height:1.35;color:#16344c}.asst-erp-card-spec{margin:.28rem 0 0;font-size:.82rem;line-height:1.4;color:#5b7183;word-break:break-word}.asst-erp-stocks{list-style:none;margin:.55rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.asst-erp-stocks li{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:.55rem .75rem;padding:.42rem .6rem;border-radius:9px;background:#eef6fb}.asst-erp-qty{display:inline-flex;align-items:baseline;gap:.28rem;color:#0b6aad;white-space:nowrap}.asst-erp-qty strong{font-size:1.08rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.asst-erp-unit{font-size:.8rem;font-weight:600;color:#3e6d8a}.asst-erp-wh{min-width:0;font-size:.8rem;line-height:1.35;color:#4a6273;word-break:break-word}.asst-erp-stocks li.is-neg{background:#fbeeee}.asst-erp-stocks li.is-neg .asst-erp-qty,.asst-erp-stocks li.is-neg .asst-erp-unit{color:#b42318}.asst-erp-stock-empty{margin:.45rem 0 0;font-size:.8rem;color:#8a97a6}.asst-erp-result{display:flex;flex-direction:column;gap:.45rem;width:100%;min-width:0}.asst-erp-suggest{margin:0;font-size:.9rem;font-weight:600;color:#1a3a52;line-height:1.45}.asst-erp-result>.hint{margin:0}.asst-bubble-text{margin:0;word-break:break-word}.asst-bubble-text p{margin:0 0 .55rem;white-space:pre-wrap}.asst-bubble-text p:last-child{margin-bottom:0}.asst-bubble-text ul,.asst-bubble-text ol{margin:.15rem 0 .55rem;padding-left:1.2rem}.asst-bubble-text li{margin:.18rem 0}.asst-bubble-text strong{font-weight:650}.asst-msg-user .asst-bubble-text{white-space:pre-wrap}.flat-fit-table{margin-top:.85rem}.flat-fit-row{margin-top:.7rem}.flat-fit-row:first-of-type{margin-top:.45rem}.flat-fit-row-label{font-size:.82rem;font-weight:600;color:#3a4654;margin-bottom:.35rem}.flat-fit-dims{grid-template-columns:repeat(3,minmax(0,1fr))}.maker-msg{margin:0 0 .85rem}.maker-file-name{display:block;margin-top:.25rem;font-size:.8rem;color:var(--muted);font-style:normal}.cad-banner{margin:0 0 .85rem}.cad-banner.is-warn{color:#8a4b08}.cad-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.2fr);gap:1rem;padding:0}.cad-tabs{display:flex;gap:.4rem;margin-bottom:.9rem}.cad-tabs button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:var(--radius-pill);padding:.35rem .9rem;cursor:pointer}.cad-tabs button.is-on{background:var(--accent);border-color:var(--accent);color:#fff}.cad-upload label{display:block;margin-top:.75rem;font-size:.86rem;color:var(--muted)}.cad-upload input,.cad-upload textarea{display:block;width:100%;margin-top:.25rem;padding:.45rem .55rem;border:1px solid var(--line);border-radius:8px;font:inherit;color:var(--ink)}.cad-upload textarea{width:100%;min-height:4.5rem;resize:vertical}.cad-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem}.cad-result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.cad-result-head h2,.cad-history h2{margin:0 0 .2rem;font-size:1.05rem}.cad-result-head p{margin:0;color:var(--muted);font-size:.85rem}.cad-progress{color:var(--accent);font-weight:600}.cad-preview{margin:.75rem 0;border:1px solid var(--line);border-radius:var(--radius-sm);background:#f7fafc;min-height:180px;display:flex;align-items:center;justify-content:center;overflow:auto}.cad-preview img{max-width:100%;max-height:420px}.cad-downloads{display:flex;flex-wrap:wrap;gap:.45rem;margin:.6rem 0 .8rem}.cad-readme{white-space:pre-wrap;font:inherit;font-size:.82rem;line-height:1.45;background:#f6f8fb;border-radius:var(--radius-sm);padding:.75rem .9rem;max-height:240px;overflow:auto}.cad-history{margin:1rem 0 0}.cad-job-list{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.4rem}.cad-job-list button{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:var(--radius-sm);padding:.55rem .75rem;cursor:pointer;display:grid;gap:.15rem}.cad-job-list button.is-on{border-color:var(--accent);background:var(--accent-soft)}.cad-job-list strong{font-size:.9rem}.cad-job-list span,.cad-job-list em{color:var(--muted);font-size:.8rem;font-style:normal}@media(max-width:900px){.cad-layout{grid-template-columns:1fr}}.maker-toolbar{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.maker-search{flex:1;min-width:0;padding:.55rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit}.maker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.maker-card{display:flex;flex-direction:column;gap:.45rem;padding:1.1rem 1.15rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}.maker-card.has-cover{display:grid;grid-template-columns:168px minmax(0,1fr);gap:.95rem;align-items:stretch;padding:.85rem}.maker-card-body{display:flex;flex-direction:column;gap:.4rem;min-width:0}.maker-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.maker-card-top strong{font-size:1.08rem;line-height:1.35}.maker-card .maker-author{margin:0;font-size:.86rem;color:var(--accent);font-weight:600}.maker-card-cover{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#d7e2ec;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit}.maker-card.has-cover .maker-card-cover{height:100%;min-height:118px}.maker-card-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.maker-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,200px));gap:.55rem;margin:.15rem 0 .35rem}.maker-gallery-item{padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#eef3f8;cursor:zoom-in;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;max-width:200px}.maker-gallery-item img{display:block;width:100%;aspect-ratio:16 / 9;max-height:112px;object-fit:cover}.maker-shot-list{display:flex;flex-wrap:wrap;gap:.55rem;margin:-.2rem 0 .4rem}.maker-shot-thumb{position:relative;width:108px}.maker-shot-thumb img{display:block;width:108px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.maker-shot-thumb button{display:block;width:100%;margin-top:.2rem;padding:.12rem .3rem;font-size:.75rem}.maker-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0c1622b8;cursor:zoom-out}.maker-lightbox img{max-width:min(96vw,1100px);max-height:92vh;border-radius:12px;box-shadow:0 16px 48px #00000059}.maker-card .maker-blurb{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.maker-card p{margin:0;color:var(--muted);font-size:.9rem}.maker-meta{font-size:.82rem!important}.maker-pill{flex-shrink:0;font-size:.75rem;font-weight:600;border-radius:var(--radius-pill);padding:.15rem .55rem}.maker-pill.is-app{color:#0b6aa8;background:#007bc71f}.maker-pill.is-open{color:#0d7a4f;background:#108c5a24}.maker-pill.is-draft{color:#8a5a12;background:#c4821424}.maker-card-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:auto;padding-top:.35rem}.maker-stat-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .75rem;border:1px solid var(--line);border-radius:var(--radius-pill);background:#f6f9fc;color:var(--ink);font:inherit;font-size:.86rem;cursor:pointer}.maker-stat-btn em{font-style:normal;font-variant-numeric:tabular-nums;min-width:1.1em;color:var(--muted)}.maker-stat-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.maker-stat-btn.is-liked{border-color:#e8b4c4;background:#fff4f7;color:#c43d66}.maker-stat-btn.is-liked em{color:#c43d66}.maker-stat-btn:disabled{opacity:.5;cursor:not-allowed}.maker-stat-btn-lg{padding:.5rem .95rem}.maker-card-actions .danger-btn{color:var(--danger)}.maker-sort{padding:.5rem .65rem;border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;background:var(--panel)}.maker-detail{display:flex;flex-direction:column;gap:.65rem}.maker-summary{margin:0;white-space:pre-wrap;line-height:1.6}.maker-comments h3{margin:1rem 0 .5rem;font-size:1.05rem}.maker-comment-form textarea{width:100%;min-height:4.2rem;padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;font:inherit}.maker-comment-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.5rem}.maker-comment-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.maker-comment-list li{border-top:1px solid var(--line);padding-top:.7rem}.maker-comment-list div{display:flex;gap:.6rem;align-items:baseline}.maker-comment-list span{font-size:.78rem;color:var(--muted)}.maker-comment-list p{margin:.3rem 0 .35rem}.maker-runner-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.maker-runner-bar h2{margin:0 0 .2rem;font-size:1.15rem}.maker-runner-bar p{margin:0;color:var(--muted);font-size:.86rem}.maker-runner-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.maker-runner-actions a.header-admin-btn{text-decoration:none}.maker-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;background:#15253659;overflow:auto}.maker-modal-card{width:min(640px,100%);background:var(--panel);border-radius:14px;box-shadow:var(--shadow-hover);padding:1.15rem 1.2rem 1.25rem}.maker-modal-card h3{margin:0 0 .4rem}.maker-modal-card label{display:block;margin-top:.7rem;font-size:.86rem;color:var(--muted)}.maker-modal-card input,.maker-modal-card select,.maker-modal-card textarea{display:block;width:100%;margin-top:.25rem;padding:.45rem .55rem;border:1px solid var(--line);border-radius:8px;font:inherit;color:var(--ink)}.maker-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.maker-field-label{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem .5rem}.maker-author-error,.maker-field-error{font-style:normal;font-size:.75rem;font-weight:500;color:var(--danger);line-height:1.3}.maker-check{display:flex!important;align-items:center;gap:.45rem}.maker-check input{width:auto;margin:0}.maker-modal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem}@media(max-width:800px){.maker-grid,.maker-form-row,.maker-card.has-cover{grid-template-columns:1fr}.maker-card.has-cover .maker-card-cover{height:132px;min-height:0}.maker-toolbar{flex-direction:column;align-items:stretch}}.hr-check{display:flex;align-items:center;gap:.3rem;font-size:.86rem;color:var(--muted);white-space:nowrap}.sched-admin{overflow:visible;min-width:0}.hr-table-wrap.sched-scope-table{overflow:visible;max-height:none}.sched-scope-table .hr-table{width:100%;min-width:0;table-layout:fixed}.sched-scope-table .hr-table th,.sched-scope-table .hr-table td{white-space:normal;overflow-wrap:anywhere}.sched-scope-table .sched-scope-account{width:18%}.sched-scope-table .sched-scope-level{width:7.5rem}.sched-scope-table .sched-scope-flag{width:6.5rem}.sched-scope-units{display:flex;flex-wrap:wrap;gap:.35rem .8rem;min-width:0;white-space:normal}.sched-scope-units .hr-check{white-space:normal}.sched-scope-tree{display:flex;flex-direction:column;gap:.15rem;margin-top:.35rem}.sched-scope-table td{white-space:normal;vertical-align:top}.hr-charts{margin:.35rem 0 .55rem;display:flex;flex-direction:column;gap:.55rem}.hr-chart-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:.7rem}.hr-chart-block h4{margin:0 0 .35rem;font-size:.78rem;font-weight:650}.hr-pie-wrap{display:flex;align-items:center;gap:.55rem}.hr-pie{width:108px;height:108px;flex:0 0 auto}.hr-pie-wrap ul,.hr-bars{list-style:none;margin:0;padding:0;flex:1 1 auto;min-width:0}.hr-pie-wrap li,.hr-bars li{display:flex;align-items:center;gap:.35rem;font-size:.75rem;padding:.12rem 0}.hr-pie-wrap i{width:.55rem;height:.55rem;border-radius:2px;flex:0 0 auto}.hr-pie-wrap span,.hr-bar-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hr-pie-wrap em,.hr-bars em{font-style:normal;font-weight:650;flex:0 0 auto}.hr-bar-track{flex:1 1 46%;height:.55rem;border-radius:999px;background:var(--line);overflow:hidden}.hr-bar-fill{display:block;height:100%;border-radius:999px}@media(max-width:720px){.hr-chart-pair{grid-template-columns:1fr}}.finance-meta{margin:0 0 .7rem;flex-shrink:0}.finance-error{color:#a33;margin:0 1.1rem .5rem}.sched-body{grid-template-columns:minmax(200px,250px) minmax(0,1fr)}.sched-body>.sched-tree,.sched-body>.hr-roster{min-width:0}.sched-tree{min-height:0;overflow:auto;margin:0;display:flex;flex-direction:column;gap:.15rem}.sched-tree-head{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.45rem}.sched-node{display:flex;justify-content:space-between;gap:.5rem;border:0;border-radius:var(--radius-sm);padding:.35rem .6rem;background:none;font:inherit;font-size:.86rem;color:var(--ink);text-align:left;cursor:pointer}.sched-tree .sched-node{position:relative}.sched-node-label{flex:1;min-width:0}.sched-guide{position:absolute;top:-.15rem;bottom:0;width:.5rem;pointer-events:none}.sched-guide:before,.sched-guide:after{content:"";position:absolute;left:0}.sched-guide.is-pipe:before,.sched-guide.is-tee:before{top:0;bottom:0;border-left:1px solid #c6d2e0}.sched-guide.is-end:before{top:0;height:calc(50% + .075rem);border-left:1px solid #c6d2e0}.sched-guide.is-tee:after,.sched-guide.is-end:after{top:calc(50% + .075rem);width:.45rem;border-top:1px solid #c6d2e0}.sched-node em{font-style:normal;color:var(--muted)}.sched-node:hover,.sched-node.is-on{background:var(--accent-soft)}.sched-node.is-on{color:var(--accent-hover);font-weight:600}.sched-brush strong,.sched-cell button strong{font-size:.92rem;font-weight:650}.sched-brush small,.sched-cell button small{font-size:.78rem;font-weight:500;color:#3d5166}.hr-table.sched-table{width:100%;min-width:64rem;table-layout:fixed;font-size:1rem}.sched-table th,.sched-table td{padding:.28rem .2rem;text-align:center;vertical-align:middle;white-space:normal;border-bottom-color:#edf0f4}.sched-table thead th{background:#f7f9fc;border-bottom:1px solid #dfe5ec;padding:.45rem .2rem}.sched-table th.is-today .sched-dayhead b,.sched-table th.is-today .sched-dayhead small{color:var(--accent)}.sched-table th.is-today{box-shadow:inset 0 -3px 0 var(--accent)}.sched-table tbody tr:nth-child(2n) td{background:#fbfcfe}.sched-table tbody tr:hover td{background:#f3f8fd}.sched-table tbody tr{cursor:default}.sched-table tbody td.sched-cell.is-today{background:#f4f9ff}.sched-col-name{width:11%}.sched-table th.is-weekend,.sched-table th.is-weekend .sched-dayhead small{color:#c0392b}.sched-dayhead{display:flex;flex-direction:column;align-items:center;line-height:1.2}.sched-dayhead b{font-size:1.05rem;font-weight:700}.sched-dayhead small{font-size:.95rem;font-weight:600}.sched-table .sched-name{text-align:center;background:#fff;font-size:1.05rem;font-weight:650}.sched-table td.sched-name{position:sticky;left:0;z-index:2;height:1px;padding:0}.sched-table th.sched-name{position:sticky;top:0;left:0;z-index:3;height:1px;background:#f6f9fc;padding:0}.sched-board{overflow:auto}.sched-table th:last-child,.sched-table td:last-child{border-left:1px solid #dfe5ec}.sched-table th.sched-name,.sched-table td.sched-name{border-right:1px solid #edf0f4}.sched-cell{padding:.3rem .25rem!important}.oa-cell{display:flex;flex-direction:column;justify-content:center;gap:.16rem;min-height:3.2rem;padding:.1rem .2rem;text-align:left}.oa-punch-pop{position:fixed;z-index:40;display:flex;flex-direction:column;gap:.05rem;min-width:4.5rem;padding:.35rem .55rem;border-radius:8px;background:#1c2430;color:#fff;font-size:.78rem;line-height:1.4;font-variant-numeric:tabular-nums;pointer-events:none;box-shadow:0 8px 20px #141c282e}.oa-punch-pop.is-above{transform:translateY(-100%)}.oa-line{display:flex;align-items:baseline;justify-content:space-between;gap:.3rem;font-size:.78rem;line-height:1.25;font-variant-numeric:tabular-nums}.oa-line b{font-weight:650}.oa-line em{flex-shrink:0;max-width:4.2rem;overflow:hidden;font-style:normal;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.oa-line em.is-ok{color:#1f7a4d}.oa-line em.is-miss{color:#d14343}.oa-line em.is-leave{color:#e07a2f}.oa-line em.is-out{color:#2f6fdb}.oa-line em.is-trip{color:#6b4fc4}.oa-line em.is-early{color:#b86e00}.oa-line em.is-late{color:#d35400}.oa-line em.is-other{color:#5f6772}.sched-week{display:flex;align-items:center;justify-content:center;gap:.45rem}.sched-week strong{min-width:11rem;text-align:center;font-size:.92rem}.sched-table th.is-other .sched-dayhead b,.sched-table th.is-other .sched-dayhead small{opacity:.72}.sched-cell button{width:100%;height:4.6rem;border:0;border-left:4px solid var(--tone-bar, transparent);border-radius:8px;background:var(--tone-bg, transparent);color:var(--tone-ink, var(--ink));font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;cursor:pointer;line-height:1.2;transition:box-shadow .12s ease,transform .12s ease}.sched-cell button:not(:disabled):hover{box-shadow:0 1px 4px #0f285029}.sched-cell button strong{font-size:1.08rem;font-weight:700;color:var(--tone-ink, var(--ink))}.sched-cell button small{font-size:.92rem;font-weight:600;color:var(--tone-ink, #4b5563);opacity:.85}.sched-cell button:disabled{cursor:default}@media(max-width:980px){.sched-body{grid-template-columns:1fr}.sched-tree{max-height:14rem}}.sched-node.is-loose,.sched-node.is-loose.is-on{color:#c2410c}.sched-name-menu{position:fixed;z-index:1000;display:flex;flex-direction:column;min-width:13rem;max-width:20rem;max-height:min(28rem,calc(100vh - 1rem));overflow-y:auto;padding:.3rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;box-shadow:0 8px 24px #0f28502e;font-size:.82rem}.sched-name-menu-head{padding:.25rem .6rem .35rem;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:.2rem;flex-shrink:0}.sched-name-menu button{flex-shrink:0;min-height:2rem;line-height:1.4;border:0;border-radius:6px;background:none;padding-top:.3rem;padding-bottom:.3rem;padding-right:.6rem;text-align:left;font:inherit;color:var(--ink);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sched-name-menu button:hover:not(:disabled){background:var(--accent-soft)}.sched-name-menu button.is-here{color:var(--muted);cursor:default}.sched-cat-edit{display:flex;flex-direction:column;gap:.35rem;margin:0 .15rem .4rem}.sched-node-tools{display:flex;flex-wrap:wrap;gap:.25rem}.sched-node-tools button{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--ink);font-size:.78rem;padding:.15rem .45rem}.sched-brush{display:flex;flex-direction:column;align-items:center;gap:.05rem;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.35rem .7rem;font:inherit;line-height:1.2;cursor:pointer;color:var(--ink);text-align:center}.sched-brush.is-on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.hr-table.sched-table:has(.sched-col-count){min-width:80rem}.sched-table .sched-count{font-size:.8rem;font-weight:650;color:#334155;font-variant-numeric:tabular-nums;white-space:nowrap}.sched-table th.sched-count,.sched-table td.sched-count{border-left:1px solid #dfe5ec}.sched-month{display:flex;flex-direction:column;align-items:center;gap:.05rem;line-height:1.2}.sched-month b{font-size:1.05rem;font-weight:700}.sched-month small{font-size:.72rem;font-weight:500;color:#3d5166;white-space:nowrap}.sched-col-count{width:6.2rem}.sched-table .sched-pick{width:100%;border:0;background:none;font:inherit;font-weight:inherit;color:inherit;cursor:pointer;padding:.2rem 0}.sched-table td.sched-name .sched-pick,.sched-table th.sched-name .sched-pick{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;min-height:100%;padding:.3rem .25rem}.sched-table th.is-picked,.sched-table td.sched-name.is-picked{background:#d6e8fb;box-shadow:inset 0 -3px 0 var(--accent)}.sched-cell.is-target button{box-shadow:0 0 0 2px var(--accent)}.sched-cell button.is-empty{border-left-color:transparent}.sched-cell button.is-empty:not(:disabled):hover{background:#f1f5fa;box-shadow:inset 0 0 0 1px #d5dde7}.sched-cell button small.sched-punch{margin-top:.1rem;padding:.05rem .45rem;border-radius:999px;background:#ffffffd9;color:#1f6f4a;font-size:.86rem;font-weight:700;opacity:1;box-shadow:inset 0 0 0 1px #cfe6da}.sched-cell button.is-empty small.sched-punch{background:#f1f7f3}.sched-cell.has-wage button{height:3.35rem}.sched-wage{display:block;margin-top:.15rem;padding:.08rem .3rem;border-radius:999px;background:#fff4e0;color:#9a5b00;font-size:.82rem;font-weight:700;line-height:1.3;text-align:center;white-space:nowrap;cursor:pointer;box-shadow:inset 0 0 0 1px #f1d9ad}.sched-wage:hover,.sched-wage:focus-visible{background:#ffe8c2;outline:none}.sched-wage.is-warn,.sched-month.is-warn small{color:#c2410c}.sched-wage.is-warn{box-shadow:inset 0 0 0 1px #f3b48b}@media(max-width:760px){.sched-page{height:auto;min-height:100dvh;overflow:visible}.sched-page .hr-header{margin:.4rem .5rem .35rem}.sched-page .hr-body.sched-body{display:flex;flex-direction:column;gap:.45rem;padding:0 .4rem .6rem}.sched-page .panel{padding:.6rem .55rem}.sched-page .sched-tree{max-height:9.5rem}.sched-page .sched-tree-head{flex-direction:row;align-items:baseline;gap:.5rem;margin-bottom:.25rem}.sched-page .hr-roster{min-height:0;overflow:visible}.sched-page .hr-toolbar{gap:.35rem;margin-bottom:.45rem}.sched-page .hr-toolbar .hr-count,.sched-page .finance-meta{flex:1 1 100%;font-size:.76rem;line-height:1.35}.sched-page .hr-toolbar-spacer{display:none}.sched-page .finance-meta{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 .4rem}.sched-page .hr-archive{flex:0 0 auto}.sched-page .sched-week{flex:1 1 100%;justify-content:space-between;order:3}.sched-page .sched-week strong{min-width:0}.sched-page .hr-search{flex:1 1 8rem;width:auto;min-width:0}.sched-page .header-admin-btn,.sched-page .primary-btn{min-height:2.4rem;padding:.35rem .7rem}.sched-page .sched-brushes .sched-brush{flex:1 1 4.4rem;min-width:4.4rem;min-height:2.6rem;padding:.3rem .35rem;white-space:nowrap}.sched-page .sched-brushes>.hr-scope{flex:0 0 auto;min-height:2.6rem}.sched-page .sched-brushes>.header-admin-btn,.sched-page .sched-brushes>.primary-btn{flex:1 1 6rem}.sched-page .hr-table-wrap.sched-board{flex:none;height:72dvh;min-height:22rem;max-height:none;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sched-page .hr-table.sched-table{width:max-content;min-width:100%;table-layout:auto}.sched-page .sched-table thead th{position:sticky;top:0;z-index:1}.sched-page .sched-table th.sched-name,.sched-page .sched-table td.sched-name{position:sticky;left:0;min-width:4.6rem;width:4.6rem;max-width:4.6rem;z-index:2;background:#fff;white-space:nowrap}.sched-page .sched-table th.sched-name{top:0;z-index:4;background:#f6f9fc}.sched-page .sched-table tbody tr:nth-child(2n) td.sched-name{background:#fbfcfe}.sched-page .sched-table th.sched-name.is-picked,.sched-page .sched-table td.sched-name.is-picked{background:#d6e8fb}.sched-page .sched-table thead th:not(.sched-name),.sched-page .sched-table td.sched-cell{min-width:7rem;width:7rem}.sched-page .sched-table thead th.sched-count,.sched-page .sched-table td.sched-count{min-width:5.4rem;width:5.4rem}.sched-page .sched-cell button{height:auto;min-height:4.5rem;padding:.28rem .2rem}.sched-page .sched-cell.has-wage button{min-height:3.3rem}.sched-page .sched-dayhead b,.sched-page .sched-dayhead small,.sched-page .sched-cell button strong,.sched-page .sched-cell button small,.sched-page .sched-cell button small.sched-punch{white-space:nowrap}}.sched-name-face{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;width:100%;min-width:0;line-height:1.25}.sched-name-mark{max-width:100%;overflow:hidden;font-size:.72rem;font-weight:450;line-height:1.2;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.sched-name-mark.is-loose{color:#c2410c;font-weight:650}.sched-wage-modal{width:min(760px,100%)}.sched-shift-modal input.is-invalid{border-color:#d14343;box-shadow:0 0 0 1px #d14343}.sched-shift-modal{width:min(720px,100%)}:root{--warning: #c2410c}.pcf-page :is(button,input,select,textarea){min-height:34px;font:inherit}.pcf-page :is(.primary-btn,.header-admin-btn,.ghost-btn){padding:.35rem .75rem}.pcf-page :is(.header-admin-btn,.ghost-btn),.pcf-page input:not([type=checkbox]):not([type=file]),.pcf-page select,.pcf-page textarea{background:var(--panel)}.pcf-page .primary-btn{color:var(--panel);box-shadow:var(--shadow)}.pcf-page .pcf-body{display:flex;flex-direction:column}.pcf-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;margin:0;padding:.85rem .95rem}.pcf-status,.pcf-foreman header,.pcf-add{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.pcf-status{flex-wrap:wrap;margin-bottom:.8rem;padding:.6rem .75rem;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-hover)}.pcf-status strong,.pcf-status>span,.pcf-day-count,.pcf-day-title time,.pcf-table .pcf-number{font-family:ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums}.pcf-status:not([data-days="0"],[data-days="1"],[data-days="2"],[data-days="3"],[data-days="4"],[data-days="5"],[data-days="6"],[data-days="7"]),.pcf-warn{color:var(--warning);background:var(--accent-soft)}.pcf-filters{align-items:flex-end}.pcf-filters label,.pcf-dialog label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:600}.pcf-pool,.pcf-content>.pcf-detail{flex:1;min-height:0;overflow:auto}.pcf-pool{border-top:1px solid var(--line)}.pcf-day{border-bottom:1px solid var(--line)}.pcf-page .pcf-day-title{display:grid;grid-template-columns:10rem minmax(0,1fr) auto 1rem;align-items:center;gap:.65rem;width:100%;padding:.5rem .65rem;border:0;border-radius:0;color:var(--ink);text-align:left}.pcf-day-title time{white-space:nowrap}.pcf-weekday{margin-left:.5rem;color:var(--muted)}.pcf-day-count{color:var(--muted)}.pcf-day-title em{padding:.1rem .45rem;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--warning);font-size:.82rem;font-style:normal;font-weight:600}.pcf-day-title:after{content:"";grid-column:4;width:.45rem;height:.45rem;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);justify-self:center}.pcf-day-title[aria-expanded=true]:after{transform:rotate(225deg)}.pcf-page .pcf-day-title:hover,.pcf-day-title[aria-expanded=true]{background:var(--accent-soft)}.pcf-page .pcf-older-title{display:flex;justify-content:space-between}.pcf-older .pcf-day:last-child{border-bottom:0}.pcf-person{min-width:0;padding:.4rem .65rem .65rem}.pcf-person h3{margin:0 0 .4rem;font-size:.92rem}.pcf-page .pcf-table-wrap{height:auto;min-height:0;max-height:26rem;overflow:auto;overscroll-behavior:contain}.pcf-table{width:100%}.pcf-table th{background:var(--bg)}.pcf-table .pcf-number,.pcf-row-actions{text-align:right}.pcf-table tbody tr{cursor:default}.pcf-table .is-done,.pcf-table .is-done:hover{background:var(--bg);color:var(--muted)}.pcf-bar{display:flex;justify-content:flex-end;padding-top:.65rem}.pcf-hint{color:var(--muted);font-size:.85rem}.pcf-error{color:var(--danger)}.pcf-warn{margin:.4rem 0;padding:.55rem .7rem;border-radius:var(--radius-sm);font-weight:700}.pcf-mask{background:#15253659}.pcf-page .pcf-dialog{width:min(38rem,100%)}.pcf-dialog label,.pcf-foreman{margin-top:.7rem}.pcf-dialog :is(input,select,textarea){min-width:0;width:100%}.pcf-add select{flex:1}.pcf-foreman{padding-top:.6rem;border-top:1px solid var(--line)}.pcf-scopes{display:flex;flex-wrap:wrap;gap:.35rem;margin:.4rem 0}.pcf-scopes span{display:inline-flex;align-items:center;gap:.25rem;padding-left:.45rem;border-radius:var(--radius-pill);background:var(--bg);overflow-wrap:anywhere}@media(max-width:760px){.pcf-page :is(button,input,select,textarea){min-height:44px}.pcf-page .hr-header{margin:.4rem .5rem .35rem}.pcf-page .app-header-row,.pcf-status{flex-wrap:wrap}.pcf-page .pcf-body{padding:0 .4rem .6rem}.pcf-content{padding:.6rem .55rem;overflow:visible}.pcf-pool,.pcf-content>.pcf-detail{flex:none;overflow:visible}.pcf-filters label{flex:1 1 8rem;min-width:0}.pcf-page .pcf-day-title{grid-template-columns:auto minmax(0,1fr) auto 1rem;gap:.4rem}.pcf-day-title em{grid-column:1 / 4;grid-row:2;justify-self:start}.pcf-day-title:after{grid-row:1}.pcf-bar .primary-btn{width:100%}}.thermal-shape-row{display:flex;gap:.5rem;margin-bottom:.8rem}.thermal-shape-row button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:var(--radius-sm);padding:.45rem 1.1rem;cursor:pointer}.thermal-shape-row button.is-on{background:var(--accent);border-color:var(--accent);color:#fff}.thermal-board{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(420px,1.25fr) minmax(220px,.7fr);gap:.8rem;align-items:start}.thermal-preview{position:sticky;top:.75rem;margin-bottom:0}.thermal-preview .hint{margin:.65rem 0 0}.thermal-stacks{display:flex;flex-direction:column;gap:.8rem;min-width:0}.thermal-stacks .panel,.thermal-side{margin-bottom:0}.thermal-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.35rem 0}.thermal-row select,.thermal-row input,.thermal-side select,.thermal-side input{border:1px solid var(--line);background:#fafbfc;color:var(--ink);padding:.35rem .45rem;border-radius:var(--radius-sm)}.thermal-row input{width:4.6rem}.thermal-row select{width:7.2rem}.thermal-remove{min-width:2rem;padding:.2rem .45rem;line-height:1}.thermal-swatch{width:1.4rem;height:1.1rem;border:1px solid var(--line);display:inline-block}.thermal-side label{display:flex;flex-direction:column;gap:.25rem;margin-top:.55rem;font-size:.86rem;color:var(--muted)}.thermal-side select,.thermal-side input{width:100%}.thermal-side .primary-btn{margin-top:.9rem}.thermal-result{display:flex;justify-content:space-between;gap:.6rem;margin:.35rem 0 0;font-size:.88rem}.thermal-result span{color:var(--muted)}@media(max-width:1180px){.thermal-board{grid-template-columns:1fr}.thermal-preview{position:static}.thermal-canvas{height:360px}}.thermal-canvas{height:min(68vh,560px);min-height:360px;background:#f3f4f6;border-radius:8px;overflow:hidden}.thermal-canvas canvas{display:block;cursor:default;touch-action:auto}.quota-page{flex:1 1 auto;margin:0 1.1rem 1.1rem;overflow:auto}.quota-page .hr-toolbar{gap:.6rem}.quota-page .hr-toolbar>button,.quota-page .hr-toolbar input,.quota-page .hr-toolbar select{min-height:40px}.quota-page .hr-search{max-width:22rem}.piece-qr-modal{max-width:46rem}.piece-qr-body{display:flex;gap:1.2rem;flex-wrap:wrap;align-items:flex-start}.piece-qr-img{width:15rem;height:15rem;border:1px solid #d8dde6;border-radius:.5rem;background:#fff}.piece-qr-side{flex:1 1 12rem;min-width:12rem}.piece-qr-url{margin:.2rem 0 .8rem;font-size:.82rem;line-height:1.5;word-break:break-all}.quota-page .hr-table-wrap{min-height:12rem}.quota-page .finance-meta{max-width:85em;line-height:1.7}.quota-page .hr-table-wrap+.hr-table-wrap,.quota-log{margin-top:.8rem}.quota-page .quota-log{flex:0 0 auto;min-height:0;max-height:18rem}.quota-table{width:100%;min-width:48rem}.quota-table td{padding:.75rem .85rem}.quota-table td:first-child{color:var(--accent-hover);font-weight:600}.quota-table td:nth-child(4){color:var(--muted);white-space:nowrap}.quota-actions{text-align:right;white-space:nowrap}.quota-actions .header-admin-btn+.header-admin-btn{margin-left:.4rem}.quota-click{cursor:pointer}.quota-click:hover>td,.quota-click:focus-visible>td{background:var(--accent-soft)}.quota-modal{width:min(680px,100%)}.quota-section-add{display:flex;gap:.55rem;align-items:center;margin-top:1rem}.quota-section-add input{flex:1;min-width:0;min-height:42px}.quota-section-add button{flex-shrink:0}.quota-search-list{margin:.9rem 0 0;padding:0;list-style:none;max-height:22rem;overflow:auto;border-bottom:1px solid var(--line)}.quota-search-list li{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem .25rem;border-top:1px solid var(--line)}.quota-search-list li div{display:flex;flex-direction:column;gap:.25rem;min-width:0;overflow-wrap:anywhere}.quota-search-list li strong{font-size:.9rem;font-family:ui-monospace,Consolas,monospace}.quota-search-list li span{color:var(--muted);font-size:.82rem}.quota-search-list li button{flex-shrink:0;min-height:40px}@media(max-width:720px){.quota-info{grid-template-columns:1fr 1fr}.quota-info>div:nth-child(2){grid-column:1 / -1;grid-row:2}.quota-page .hr-search{max-width:none}.quota-page .hr-toolbar-spacer{display:none}}.quota-table td:first-child,.quota-table td:nth-child(4),.quota-mono,.quota-sheet .is-num,.quota-calc{font-family:ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums}.quota-body{flex:1 1 auto;min-width:0;min-height:0;overflow:auto;padding:0 1.1rem 1.1rem}.quota-panel{min-width:0;margin:0}.quota-crumb,.quota-sheet-head{display:flex;align-items:center;gap:.6rem}.quota-crumb{flex-wrap:wrap;margin-bottom:.8rem;color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}.quota-crumb button,.quota-links button,.quota-add-btn{border:0;background:none;color:var(--accent);padding:.25rem 0;font:inherit;cursor:pointer}.quota-sheet-head{justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.quota-sheet-head>div{min-width:0;overflow-wrap:anywhere}.quota-sheet-head h2{margin:0 0 .3rem;font-size:1.15rem}.quota-sheet-head p{margin:0;color:var(--muted);font-size:.82rem}.quota-sheet-head>button,.quota-tag{flex-shrink:0}.quota-tag{padding:.2rem .65rem;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);font-size:.78rem}.quota-info{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(0,2fr) minmax(0,1.5fr);gap:.7rem 1.25rem;margin:0 0 1.15rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg)}.quota-info dt{margin-bottom:.2rem;color:var(--muted);font-size:.75rem}.quota-info dd{margin:0;font-size:.88rem;overflow-wrap:anywhere}.quota-sheet-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.quota-sheet{width:100%;min-width:64rem;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:.85rem}.quota-col-section{width:9rem}.quota-col-name{width:12rem}.quota-col-num{width:7rem}.quota-col-act{width:6.5rem}.quota-sheet th,.quota-sheet td{padding:.7rem .8rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.quota-sheet tr>:last-child{border-right:0}.quota-group:last-child tr:last-child>td,.quota-group:last-child .quota-section{border-bottom:0}.quota-sheet thead th{background:var(--bg);color:var(--muted);font-weight:600}.quota-th{display:flex;flex-direction:column;gap:.15rem}.quota-th small{font-size:.72rem;font-weight:400}.quota-sheet .is-num{text-align:right;white-space:nowrap}.quota-sheet .is-num .quota-th{align-items:flex-end;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.quota-group+.quota-group tr:first-child>*{border-top:1px solid var(--line)}.quota-sheet .quota-section,.quota-sheet thead th:first-child{position:sticky;left:0;z-index:1;background:var(--bg)}.quota-sheet .quota-section{text-align:center;overflow-wrap:anywhere}.quota-group tr:not(.quota-add-row):hover>td{background:var(--accent-soft)}.quota-links{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;font-size:.78rem;font-weight:400;white-space:nowrap}.quota-section .quota-links{display:flex;margin-top:.4rem}.quota-links .is-danger{color:var(--danger)}.quota-name{font-weight:500;overflow-wrap:anywhere}.quota-price{font-weight:650}.quota-ct{color:var(--muted)}.quota-note{color:var(--muted);overflow-wrap:anywhere}.quota-sheet .quota-row-act{text-align:center}.quota-sheet .quota-add-row td{padding-top:.35rem;padding-bottom:.35rem}.quota-add-btn{font-size:.8rem}.quota-page .is-blank,.quota-panel .is-blank,.quota-dialog .is-blank{color:color-mix(in srgb,var(--muted) 70%,var(--panel))}.quota-muted,.quota-foot{color:var(--muted);font-size:.8rem}.quota-foot{margin:.85rem 0 0;line-height:1.7}.quota-empty{padding:2rem 1rem;border:1px dashed var(--line);border-radius:var(--radius-sm);text-align:center}.quota-empty p{margin:.5rem 0 1rem;color:var(--muted);font-size:.85rem}.quota-dialog{width:min(460px,100%)}.quota-process-dialog{width:min(640px,100%)}.quota-modal h2,.quota-dialog h2{margin-top:0;overflow-wrap:anywhere}.quota-dialog-msg{margin:0 0 1.1rem;color:var(--muted);font-size:.85rem;line-height:1.7;overflow-wrap:anywhere}.quota-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem}.quota-field{display:flex;flex-direction:column;gap:.35rem;min-width:0;color:var(--muted);font-size:.85rem}.quota-form .is-wide{grid-column:1 / -1}.quota-field>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}.quota-field em{color:var(--danger);font-size:.72rem;font-style:normal}.hr-page .quota-field input,.quota-calc{width:100%;min-width:0;min-height:42px;padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:.9rem}.quota-calc{display:flex;align-items:center;background:var(--bg);color:var(--ink)}.quota-note-warn,.quota-error{margin:.85rem 0 0;padding:.65rem .8rem;border-left:3px solid var(--danger);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:color-mix(in srgb,var(--danger) 5%,var(--panel));color:var(--danger);font-size:.82rem;line-height:1.6}.quota-panel>.quota-error{margin:0 0 .85rem}.quota-dialog .hr-modal-actions{align-items:center;flex-wrap:wrap;padding-top:1rem;border-top:1px solid var(--line)}.quota-actions-hint{flex:1 1 10rem}.quota-dialog .primary-btn.is-danger{background:var(--danger);box-shadow:none}.quota-dialog .primary-btn.is-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 85%,var(--ink))}.quota-crumb button:hover:not(:disabled),.quota-links button:hover:not(:disabled),.quota-add-btn:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.quota-links button:disabled,.quota-add-btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:560px){.quota-screen .app-brand{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.quota-screen .app-logo{width:min(100%,13rem);height:auto}.quota-page{margin:0 .65rem .65rem;padding:1rem}.quota-body{padding:0 .65rem .65rem}.quota-panel,.quota-dialog,.quota-modal{padding:1rem}.quota-sheet-head{flex-wrap:wrap}.quota-form{grid-template-columns:1fr}.quota-dialog .hr-modal-actions>button{min-height:44px}.hr-page .quota-field input,.quota-section-add input{font-size:1rem}}.quota-page :is(button,input,select):focus-visible,.quota-modal :is(button,input):focus-visible,.quota-dialog :is(button,input):focus-visible,.quota-panel button:focus-visible,.quota-click:focus-visible,.quota-sheet-wrap:focus-visible,.piece-page :is(button,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.piece-page{display:grid;grid-template-columns:minmax(0,32.3rem);justify-content:center;align-content:start;width:100%;min-height:100vh;min-height:100dvh;margin:0;padding:1rem .85rem max(35vh,env(safe-area-inset-bottom));background:var(--bg);color:var(--ink)}.piece-page h1{margin:0;font-size:1.25rem;font-weight:650}.piece-head{margin:.1rem .2rem .85rem}.piece-head p{margin:.25rem 0 0;color:var(--muted);font-size:.85rem;overflow-wrap:anywhere}.piece-card{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.75rem;padding:.9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.piece-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.piece-dates button{min-height:44px;padding:.5rem .25rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--muted);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}.piece-dates button.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.piece-hint{margin:0;font-size:.8rem;color:var(--muted)}.piece-field{display:flex;flex-direction:column;gap:.3rem;min-width:0;font-size:.85rem;font-weight:600}.piece-field select,.piece-field input,.piece-field textarea{width:100%;min-width:0;min-height:46px;padding:.6rem .7rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font:inherit;font-size:1rem;font-weight:400;scroll-margin-top:5rem;scroll-margin-bottom:45vh}.piece-field select:disabled{background:var(--bg);color:var(--muted);opacity:.7}.piece-preview{margin:.15rem 0 0;padding:.7rem;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-hover);font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.piece-submit{width:100%;min-height:48px;font-size:1rem}.piece-ok,.piece-error{margin:0;padding:.65rem .7rem;border-radius:var(--radius-sm);background:var(--bg);font-size:.85rem;overflow-wrap:anywhere}.piece-ok{color:var(--accent-hover)}.piece-error{color:var(--danger)}.piece-list-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .6rem;font-size:.85rem}.piece-list-head span{color:var(--accent-hover);font-weight:650;font-variant-numeric:tabular-nums}.piece-list{margin:0;padding:0;list-style:none}.piece-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem 0;border-top:1px solid var(--line)}.piece-list li:last-child{padding-bottom:0}.piece-list li div{display:flex;flex-direction:column;gap:.25rem;min-width:0;overflow-wrap:anywhere}.piece-list li strong{font-size:.88rem;font-weight:600}.piece-list li span{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}.piece-list li button{flex-shrink:0;min-height:44px;min-width:44px;padding:.5rem;border:0;color:var(--danger);font-size:.85rem}.piece-list li button:disabled{opacity:.45;cursor:not-allowed}.piece-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.piece-modes button{min-height:48px;padding:.55rem .4rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--muted);font:inherit;font-size:1.05rem;font-weight:700;cursor:pointer}.piece-modes button.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.piece-row{display:flex;flex-direction:column;gap:.65rem;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg)}.piece-row.is-new{border-color:var(--accent)}.piece-row-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.piece-row-head strong{font-size:.85rem;font-weight:650}.piece-row-head button,.piece-add,.piece-extra{min-height:44px;min-width:44px;font:inherit;cursor:pointer}.piece-row-head button{flex-shrink:0;padding:.4rem .7rem;border:0;background:transparent;color:var(--danger);font-size:.85rem}.piece-stepper{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:.4rem}.piece-stepper button{min-height:46px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font:inherit;font-size:1.25rem;cursor:pointer}.piece-extra,.piece-add{width:100%;padding:.55rem .7rem;border:1px dashed var(--line);border-radius:var(--radius-sm);background:transparent;color:var(--accent-hover);font-size:.95rem;font-weight:650}.piece-preview.is-pending{background:#fff4d6;color:#8a5a00}.piece-warn{margin:0;padding:.7rem;border-radius:var(--radius-sm);background:#fff4d6;color:#8a5a00;font-size:.9rem;font-weight:650;overflow-wrap:anywhere}.piece-pending{display:inline-block;margin-left:.35rem;padding:.05rem .4rem;border-radius:var(--radius-pill);background:#fff4d6;color:#8a5a00;font-style:normal;font-size:.75rem;font-weight:700;vertical-align:.05em}.equipment-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}.equipment-device-select{display:flex;align-items:center;gap:.6rem;min-width:0;flex:1 1 260px;max-width:580px}.equipment-device-select select{flex:1;min-width:0}.equipment-page select,.equipment-page input{padding:.55rem .7rem;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;min-height:40px;max-width:100%}.equipment-page select:focus-visible,.equipment-page input:focus-visible,.equipment-management summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.equipment-page input:disabled,.equipment-page select:disabled{opacity:.6;cursor:not-allowed}.equipment-refresh{margin-left:auto}.equipment-status{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid var(--line);border-radius:var(--radius-pill);padding:.3rem .7rem;color:var(--muted);font-size:.82rem}.equipment-status.is-live{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.equipment-status.is-warning{color:var(--danger);border-color:var(--danger)}.equipment-read-error{margin:.8rem 0 0}.equipment-empty{padding:2rem 1rem;text-align:center}.equipment-readings{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2rem;padding:1.6rem 0 1.4rem;align-items:center}.equipment-reading-label,.equipment-range-stats span{display:block;font-size:.85rem;color:var(--muted)}.equipment-current>strong{display:block;margin:.25rem 0 .4rem;font-size:3rem;line-height:1.2;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.equipment-current small,.equipment-range-stats small{margin-left:.4rem;color:var(--muted);font-weight:400;font-size:1rem}.equipment-current p{margin:.5rem 0 0}.equipment-range-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-left:1px solid var(--line);padding-left:1.7rem}.equipment-range-stats strong{display:block;margin-top:.5rem;font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.equipment-metadata{display:grid;grid-template-columns:1fr 1.4fr 1.4fr 1fr;gap:.8rem 1rem;border-top:1px solid var(--line);padding-top:1rem;margin:0}.equipment-metadata div,.equipment-config-meta div{min-width:0}.equipment-metadata dt,.equipment-config-meta dt{color:var(--muted);font-size:.8rem}.equipment-metadata dd,.equipment-config-meta dd{margin:.25rem 0 0;font-size:.85rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.equipment-history-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.7rem}.equipment-history-heading h2{margin:0}.equipment-history-heading label{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.85rem}.equipment-chart{width:100%;min-width:0}.equipment-chart svg{width:100%;height:302px;display:block}.equipment-axis-label{fill:var(--muted);font-size:12px;font-family:inherit}.equipment-grid-line{stroke:var(--line);stroke-width:1}.equipment-temperature-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.equipment-temperature-dot{fill:var(--accent)}.equipment-chart-empty{fill:var(--muted);font-size:13px;font-family:inherit}.equipment-chart-note{margin:.5rem 0 0;font-size:.8rem}.equipment-management>summary{cursor:pointer;font-size:1.05rem;font-weight:600}.equipment-management>.hint{margin:.8rem 0}.equipment-manage-form{border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}.equipment-manage-form h3{margin:0 0 .75rem}.equipment-form-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.8rem;align-items:end}.equipment-form-fields label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:var(--muted)}.equipment-manage-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}.equipment-confirm{margin-top:1rem;padding:.8rem 1rem;border:1px solid var(--danger);border-radius:var(--radius-sm)}.equipment-confirm p{margin:0 0 .75rem}.equipment-danger,.equipment-danger:hover{color:var(--danger);border-color:var(--danger)}.equipment-confirm button+button{margin-left:.6rem}.equipment-credentials{border:1px solid var(--accent);background:var(--accent-soft);padding:1rem;margin-top:1.25rem;border-radius:var(--radius-sm)}.equipment-credentials-heading{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.equipment-credentials-heading h3{margin:0;overflow-wrap:anywhere}.equipment-config-meta{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.equipment-config-code{padding:.8rem 1rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font:.85rem/1.7 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.equipment-copy-message{display:inline-block;margin:.5rem 0 .5rem .8rem}@media(max-width:900px){.equipment-metadata{grid-template-columns:1fr 1fr}.equipment-range-stats{padding-left:1rem}}@media(max-width:560px){.equipment-monitor,.equipment-history,.equipment-management{padding:1rem}.equipment-readings{grid-template-columns:1fr;gap:1.2rem;padding-top:1.3rem}.equipment-range-stats{border-left:0;border-top:1px solid var(--line);padding:1rem 0 0}.equipment-current>strong{font-size:2.6rem}.equipment-device-select{flex-basis:100%}.equipment-form-fields{grid-template-columns:1fr}.equipment-form-fields button{justify-self:start}.equipment-config-meta{grid-template-columns:1fr}.equipment-history-heading label{width:100%;justify-content:space-between}.equipment-history-heading select{min-width:0}}.app-header .app-logo{height:25px;width:auto;transform:none;margin-top:0;margin-left:0}
