
@font-face{font-family:"Youxu Sans";src:url("/assets/YouxuSans.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{--bg:#f3f3ee;--paper:#fffefa;--ink:#253c33;--muted:#627069;--green:#2b5949;--green-dark:#204638;--line:#dbe0d7;--pale:#eaf0e8;--amber:#875615;--orange-bg:#fff2d9;--danger:#a23e35;--shadow:0 2px 3px #293e3010,0 9px 22px #293e3007;--card:282px;font-size:15px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:"Segoe UI","Microsoft YaHei",sans-serif;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ac7c29;outline-offset:3px}button{color:inherit}a{color:var(--green)}svg.i{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:1.7rem;letter-spacing:-.04em;font-weight:700}h2{font-size:1.2rem}h3{font-size:1.06rem}.muted{color:var(--muted)}.small{font-size:.84rem}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.grow{flex:1}.wrap{flex-wrap:wrap}.stack{display:grid;gap:14px}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:6px;background:var(--pale);color:var(--green);padding:3px 8px;font-size:.77rem;font-weight:600;white-space:nowrap}.pill.new{background:var(--orange-bg);color:var(--amber)}.pill.neutral{background:#eef0ed;color:#566059}.pill.off{background:#f7e8e3;color:var(--danger)}.dot{width:6px;height:6px;border-radius:100%;background:currentColor;display:inline-block}.btn{border:1px solid #cdd5cb;background:linear-gradient(#fffefa,#f1f3eb);border-radius:8px;padding:8px 13px;display:inline-flex;justify-content:center;align-items:center;gap:7px;box-shadow:0 1px 2px #233a3212,inset 0 1px #fff;font-weight:600;white-space:nowrap;min-height:38px;text-decoration:none}.btn:hover{background:#eaf0e6;border-color:#aebdac}.btn.primary{color:#fff;background:linear-gradient(#376553,#285442);border-color:#285240;box-shadow:inset 0 1px #ffffff24,0 2px 3px #233a3225}.btn.primary:hover{background:#204938}.btn.danger{color:var(--danger);border-color:#dcbbb6;background:#fff6f3}.btn.compact{padding:5px 9px;min-height:32px;font-size:.84rem}.ghost{border:0;background:transparent;padding:7px;border-radius:6px;min-height:32px;display:inline-flex;align-items:center;gap:5px}.ghost:hover{background:#e8ede4}.linkbtn{border:0;background:transparent;color:var(--green);font-weight:600;padding:4px 0;text-align:left}.demo-bar{background:#e4e9de;border-bottom:1px solid #cad3c5;display:flex;align-items:center;gap:18px;padding:9px 24px;min-height:56px}.demo-label{font-size:.8rem;letter-spacing:.06em;font-weight:700}.demo-label:before{content:"";display:inline-block;width:7px;height:7px;background:#8a6531;border-radius:100%;margin-right:8px}.roles{display:flex;gap:3px;background:#d5ddcf;padding:3px;border-radius:8px}.roles button{border:0;background:none;color:#506047;padding:6px 14px;border-radius:5px;font-size:.84rem;font-weight:600;white-space:nowrap}.roles button.active{background:#fffefa;box-shadow:0 1px 4px #263c3025;color:#234835}.demo-bar select{max-width:155px;background:#f8faf4;border:1px solid #c6d0c0;border-radius:7px;padding:5px 8px}.layout{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:calc(100vh - 56px)}.sidebar{background:#f8f9f3;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:24px 16px;gap:28px}.brand{display:flex;align-items:center;gap:10px;padding:0 7px;font-size:1.5rem;font-weight:750;letter-spacing:.08em}.logo{background:var(--green);color:white;width:37px;height:37px;border-radius:11px;display:grid;place-items:center;box-shadow:inset 0 1px 0 #ffffff44,0 3px 5px #193e2926}.logo svg{width:24px;height:24px}.brand small{display:block;font-size:.61rem;color:var(--muted);letter-spacing:.17em;font-weight:500;line-height:1.5}.nav-label{padding:0 11px;margin-bottom:9px;font-size:.7rem;letter-spacing:.09em;color:var(--muted)}nav{display:grid;gap:5px}nav button{border:0;background:transparent;text-align:left;display:flex;align-items:center;gap:10px;border-radius:8px;padding:11px;font-weight:600;color:#59685c}nav button.active{background:#e6ede1;color:#234a38;box-shadow:inset 0 0 0 1px #dce4d5}nav button:hover{background:#eef2e8}.sidebar-bottom{margin-top:auto;display:grid;gap:15px}.sidebar-note{border:1px solid #dce2d3;border-radius:9px;padding:12px;background:linear-gradient(120deg,#f0f3e7,#f9faf4);font-size:.79rem;color:#5d6958}.identity{display:flex;gap:9px;align-items:center;border-top:1px solid var(--line);padding:16px 6px 0}.avatar{background:#e5e9dc;border:1px solid #d1d9c7;border-radius:11px;width:42px;height:42px;display:grid;place-items:center;font-weight:700;font-size:1.12rem;box-shadow:inset 0 1px #ffffffc0;flex-shrink:0}.avatar.c1{background:#efe4d5;border-color:#e1d2ba;color:#6a5634}.avatar.c2{background:#dfe8ec;border-color:#cbd9df;color:#405f6d}.avatar.c3{background:#eee0de;border-color:#e1cfcc;color:#7b514a}.avatar.c4{background:#e8e2ee;border-color:#d7cce1;color:#655577}.avatar.c5{background:#e2e9d6;color:#4f6036}.main{min-width:0}.topbar{padding:16px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fafbf6}.breadcrumb{font-size:.87rem;color:var(--muted);display:flex;gap:9px;align-items:center}.breadcrumb b{color:var(--ink);font-weight:600}.top-actions{display:flex;gap:12px;align-items:center}.notif-btn{position:relative}.badge{background:var(--green);color:#fff;font-size:.7rem;border-radius:5px;padding:1px 6px}.content{padding:26px 28px 30px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head p{font-size:.89rem;color:var(--muted);margin-top:5px}.summarybar{display:flex;gap:28px;align-items:center;font-size:.86rem;border-bottom:1px solid var(--line);padding:0 0 17px;margin-bottom:23px}.summarybar strong{font-size:1.25rem;line-height:1;margin-right:6px;font-weight:700}.summarybar .hint{margin-left:auto;font-size:.8rem}.search{display:flex;align-items:center;gap:8px;border:1px solid #d1d8cd;padding:8px 11px;border-radius:8px;background:#fffefa}.search input{border:0;outline:none;background:transparent;width:155px;font-size:.85rem;color:var(--ink)}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--card)),1fr));gap:18px;align-items:start}.person-card{background:var(--paper);border:1px solid #d4dbce;border-radius:14px;box-shadow:var(--shadow);overflow:hidden;min-width:0;position:relative}.person-card:before{content:"";display:block;height:3px;background:#819e7e}.person-card:nth-child(3n+2):before{background:#bba780}.person-card:nth-child(3n):before{background:#8da6b2}.person-top{padding:18px 16px 13px;display:flex;gap:10px;align-items:center}.person-top h2{font-size:1.06rem;margin-bottom:2px}.count{margin-left:auto;text-align:right}.count strong{font-size:1.7rem;line-height:1;font-weight:650;font-variant-numeric:tabular-nums}.count span{display:block;font-size:.7rem;color:var(--muted);margin-top:3px}.add-task{width:calc(100% - 32px);margin:0 16px 14px;color:var(--green);border-color:#bdcbb5;background:linear-gradient(#f5f8ee,#edf2e6)}.task-list{padding:0 13px;min-height:202px}.task{padding:13px 3px;border-top:1px solid #e6e8e0;position:relative}.task-top{display:flex;align-items:center;gap:7px;margin-bottom:7px;font-size:.7rem;color:var(--muted)}.task-no{font-variant-numeric:tabular-nums;letter-spacing:.035em}.task-body{font-size:1rem;font-weight:600;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.task-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:9px}.task-foot .meta{font-size:.72rem;color:var(--muted)}.task-actions{display:flex;gap:1px}.task-actions button{font-size:.75rem;padding:4px 6px}.handle{cursor:grab;display:inline-flex;margin-left:auto;color:#7d8a7a;touch-action:none;padding:3px;font-size:16px;line-height:1}.sortable-ghost{opacity:.35;background:#e1ecd8}.completed{border-top:1px solid #dde3d6;background:#f8faf2;margin-top:10px}.completed summary{padding:13px 16px;cursor:pointer;font-size:.85rem;font-weight:600;list-style:none;display:flex;align-items:center;gap:7px}.completed summary:before{content:'›';font-size:20px;line-height:1;transform:rotate(0);transition:transform .15s}.completed[open] summary:before{transform:rotate(90deg)}.complete-entry{padding:13px 16px;border-top:1px solid #e2e7db;font-size:.88rem}.complete-entry .task-body{font-size:.9rem}.feedback{background:#edf2e7;border-left:3px solid #9db191;padding:9px 11px;margin:9px 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.empty{padding:36px 15px;text-align:center;color:var(--muted);font-size:.86rem}.empty .i{width:28px;height:28px;display:block;margin:0 auto 10px;color:#7e9272}.board-note{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted);margin-top:20px}.notice{padding:12px 14px;border:1px solid #d5dfcc;background:#eef3e6;border-radius:8px;font-size:.85rem;line-height:1.7}.notice.warn{background:#fff5df;border-color:#e8d5ac;color:#795419}.table-box{border:1px solid var(--line);border-radius:12px;overflow:auto;background:var(--paper);box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;text-align:left;font-size:.88rem}th{font-size:.78rem;color:var(--muted);font-weight:600;background:#f4f6ef}td,th{padding:15px 18px;border-bottom:1px solid #e3e7de;vertical-align:top}tr:last-child td{border-bottom:0}td .row{min-width:125px}.filters{display:flex;gap:12px;margin-bottom:20px;align-items:center;flex-wrap:wrap}.filters label{font-size:.82rem;display:flex;align-items:center;gap:8px}select,input[type=text],input[type=password],textarea{border:1px solid #cbd4c5;border-radius:7px;padding:9px 10px;background:#fffefa;color:var(--ink)}.log-list{display:grid;gap:12px}.log{display:grid;grid-template-columns:150px 1fr;gap:20px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:17px 20px}.log time{font-size:.78rem;color:var(--muted)}.log-content{overflow-wrap:anywhere;white-space:pre-wrap;font-size:.88rem;margin-top:7px}.log-change{margin-top:10px;padding:10px 13px;background:#f5f6ef;border-radius:6px;font-size:.82rem;white-space:pre-wrap;overflow-wrap:anywhere}.desktop-stage{background:radial-gradient(ellipse at 20% 10%,#e4ecdb,transparent 55%),linear-gradient(135deg,#edf0e7,#e1e8df);min-height:calc(100vh - 56px);padding:28px;display:grid;grid-template-columns:minmax(420px,660px) minmax(230px,320px);justify-content:center;align-items:start;gap:38px}.client{border:1px solid #bfcabd;border-radius:13px;background:#fafcf6;box-shadow:0 20px 55px #344c3925,0 2px 5px #344c3918;overflow:hidden}.client-titlebar{display:flex;align-items:center;gap:9px;padding:13px 20px;border-bottom:1px solid var(--line);background:linear-gradient(#fcfff8,#eef3e8);font-weight:600;font-size:.86rem}.client-titlebar .logo{width:23px;height:23px;border-radius:6px}.client-titlebar .logo svg{width:16px;height:16px}.client-inner{padding:22px}.client-greeting{margin-bottom:20px}.client-greeting h1{font-size:1.55rem}.client-tabs{display:flex;gap:20px;border-bottom:1px solid #d8e0d0;margin-top:22px}.client-tabs button{border:0;background:none;padding:9px 0;color:var(--muted);font-weight:600;border-bottom:3px solid transparent}.client-tabs button.active{color:var(--green);border-bottom-color:var(--green)}.mytask{padding:18px;margin:13px 0;background:var(--paper);border:1px solid #d9dfd0;border-radius:10px;box-shadow:0 2px 4px #263e2c08}.mytask.unread{border-color:#c4cfb4;box-shadow:inset 3px 0 #859e6c,0 2px 4px #263e2c08}.mytask .task-body{display:block;width:100%;text-align:left;border:0;background:transparent;padding:0;color:var(--ink)}.mytask .task-body:hover{color:var(--green)}.client-footer{border-top:1px solid var(--line);padding:11px 20px;font-size:.75rem;display:flex;align-items:center;justify-content:space-between;background:#f0f5e9}.desktop-guide{padding-top:35px}.eyebrow{color:var(--green);font-size:.75rem;font-weight:700;letter-spacing:.12em;margin-bottom:12px}.desktop-guide h2{font-size:1.5rem;line-height:1.6;margin-bottom:18px;letter-spacing:-.02em}.step{display:flex;gap:13px;margin:22px 0;font-size:.9rem}.step .num{width:26px;height:26px;border:1px solid #b8c9af;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:.75rem;font-weight:650}.step p{font-size:.83rem;color:#5a6d59;margin-top:5px}.desktop-guide .notice{margin-top:25px;background:#f7faf2b8}.settings-row{display:flex;gap:12px;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}input[type=checkbox]{accent-color:var(--green);width:18px;height:18px}.checkline{display:flex;align-items:center;gap:10px;font-size:.9rem}.setting-note{font-size:.79rem;color:var(--muted);margin-top:3px}.inbox-item{width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:15px;margin-bottom:11px;display:block}.inbox-item.unread{border-left:4px solid #739260}.inbox-item:hover{background:#f3f7ec}.inbox-item p{margin-top:8px;font-weight:600;overflow-wrap:anywhere}.inbox-item .feedback{font-weight:400}.dialog{border:1px solid #c8d3c0;border-radius:16px;padding:0;color:var(--ink);width:min(560px,calc(100% - 32px));max-height:90vh;box-shadow:0 30px 100px #162d3359;background:var(--paper)}.dialog::backdrop{background:#1c302749;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 15px;border-bottom:1px solid var(--line)}.dialog-body{padding:22px 24px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.field{display:grid;gap:7px;margin-bottom:17px}.field>label{font-weight:600;font-size:.89rem}.field textarea{resize:vertical;min-height:130px;width:100%;line-height:1.65}.field small{font-size:.78rem;color:var(--muted)}.field select,.field input{width:100%}.form-error{color:var(--danger);font-size:.85rem;min-height:0;margin-top:8px}.task-quote{padding:15px;background:#f0f4e9;border-radius:9px;border:1px solid #dae3d1;white-space:pre-wrap;overflow-wrap:anywhere;font-weight:600;margin-bottom:16px}.toast-region{position:fixed;right:24px;bottom:24px;z-index:100;display:grid;gap:10px;max-width:min(400px,calc(100vw - 40px))}.toast{background:#254f3e;color:#fff;border:1px solid #47755a;border-radius:10px;box-shadow:0 8px 28px #1d352933;padding:14px 18px;font-size:.9rem;animation:toastin .2s}.toast small{display:block;color:#d8e6d1;margin-top:3px}.read-meta{display:grid;grid-template-columns:85px 1fr;gap:8px;font-size:.85rem}.read-meta dt{color:var(--muted)}.read-meta dd{margin:0}.help-list{padding-left:20px;font-size:.9rem}.help-list li{margin:10px 0}.empty-card .task-list{display:flex;align-items:center;justify-content:center}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.counter{font-variant-numeric:tabular-nums}.inline-warning{padding:11px 28px;background:#fff2d8;color:#795019;font-size:.85rem}.locked{max-width:500px;margin:12vh auto;padding:35px;background:var(--paper);border:1px solid var(--line);border-radius:15px}.lock-icon{width:55px;height:55px;background:var(--pale);border-radius:15px;display:grid;place-items:center;margin-bottom:18px}@keyframes toastin{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:1900px){:root{--card:292px;font-size:16px}.content{padding:27px 32px}.board{gap:20px}}@media(min-width:2500px){:root{font-size:18px;--card:340px}.layout{grid-template-columns:220px 1fr}.person-top{padding:20px}.task{padding:15px 7px}.board{gap:24px}.content{padding:32px 38px}.task-list{min-height:250px}}@media(min-width:3400px){:root{font-size:21px;--card:410px}.layout{grid-template-columns:260px 1fr}.content{padding:38px 44px}.board{gap:28px}.avatar{width:50px;height:50px}.btn{min-height:44px}}@media(max-width:1100px){.layout{grid-template-columns:158px 1fr}.sidebar{padding:22px 10px}.content{padding:22px 20px}.topbar{padding:15px 20px}.demo-bar{gap:10px;padding:8px 15px}.demo-bar .demo-explain{display:none}.desktop-stage{gap:22px;padding:25px;grid-template-columns:minmax(380px,660px) minmax(220px,270px)}.summarybar .hint{display:none}}@media(max-width:780px){.layout{display:block}.sidebar{padding:12px 16px;border-right:0;border-bottom:1px solid var(--line);gap:15px}.brand,.sidebar-bottom,.nav-label{display:none}nav{display:flex;gap:5px;flex-wrap:wrap}nav button{padding:9px}.demo-bar{flex-wrap:wrap;gap:8px}.demo-label{display:none}.demo-bar .grow{display:none}.roles button{padding:6px 10px}.topbar{gap:10px}.topbar .sync-copy{display:none}.content{padding:20px 16px}.page-head{align-items:flex-start;flex-wrap:wrap;margin-bottom:19px}.summarybar{gap:20px}.desktop-stage{display:block;padding:20px 12px}.desktop-guide{display:none}.client-inner{padding:18px}.log{grid-template-columns:1fr;gap:8px}.formgrid{grid-template-columns:1fr}.search input{width:140px}.breadcrumb{font-size:.79rem}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Keep the work above the fold; grow columns rather than whitespace. */
.topbar{padding-top:12px;padding-bottom:12px}.content{padding-top:20px}.page-head{margin-bottom:16px}.page-head .eyebrow{display:none}.summarybar{padding-bottom:13px;margin-bottom:18px}.task{padding-top:10px;padding-bottom:10px}.task-foot{margin-top:6px}.task-actions button{min-width:27px}.person-top{padding-top:15px}.task-list{min-height:200px}.task-no{overflow-wrap:anywhere}.demo-bar{min-height:50px}
@media(min-width:1900px) and (max-width:2499px){:root{--card:252px}.board{gap:16px}.content{padding-top:20px}.task-foot{flex-wrap:wrap}.task-actions{margin-left:auto}}
@media(min-width:2500px){.content{padding-top:26px}}

/* v2: only the task and its direct actions stay on the working surface. */
:root{--bg:#f3f4f0;--paper:#fff;--card:270px}
.workspace-nav{display:flex;align-items:center;gap:20px;padding:10px 24px;background:#fff;border-bottom:1px solid var(--line)}
.wordmark{font-size:1.15rem;letter-spacing:.05em;margin-right:12px}.workspace-nav nav{display:flex;gap:6px}.workspace-nav nav button{padding:8px 12px;font-size:.9rem}.workspace-nav .ghost{font-size:.84rem}.content{padding:18px 24px 28px}.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.search{padding:6px 10px}.board{gap:16px}.person-card{border-radius:10px;box-shadow:0 2px 6px #243b2d08;border-color:#d8ded3}.person-card:before{display:none}.person-top{padding:14px 15px;gap:8px;border-bottom:1px solid #e8ebe4;min-height:61px}.person-top h2{font-size:1rem;font-weight:650;margin:0}.task-count{font-size:.8rem;color:#61705d;background:#edf1e8;border-radius:5px;min-width:23px;text-align:center;padding:1px 5px;font-variant-numeric:tabular-nums}.add-square{width:29px;height:29px;padding:3px;display:grid;place-items:center;border:1px solid #b9c5b1;border-radius:5px;background:#f5f7f1;color:var(--green)}.add-square:hover{background:#e7eee0;border-color:#87a078}.add-square .i{width:18px;height:18px}.task-list{padding:0 13px;min-height:0}.task{display:flex;align-items:flex-start;gap:6px;padding:14px 0;border-top:0;border-bottom:1px solid #edf0e9;min-height:58px}.task:last-child{border-bottom:0}.task-body{font-size:1rem;line-height:1.65;font-weight:500}.task-edit{flex:1;min-width:0;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;background:none;border:0;border-radius:4px;padding:0;color:var(--ink)}.task-edit:hover{color:#285d42;background:#f2f6ed}.handle{flex-shrink:0;margin:0 -3px 0 0;border:0;background:transparent;width:25px;height:27px;display:grid;place-items:center;padding:2px;color:#8b9685;border-radius:4px;font-size:17px;cursor:grab;letter-spacing:-3px;touch-action:none}.handle:hover,.handle:focus-visible{color:var(--green);background:#edf2e7}.handle:active{cursor:grabbing}.completed{margin-top:0;background:#fafbf8;border-top:1px solid #e6eae0}.completed summary{padding:10px 15px;font-size:.8rem;font-weight:500}.completed summary:before{font-size:16px}.feedback-dot{width:6px;height:6px;border-radius:50%;background:#956419;margin-left:2px}.complete-entry{padding:12px 15px}.complete-entry .task-body{font-size:.88rem}.feedback{font-size:.86rem;margin:7px 0 0;padding:7px 9px;border-left-width:2px;background:#f0f4e9}.empty{padding:24px 12px;font-size:.85rem}.desktop-stage{display:block;padding:28px 16px;background:var(--bg)}.client{max-width:640px;margin:auto;box-shadow:0 4px 20px #344c3910;background:#fff}.client-titlebar{background:#fff;padding:12px 18px;font-size:1rem}.client-inner{padding:0 18px 10px}.client-tabs{margin:0;gap:22px}.client-tabs button{font-size:.9rem;padding:12px 0}.mytask{box-shadow:none;border:0;border-bottom:1px solid #e5eadd;border-radius:0;margin:0;padding:16px 0}.worker-task{display:flex;align-items:center;gap:18px}.mytask.unread{box-shadow:none;border-color:#e5eadd}.worker-task .grow{min-width:0}.unread-label{font-size:.73rem;color:#8b5a18;margin-bottom:3px;display:inline-block}.worker-task .btn{box-shadow:none;background:#315b46;font-weight:500;padding:5px 12px}.client-footer{background:#fafbf8}.dialog{border-radius:10px}.dialog-header{padding:16px 20px}.dialog-body{padding:18px 20px}.field textarea{min-height:110px}.dialog-actions{margin-top:16px}.demo-bar{padding:6px 24px;gap:14px}.roles button{padding:4px 10px}.demo-explain{font-size:.75rem}.btn{box-shadow:none}.toast small{font-size:.8rem}
@media(min-width:1900px){:root{--card:280px}.content{padding:18px 24px 28px}.board{gap:16px}}
@media(min-width:2500px){:root{--card:330px}.content{padding:22px 30px}.board{gap:18px}}
@media(min-width:3400px){:root{--card:405px}.content{padding:24px 36px}.person-top{padding:16px}.task{padding:16px 0}.add-square{width:34px;height:34px}}
@media(max-width:780px){.workspace-nav{padding:10px 14px;gap:5px;flex-wrap:wrap}.wordmark{margin-right:6px}.workspace-nav nav button{padding:7px 8px}.current-name{display:none}.content{padding:14px}.board-toolbar{gap:8px;flex-wrap:wrap}.demo-bar{padding:7px 14px}.board{gap:14px}.desktop-stage{padding:15px 10px}}

/* v3: neutral office surfaces, explicit typography, restrained blue actions. */
:root{--bg:#f5f6f8;--paper:#fff;--ink:#1f2329;--muted:#626873;--green:#245bdb;--green-dark:#194cc2;--line:#dfe2e7;--pale:#eef3ff;--amber:#8b5800;--orange-bg:#fff4dc;--danger:#c02d2d;--shadow:none;font-size:16px}
body{font-family:"Youxu Sans","Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC","Segoe UI",sans-serif;background:var(--bg);color:var(--ink);font-weight:400;-webkit-font-smoothing:auto;text-shadow:none;line-height:1.6}
button,input,select,textarea{font-family:inherit;letter-spacing:0}button,a{transition:background-color .12s,color .12s,border-color .12s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #245bdb;outline-offset:3px}
h1,h2,h3{letter-spacing:0;font-weight:700}.wordmark{font-weight:700;color:#1f2329;letter-spacing:0}.muted{color:#626873}.small{font-size:.84rem}
.demo-bar{background:#eef0f3;border-color:#dfe2e7;color:#515865}.demo-label{letter-spacing:0;font-weight:600}.demo-label:before{background:#727b8b}.roles{background:#e2e5eb;border-radius:6px}.roles button{color:#505866;font-weight:600;border-radius:4px}.roles button.active{background:#fff;color:#245bdb;box-shadow:none}.demo-bar select{background:#fff;border-color:#cbd0d9;color:#343a44}
.workspace-nav{background:#fff;border-bottom-color:#dfe2e7}.workspace-nav nav button{border-radius:5px;color:#454c58;font-weight:600}.workspace-nav nav button:hover{background:#f2f4f7}.workspace-nav nav button.active{background:#eef3ff;color:#245bdb;box-shadow:none}.workspace-nav .ghost{font-weight:500;color:#454c58}.workspace-nav .badge{background:#245bdb;color:#fff}.current-name{color:#454c58}
.board-toolbar{margin-bottom:16px}.board-toolbar>.small{font-size:.82rem;color:#626873}.search{background:#fff;border:1px solid #cbd0d9;border-radius:6px;color:#646c79;box-shadow:none}.search input{color:#1f2329;font-size:.86rem}.search input::placeholder{color:#6e7683}
.person-card{background:#fff;border:1px solid #d8dce3;border-radius:8px;box-shadow:none}.person-top{background:#fff;border-bottom:1px solid #dfe2e7;padding:14px 15px;gap:9px}.person-top h2{font-size:1.06rem;font-weight:700;color:#1f2329;line-height:1.5}.task-count{background:#eef0f3;color:#515866;border-radius:4px;font-size:.8rem;font-weight:600;padding:1px 6px;min-width:24px}
.add-square{width:30px;height:30px;border:1px solid #c4cad4;border-radius:5px;background:#fff;color:#245bdb;box-shadow:none}.add-square:hover{background:#eef3ff;border-color:#7a9bef}.add-square .i{width:19px;height:19px;stroke-width:2}
.task-list{padding:0 14px}.task{border-bottom:1px solid #e8eaee;padding:15px 0;gap:7px;min-height:58px}.task-body{font-size:1rem;line-height:1.7;font-weight:600;color:#1f2329}.task-edit{padding:0;border:0;background:transparent;border-radius:3px;color:#1f2329;font-weight:600}.task-edit:hover{background:#f2f5fb;color:#164ebd}.handle{width:26px;height:27px;color:#768092;border-radius:4px;margin-top:1px;letter-spacing:0}.handle .i{width:17px;height:20px;stroke:none;fill:currentColor}.handle:hover,.handle:focus-visible{background:#eef3ff;color:#245bdb}.sortable-ghost{opacity:.4;background:#e9f0ff}
.completed{background:#fafbfc;border-top:1px solid #dfe2e7}.completed summary{font-size:.83rem;font-weight:500;color:#515866;padding:11px 15px}.completed summary:hover{background:#f0f2f5}.feedback-dot{background:#245bdb}.complete-entry{border-top:1px solid #e3e6eb}.complete-entry .task-body{font-size:.93rem;font-weight:600}.feedback{background:#f3f6fc;border-left:2px solid #8ca9e9;color:#3c4658;font-size:.88rem;font-weight:500;line-height:1.7}.empty{color:#6b7380;font-size:.87rem}
.btn{border-color:#cbd0d9;border-radius:5px;background:#fff;color:#343a44;box-shadow:none;font-weight:600}.btn:hover{background:#f2f4f7;border-color:#9fa8b7}.btn.primary,.worker-task .btn{color:#fff;background:#245bdb;border-color:#245bdb;box-shadow:none;font-weight:600}.btn.primary:hover,.worker-task .btn:hover{background:#194cc2;border-color:#194cc2}.btn.danger{background:#fff;color:#c02d2d;border-color:#e5b1b1}.btn.danger:hover{background:#fff0f0}.ghost:hover{background:#edf0f5}.badge{background:#245bdb}.pill{background:#eef3ff;color:#245bdb;border-radius:4px}.pill.neutral{background:#eef0f3;color:#515866}.pill.new{background:#fff4dc;color:#8b5800}.pill.off{background:#fff0f0;color:#bb2e2e}
.desktop-stage{background:#f5f6f8}.client{background:#fff;border-color:#cbd1da;border-radius:8px;box-shadow:none}.client-titlebar{background:#fff;border-bottom-color:#dfe2e7;font-weight:700}.client-tabs{border-color:#dfe2e7}.client-tabs button{font-weight:600;color:#626873}.client-tabs button.active{color:#245bdb;border-bottom-color:#245bdb}.mytask,.mytask.unread{background:#fff;border-color:#e3e6eb;box-shadow:none}.mytask .task-body{color:#1f2329;font-weight:600}.mytask .task-body:hover{color:#164ebd}.unread-label{color:#245bdb;font-weight:600}.client-footer{background:#fafbfc;border-color:#dfe2e7;color:#626873}
.dialog{background:#fff;border-color:#d4d9e2;border-radius:8px;box-shadow:0 12px 40px #1f293724}.dialog::backdrop{background:#16203345;backdrop-filter:none}.dialog-header{border-color:#e1e5eb}.dialog-header h2{font-weight:700}.field>label{font-weight:600}.field textarea{font-size:1rem;line-height:1.7;font-weight:500}.field small,.field>small{color:#626873}select,input[type=text],input[type=password],textarea{background:#fff;border-color:#bdc5d1;border-radius:5px;color:#1f2329}.task-quote{background:#f5f7fa;border-color:#dfe4ed;border-radius:5px;color:#1f2329;font-weight:600}.notice{background:#f2f6ff;border-color:#d5e1fb;border-radius:5px;color:#364761}.notice.warn{background:#fff8e8;border-color:#eddbb3;color:#835600}input[type=checkbox]{accent-color:#245bdb}.settings-row{border-color:#e0e4eb}
.table-box{border-color:#d8dce3;border-radius:8px;background:#fff;box-shadow:none}th{background:#f5f6f8;color:#515866;font-weight:600}td,th{border-color:#e3e6eb}td{color:#1f2329}.avatar,.avatar.c1,.avatar.c2,.avatar.c3,.avatar.c4,.avatar.c5{background:#edf1f8;border-color:#d8dfec;color:#40567d;box-shadow:none}.log{background:#fff;border-color:#d8dce3;border-radius:7px}.log-change{background:#f5f7fa;color:#414b5c}.log time{color:#626873}.inbox-item{background:#fff;border-color:#d8dce3;border-radius:7px}.inbox-item.unread{border-left-color:#245bdb}.inbox-item:hover{background:#f6f8fc}.inbox-item p{font-weight:600}.toast{background:#26364f;border-color:#26364f;border-radius:6px;box-shadow:0 4px 12px #16203318}.toast small{color:#e3eaf5}.locked{background:#fff;border-color:#d8dce3}.lock-icon{background:#eef3ff;color:#245bdb}
@media(min-width:1900px){:root{font-size:16px}}
@media(min-width:2500px){:root{font-size:18px}}
@media(min-width:3400px){:root{font-size:20px}.add-square{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){button,a{transition:none}}


.connection-status{font-size:12px;color:#626873;margin-right:8px}.locked{max-width:460px;margin:10vh auto;padding:30px}.locked .field{text-align:left}.login-error{color:#c02d2d;min-height:26px}.completed-meta{font-size:.75rem;color:#626873;margin-top:6px}.log-more{margin-top:15px}
