@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@500;600;700&family=Fira+Sans:wght@400;500;600;700&display=swap";:root{--ink:#10201c;--ink-2:#263831;--paper:#f4f0e7;--paper-2:#e8dfcc;--paper-3:#fffaf0;--line:#10201c29;--line-strong:#10201c57;--green:#00b884;--green-deep:#00795c;--red:#e04834;--yellow:#e5b84b;--blue:#2f6fdd;--muted:#10201c9e;--shadow:0 24px 70px #10201c24}*{box-sizing:border-box}html{background:var(--paper);min-width:320px;color:var(--ink);font-family:Fira Sans,Noto Sans SC,sans-serif}body{background:linear-gradient(#10201c09 1px,#0000 1px) 0 0/22px 22px,linear-gradient(90deg,#10201c09 1px,#0000 1px) 0 0/22px 22px,radial-gradient(circle at 18% 0,#00b88424,#0000 31%) 0 0/100% 100%,linear-gradient(135deg,#f7f1e4 0%,#ebe4d5 56%,#f4f0e7 100%) 0 0/100% 100%;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #00b8846b}h1,h2,h3,p,dl{margin-top:0}.mono,.eyebrow,.brand,.status-badge,.priority-badge{letter-spacing:0;font-family:Fira Code,monospace}.app-shell{grid-template-columns:228px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line-strong);color:var(--paper);background:#10201cf5;padding:22px 16px}.brand{margin-bottom:28px;line-height:1.05}.brand span,.brand strong,.brand small{display:block}.brand span{color:var(--green);font-size:13px;font-weight:700}.brand strong{margin-top:3px;font-size:22px}.brand small{color:#f4f0e79e;margin-top:8px;font-family:Fira Sans,sans-serif;font-size:12px;font-weight:700}.sidebar nav{gap:8px;display:grid}.sidebar button{color:#f4f0e7c7;text-align:left;background:0 0;border:1px solid #f4f0e733;min-height:44px;padding:0 12px;font-weight:800}.sidebar button.active{border-color:var(--green);background:var(--green);color:var(--ink)}.workspace{min-width:0;padding:22px}.topbar{justify-content:flex-end;align-items:start;gap:18px;display:flex}.session-strip{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:420px;display:flex}.session-strip span,.session-strip button,.feedback-entry,.filters input,.filters select,.filters button{border:1px solid var(--line-strong);min-height:40px;color:var(--ink);background:#fffaf0d1;padding:0 12px;font-weight:800}.session-strip span{align-items:center;display:inline-flex}.feedback-entry{border-color:var(--green-deep);background:var(--green-deep);color:#fff;white-space:nowrap;align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}.feedback-entry:hover{filter:brightness(1.08)}.toast{border:1px solid var(--line-strong);min-height:42px;color:var(--green-deep);background:#00b8841a;margin:16px 0;padding:10px 12px;font-weight:800}.mobile-quick{display:none}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.metrics article,.list-panel,.detail-panel,.create-panel,.dispatch-board,.toast{box-shadow:var(--shadow)}.metrics article{border:1px solid var(--line-strong);background:#fffaf0d1;padding:14px}.metrics span{color:var(--muted);font-size:12px;font-weight:800;display:block}.metrics strong{margin-top:7px;font-family:Fira Code,monospace;font-size:25px;line-height:1;display:block}.filters{grid-template-columns:1fr 130px 130px 240px 120px;gap:9px;margin-bottom:16px;display:grid}.filters .filter-create-btn{letter-spacing:2px;white-space:nowrap}.filters .filter-load-btn{white-space:nowrap;font-weight:700}.filters button,.primary-action{border-color:var(--ink);background:var(--green);color:var(--ink)}.main-grid{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:16px;display:grid}.main-grid.no-detail{grid-template-columns:minmax(0,1fr)}.list-panel,.detail-panel,.create-panel{border:1px solid var(--line-strong);background:#fffaf0d6;min-width:0;padding:15px}.section-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px;display:flex}.section-heading.compact{align-items:start}.section-heading span{color:var(--green-deep);font-size:11px;font-weight:800}.section-heading h2{letter-spacing:0;margin:0;font-family:Fira Code,monospace;font-size:18px}.order-list{gap:10px;max-height:516px;padding-right:4px;display:grid;overflow:auto}.order-card{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#f4f0e7bd;padding:12px}.order-card.selected{border-color:var(--ink);background:#00b8841f}.order-no{color:var(--muted);font-size:12px;font-weight:800}.order-card-title,.detail-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.order-card h3{margin:5px 0 0;font-size:18px;line-height:1.2}.order-card p{color:var(--muted);margin:7px 0 10px;line-height:1.35}.card-meta,.detail-tags,.card-footer{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.card-meta span,.detail-tags span{border:1px solid var(--line);background:#fffaf0b8;align-items:center;min-height:28px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.card-footer{color:var(--muted);justify-content:space-between;font-size:12px;font-weight:800}.status-badge,.priority-badge{white-space:nowrap;border:1px solid;justify-content:center;align-items:center;min-height:29px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.status-in_progress,.status-done{color:var(--green-deep);background:#00b8841f}.status-accepted,.status-dispatched,.status-wait_confirm{color:#7a4d00;background:#e5b84b33}.status-new,.status-escalated,.priority-p0{color:var(--red);background:#e048341a}.priority-p1{color:#7a4d00;background:#e5b84b33}.priority-p2,.priority-p3{color:var(--blue);background:#2f6fdd1a}.detail-panel{position:sticky;top:22px}.detail-head{border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:12px}.detail-head h2{margin:4px 0 0;font-size:21px;line-height:1.16}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.detail-grid div{border-top:1px solid var(--line);min-width:0;padding-top:8px}.detail-grid dt{color:var(--muted);font-size:12px;font-weight:800}.detail-grid dd{overflow-wrap:anywhere;margin:3px 0 0;font-weight:800;line-height:1.3}.field-service h3,.detail-panel section h3{margin:0 0 9px;font-family:Fira Code,monospace;font-size:14px}.field-grid,.action-list,.capture-strip{gap:8px;display:grid}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid button,.action-list button,.capture-strip button,.create-panel button{border:1px solid var(--ink);background:var(--paper-3);min-height:44px;color:var(--ink);font-weight:900}.capture-strip{grid-template-columns:repeat(3,1fr);margin:10px 0}.capture-strip button{background:#10201c0d;border-style:dashed;min-height:70px}.signature-pad{border:1px solid var(--line-strong);background:linear-gradient(160deg,#fffaf0f2,#ebe3d2d1) 0 0/100% 100%,linear-gradient(#10201c0f 1px,#0000 1px) 0 0/100% 32px;min-height:118px;padding:10px}.signature-pad span{color:var(--muted);font-size:12px;font-weight:800}.signature-pad i{border-bottom:3px solid var(--ink);width:76%;height:48px;margin:24px auto 0;display:block;transform:rotate(-4deg)}.action-list{grid-template-columns:repeat(3,minmax(0,1fr))}.timeline{gap:9px;margin-top:14px;display:grid}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:76px 1fr;gap:10px;padding-bottom:9px;display:grid}.timeline-item time{color:var(--muted);font-family:Fira Code,monospace;font-size:11px;font-weight:800}.timeline-item strong,.timeline-item span{display:block}.timeline-item span{color:var(--muted);font-size:12px;line-height:1.35}.create-panel{max-width:860px}.create-panel label{color:var(--muted);gap:6px;margin-bottom:12px;font-size:12px;font-weight:900;display:grid}.create-panel input,.create-panel select,.create-panel textarea{border:1px solid var(--line-strong);background:var(--paper-3);width:100%;color:var(--ink);padding:10px;font-weight:700}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-errors{color:var(--red);background:#e048341a;border:1px solid #e048346b;margin:0 0 12px;padding:10px 10px 10px 28px;font-weight:800}.primary-action{width:100%;min-height:52px;font-weight:900}.login-shell{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login-card{border:1px solid var(--line-strong);width:100%;max-width:420px;box-shadow:var(--shadow);background:#fffaf0e6;padding:28px 24px}.login-brand{margin-bottom:22px}.login-brand span{color:var(--green-deep);font-size:12px;font-weight:800}.login-brand h1{margin:8px 0 6px;font-family:Fira Code,monospace;font-size:26px;line-height:1.1}.login-brand p{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.login-slogan{letter-spacing:1px;min-height:22px;font-family:Fira Code,monospace;font-weight:700;color:var(--green-deep)!important;font-size:15px!important}.type-caret{background:var(--green);vertical-align:-2px;width:8px;height:16px;margin-left:2px;animation:.9s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{0%,to{opacity:1}50%{opacity:0}}.login-footer{border-top:1px solid var(--line);text-align:center;color:var(--muted);margin-top:20px;padding-top:16px;font-size:12px}.login-footer a{color:var(--green-deep);font-weight:700;text-decoration:none}.login-footer a:hover{text-decoration:underline}.login-form{gap:14px;display:grid}.login-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.login-form input{border:1px solid var(--line-strong);background:var(--paper-3);width:100%;min-height:48px;color:var(--ink);padding:0 12px;font-weight:700}.login-error{color:var(--red);background:#e048341a;border:1px solid #e048346b;margin:0;padding:10px 12px;font-size:13px;font-weight:800}.wecom-login-action{color:#07c160;cursor:pointer;background:0 0;border:1px solid #07c160;width:100%;min-height:48px;font-weight:900}.wecom-login-action:hover:not(:disabled){background:#07c16014}.wecom-login-action:disabled{opacity:.5;cursor:not-allowed}.login-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.dispatch-board{border:1px solid var(--line-strong);background:#fffaf0c7;grid-template-columns:1fr 1.3fr .9fr;gap:12px;margin-top:16px;padding:14px;display:grid}.board-column{border:1px solid var(--line);background:#f4f0e799;min-width:0;padding:11px}.queue-item,.engineer-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 0;display:grid}.queue-item strong,.queue-item span,.engineer-row strong,.engineer-row small{display:block}.queue-item strong{line-height:1.2}.queue-item span,.engineer-row small{color:var(--muted);font-size:12px;font-weight:800}.engineer-row{width:100%;color:var(--ink);text-align:left;background:0 0;border-bottom:0;border-left:0;border-right:0;grid-template-columns:minmax(0,1fr) 86px 42px}.engineer-row i{border:1px solid var(--line-strong);background:linear-gradient(90deg, var(--green) var(--load), transparent 0);width:86px;height:9px}.engineer-row b{text-align:right}.risk p{border-top:1px solid var(--line);margin:0;padding:10px 0;font-weight:900}.mobile-nav{display:none}@media (width<=1279px){.app-shell{grid-template-columns:84px minmax(0,1fr)}.brand small,.sidebar button{font-size:11px}.brand strong{font-size:14px}.sidebar button{text-align:center;padding:0 6px}.main-grid,.dispatch-board{grid-template-columns:1fr}.detail-panel{position:static}}@media (width<=767px){body{background-size:18px 18px,18px 18px,100% 100%,100% 100%}.app-shell{padding-bottom:78px;display:block}.sidebar{display:none}.workspace{padding:16px 14px 0}.topbar{gap:12px}.session-strip{justify-content:flex-start}.session-strip span,.session-strip button{min-height:38px;font-size:12px}.toast{margin:12px 0}.mobile-quick{border:1px solid var(--line-strong);background:#fffaf0d1;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:flex}.mobile-quick h2{margin:3px 0 0;font-size:21px}.mobile-quick button{border:1px solid var(--ink);background:var(--green);min-height:46px;padding:0 12px;font-weight:900}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metrics article{padding:12px}.metrics strong{font-size:22px}.filters{grid-template-columns:1fr 1fr;gap:8px}.filters input{grid-column:1/-1}.filters button{grid-column:1/-1;min-height:48px}.main-grid{gap:12px}.list-panel,.detail-panel,.create-panel,.dispatch-board{padding:12px}.order-list{max-height:none;overflow:visible}.order-card-title,.detail-head{grid-template-columns:minmax(0,1fr) auto;display:grid}.order-card h3,.detail-head h2{overflow-wrap:anywhere;font-size:18px}.detail-grid,.form-row,.field-grid,.action-list{grid-template-columns:1fr}.capture-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.capture-strip button{min-height:78px}.signature-pad{min-height:160px}.field-grid button,.action-list button,.create-panel button{min-height:52px}.timeline-item{grid-template-columns:72px 1fr}.dispatch-board{margin-bottom:14px}.mobile-nav{z-index:20;border:1px solid var(--ink);background:var(--ink);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:12px;left:12px;right:12px}.mobile-nav button{min-height:52px;color:var(--paper);background:0 0;border:0;border-right:1px solid #f4f0e738;font-family:Fira Code,monospace;font-size:12px;font-weight:800}.mobile-nav button:last-child{border-right:0}.mobile-nav button.active{background:var(--green);color:var(--ink)}}@media (width<=374px){.workspace{padding-left:10px;padding-right:10px}.metrics{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){.metrics article,.list-panel,.detail-panel,.create-panel,.dispatch-board,.toast{animation:.36s both rise}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}.attachment-section{margin-top:14px}.attachment-hint{color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:800}.attachment-list{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:grid}.attachment-list li{border:1px solid var(--line);background:var(--paper-3);overflow-wrap:anywhere;align-items:center;gap:8px;padding:6px 8px;font-size:13px;font-weight:700;display:flex}.attachment-tag{border:1px solid var(--line-strong);flex-shrink:0;padding:1px 6px;font-size:11px;font-weight:900}.attachment-list a{color:var(--ink);overflow-wrap:anywhere;text-decoration:underline}.attachment-empty{color:var(--muted);margin:0 0 10px;font-size:12px;font-weight:800}.attachment-form{gap:8px;display:grid}.attachment-form input,.attachment-form select{border:1px solid var(--line-strong);background:var(--paper-3);width:100%;min-height:40px;color:var(--ink);padding:0 10px;font-weight:700}.attachment-form input[type=file]{padding:8px 10px}.attachment-form button{border:1px solid var(--ink);background:var(--paper-3);min-height:44px;color:var(--ink);font-weight:900}.attachment-error{color:var(--red,#c0392b);font-size:12px;font-weight:800}.archives-panel{border:1px solid var(--line-strong);min-width:0;box-shadow:var(--shadow);background:#fffaf0d6;padding:15px}.archive-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.archive-col{border:1px solid var(--line);background:#f4f0e799;min-width:0;padding:11px}.archive-col-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.archive-col-head strong{overflow-wrap:anywhere;font-family:Fira Code,monospace;font-size:14px}.archive-col-head button{border:1px solid var(--ink);background:var(--green);min-height:32px;color:var(--ink);flex-shrink:0;padding:0 10px;font-weight:900}.archive-search{grid-template-columns:1fr auto;gap:6px;margin-bottom:10px;display:grid}.archive-search input{border:1px solid var(--line-strong);background:var(--paper-3);min-width:0;min-height:36px;color:var(--ink);padding:0 10px;font-weight:700}.archive-search button{border:1px solid var(--ink);background:var(--paper-3);min-height:36px;color:var(--ink);padding:0 12px;font-weight:900}.archive-list{gap:8px;max-height:480px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.archive-list li{border:1px solid var(--line);background:var(--paper-3);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:8px;display:grid}.archive-list li.active{border-color:var(--ink);background:#00b88424}.archive-list li>button:first-child{min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;padding:0}.archive-list li>button.archive-static{cursor:default}.archive-list strong{overflow-wrap:anywhere;font-size:14px;line-height:1.2;display:block}.archive-list small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:12px;font-weight:700;display:block}.archive-edit-btn{border:1px solid var(--line-strong);background:var(--paper-3);min-height:28px;color:var(--ink);flex-shrink:0;padding:0 8px;font-size:12px;font-weight:800}.archive-empty{color:var(--muted);margin:0;padding:6px 0;font-size:12px;font-weight:800}.archive-drawer-backdrop{z-index:40;background:#10201c6b;justify-content:flex-end;display:flex;position:fixed;inset:0}.archive-drawer{border-left:1px solid var(--line-strong);background:var(--paper-3);width:min(420px,100%);height:100%;box-shadow:var(--shadow);flex-direction:column;display:flex}.archive-drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px;display:flex}.archive-drawer-head h3{margin:0;font-family:Fira Code,monospace;font-size:18px}.archive-drawer-head button{border:1px solid var(--line-strong);background:var(--paper-3);color:var(--ink);width:34px;height:34px;font-size:20px;font-weight:900;line-height:1}.archive-drawer-body{flex:1;align-content:start;gap:12px;padding:16px;display:grid;overflow:auto}.archive-drawer-body label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.archive-drawer-body input,.archive-drawer-body select{border:1px solid var(--line-strong);background:var(--paper-3);width:100%;min-height:42px;color:var(--ink);padding:0 10px;font-weight:700}.archive-form-error{color:var(--red);background:#e048341a;border:1px solid #e048346b;margin:0;padding:10px;font-weight:800}.asset-product-search{margin-bottom:6px}.asset-field-note{font-size:11px;font-weight:700}.asset-field-note--error{color:var(--red)}.asset-locked-group{border:1px dashed var(--line-strong);background:var(--paper-2,var(--paper-3));gap:8px;padding:10px 12px;display:grid}.asset-locked-title{letter-spacing:.04em;color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.asset-locked-grid{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}.asset-locked-item{gap:2px;display:grid}.asset-locked-label{color:var(--muted);font-size:11px;font-weight:800}.asset-locked-value{color:var(--ink);word-break:break-all;font-size:13px;font-weight:900}.archive-drawer-foot{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:10px;padding:16px;display:grid}.archive-drawer-foot button{border:1px solid var(--ink);background:var(--paper-3);min-height:46px;color:var(--ink);font-weight:900}.archive-drawer-foot .primary-action{background:var(--green);width:100%}@media (width<=767px){.archive-cols{grid-template-columns:1fr}.archives-panel{padding:12px}.archive-drawer{width:100%}}.create-panel{margin:0 auto}.create-panel.wizard{max-width:880px;margin:0 auto}.create-panel.wizard .section-heading{margin-bottom:22px}.create-panel.wizard .create-form-grid{gap:16px 18px}.wizard-steps{justify-content:center;align-items:center;gap:10px;margin:8px auto 26px;padding:0;list-style:none;display:flex}.wizard-step{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.wizard-step:not(:last-child):after{content:"";background:var(--line);width:48px;height:2px;margin-left:10px}.wizard-dot{border:1px solid var(--line-strong);background:var(--paper-3);border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:900;display:inline-flex}.wizard-step.active{color:var(--ink)}.wizard-step.active .wizard-dot{background:var(--green);border-color:var(--green-deep);color:var(--ink)}.wizard-step.done .wizard-dot{background:var(--green-deep);border-color:var(--green-deep);color:#fff}.wizard-step.done:not(:last-child):after{background:var(--green)}.field-cap{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:900;display:block}.field-cap-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.manual-asset-toggle{cursor:pointer;align-items:center;gap:4px;font-size:12px;font-weight:800;display:inline-flex}.manual-asset-toggle input{width:auto}.locked-site .locked-site-name{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);padding:10px;font-weight:800;display:block}.photo-thumbs{flex-wrap:wrap;gap:8px;display:flex}.photo-thumb{width:64px;height:64px;position:relative}.photo-thumb img{object-fit:cover;border:1px solid var(--line-strong);width:64px;height:64px}.photo-thumb-del{background:var(--red);color:#fff;cursor:pointer;border:none;border-radius:50%;width:20px;height:20px;padding:0;font-weight:900;line-height:18px;position:absolute;top:-8px;right:-8px}.photo-add-btn{border:1px dashed var(--line-strong);background:var(--paper-3);width:64px;height:64px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:800}.warranty-chip{border:1px solid var(--line-strong);border-radius:2px;margin-top:8px;padding:3px 10px;font-size:12px;font-weight:800;display:inline-block}.warranty-chip.over{color:var(--red);border-color:var(--red)}.warranty-chip.in{color:var(--green-deep);border-color:var(--green)}.fee-free-tag{color:var(--green-deep);font-weight:800}.wizard-nav{align-items:center;gap:12px;margin-top:26px;display:flex}.wizard-prev{border:1px solid var(--line-strong);background:var(--paper-3);color:var(--ink);cursor:pointer;min-height:44px;padding:0 22px;font-weight:800}.wizard-nav .primary-action{flex:1;margin-top:0}.create-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.create-form-grid label{color:var(--muted);gap:6px;margin-bottom:0;font-size:12px;font-weight:900;display:grid}.create-form-grid label.span-2{grid-column:1/-1}.create-form-grid input,.create-form-grid select,.create-form-grid textarea{border:1px solid var(--line-strong);background:var(--paper-3);width:100%;color:var(--ink);padding:10px;font-weight:700}.create-form-grid textarea{resize:vertical}.create-panel .primary-action{margin-top:16px}.billing-hint{color:var(--green-deep);background:#00b8841a;border:1px solid #00b88466;margin:8px 0 0;padding:8px 10px;font-size:13px;font-weight:800}.archive-col-hint{color:var(--muted);overflow-wrap:anywhere;margin:2px 0 12px;font-size:12px;font-weight:700}.contract-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:14px;display:flex}.contract-toolbar label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.contract-toolbar input,.contract-toolbar select{border:1px solid var(--line-strong);background:var(--paper-3);min-width:160px;min-height:38px;color:var(--ink);padding:0 10px;font-weight:700}.contract-toolbar button{border:1px solid var(--ink);background:var(--paper-3);min-height:38px;color:var(--ink);padding:0 14px;font-weight:900}.contract-toolbar .contract-new-btn{background:var(--green);margin-left:auto}.contract-table-wrap{overflow-x:auto}.contract-table,.report-table{border-collapse:collapse;width:100%;font-size:13px}.contract-table th,.contract-table td,.report-table th,.report-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:8px 10px}.contract-table th,.report-table th{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:900}.contract-table td.mono{font-family:Fira Code,monospace}.contract-dates{white-space:nowrap;color:var(--muted);font-weight:700}.contract-status{white-space:nowrap;border:1px solid;align-items:center;padding:1px 7px;font-size:11px;font-weight:800;display:inline-flex}.contract-status-active{color:var(--green-deep);background:#00b8841f}.contract-status-expired{color:#7a4d00;background:#e5b84b33}.contract-status-terminated{color:var(--red);background:#e048341a}.reports-panel{border:1px solid var(--line-strong);min-width:0;box-shadow:var(--shadow);background:#fffaf0d6;padding:15px}.report-range{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px;display:flex}.report-range label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.report-range input{border:1px solid var(--line-strong);background:var(--paper-3);min-height:40px;color:var(--ink);padding:0 10px;font-weight:700}.report-range .primary-action{width:auto;min-height:40px;padding:0 22px}.report-block{border:1px solid var(--line);background:#f4f0e78c;margin-bottom:22px;padding:14px}.report-block-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.report-block-head h3{margin:0;font-family:Fira Code,monospace;font-size:16px}.report-block-head h3.report-subtitle{color:var(--green-deep);font-size:13px}.report-sub{color:var(--muted);font-size:12px;font-weight:800}.report-table-wrap{overflow-x:auto}.report-table td.num{white-space:nowrap;font-family:Fira Code,monospace;font-weight:800}.report-table td.dist{color:var(--muted);font-weight:700}.revenue-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.revenue-summary article{border:1px solid var(--line-strong);background:#fffaf0d1;padding:14px}.revenue-summary span{color:var(--muted);font-size:12px;font-weight:800;display:block}.revenue-summary strong{margin-top:7px;font-family:Fira Code,monospace;font-size:24px;line-height:1;display:block}.revenue-summary small{color:var(--muted);margin-top:6px;font-size:11px;font-weight:800;display:block}.revenue-summary .revenue-total{border-color:var(--ink);background:#00b8841f}@media (width<=767px){.create-form-grid,.revenue-summary{grid-template-columns:1fr}.report-range{gap:8px}.report-range label{flex:40%}}.scanner-backdrop{z-index:60;background:#10201c85;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.scanner-box{border:1px solid var(--line-strong);background:var(--paper-3);width:min(420px,100%);max-height:90vh;box-shadow:var(--shadow);border-radius:4px;flex-direction:column;display:flex}.scanner-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px;display:flex}.scanner-head h3{margin:0;font-family:Fira Code,monospace;font-size:18px}.scanner-head button{border:1px solid var(--line-strong);background:var(--paper-3);color:var(--ink);width:34px;height:34px;font-size:20px;font-weight:900;line-height:1}.scanner-body{flex:1;align-content:start;gap:12px;padding:16px;display:grid;overflow:auto}.scanner-video{aspect-ratio:4/3;border:1px solid var(--line-strong);object-fit:cover;background:#000;border-radius:4px;width:100%}.scanner-hint{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.scanner-manual-label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.scanner-manual-label input{border:1px solid var(--line-strong);background:var(--paper-3);color:var(--ink);padding:10px 12px;font-size:15px}.scanner-switch{border:1px solid var(--line-strong);background:var(--paper);color:var(--green-deep);justify-self:start;padding:6px 12px;font-size:12px;font-weight:900}.scanner-error{color:var(--red);margin:0;font-size:13px;font-weight:700}.scanner-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:16px;display:flex}.scanner-foot button{border:1px solid var(--line-strong);background:var(--paper-3);color:var(--ink);padding:8px 16px;font-weight:900}.field-with-scan{align-items:stretch;gap:8px;display:flex}.field-with-scan input{flex:1}.scan-trigger-btn{border:1px solid var(--green-deep);background:var(--green);color:var(--ink);white-space:nowrap;flex:none;padding:0 14px;font-size:13px;font-weight:900}.combobox{position:relative}.combobox-input{border:1px solid var(--line-strong);background:var(--paper-3);width:100%;color:var(--ink);padding:10px 12px;font-size:15px}.combobox-list{z-index:5;border:1px solid var(--line-strong);background:var(--paper-3);max-height:240px;box-shadow:var(--shadow);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:auto}.combobox-list li{cursor:pointer;border-radius:3px;padding:8px 10px;font-size:13px}.combobox-list li:hover,.combobox-list li.active{background:var(--paper-2)}.combobox-list li.combobox-empty{color:var(--muted);cursor:default}.combobox-list li.combobox-empty:hover{background:0 0}.asset-code-readonly{color:var(--green-deep);background:var(--paper-2);border:1px dashed var(--line-strong);border-radius:3px;padding:8px 10px;font-family:Fira Code,monospace;font-size:13px}.asset-code-hint{color:var(--muted);font-weight:700}.contracts-subsection{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.contracts-subsection .section-heading{margin-bottom:8px}.over-warranty-group{border:1px solid var(--line);border-radius:4px;gap:12px;padding:12px;display:grid}.over-warranty-title{color:var(--green-deep);font-family:Fira Code,monospace;font-size:12px;font-weight:900}.risk-strip{border:1px solid var(--line);border-left:3px solid var(--red);background:#fffaf0d6;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;display:flex}.risk-strip-title{color:var(--ink);font-family:Fira Code,monospace;font-size:12px;font-weight:900}.risk-chip{border:1px solid var(--line-strong);border-radius:2px;padding:3px 10px;font-size:12px;font-weight:800}.risk-chip-red{color:var(--red);border-color:var(--red)}.risk-chip-yellow{color:#9a7b1a;border-color:var(--yellow)}.risk-chip-blue{color:var(--blue);border-color:var(--blue)}.greet-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.greet-box{align-items:baseline;gap:10px;min-width:0;display:flex}.greet-line{color:var(--ink);white-space:nowrap;font-size:15px;font-weight:900}.greet-meta{color:var(--muted);font-size:12px;font-weight:700}.toast-msg{color:var(--green-deep);font-size:13px;font-weight:800}.risk-strip{overflow:hidden}.risk-ticker-desktop{flex:1;justify-content:flex-start;align-items:center;gap:24px;min-width:0;display:flex}.risk-seg{flex:0 auto;align-items:center;gap:6px;min-width:0;max-width:320px;display:flex}.risk-seg-sep{color:var(--muted);font-weight:900}.risk-ticker-item{color:var(--green-deep);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;text-align:left;background:0 0;border:0;min-width:0;padding:0;font-size:12px;font-weight:700;animation:.5s ticker-fade;overflow:hidden}.risk-ticker-item:hover{text-decoration:underline}.risk-ticker-empty{color:var(--muted);font-size:12px}@keyframes ticker-fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.risk-ticker-mobile{flex:1;align-items:center;gap:6px;min-width:0;display:none}.detail-head-right{align-items:center;gap:10px;display:flex}.detail-dismiss{border:1px solid var(--line-strong);background:var(--paper-3);color:var(--ink);cursor:pointer;width:30px;height:30px;font-size:18px;font-weight:900;line-height:1}.load-drawer-backdrop{z-index:50;background:#10201c6b;justify-content:flex-end;display:flex;position:fixed;inset:0}.load-drawer{border-left:1px solid var(--line-strong);background:var(--paper-3);width:min(420px,100%);height:100%;box-shadow:var(--shadow);flex-direction:column;padding:18px;display:flex;overflow:auto}.load-drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:12px;display:flex}.load-drawer-head .mono{color:var(--green-deep);font-size:12px;font-weight:800}.load-drawer-head h3{margin:4px 0 0;font-family:Fira Code,monospace;font-size:18px}.load-drawer-head button{border:1px solid var(--line-strong);background:var(--paper-3);width:32px;height:32px;font-size:20px;font-weight:900;line-height:1}.load-drawer-hint{color:var(--muted);margin:0 0 14px;font-size:12px}.load-list{gap:8px;display:grid}.load-row{border:1px solid var(--line-strong);background:var(--paper);text-align:left;cursor:pointer;grid-template-columns:1fr 90px 48px;align-items:center;gap:10px;padding:10px 12px;display:grid}.load-row:disabled{opacity:.55;cursor:not-allowed}.load-row.overloaded{border-color:var(--red)}.load-row-info{gap:2px;min-width:0;display:grid}.load-row-info strong{font-size:14px}.load-row-info small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.load-bar{border:1px solid var(--line-strong);background:var(--paper-3);height:8px;display:block;overflow:hidden}.load-bar i{background:var(--green);height:100%;display:block}.load-row.overloaded .load-bar i{background:var(--red)}.load-num{text-align:right;font-family:Fira Code,monospace;font-size:13px;font-weight:900}.load-num.over{color:var(--red)}.detail-drawer-backdrop{z-index:50;background:#10201c6b;justify-content:flex-end;display:flex;position:fixed;inset:0}.detail-drawer{background:var(--paper-3);border-left:1px solid var(--line-strong);width:min(440px,100%);height:100%;box-shadow:var(--shadow);overflow:auto}.detail-drawer .detail-panel{background:0 0;border:none;height:auto}@media (width<=767px){.risk-ticker-desktop{display:none}.risk-ticker-mobile{display:flex}.risk-strip{flex-wrap:wrap;gap:6px 8px;padding:10px 12px}.risk-strip-title{flex:0 0 100%}.risk-ticker-mobile{flex:100%;min-width:0}.risk-ticker-mobile .risk-chip{flex:none}.risk-ticker-mobile .risk-ticker-item{flex:auto;min-width:0}}.service-checklist{gap:6px;display:grid}.service-check-item{color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.service-check-item input{width:auto}.app-toast{z-index:200;border:1px solid var(--green-deep);border-left:4px solid var(--green);background:var(--paper-3);max-width:360px;color:var(--ink);box-shadow:var(--shadow);border-radius:4px;padding:12px 18px;font-size:14px;font-weight:800;animation:.25s app-toast-in;position:fixed;top:20px;right:20px}@keyframes app-toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (width<=767px){.app-toast{max-width:none;top:12px;left:12px;right:12px}}.archive-del-btn{border:1px solid var(--red);color:var(--red);cursor:pointer;background:0 0;margin-left:8px;padding:4px 12px;font-size:12px;font-weight:800}.archive-del-btn:hover{background:var(--red);color:#fff}.archive-form-hint{color:var(--ink-soft,#666);font-size:13px;font-weight:600}.link-btn{color:var(--green-deep);cursor:pointer;background:0 0;border:none;padding:0 2px;font-weight:800;text-decoration:underline}.category-form{border-bottom:1px dashed var(--green-deep);gap:10px;margin-bottom:14px;padding-bottom:14px;display:grid}.category-form-actions{justify-content:flex-end;gap:10px;display:flex}.category-list-wrap{gap:8px;display:grid}.category-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.category-list li{border:1px solid var(--green-deep);background:var(--paper-3);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.category-list-main{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.category-list-main strong{color:var(--ink);font-size:14px}.category-list-desc{color:var(--ink-soft,#666);font-size:12px;font-weight:600}.category-list-count{color:var(--green-deep);font-size:12px;font-weight:800}.category-list-ops{flex-shrink:0;align-items:center;display:flex}.archive-del-btn:disabled{opacity:.4;cursor:not-allowed}.archive-del-btn:disabled:hover{color:var(--red);background:0 0}.detail-card{border:1px solid var(--green-deep);background:var(--paper-3);border-radius:6px;margin-bottom:12px;padding:14px 16px}.detail-card-title{color:var(--green-deep);border-bottom:1px dashed var(--green-deep);margin:0 0 10px;padding-bottom:8px;font-size:14px;font-weight:800}.detail-card-hint{color:var(--ink-soft,#666);margin:-4px 0 10px;font-size:12px}.detail-kv{grid-template-columns:1fr 1fr;gap:10px 16px;margin:0;display:grid}.detail-kv>div{min-width:0}.detail-kv-wide{grid-column:1/-1}.detail-kv dt{color:var(--ink-soft,#666);margin-bottom:2px;font-size:11px}.detail-kv dd{color:var(--ink);word-break:break-all;margin:0;font-size:13px;font-weight:700}.addr-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.map-link{color:#fff;background:var(--green);border-radius:4px;flex-shrink:0;padding:2px 10px;font-size:12px;font-weight:800;text-decoration:none}.tel-link{border:1px solid var(--green);color:var(--green-deep);cursor:pointer;background:0 0;border-radius:4px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:800}.tel-link:hover{background:var(--green);color:#fff}.node-actions{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;display:grid}.node-btn{border:1px solid var(--green-deep);cursor:pointer;background:#fff;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;display:flex}.node-btn strong{color:var(--ink);font-size:13px}.node-btn small{color:var(--ink-soft,#666);font-size:11px}.node-btn:hover:not(:disabled){background:var(--paper-3);border-color:var(--green)}.node-btn:disabled{opacity:.5;cursor:not-allowed}.node-confirm-btn{width:100%}.status-actions{flex-wrap:wrap;gap:10px;display:flex}.status-actions button{border:1px solid var(--green-deep);min-width:84px;color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;flex:1;padding:10px;font-size:13px;font-weight:800}.status-actions button:hover:not(:disabled){background:var(--paper-3)}.status-actions button:disabled{opacity:.5;cursor:not-allowed}.danger-action{border-color:var(--red)!important;color:var(--red)!important}.danger-action:hover:not(:disabled){background:var(--red)!important;color:#fff!important}.capture-backdrop{z-index:300;background:#10201c66;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.capture-sheet{background:var(--paper-3);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow);border-radius:14px 14px 0 0;flex-direction:column;animation:.22s capture-up;display:flex}@keyframes capture-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.capture-head{border-bottom:1px solid var(--green-deep);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.capture-head h3{color:var(--ink);margin:0;font-size:16px}.capture-head button{cursor:pointer;color:var(--ink-soft,#666);background:0 0;border:none;font-size:22px;line-height:1}.capture-body{gap:14px;padding:16px 18px;display:grid;overflow-y:auto}.capture-foot{border-top:1px solid var(--green-deep);gap:12px;padding:14px 18px;display:flex}.capture-foot button{cursor:pointer;border:1px solid var(--green-deep);color:var(--ink);background:#fff;border-radius:6px;flex:1;padding:12px;font-size:14px;font-weight:800}.capture-foot .primary-action{background:var(--green);border-color:var(--green);color:#fff}.capture-foot button:disabled{opacity:.55;cursor:not-allowed}.capture-geo{border:1px solid var(--green-deep);color:var(--green-deep);background:#fff;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:700}.capture-geo[data-state=denied],.capture-geo[data-state=unsupported]{color:#9a6b00;background:#fff8e6;border-color:#d9a400}.capture-text{color:var(--ink);gap:6px;font-size:13px;font-weight:700;display:grid}.capture-text textarea,.capture-text select{border:1px solid var(--green-deep);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:14px}.capture-photos-head{color:var(--ink);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:800;display:flex}.capture-add-btn{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:800}.capture-add-btn:disabled{opacity:.55;cursor:not-allowed}.capture-photos-empty{color:var(--ink-soft,#666);margin:0;font-size:12px}.capture-thumb-list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.capture-thumb-list li{width:76px;height:76px;position:relative}.capture-thumb-list img{object-fit:cover;border:1px solid var(--green-deep);border-radius:6px;width:100%;height:100%}.capture-thumb-list button{background:var(--red);color:#fff;cursor:pointer;border:none;border-radius:50%;width:22px;height:22px;font-size:14px;line-height:1;position:absolute;top:-8px;right:-8px}.capture-error{color:var(--red);margin:0;font-size:13px;font-weight:700}.close-warn{color:#9a6b00;background:#fff8e6;border:1px solid #d9a400;border-radius:6px;margin:0;padding:10px 12px;font-size:13px;font-weight:700}.sign-hint{color:var(--ink-soft,#666);margin:0;font-size:13px}.sign-canvas-wrap{position:relative}.sign-canvas{border:1px dashed var(--green-deep);touch-action:none;background:#fff;border-radius:6px;width:100%;height:180px}.sign-clear-btn{border:1px solid var(--green-deep);color:var(--ink);cursor:pointer;background:#fff;border-radius:4px;padding:3px 10px;font-size:12px;font-weight:800;position:absolute;top:8px;right:8px}.sign-rating{gap:4px;display:flex}.sign-rating .star{color:#d9d2c4;cursor:pointer;background:0 0;border:none;font-size:26px;line-height:1}.sign-rating .star.on{color:#f5a623}@media (width>=768px){.capture-backdrop{align-items:center}.capture-sheet{border-radius:14px}}.load-card{border:1px solid var(--green-deep);background:var(--paper-3);border-radius:6px;margin-bottom:12px;padding:12px 14px}.load-card-head{border-bottom:1px dashed var(--green-deep);justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;display:flex}.load-card-name{flex-direction:column;gap:2px;min-width:0;display:flex}.load-card-name strong{color:var(--ink);font-size:14px}.load-card-name small{color:var(--ink-soft,#666);font-size:11px}.load-card-total{color:var(--green-deep);flex-shrink:0;font-size:13px;font-weight:800}.load-section{margin-top:8px}.load-section-label{align-items:center;gap:6px;margin-bottom:4px;font-size:12px;font-weight:800;display:flex}.load-section-label span{background:var(--ink);color:#fff;border-radius:10px;padding:0 7px;font-size:11px}.load-section-progress{color:var(--green-deep)}.load-section-progress span{background:var(--green)}.load-section-wait{color:#9a6b00}.load-section-wait span{background:#d9a400}.load-section-empty{color:var(--ink-soft,#999);margin:0 0 4px;font-size:12px}.load-order-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.load-order-list li{background:#fff;border:1px solid #e7e2d6;border-radius:5px;align-items:center;gap:8px;padding:6px 8px;display:flex}.load-order-title{text-align:left;cursor:pointer;min-width:0;color:var(--ink);background:0 0;border:none;flex-direction:column;flex:1;gap:2px;font-size:13px;display:flex}.load-order-title .mono{color:var(--ink-soft,#888);font-size:11px}.load-transfer-btn{border:1px solid var(--green-deep);color:var(--green-deep);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:800}.load-transfer-btn:hover{background:var(--green);color:#fff;border-color:var(--green)}.nav-transfer-btn{margin-top:8px;color:#9a6b00!important}.pending-transfer-list{gap:10px;display:grid}.pending-transfer-card{border:1px solid var(--green-deep);background:var(--paper-3);border-radius:6px;padding:12px 14px}.pending-transfer-order{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:2px;width:100%;display:flex}.pending-transfer-order .mono{color:var(--ink-soft,#888);font-size:11px}.pending-transfer-order span:last-child{color:var(--ink);font-size:14px;font-weight:700}.pending-transfer-meta{color:var(--ink-soft,#666);margin:8px 0;font-size:12px}.pending-transfer-ops{gap:10px;display:flex}.pending-transfer-ops button{cursor:pointer;border:1px solid var(--green-deep);background:#fff;border-radius:5px;flex:1;padding:8px;font-size:13px;font-weight:800}.pending-transfer-ops .primary-action{background:var(--green);border-color:var(--green);color:#fff}.pending-transfer-ops button:disabled{opacity:.55;cursor:not-allowed}.manage-panel{flex-direction:column;display:flex}.manage-table-wrap{border:1px solid var(--green-deep);border-radius:6px;overflow-x:auto}.manage-table{border-collapse:collapse;width:100%;font-size:13px}.manage-table thead{background:var(--paper-3)}.manage-table th{text-align:left;color:var(--green-deep);white-space:nowrap;border-bottom:1px solid var(--green-deep);padding:10px 12px;font-size:12px;font-weight:800}.manage-table td{color:var(--ink);white-space:nowrap;border-bottom:1px solid #ece7da;padding:10px 12px}.manage-row{cursor:pointer}.manage-row:hover td{background:var(--paper-3)}.pager{justify-content:center;align-items:center;gap:16px;margin-top:16px;display:flex}.pager button{border:1px solid var(--green-deep);color:var(--ink);cursor:pointer;background:#fff;border-radius:5px;padding:7px 16px;font-size:13px;font-weight:800}.pager button:hover:not(:disabled){background:var(--paper-3)}.pager button:disabled{opacity:.45;cursor:not-allowed}.pager-info{color:var(--ink-soft,#666);font-size:13px;font-weight:700}.global-search{display:inline-flex;position:relative}.global-search-btn{border:1px solid var(--green-deep);width:36px;height:36px;color:var(--green-deep);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.global-search-btn:hover{background:var(--green);color:#fff;border-color:var(--green)}.global-search-pop{z-index:220;background:var(--paper-3);border:1px solid var(--green-deep);width:min(420px,86vw);box-shadow:var(--shadow);border-radius:10px;padding:12px;position:absolute;top:44px;right:0}.global-search-input{border:1px solid var(--green-deep);box-sizing:border-box;border-radius:6px;width:100%;padding:9px 12px;font-size:14px}.global-search-results{max-height:50vh;margin-top:8px;overflow-y:auto}.global-search-empty{color:var(--ink-soft,#888);margin:8px 4px;font-size:13px}.global-search-results ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.global-search-results li button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:8px 10px;display:flex}.global-search-results li button:hover{background:#fff}.global-search-results .mono{color:var(--ink-soft,#888);flex-shrink:0;font-size:11px}.global-search-results .gs-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.global-search-results .gs-meta{color:var(--ink-soft,#888);white-space:nowrap;flex-shrink:0;font-size:11px}@media (width<=767px){.global-search-results .gs-meta{display:none}}.account-tabs{gap:8px;margin-bottom:12px;display:flex}.account-tab{border:1px solid var(--green-deep);color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:800}.account-tab.active{background:var(--green);color:#fff;border-color:var(--green)}.wecom-missing{color:var(--red);font-size:12px;font-weight:700}.wecom-config{gap:16px;max-width:640px;display:grid}.wecom-status{border-radius:6px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;font-size:13px;font-weight:800;display:flex}.wecom-status-on{color:var(--green-deep);border:1px solid var(--green);background:#e8f7f0}.wecom-status-off{color:#9a6b00;background:#fff8e6;border:1px solid #d9a400}.wecom-updated{color:var(--ink-soft,#888);font-size:12px;font-weight:600}.wecom-form{gap:12px;display:grid}.wecom-form label{color:var(--ink);gap:6px;font-size:13px;font-weight:700;display:grid}.wecom-form input{border:1px solid var(--green-deep);border-radius:6px;padding:9px 12px;font-size:14px}.wecom-test-result{border-radius:6px;margin:0;padding:10px 14px;font-size:13px;font-weight:700}.wecom-test-result.ok{color:var(--green-deep);border:1px solid var(--green);background:#e8f7f0}.wecom-test-result.fail{color:var(--red);border:1px solid var(--red);background:#fdecea}.wecom-actions{gap:12px;display:flex}.wecom-actions button{cursor:pointer;border:1px solid var(--green-deep);color:var(--ink);background:#fff;border-radius:6px;flex:1;padding:11px;font-size:14px;font-weight:800}.wecom-actions .primary-action{background:var(--green);border-color:var(--green);color:#fff}.wecom-actions button:disabled{opacity:.55;cursor:not-allowed}.wecom-help{border-top:1px dashed var(--green-deep);padding-top:12px}.wecom-help h4{color:var(--green-deep);margin:0 0 8px;font-size:13px}.wecom-help ol{color:var(--ink-soft,#666);gap:5px;margin:0;padding-left:20px;font-size:12px;line-height:1.5;display:grid}.wecom-help code{background:var(--paper-3);border:1px solid var(--green-deep);color:var(--green-deep);border-radius:3px;padding:1px 5px;font-size:11px}.wecom-sync{border:1px solid var(--green-deep);background:var(--paper-3);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.wecom-sync-info{flex-direction:column;gap:3px;min-width:0;display:flex}.wecom-sync-info strong{color:var(--ink);font-size:13px}.wecom-sync-info span{color:var(--ink-soft,#666);font-size:12px}.wecom-sync button{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:6px;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:800}.wecom-sync button:disabled{opacity:.5;cursor:not-allowed}.wecom-sync-hint{color:#9a6b00;margin:-8px 0 0;font-size:12px}
