:root{--ink:#18334d;--muted:#60758a;--line:#dce8f2;--green:#087cbd;--yellow:#fff0a8}*{box-sizing:border-box}body{margin:0;background:#f3f8fc;color:var(--ink);font:14px/1.6 "Segoe UI","Microsoft YaHei",sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;padding:10px 16px;background:#fff;color:var(--ink);cursor:pointer;font-size:13px}.primary{background:var(--green);color:white;border-color:var(--green)}button:disabled{opacity:.55;cursor:wait}input,select{width:100%;min-width:0;border:1px solid var(--line);background:#fbfdff;color:var(--ink);border-radius:8px;padding:10px 12px;min-height:43px}input:focus,select:focus{outline:2px solid #38a9e8;outline-offset:1px}label{display:block;font-size:12px;color:#476179;margin:16px 0}label input,label select{display:block;margin-top:6px}.check{display:flex;align-items:center;gap:10px}.check input{width:auto;min-height:0;margin:0}h1,h2,p{margin-top:0}h1{font-size:28px;margin-bottom:0}h2{font-size:18px;margin-bottom:14px}small{color:var(--muted);font-size:11px}.muted{color:var(--muted);font-size:12px;line-height:1.8}.small{font-size:11px}.eyebrow{font-size:10px;letter-spacing:2px;color:#60819b}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.nav{height:100vh;position:sticky;top:0;padding:30px 20px;background:#ffffff;color:#244b69;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:inherit;margin-bottom:45px}.brand>span{font-size:30px;background:#e1f3ff;color:#087cbd;border-radius:12px;padding:0 10px}.brand strong{font-size:22px}.brand small{display:block;font-size:9px;letter-spacing:1px;color:#6b8498}.nav nav a{display:block;padding:13px 15px;color:#506a80;margin:7px 0;border-radius:9px;font-size:13px}.nav nav a.active{background:#e3f3ff;color:#006faa;font-weight:600}.nav-bottom{margin-top:auto;border-top:1px solid #dce8f2;padding:20px 10px 0;display:flex;justify-content:space-between}.nav-bottom a{font-size:12px;color:#50728c}.workspace{min-width:0}.top{height:64px;padding:0 32px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.content{max-width:1500px;margin:auto;padding:30px 32px 40px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:16px}.page-head h1{margin-top:5px}.badge{display:inline-block;white-space:nowrap;border-radius:6px;background:#e7f4fe;color:#176a9c;font-size:11px;padding:4px 9px}.badge.yellow{background:#f8e69b;color:#8b6b1b}.hero{padding:30px 32px;border-radius:18px;background:#e5f4ff;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.hero h2{font-size:27px;margin:10px 0}.hero p{color:#506d84;font-size:13px}.hero-symbol{font-size:100px;line-height:1;color:#98d1f1;transform:rotate(-6deg);padding:0 18px}.hero-symbol span{display:block;font-size:13px;text-align:center;letter-spacing:3px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stats>div{padding:20px;border:1px solid var(--line);background:white;border-radius:14px}.stats span{display:block;color:#597287;font-size:12px}.stats strong{display:block;font-size:32px;margin-top:12px}.stats .gold{background:#fff5cd}.panel{background:white;border:1px solid var(--line);border-radius:15px;padding:24px;margin:20px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.two-col>.panel{margin:0 0 20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-head>a{white-space:nowrap;font-size:12px}.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:20px}.filters label{flex:1;min-width:160px;margin:0}.filters button{min-height:43px}.filters>a{padding:10px;font-size:12px}.table-scroll{overflow:auto;max-height:65vh;overscroll-behavior:contain;scrollbar-width:thin}table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}th{position:sticky;top:0;background:#eef7fd;color:#365a76;padding:12px 14px;text-align:left;white-space:nowrap;z-index:1}td{padding:12px 14px;border-bottom:1px solid #e7eff6;max-width:360px;overflow-wrap:anywhere;vertical-align:top;min-width:90px}td small{display:block}tr.duplicate td,.duplicate{background:var(--yellow)}.phone-number{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.pager{display:flex;gap:20px;align-items:center;padding-top:18px;font-size:12px;color:var(--muted)}.alert{padding:14px 18px;background:#e6f5ff;border-radius:10px;margin-bottom:18px;color:#176a9c}.alert.error{background:#fff0e9;color:#a05235}.empty{padding:30px;text-align:center;color:#6d8396}.footer{padding:18px 32px;color:#70869a;border-top:1px solid var(--line);font-size:10px}.dataset-list{max-height:260px;overflow:auto}.dataset-item{padding:12px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dataset-item>a{font-size:13px;flex:1;overflow-wrap:anywhere}.subtle{font-size:11px;padding:4px 10px}.import-progress{padding:16px;background:#edf7ff;border-radius:10px;margin-bottom:20px}.import-progress progress{display:block;width:100%;margin:12px 0;accent-color:var(--green)}.inline-form{display:inline-block;margin:0 6px 10px 0}.steps{padding-left:20px;color:#577086;font-size:12px;line-height:2.1}.reply-preview{white-space:pre-wrap;border-radius:12px;padding:20px;background:#edf7ff;font-size:14px}.reply-preview.duplicate{background:var(--yellow)}.match-card{border:1px solid var(--line);border-radius:12px;padding:18px;margin:16px 0}.match-card dl{display:flex;flex-wrap:wrap;gap:12px 30px}.match-card dt{font-size:11px;color:#61798d}.match-card dd{margin:0;font-size:13px;max-width:420px;overflow-wrap:anywhere}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eff8ff}.auth-card{width:100%;max-width:480px;padding:40px;background:#ffffff;border:1px solid #d8e9f6;border-radius:22px}.auth-card h1{font-size:26px;margin:12px 0}.auth-card p{color:#58738a;font-size:13px}.auth-card .primary{width:100%;margin:10px 0 20px}.auth-card ul{color:#506d84;font-size:12px;padding-left:20px}
@media(max-width:1000px){.shell{grid-template-columns:180px minmax(0,1fr)}.content{padding:24px 20px}.two-col{grid-template-columns:1fr}.hero-symbol{display:none}.stats{grid-template-columns:repeat(2,1fr)}.section-head{flex-wrap:wrap}}
@media(max-width:650px){.shell{display:block}.nav{position:static;height:auto;padding:12px}.brand,.nav-bottom{display:none}.nav nav{display:flex;gap:5px}.nav nav a{flex:1;text-align:center;padding:9px 4px;margin:0;font-size:11px}.top{padding:0 16px;height:44px}.content{padding:20px 12px}.page-head h1{font-size:23px}.page-head>.badge{display:none}.hero{padding:22px}.hero h2{font-size:23px}.panel{padding:18px}.stats{gap:10px}.stats>div{padding:16px}.stats strong{font-size:28px}.filters label{min-width:130px}.auth-card{padding:28px}.table-scroll{max-height:60vh}.footer{padding:16px}}
textarea{width:100%;font:13px/1.6 Consolas,"Microsoft YaHei",monospace;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fbfdff;color:var(--ink)}textarea[hidden]{display:none}.paste-preview{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.sheet-scroll{overflow:auto;max-height:60vh;border:1px solid #d4e3ef;overscroll-behavior:contain;position:relative}.sheet{width:max-content;min-width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:13px}.sheet th,.sheet td{min-width:140px;max-width:300px;height:32px;padding:4px 10px;border-right:1px solid #e0eaf2;border-bottom:1px solid #e0eaf2;white-space:pre;overflow:hidden;text-overflow:ellipsis;background:white;font-weight:400}.sheet thead th{position:sticky;top:0;z-index:3;background:#f1f8fd;font-weight:600}.sheet .letters th{text-align:center;color:#4b708c;height:28px;background:#e4f2fc}.sheet .column-names th{top:28px}.sheet .row-index{position:sticky;left:0;min-width:50px;max-width:70px;text-align:center;background:#f1f8fd;color:#55748c;z-index:2}.sheet thead .row-index{z-index:4}.sheet td.cell-repeat{background:#ffe36a;color:#473b10}.sheet td:focus{outline:2px solid #1496d7;outline-offset:-2px}.sheet-toolbar{display:flex;flex-wrap:wrap;gap:20px;padding:10px 12px;background:#eff8ff;border:1px solid #d4e3ef;border-bottom:0;font-size:12px}.sheet-toolbar span{color:#57748a}.sheet-value{padding:8px 12px;border:1px solid #d4e3ef;border-bottom:0;min-height:38px;max-height:140px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#48657c;font-size:12px}
.drop-zone{display:block;text-align:center;border:2px dashed #8ec9eb;border-radius:12px;padding:24px 16px;background:#f5fbff;cursor:pointer;color:#087cbd;font-size:14px}.drop-zone input{margin:14px 0;background:white}.drop-zone span{display:block;overflow-wrap:anywhere;font-size:12px;color:#55748c}.drop-zone.drag-over{border-color:#1496d7;background:#e5f5ff;box-shadow:0 0 0 3px #1598de22}
/* Compact work areas: navigate between tasks instead of stacking them. */
.view-tabs{display:flex;gap:6px;align-items:center;overflow-x:auto;padding:5px;background:#eaf3fa;border:1px solid var(--line);border-radius:12px;margin-bottom:16px;position:sticky;top:8px;z-index:8}.view-tabs a{padding:9px 20px;white-space:nowrap;border-radius:8px;color:#506b82;font-weight:600;font-size:13px}.view-tabs a.active{background:white;color:#0877b5;box-shadow:0 2px 5px #157fbf12}.view-tabs a:hover{text-decoration:none;background:#f2faff}.view-tabs+.panel{margin-top:0}.task-panel{max-width:1100px;margin-left:auto;margin-right:auto}.action-bar{position:sticky;bottom:0;z-index:6;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end;padding:12px 0;background:#fff;box-shadow:0 -7px 12px #ffffffed;border-top:1px solid var(--line);margin-top:14px}.action-bar label{margin:0 auto 0 0;min-width:200px;flex:1;max-width:420px}.action-bar label select{margin-top:3px}.paste-preview{margin-top:0;padding-top:0;border-top:0}.paste-preview .sheet-scroll{max-height:40vh}.data-workbench{display:flex;flex-direction:column;min-height:0;margin:0!important}.data-workbench .section-head h2{margin-bottom:4px;font-size:17px}.data-workbench .section-head p{margin-bottom:12px}.data-workbench .filters{gap:10px;margin-bottom:12px}.data-workbench .sheet-scroll{flex:1;min-height:110px;max-height:none}.data-workbench .sheet-value{flex-shrink:0;max-height:65px;min-height:32px;padding:5px 10px}.data-workbench .sheet-toolbar{padding:7px 10px}.data-workbench .pager{flex-shrink:0;justify-content:flex-end;padding:10px 0 0}.data-workbench .pager a{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#f5faff}.data-workbench .pager a:first-child{margin-right:auto}.page-datasets .dataset-list{max-height:65vh}.page-datasets .import-progress{padding:10px;margin-bottom:10px}.page-datasets .import-progress p{margin:0}.page-datasets .import-progress progress{margin:5px 0}.page-messages .section-head{position:sticky;top:8px;background:white;z-index:5;padding:8px 0}.page-messages .section-head>a{padding:8px 14px;border:1px solid var(--line);border-radius:8px}.page-messages .reply-preview{max-height:240px;overflow:auto}
@media(min-width:900px){.page-datasets .content{padding:18px 24px 12px}.page-datasets .page-head{margin-bottom:14px}.page-datasets .page-head h1{font-size:24px}.page-datasets .data-workbench{height:calc(100dvh - 216px);min-height:340px;padding:16px}.page-datasets .footer{display:none}.page-settings .steps{line-height:1.8}.page-settings .panel{padding:20px}.page-settings .two-col{gap:16px}}
@media(max-width:899px){.view-tabs{top:0}.view-tabs a{padding:8px 13px}.data-workbench .sheet-scroll{height:44vh;flex:auto;min-height:220px}.action-bar{padding-bottom:max(12px,env(safe-area-inset-bottom))}.data-workbench .filters label{min-width:120px}.data-workbench .section-head>.badge{display:none}.data-workbench .pager{gap:8px;flex-wrap:wrap}.data-workbench .sheet-toolbar{gap:7px}.task-panel textarea{max-height:28vh}.task-panel .drop-zone{padding:16px}}
@media(min-width:900px){.page-datasets .top{display:none}.page-datasets .data-workbench{height:calc(100dvh - 180px)}}

.table-filters{display:grid;grid-template-columns:minmax(180px,300px) minmax(180px,300px) minmax(160px,280px);justify-content:start;align-items:end}.table-filters label{min-width:0!important}.filter-actions{grid-column:1/-1;display:flex;align-items:center;gap:12px}.filter-actions span{color:#5d7890;font-size:12px}.data-workbench .filter-actions button{min-height:36px;padding:7px 18px}.sheet td[data-phone-cell]{min-width:210px;vertical-align:middle}.phone-state{display:inline-block;margin-left:10px;font-size:11px;font-weight:500;color:#326a8f}.phone-state.is-repeat{border-radius:4px;padding:1px 5px;background:#fff4bb;color:#755506;border:1px solid #dfbe48}.phone-state:empty{display:none}@media(max-width:899px){.table-filters{grid-template-columns:1fr 1fr}.table-filters>label:last-of-type{grid-column:1/-1}.filter-actions{align-items:flex-start}.filter-actions span{flex:1}.filter-actions button{flex-shrink:0}}
.organizer-controls{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap}.organizer-controls>.filters{flex:1;max-width:480px}.organizer-controls>label{margin:0;flex:1;max-width:340px}.organizer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0;position:sticky;top:0;background:white;z-index:6;padding:8px 0}.organizer-actions>span{font-size:12px;color:#55738b}.organizer-sheet input{border:1px solid transparent;border-radius:3px;background:transparent;min-height:28px;padding:3px 5px;font-size:13px;margin:0}.organizer-sheet input:focus{background:white;border-color:#3da5dd;outline:none}.organizer-sheet input[type=checkbox]{width:16px;min-height:16px;accent-color:#087cbd}.organizer-sheet td{padding:2px;vertical-align:middle}.organizer-sheet td.contact-phone{background:#ffe36a;min-width:170px}.organizer-sheet td:has([data-field=email]){min-width:260px}.organizer-sheet td:has([data-field=signer]){min-width:130px}.organizer-sheet .organizer-source{min-width:250px;padding:5px 10px;white-space:normal}.organizer-source p{white-space:pre-wrap;max-height:160px;overflow:auto}.organizer-source summary{cursor:pointer;font-size:12px}.organizer-source [data-row-status]{display:block;font-size:11px;color:#356b90}.organizer-sheet .save-error td{outline:1px solid #d65c4d}.organizer-sheet .save-error [data-row-status]{color:#b33a2c}.organizer-help{margin-top:18px;color:#55738b;font-size:12px}.organizer-help summary{cursor:pointer}.organizer-panel .sheet-scroll{max-height:52vh}@media(max-width:650px){.nav nav{overflow-x:auto}.nav nav a{min-width:64px}.organizer-actions button{flex:1}.organizer-controls{gap:10px}.organizer-controls>label{min-width:200px}}
.organizer-sheet{width:100%;min-width:850px;table-layout:fixed}.organizer-sheet th,.organizer-sheet td{min-width:0!important;max-width:none}.organizer-sheet th:nth-child(1){width:40px}.organizer-sheet th:nth-child(2){width:90px}.organizer-sheet th:nth-child(3){width:145px}.organizer-sheet th:nth-child(4){width:120px}.organizer-sheet th:nth-child(5){width:80px}.organizer-sheet th:nth-child(6){width:200px}.organizer-sheet th:nth-child(7){width:85px}.organizer-sheet th:nth-child(8){width:90px}.organizer-sheet input{width:100%;text-overflow:ellipsis}.organizer-sheet input[type=checkbox]{width:16px}.organizer-sheet [data-inherit="1"] [data-inherit-signer]{display:none}.organizer-source [data-row-status]:empty{display:none}.organizer-source details[open]{position:relative;min-width:0}.organizer-source p{overflow-wrap:anywhere}.organizer-sheet .organizer-source{padding:3px 6px}.organizer-panel .sheet-scroll{max-height:calc(100dvh - 440px);min-height:150px}.organizer-help{margin-top:10px}@media(min-width:900px){.page-organizer .top{display:none}.page-organizer .content{padding:18px 24px 12px}.page-organizer .page-head{margin-bottom:14px}.page-organizer .page-head h1{font-size:24px}.page-organizer .panel{padding:16px;margin:0}.page-organizer .footer{display:none}.organizer-actions{margin:10px 0}.organizer-controls label{margin-bottom:0}.organizer-panel .section-head p{margin-bottom:12px}}

/* Keep per-row copy at the left while viewing wide contact tables. */
.organizer-sheet th:nth-child(1){width:118px;position:sticky;left:0;z-index:3;background:#edf7ff}.organizer-sheet thead th:first-child{z-index:5}.organizer-sheet [data-copy-row]{display:inline-block;margin-left:6px;padding:4px 7px;min-height:28px;font-size:12px;white-space:nowrap}.organizer-sheet{min-width:930px}

.danger{color:#b33434!important;border-color:#efbbbb!important;background:#fff5f5!important}.organizer-sheet th:nth-child(1){width:170px}.organizer-sheet [data-delete-row]{margin-left:5px;padding:4px 7px;min-height:28px;font-size:12px}.delete-dataset{margin-left:8px;color:#b33434}.delete-dataset summary{cursor:pointer}.delete-dataset form{display:block;max-width:340px;padding:12px;background:#fff6f6;border:1px solid #efbbbb;border-radius:8px}.delete-dataset input[type=checkbox]{width:auto;min-height:0}.delete-dataset label{display:block}.delete-dataset p{font-size:12px}

/* Quiet workspace: neutral surfaces; color communicates action or state. */
:root{color-scheme:light;--ink:#27313d;--muted:#697586;--line:#e5e8ec;--accent:#167fba;--green:var(--accent);--yellow:#fff4cf}
body{background:#f5f6f8;-webkit-font-smoothing:antialiased}
h1,h2,h3{color:#202a36}h1{font-size:25px;font-weight:650}h2{font-size:17px}
a{color:#1978aa}small,.muted,.steps,.footer{color:var(--muted)}
button,.button{border-color:#dce1e6;border-radius:6px;background:#fff;color:#374151;box-shadow:none;transition:background-color .15s,border-color .15s}
button:hover,.button:hover{background:#f3f5f7;border-color:#bfc7d0;text-decoration:none}
.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:none}.primary:hover{background:#116c9f;border-color:#116c9f;color:#fff}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #3999cc;outline-offset:2px}
input,select,textarea{background:#fff;border-color:#dce1e6;border-radius:6px;color:var(--ink)}input::placeholder,textarea::placeholder{color:#83909e}label{color:#596575}
.nav{background:#fff;border-right:1px solid var(--line);box-shadow:none;color:#374151}
.brand{margin-bottom:32px}.brand>span{background:#eef5fa;color:#237ba7;font-size:25px}.brand strong{font-size:20px}.brand small{color:#83909e}
.nav nav a{color:#616d7c;border-radius:6px;margin:5px 0}.nav nav a:hover{background:#f5f6f8;text-decoration:none}.nav nav a.active{background:#edf5fa;color:#146c9c;box-shadow:inset 3px 0 #278bbd}
.nav-bottom{border-color:var(--line)}.nav-bottom a{color:#697586}.top{background:transparent;border-bottom:0;color:#7b8794}.page-head{margin-bottom:20px}
.badge{background:#edf0f3;color:#677383;font-size:11px}.badge.yellow{background:#fff4cf;color:#806216}
.panel,.stats>div{border:1px solid var(--line);border-radius:10px;box-shadow:none}
.hero{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px 28px}.hero h2{font-size:23px}.hero p{color:#697586}.stats{gap:12px}.stats strong{color:#293440;font-size:29px}.stats span{color:#697586}.stats .gold{background:#fff}.stats .gold strong{color:#96701c}
.view-tabs{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0;gap:22px}.view-tabs a{padding:10px 2px;border-radius:0;color:#697586;font-weight:400;border-bottom:2px solid transparent}.view-tabs a.active{background:transparent;color:#1677a8;border-bottom-color:#278bbd;box-shadow:none;font-weight:600}.view-tabs a:hover{background:transparent;color:#263341;text-decoration:none}
.sheet-scroll{border-color:var(--line);border-radius:6px}.sheet-toolbar{background:#fff;border-color:var(--line);gap:16px;color:#697586}.sheet-toolbar strong{color:#374151}.sheet-toolbar span{color:#7b8794}.sheet-value{border-color:var(--line);background:#fafbfc;color:#697586}
th,.sheet thead th{background:#f4f5f7;color:#515d6c}.sheet .letters th{background:#f0f2f5;color:#83909e;font-size:11px}.sheet .row-index{background:#fafbfc;color:#8a95a2}.sheet th,.sheet td{border-right-color:#f0f1f3;border-bottom-color:#e9ecf0}.sheet tbody tr:hover td:not(.cell-repeat){background:#f7f9fb}td{border-bottom-color:#edf0f3}
.sheet td.cell-repeat{background:#fff0b5;color:#66501d}.phone-state{color:#7b8794}.phone-state.is-repeat{background:transparent;border:0;color:#806216;padding:1px 3px}
tr.duplicate td{background:#fffaeb}.reply-preview.duplicate{background:#fff4cf}.reply-preview{background:#f6f7f9;color:#374151}.match-card{border-color:var(--line);border-radius:8px}
.organizer-sheet td.contact-phone{background:#fff;font-variant-numeric:tabular-nums}.organizer-sheet th:nth-child(1){background:#fafbfc}.organizer-sheet thead th:first-child{background:#f4f5f7}.organizer-sheet input{border-color:transparent;border-radius:3px;color:#374151}.organizer-sheet input:focus{background:#fff;border-color:#76b6d8}.organizer-sheet input[type=checkbox]{accent-color:#197ead}.organizer-sheet [data-copy-row]{background:transparent;border-color:transparent;color:#24769e}.organizer-sheet [data-copy-row]:hover{background:#eaf3f8}.organizer-source summary{color:#83909e}.organizer-source [data-row-status]{color:#758477}.organizer-help,.organizer-actions>span,.filter-actions span{color:#788492}
.organizer-sheet .danger{border-color:transparent!important;background:transparent!important;color:#a06666!important}.organizer-sheet .danger:hover{background:#fff0f0!important;color:#af3838!important}.danger{box-shadow:none}.delete-dataset{color:#a06666}.delete-dataset summary:hover{color:#af3838}.delete-dataset form{background:#fffafa;border-color:#efdada}
.alert{background:#edf5fa;color:#37677f}.alert.error{background:#fff1ef;color:#a44639}.import-progress{background:#f4f7f9}.drop-zone{background:#fafcfd;border:1px dashed #b8cbd7;color:#387a9d}.drop-zone span{color:#83909e}.drop-zone.drag-over{background:#edf7fc;border-color:#278bbd;box-shadow:none}
.data-workbench .pager a{background:#fff;border-color:var(--line)}.sheet-scroll,.table-scroll,.dataset-list{scrollbar-color:#c4cbd3 #f5f6f8;scrollbar-width:thin}
.auth-page{background:#f3f6f9}.auth-card{border-color:var(--line);border-radius:14px;box-shadow:0 12px 36px #23374b08}.auth-card p{color:#697586}
@media(max-width:650px){.view-tabs{gap:16px}.view-tabs a{padding:9px 2px}.hero{padding:20px}.nav nav a{margin:0}.page-head h1{font-size:22px}}
.organizer-sheet .row-index{width:170px;min-width:170px!important;max-width:none!important}.organizer-sheet{min-width:980px}

[data-sheet] .row-index{min-width:125px;max-width:125px;width:125px}
[data-sheet] [data-copy-data-row]{margin-left:8px;padding:3px 6px;min-height:26px;font-size:12px;color:#24769e;background:transparent;border-color:transparent;border-radius:4px}
[data-sheet] [data-copy-data-row]:hover{background:#eaf3f8}
[data-data-copy-status]{color:#44715d!important}
[data-data-copy-fallback]{margin-top:8px;min-height:64px;flex-shrink:0}

/* Source column typography: quiet backgrounds, distinct readable ink. */
.sheet [data-column-tone="0"]{--column-ink:#334f77;}
.sheet [data-column-tone="1"]{--column-ink:#00736b;}
.sheet [data-column-tone="2"]{--column-ink:#70509a;}
.sheet [data-column-tone="3"]{--column-ink:#8a591c;}
.sheet [data-column-tone="4"]{--column-ink:#a04768;}
.sheet [data-column-tone="5"]{--column-ink:#47682f;}
.sheet [data-column-tone="6"]{--column-ink:#6851a5;}
.sheet [data-column-tone="7"]{--column-ink:#8c4e35;}
[data-sheet] .sheet th[data-column-tone],.organizer-sheet th[data-column-tone],[data-sheet] [data-column-tone] [data-cell-value],.organizer-sheet [data-column-tone] input[data-field]{color:var(--column-ink)}

/* Existing Chen Pingan artwork anchors the sidebar without extra decoration. */
.brand .brand-avatar{display:block;width:56px;height:56px;flex-shrink:0;object-fit:cover;object-position:center;border-radius:16px;border:1px solid #e1e8ec;background:#f3f6f8}
.brand:hover{text-decoration:none}.brand strong{line-height:1.35}.brand small{margin-top:5px}
@media(max-width:650px){.nav .brand{display:flex;width:max-content;gap:10px;margin:0 0 12px}.brand .brand-avatar{width:40px;height:40px;border-radius:12px}.brand strong{font-size:18px}.brand small{font-size:8px;margin-top:2px}}

.organizer-sheet .export-mark{display:block;width:max-content;margin:2px auto 3px;padding:0 6px;border-radius:4px;font-size:10px;line-height:18px;color:#788492;background:#f0f2f5}.organizer-sheet .export-mark.is-exported{color:#37735b;background:#edf6f0}
/* Clear form affordances, separate from the quiet table background. */
label{font-size:13px;font-weight:600;color:#34475a}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([data-field]),select,textarea{border:1.5px solid #7b8ea3;background-color:#f7fbff;border-radius:7px;min-height:44px;color:#24394b;box-shadow:inset 0 1px 2px #203b5010;font-weight:400}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([data-field]):hover,select:hover,textarea:hover{border-color:#4f7899;background-color:#f2f8fd}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,select:focus,textarea:focus{border-color:#147eb5;background-color:#fff;outline:2px solid #147eb5;outline-offset:1px;box-shadow:0 0 0 4px #147eb51a}
input::placeholder,textarea::placeholder{color:#65778b;opacity:1}
select:not([multiple]){appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23344f68' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
select option{background:#fff;color:#24394b}label small{font-weight:400}
input[type=checkbox],input[type=radio]{accent-color:#087cbd;cursor:pointer}
.organizer-sheet input[data-field]{border:1px solid #b4c2d0;background:#f8fbfe;border-radius:4px;min-height:29px;font-weight:400}
.organizer-sheet input[data-field]:hover{border-color:#7b8ea3;background:#f0f7fc}
.organizer-sheet input[data-field]:focus{border-color:#147eb5;background:#fff;outline:2px solid #147eb5;outline-offset:-2px;box-shadow:none}
input:disabled,select:disabled,textarea:disabled{background-color:#edf0f3;cursor:not-allowed;box-shadow:none}
input[readonly],textarea[readonly]{background-color:#f0f3f6}
@media(forced-colors:active){select:not([multiple]){appearance:auto;background-image:none}input,select,textarea{border-color:ButtonText}}

/* Navigation hierarchy: dark primary rail, light local task tabs. */
.shell{grid-template-columns:232px minmax(0,1fr)}
.nav{background:#15364f;color:#fff;border-right:0;padding:28px 18px 20px;overflow-y:auto}
.nav .brand{gap:12px;margin:0 8px 32px;color:#fff}.nav .brand strong{font-size:21px;letter-spacing:1px}.nav .brand small{color:#a6c4d9;letter-spacing:2px;font-size:9px}.nav .brand-avatar{border:2px solid #ffffff60;box-shadow:0 4px 16px #061d3326}
.nav-caption{color:#9dbcd2;font-size:11px;letter-spacing:2px;padding:0 14px;margin-bottom:12px}
.nav nav a{display:flex;align-items:center;gap:12px;min-height:50px;padding:12px 15px;margin:6px 0;border:1px solid transparent;border-radius:10px;color:#d1e2ef;font-size:14px;font-weight:500;transition:background-color .15s,color .15s}
.nav-icon{width:21px;height:21px;flex-shrink:0}.nav nav a:hover{background:#234b68;color:#fff}.nav nav a.active{background:#e4f4ff;color:#105e8c;border-color:#c0e4fa;box-shadow:0 4px 14px #081f3320;font-weight:700}.nav nav a.active::after{content:"";width:6px;height:6px;border-radius:50%;background:#1489ca;margin-left:auto;flex-shrink:0}
.nav-bottom{border-top:1px solid #ffffff26;padding:20px 10px 0;margin-top:auto;gap:12px}.nav-bottom small{color:#bfd4e4;overflow-wrap:anywhere}.nav-bottom a{color:#d4eafa;white-space:nowrap}.nav a:focus-visible{outline:2px solid #7bd1ff;outline-offset:3px}
.top{display:flex!important;height:58px;background:#fff;border-bottom:1px solid #e0e9f0;padding:0 28px;font-size:12px}.top-location{display:flex;align-items:center;gap:12px;color:#788a9a}.top-location strong{color:#344e63;font-weight:600}.top-date{font-variant-numeric:tabular-nums;color:#788a9a}
body{background:#f3f7fb}.page-head h1{color:#18394f}.page-head>.badge{background:#e6f2fb;color:#386983;border:1px solid #d4e8f5;border-radius:20px;padding:4px 12px}
.view-tabs{background:#fff;border:1px solid #dce7ef;border-radius:12px;padding:6px;gap:5px;box-shadow:0 3px 10px #244b6910;scrollbar-width:thin}
.view-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;border:1px solid transparent;border-radius:8px;color:#4c6376;font-size:13px;font-weight:600;flex-shrink:0}
.view-tabs a:hover{background:#edf6fc;color:#126da1;border-color:#deedf7}.view-tabs a.active{background:#087cbd;color:#fff;border-color:#087cbd;box-shadow:0 2px 5px #087cbd22;font-weight:600}
.panel{border-color:#dde7ef;border-radius:12px}.page-head{gap:12px}
@media(min-width:900px){.page-datasets .data-workbench{height:calc(100dvh - 254px);min-height:340px}.page-organizer .organizer-panel .sheet-scroll{max-height:calc(100dvh - 498px)}}
@media(min-width:651px) and (max-width:1000px){.shell{grid-template-columns:200px minmax(0,1fr)}.nav{padding:24px 12px}.nav .brand{gap:8px;margin-left:4px}.nav .brand-avatar{width:48px;height:48px}.nav .brand strong{font-size:19px}.nav nav a{padding:12px;gap:9px}}
@media(max-width:650px){.shell{display:block}.nav{height:auto;position:static;padding:14px 12px 10px;overflow:visible}.nav .brand{display:flex;margin:0 2px 14px;gap:10px}.nav .brand strong{font-size:18px}.nav .brand-avatar{width:40px;height:40px}.nav-caption{display:none}.nav nav{display:flex;gap:6px;overflow-x:auto;padding:3px 2px 5px}.nav nav a{flex:0 0 auto;min-width:88px;min-height:58px;flex-direction:column;gap:4px;padding:8px 10px;margin:0;font-size:11px;border-radius:8px}.nav-icon{width:18px;height:18px}.nav nav a.active::after{display:none}.nav-bottom{display:flex;padding:10px 2px 0;margin-top:8px}.top{height:44px;padding:0 14px}.top-date{display:none}.view-tabs{gap:4px;border-radius:10px}.view-tabs a{min-height:38px;padding:8px 12px;font-size:12px}.page-head>.badge{display:none}}
@media(prefers-reduced-motion:reduce){.nav nav a{transition:none}}

/* Keep data actions beside filters to reserve vertical room for rows. */
.data-workbench .table-filters{grid-template-columns:auto minmax(150px,300px) minmax(150px,300px) minmax(150px,280px);gap:10px;margin-bottom:6px}
.table-filters .filter-actions{grid-column:auto;gap:8px;align-items:center;flex-wrap:nowrap}
.data-workbench .filter-actions button{min-height:44px;padding:9px 13px;white-space:nowrap}
.table-filter-help{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 8px;flex-shrink:0}
@media(max-width:1100px){.data-workbench .table-filters{grid-template-columns:auto minmax(130px,1fr) minmax(130px,1fr)}.data-workbench .table-filters>label:last-of-type{grid-column:2/-1}}
@media(max-width:650px){.data-workbench .table-filters{grid-template-columns:1fr 1fr}.table-filters .filter-actions{grid-column:1/-1}.data-workbench .table-filters>label:last-of-type{grid-column:1/-1}.data-workbench .filter-actions button{flex:1}}
/* Soft, stable colors identify dropdown items without implying query status. */
.color-select-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0;pointer-events:none;clip-path:inset(50%)}
.color-select{width:100%;min-width:0;min-height:44px;margin-top:6px;padding:7px 34px 7px 10px;border:1.5px solid #7b8ea3;background:#f7fbff;justify-content:flex-start;position:relative;text-align:left}
.color-select::after{content:"";position:absolute;right:14px;width:7px;height:7px;border-right:2px solid #45647c;border-bottom:2px solid #45647c;transform:rotate(45deg);top:16px}.color-select[aria-expanded=true]{border-color:#087cbd;outline:2px solid #087cbd22}.color-select:hover{background:#f1f8fd}
.select-chip{display:inline-block;min-width:0;max-width:100%;padding:3px 10px;border-radius:14px;font-size:12px;font-weight:500;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--chip-bg,#edf1f5);color:var(--chip-ink,#526477)}
.select-chip[data-tone="0"]{--chip-bg:#e0f2ff;--chip-ink:#186294}.select-chip[data-tone="1"]{--chip-bg:#e4f4ec;--chip-ink:#27664e}.select-chip[data-tone="2"]{--chip-bg:#ede7fc;--chip-ink:#655091}.select-chip[data-tone="3"]{--chip-bg:#fff0df;--chip-ink:#875820}.select-chip[data-tone="4"]{--chip-bg:#fbe7ef;--chip-ink:#98466b}.select-chip[data-tone="5"]{--chip-bg:#def3f4;--chip-ink:#24696d}.select-chip[data-tone="6"]{--chip-bg:#e8edff;--chip-ink:#485d9c}
.color-select-list{position:fixed;z-index:1000;overflow:auto;padding:6px;border:1px solid #cbdde9;border-radius:12px;background:#fff;box-shadow:0 10px 30px #183b5326;overscroll-behavior:contain}.color-select-list[hidden]{display:none}
.color-select-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;cursor:pointer;min-height:38px}.color-select-option .select-chip{white-space:normal;overflow-wrap:anywhere}.color-select-option:hover,.color-select-option:focus{background:#edf6fc;outline:2px solid #9bcbe5;outline-offset:-2px}.color-select-option[aria-selected=true]{background:#edf6fc}.color-select-option[aria-selected=true]::after{content:"✓";color:#087cbd;font-weight:700;margin-left:auto}.color-select-option[aria-disabled=true]{opacity:.45;cursor:not-allowed}
@media(forced-colors:active){.select-chip{border:1px solid CanvasText}.color-select-option[aria-selected=true]{outline:2px solid Highlight}}

/* Statistics categories: stable pastel row colors, stronger first column. */
.statistics-tabs a[data-stat-view="groups"]{background:#e8f3ff;color:#215e94;border-color:#c5ddf5}
.statistics-tabs a[data-stat-view="remarks"]{background:#f0eafa;color:#74509a;border-color:#ddcdeb}
.statistics-tabs a[data-stat-view="groups"].active{background:#176ea9;color:#fff;border-color:#176ea9}
.statistics-tabs a[data-stat-view="remarks"].active{background:#79529f;color:#fff;border-color:#79529f}
.statistics-table tr[data-stat-tone="0"]{--stat-bg:#f2f8ff;--stat-label:#e0efff;--stat-ink:#245c89}
.statistics-table tr[data-stat-tone="1"]{--stat-bg:#f1f9f5;--stat-label:#e0f1e7;--stat-ink:#2d6950}
.statistics-table tr[data-stat-tone="2"]{--stat-bg:#f8f4fc;--stat-label:#eee4f7;--stat-ink:#745091}
.statistics-table tr[data-stat-tone="3"]{--stat-bg:#fff8f0;--stat-label:#ffecd7;--stat-ink:#865820}
.statistics-table tr[data-stat-tone="4"]{--stat-bg:#fdf3f6;--stat-label:#f9e3eb;--stat-ink:#93465f}
.statistics-table tr[data-stat-tone="5"]{--stat-bg:#f0f9fa;--stat-label:#dff1f3;--stat-ink:#286b70}
.statistics-table tr[data-stat-tone="6"]{--stat-bg:#f4f5fd;--stat-label:#e7eafb;--stat-ink:#4e5d97}
.statistics-table tr[data-stat-tone] td{background:var(--stat-bg);border-bottom:3px solid #fff;color:#344455;vertical-align:middle}
.statistics-table tr[data-stat-tone] td:first-child{background:var(--stat-label);color:var(--stat-ink);font-weight:600;border-left:3px solid var(--stat-ink)}
.statistics-table tr[data-stat-tone] td:first-child small{font-weight:400;color:#526477}
.statistics-table tr[data-stat-tone]:hover td{box-shadow:inset 0 0 0 1px #607d9b30}

/* Paged horizontal bars keep daily statistics readable without an inner scroll. */
.page-statistics .content{padding:16px 24px}.page-statistics .page-head{margin-bottom:12px}.page-statistics .page-head h1{font-size:24px}.page-statistics .footer{display:none}
.page-statistics .statistics-filters{padding:12px 16px;margin-bottom:12px}.page-statistics .stats>div{padding:10px 16px}.page-statistics .stats strong{margin-top:2px;font-size:25px}.page-statistics .statistics-tabs{margin-top:12px!important;margin-bottom:12px}.statistics-chart-panel{padding:16px;margin-bottom:0}.statistics-chart-panel h2{margin-bottom:10px}
.dataset-filter-row{display:grid;grid-template-columns:minmax(0,1fr) 210px 240px;gap:10px;align-items:end;margin-bottom:6px}
.dataset-filter-row .table-filters{grid-template-columns:auto minmax(130px,1fr) minmax(130px,1fr) 150px;margin-bottom:0}
.dataset-global-search{margin:0;min-width:0}.dataset-global-search>label{display:block;margin:0 0 6px;font-size:12px;font-weight:600}
.dataset-global-search-controls{display:flex;gap:8px;align-items:center}.dataset-global-search-controls input{flex:1;min-width:0;margin:0}.dataset-global-search-controls button{flex:none;white-space:nowrap;padding:10px 12px}
@media(max-width:1350px){.dataset-filter-row{grid-template-columns:1fr 1fr}.dataset-filter-row .table-filters{grid-column:1/-1}.dataset-global-search{width:100%;max-width:100%}}
@media(max-width:1100px){.dataset-filter-row .table-filters{grid-template-columns:auto minmax(130px,1fr) minmax(130px,1fr)}}
@media(max-width:650px){.dataset-filter-row{grid-template-columns:1fr}.dataset-filter-row .table-filters{grid-template-columns:1fr 1fr}.dataset-global-search{width:100%}}
.statistics-chart{display:grid;gap:8px}.statistics-bar-row{display:grid;grid-template-columns:minmax(140px,220px) minmax(80px,1fr) 100px 150px;gap:12px;align-items:center;min-height:38px}
.statistics-bar-label{min-width:0;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statistics-bar-label a{color:#344e63}.statistics-bar-label a:hover{color:#087cbd}
.statistics-bar-track{height:22px;border-radius:5px;background:#edf1f5;overflow:hidden}.statistics-bar-track>span{display:block;height:100%;border-radius:5px;background:var(--bar-color,#559bd0)}
.statistics-bar-value{display:flex;gap:5px;align-items:baseline}.statistics-bar-value strong{font-size:18px;font-variant-numeric:tabular-nums}.statistics-bar-value small{font-size:10px}.statistics-bar-detail{color:#697586;font-size:11px}
[data-bar-tone="0"]{--bar-color:#559bd0}[data-bar-tone="1"]{--bar-color:#59a28a}[data-bar-tone="2"]{--bar-color:#a085c2}[data-bar-tone="3"]{--bar-color:#d3a15a}[data-bar-tone="4"]{--bar-color:#c88099}[data-bar-tone="5"]{--bar-color:#53a6b0}[data-bar-tone="6"]{--bar-color:#8092ca}
.statistics-chart-hint{font-size:11px;margin:8px 0 0;line-height:1.6}.statistics-chart-panel .pager{padding-top:10px;gap:12px}.statistics-chart-panel .pager a{border:1px solid #d5e2ec;border-radius:6px;padding:5px 12px;background:#f7fbff}
@media(max-width:1000px){.statistics-bar-row{grid-template-columns:150px minmax(70px,1fr) 90px}.statistics-bar-detail{display:none}}
@media(max-width:650px){.page-statistics .content{padding:12px}.statistics-bar-row{grid-template-columns:105px minmax(40px,1fr) 75px;gap:8px}.statistics-bar-label{font-size:11px}.statistics-bar-value{gap:3px}.statistics-bar-value strong{font-size:16px}.statistics-bar-value small{font-size:9px}.statistics-chart-panel .pager{flex-wrap:wrap}}

/* Match native/enhanced control geometry; no decorative animation on refresh. */
select:not([multiple]),.color-select{height:44px}
.color-select{transition:none;box-shadow:none}.color-select .select-chip{transition:none}
.color-select-list{box-shadow:0 5px 14px #183b531a}
