:root{font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;color:#17211d;background:#f4f1e8;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit}button:disabled{cursor:not-allowed;opacity:.55}.shell{min-height:100vh;padding:28px}.topbar{align-items:center;border-bottom:1px solid #d8d1c0;display:flex;justify-content:space-between;padding-bottom:20px}.top-actions{align-items:center;display:flex;gap:10px}.user-chip{border:1px solid #d8d1c0;color:#17211d;display:grid;font-size:12px;gap:1px;min-height:38px;min-width:150px;padding:4px 10px}.user-chip span{color:#66736b;font-size:11px}.page-tabs{border-bottom:1px solid #d8d1c0;display:flex;gap:8px;margin:16px 0 20px;overflow-x:auto;padding:3px 0 12px}.page-tab{align-items:center;background:transparent;border:1px solid transparent;color:#4f5c54;cursor:pointer;display:inline-flex;flex:0 0 auto;gap:8px;min-height:38px;padding:0 14px;position:relative;transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.page-tab:hover,.page-tab.active{background:#fffdf7;border-color:transparent;box-shadow:inset 0 0 0 1px #17211d;color:#17211d}.page-tab:hover{transform:translateY(-1px)}.page-tab:active{transform:translateY(1px)}.page-stack{display:grid;gap:18px}.page-panel{margin-top:0}.overview-grid{display:grid;gap:18px;grid-template-columns:360px minmax(0,1fr)}.diagnostics-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.eyebrow{color:#66736b;font-size:12px;font-weight:700;letter-spacing:0;margin:0 0 4px;text-transform:uppercase}h1,h2,p{margin:0}h1{font-family:Georgia,Songti SC,serif;font-size:42px;font-weight:700}h2{font-size:18px}.health{align-items:center;border:1px solid #b8c9be;display:inline-flex;gap:8px;min-height:38px;padding:0 14px}.health.good{background:#e8f3ed;color:#155a38}.health.bad{background:#fff0ec;border-color:#e7b4a6;color:#9b2f1d}.metrics{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin:22px 0 12px}.metric{align-items:center;background:#fffdf7;border:1px solid #ded7c8;display:grid;gap:4px 10px;grid-template-columns:22px 1fr;min-height:88px;padding:16px}.metric strong{font-size:28px;grid-column:2;line-height:1}.metric span{color:#647066;font-size:13px}.metric.good svg{color:#1f7a4d}.metric.bad svg{color:#b23b28}.config-strip{background:#1f2924;color:#edf2ee;display:grid;gap:1px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.config-item{align-items:center;display:grid;gap:4px 8px;grid-template-columns:10px 1fr;min-width:0;padding:14px}.config-item code{color:#cbd6cf;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{background:#c45b40;border-radius:50%;height:8px;width:8px}.dot.ok{background:#4fb276}.workspace{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 320px}.login-shell{align-items:center;background:#f4f1e8;display:grid;min-height:100vh;padding:28px;place-items:center}.login-panel{background:#fffdf7;border:1px solid #17211d;box-shadow:8px 8px #d9a441;display:grid;gap:16px;max-width:430px;padding:30px;width:100%}.init-panel{max-width:780px}.init-section{border-top:1px solid #ebe5d7;display:grid;gap:12px;padding-top:14px}.init-section h2{font-size:13px;margin:0}.init-grid{display:grid;gap:12px}.init-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.init-grid.three{align-items:end;grid-template-columns:150px repeat(2,minmax(0,1fr))}.login-copy,.login-message{color:#66736b;font-size:13px}.user-create{align-items:end;border-top:1px solid #ebe5d7;display:grid;gap:12px;grid-template-columns:minmax(220px,1fr) 150px auto;padding:0 18px 18px}.user-create-action{min-width:142px}.user-list{border-top:1px solid #ebe5d7;display:grid}.user-row{align-items:end;border-top:1px solid #ebe5d7;display:grid;gap:14px;grid-template-columns:minmax(240px,1fr) 132px 88px minmax(200px,.85fr) minmax(220px,auto);padding:14px 18px}.user-row:first-child{border-top:0}.user-row strong,.user-row>div span,.compact-field span{display:block}.user-row strong{font-size:14px}.user-row>div span{color:#66736b;font-size:12px;margin-top:4px}.compact-field{display:grid;gap:6px;min-width:0}.compact-field span{color:#66736b;font-size:11px;font-weight:700}.switch-line{align-items:center;border:1px solid #d8d1c0;display:inline-flex;gap:8px;justify-content:center;min-height:38px;padding:0 10px}.switch-line input{accent-color:#17211d;height:16px;margin:0;width:16px}.switch-line span{color:#17211d;font-size:12px;font-weight:700;margin:0}.user-save{min-width:96px}.user-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.ghost-button.danger{border-color:#d8a79f;color:#8a2518}.ghost-button.danger:hover{background:#fff1ed}.link-button{background:transparent;border:0;color:#17211d;font-size:13px;font-weight:800;justify-self:start;padding:0;text-decoration:underline}.toggle-line{align-items:center;display:inline-flex;gap:6px;font-size:13px}.audit-list{border-top:1px solid #ebe5d7;display:grid}.audit-row{align-items:center;border-top:1px solid #ebe5d7;display:grid;gap:14px;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.3fr) 82px 90px;padding:12px 18px}.audit-row:first-child{border-top:0}.audit-row strong,.audit-row span,.audit-row code,.audit-row p{display:block}.audit-row span,.audit-row p,.audit-row time{color:#66736b;font-size:12px}.audit-row code{color:#174f79;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.audit-row p{margin-top:3px;overflow-wrap:anywhere}.audit-row em{border:1px solid #d8d1c0;font-size:12px;font-style:normal;justify-self:start;padding:3px 8px}.audit-ok{background:#e8f3ed;color:#155a38}.audit-bad{background:#fff0ec;color:#9b2f1d}.audit-warn{background:#fff6dc;color:#795b0f}.service-row strong{overflow-wrap:anywhere}.service-row code{max-height:44px;overflow:hidden}.table-panel,.side-panel,.settings-panel{background:#fffdf7;border:1px solid #ded7c8}.panel-head{align-items:center;display:flex;justify-content:space-between;padding:18px}.panel-head p,.side-copy{color:#66736b;font-size:13px;margin-top:4px}.icon-button,.primary,.ghost-button{align-items:center;border:1px solid #17211d;cursor:pointer;display:inline-flex;justify-content:center;position:relative;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,transform .15s ease}.icon-button svg,.primary svg,.ghost-button svg,.page-tab svg{transition:transform .15s ease}.icon-button{background:transparent;height:36px;width:36px}.icon-button.danger{border-color:#e7b4a6;color:#9b2f1d}.primary{background:#17211d;color:#fff;gap:8px;min-height:42px;width:100%}.ghost-button{background:#fffdf7;color:#17211d;gap:8px;min-height:38px;padding:0 14px}.primary:hover,.ghost-button:hover,.icon-button:hover{box-shadow:3px 3px #d9a441;transform:translate(-1px,-1px)}.primary:hover{background:#23302a}.ghost-button:hover,.icon-button:hover{background:#f7f3e9}.icon-button:hover svg,.ghost-button:hover svg,.primary:hover svg,.page-tab:hover svg{transform:translateY(-1px)}.primary:active,.ghost-button:active,.icon-button:active{box-shadow:1px 1px #d9a441;transform:translate(1px,1px)}.primary.compact{min-height:38px;padding:0 16px;width:auto}.icon-button:focus-visible,.primary:focus-visible,.ghost-button:focus-visible{outline:3px solid #d9a441;outline-offset:2px}.table-wrap{background:#fffdf7;overflow-x:auto}.ticket-filters{align-items:end;border-top:1px solid #ebe5d7;display:grid;gap:10px;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(130px,.7fr)) auto;padding:12px 18px}.ticket-summary{border-top:1px solid #ebe5d7;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.ticket-stat{align-content:center;border-left:1px solid #ebe5d7;display:grid;min-height:76px;padding:12px 18px}.ticket-stat:first-child{border-left:0}.ticket-stat span{color:#66736b;font-size:12px;font-weight:700}.ticket-stat strong{font-size:26px;line-height:1.1;margin-top:4px}.ticket-stat.muted{background:#f7f3e9}.bulk-actions{align-items:center;border-top:1px solid #ebe5d7;display:flex;flex-wrap:wrap;gap:12px;padding:12px 18px}.bulk-actions span{color:#66736b;font-size:12px;font-weight:700}.select-cell{text-align:center;width:54px}.select-cell input{accent-color:#17211d;height:16px;width:16px}.ticket-filters .field{gap:4px}.ticket-filters input,.ticket-filters select{min-height:34px}.clear-filters{min-height:34px;padding:0 12px}.status-groups{border-top:1px solid #ebe5d7;display:grid}.status-group{border-top:1px solid #d8d1c0}.status-group:first-child{border-top:0}.status-group-head{align-items:center;background:#f7f3e9;display:flex;justify-content:space-between;padding:12px 18px}.status-group-head h3{font-size:15px;margin:0}.status-group-head p{color:#66736b;font-size:12px;margin-top:2px}.group-count{align-items:center;background:#17211d;color:#fffdf7;display:inline-flex;font-size:12px;font-weight:700;height:28px;justify-content:center;min-width:28px;padding:0 8px}.group-empty{color:#66736b;min-height:180px;padding:68px 18px;text-align:center}.ticket-table{border-collapse:collapse;min-width:1040px;table-layout:fixed;width:100%}.compact-table{min-width:760px}.col-select{width:58px}.col-title{width:31%}.col-reporter{width:12%}.col-priority{width:78px}.col-status,.col-delivery{width:96px}.col-linear{width:132px}.col-time{width:116px}th,td{border-top:1px solid #ebe5d7;font-size:12px;line-height:1.35;padding:8px 10px;text-align:left;vertical-align:middle}th{background:#fffdf7;color:#66736b;font-size:12px;font-weight:700}tbody tr{transition:background-color .14s ease}tbody tr:hover{background:#fbf7ed}td a{color:#174f79;font-weight:700;text-decoration:none}.title-cell a,.title-cell span{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;line-height:1.45;max-height:42px;overflow:hidden;overflow-wrap:anywhere}.compact-cell{overflow-wrap:normal;white-space:normal;word-break:keep-all}.time-cell{color:#66736b;font-size:11px;white-space:nowrap}.pill,.delivery{border:1px solid #d8d1c0;display:inline-flex;justify-content:center;min-width:46px;padding:2px 7px;white-space:nowrap}.linear-cell{align-items:center;display:flex;flex-wrap:wrap;gap:6px;min-width:0}.text-button{background:transparent;border:0;color:#174f79;cursor:pointer;font-size:11px;font-weight:700;padding:2px 0;text-underline-offset:3px;transition:color .14s ease,transform .14s ease}.text-button:hover{color:#0e3858;text-decoration:underline;transform:translateY(-1px)}.text-button:active{transform:translateY(1px)}.text-button:focus-visible{outline:3px solid #d9a441;outline-offset:2px}.delivery.sent,.delivery.created{background:#e8f3ed;border-color:#b8c9be;color:#155a38}.delivery.failed,.delivery.deleted{background:#fff0ec;border-color:#e7b4a6;color:#9b2f1d}.delivery.dry_run,.delivery.disabled,.delivery.imported,.delivery.seen{background:#fff6dc;border-color:#e7ce85;color:#795b0f}.empty{color:#66736b;height:160px;text-align:center}.side-panel{align-content:start;display:grid;gap:16px;padding:18px}.delivery-box{background:#f4f1e8;border:1px solid #ded7c8;display:grid;gap:8px;padding:14px}.mode-card{background:#1f2924;color:#edf2ee;display:grid;gap:4px;padding:14px}.mode-card span{color:#cbd6cf;font-size:12px;font-weight:700}.mode-card strong{font-size:22px}.polling-box{border:1px solid #ded7c8;display:grid;grid-template-columns:1fr 1fr}.polling-box>div{display:grid;gap:4px;min-width:0;padding:12px}.polling-box>div+div{border-left:1px solid #ebe5d7}.polling-box span{color:#66736b;font-size:12px;font-weight:700}.polling-box strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.polling-box p{color:#66736b;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.checklist{border:1px solid #ded7c8;display:grid}.ready-item{align-items:center;border-top:1px solid #ebe5d7;display:flex;justify-content:space-between;min-height:42px;padding:0 12px}.ready-item:first-child{border-top:0}.ready-item span{background:#fff6dc;border:1px solid #e7ce85;color:#795b0f;font-size:12px;min-width:42px;padding:3px 7px;text-align:center}.ready-item.ok span{background:#e8f3ed;border-color:#b8c9be;color:#155a38}.ready-item b{font-size:13px}.delivery-box span,.callback span{color:#66736b;font-size:12px;font-weight:700}.delivery-box strong{font-size:18px}.delivery-box p{color:#9b2f1d;font-size:12px}.delivery-box a{color:#174f79;font-size:13px;font-weight:700;text-decoration:none}.diagnostic-actions{display:grid;gap:8px;grid-template-columns:1fr 1fr}.diagnostic-actions.wide{grid-template-columns:1fr}.diagnostic-actions .ghost-button{min-height:38px;padding:0 10px}.run-switch{align-items:stretch;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.run-switch .primary{align-self:stretch}.bitable-test{border:1px solid #ded7c8;display:grid;gap:10px;padding:12px}.bitable-test .ghost-button{width:100%}.diagnostic-json{background:#1f2924;color:#edf2ee;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.5;margin:0;max-height:220px;overflow:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.callback{display:grid;gap:6px}.callback code{background:#1f2924;color:#edf2ee;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere;padding:10px}.settings-panel{margin-top:18px}.settings-sections{border-top:1px solid #ebe5d7;display:grid;gap:0}.setting-group{border-top:1px solid #ebe5d7;padding:18px}.setting-group:first-child{border-top:0}.setting-group h3{align-items:center;display:flex;font-size:14px;gap:8px;margin:0 0 14px}.setting-group h3 svg{color:#174f79}.field-mapping-panel{display:grid;gap:14px}.field-mapping-head{align-items:center;display:flex;gap:12px;justify-content:space-between}.field-mapping-head h3{margin:0}.field-mapping-head .ghost-button{min-height:34px}.display-fields{border-top:1px solid #ebe5d7;display:grid;gap:10px;margin-top:4px;padding-top:14px}.display-fields-head{align-items:center;display:flex;justify-content:space-between}.display-fields-head h4{font-size:13px;margin:0}.display-fields-head p{color:#66736b;font-size:12px;margin-top:3px}.display-fields-head .ghost-button{min-height:32px}.display-field-row{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px}.writeback-row{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 36px}.writeback-value{display:grid;gap:8px;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr)}.settings-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.chat-list-panel{display:grid;gap:14px}.chat-list-head{align-items:center;display:flex;justify-content:space-between;gap:12px}.chat-list-head h3{margin:0}.chat-list-head .ghost-button{min-height:34px}.chat-tools{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(220px,320px) auto}.chat-tools .field{gap:4px}.chat-list{border:1px solid #ded7c8;display:grid;max-height:320px;overflow:auto}.chat-empty{color:#66736b;font-size:13px;padding:18px}.chat-row{align-items:center;background:#fffdf7;border:0;border-top:1px solid #ebe5d7;color:#17211d;cursor:pointer;display:flex;justify-content:space-between;min-height:58px;padding:10px 12px;text-align:left;transition:background-color .14s ease,box-shadow .14s ease,transform .14s ease}.chat-row:first-child{border-top:0}.chat-row:hover,.chat-row.selected{background:#e8f3ed}.chat-row:hover{box-shadow:inset 3px 0 #174f79;transform:translate(2px)}.chat-row:active{transform:translate(0)}.chat-row span{display:grid;gap:4px;min-width:0}.chat-row b{font-size:14px}.chat-row code{color:#66736b;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.chat-row em{border:1px solid #d8d1c0;color:#66736b;flex:0 0 auto;font-size:12px;font-style:normal;padding:3px 7px}.field{display:grid;gap:6px;min-width:0}.field span,.toggle span{color:#66736b;font-size:12px;font-weight:700}.field input,.field select,.compact-field input,.compact-field select,.user-row input,.user-row select{background:#fffdf7;border:1px solid #d8d1c0;color:#17211d;min-height:38px;min-width:0;padding:0 10px;width:100%}.field-picker{display:grid;gap:6px}.field-picker input{min-height:34px}.field select,.compact-field select,.user-row select{cursor:pointer}.field input:focus-visible,.field select:focus-visible,.compact-field input:focus-visible,.compact-field select:focus-visible,.user-row input:focus-visible,.user-row select:focus-visible{outline:3px solid #d9a441;outline-offset:1px}.toggle{align-content:center;align-items:center;border:1px solid #d8d1c0;display:flex;gap:10px;min-height:58px;padding:0 12px}.toggle input{accent-color:#17211d;height:18px;width:18px}@media(max-width:920px){.shell{padding:18px}.metrics,.config-strip,.workspace,.overview-grid,.diagnostics-grid,.ticket-summary,.ticket-filters,.settings-grid,.user-create,.user-row,.init-grid.two,.init-grid.three,.audit-row{grid-template-columns:1fr}.user-create{padding:0 18px 18px}.user-create-action,.user-save{width:100%}.user-actions{justify-content:stretch}.chat-list-head,.field-mapping-head{align-items:stretch;flex-direction:column}.display-field-row,.writeback-row,.writeback-value,.polling-box{grid-template-columns:1fr}.polling-box>div+div{border-left:0;border-top:1px solid #ebe5d7}.chat-tools{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:14px;flex-direction:column}.top-actions{align-items:stretch;flex-direction:column;width:100%}.top-actions .primary,.top-actions .ghost-button,.top-actions .health,.user-chip{width:100%}}@media(prefers-reduced-motion:reduce){.chat-row,.ghost-button,.icon-button,.page-tab,.primary,.text-button,.ghost-button svg,.icon-button svg,.page-tab svg,.primary svg{transition:none}.chat-row:active,.chat-row:hover,.ghost-button:active,.ghost-button:hover,.icon-button:active,.icon-button:hover,.page-tab:active,.page-tab:hover,.primary:active,.primary:hover,.text-button:active,.text-button:hover{transform:none}}
