:root{--paper:#eef1ed;--surface:#fbfcf7;--ink:#17201d;--muted:#60716a;--line:#d5ddd6;--spruce:#173f35;--spruce-2:#2e6557;--amber:#b86f24;--clay:#9a4b3c;--steel:#38556a;--shadow:0 18px 50px #252d271f}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:var(--paper);letter-spacing:0;margin:0;font-family:Aptos,Noto Sans SC,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.login-shell{background:linear-gradient(90deg,#173f35f5,#173f35d1),repeating-linear-gradient(135deg,#ffffff14 0 1px,#0000 1px 18px);grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);min-height:100vh;display:grid}.login-panel{color:#fffdf8;flex-direction:column;justify-content:space-between;min-height:100vh;padding:64px 54px;display:flex}.login-panel h1{max-width:520px;margin:0;font-size:clamp(34px,5vw,68px);font-weight:800;line-height:.95}.login-panel p{color:#fffdf8c7;max-width:520px;line-height:1.8}.login-form-wrap{background:var(--paper);place-items:center;min-height:100vh;padding:32px;display:grid}.login-form{background:var(--surface);border:1px solid var(--line);width:min(430px,100%);box-shadow:var(--shadow);border-radius:8px;padding:32px}.login-form h2{margin:0 0 8px;font-size:24px}.login-form p{color:var(--muted);margin:0 0 24px}.app-shell{--sidebar-width:244px;grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;transition:grid-template-columns .16s;display:grid}.app-shell.sidebar-collapsed{--sidebar-width:72px}.sidebar{color:#f8f7f2;background:#17201d;flex-direction:column;gap:18px;min-width:0;padding:22px 14px;display:flex;overflow:hidden}.brand{border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 10px 16px;display:flex}.brand-copy{min-width:0}.brand strong{white-space:nowrap;font-size:19px;display:block}.brand span{color:#f8f7f29e;white-space:nowrap;margin-top:6px;font-size:12px;display:block}.nav{gap:5px;display:grid}.nav a,.logout-button{color:#f8f7f2c7;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;min-height:38px;padding:9px 10px;display:flex}.nav a:hover,.logout-button:hover{color:#fffdf8;background:#ffffff14}.nav a[aria-current=page]{color:#fffdf8;background:#ffffff1a}.nav a.nav-pending{color:#fffdf8;background:#b86f2433}.sidebar .icon-button{color:#f8f7f2d1;background:#ffffff0f;border-color:#ffffff29;flex:none}.sidebar .icon-button:hover{color:#fffdf8;background:#ffffff1c;border-color:#ffffff3d}.app-shell.sidebar-collapsed .sidebar{padding-inline:12px}.app-shell.sidebar-collapsed .brand{justify-content:center;padding-inline:0}.app-shell.sidebar-collapsed .brand-copy,.app-shell.sidebar-collapsed .nav-label{display:none}.app-shell.sidebar-collapsed .nav a,.app-shell.sidebar-collapsed .logout-button,.app-shell.sidebar-collapsed .sidebar-foot .button-row{justify-content:center;padding-inline:0}.app-shell.sidebar-collapsed .sidebar-foot{padding-inline:0}.sidebar-foot{color:#f8f7f294;margin-top:auto;padding:10px;font-size:12px}.content{background:linear-gradient(180deg, #ffffff57, #fff0 240px), var(--paper);min-width:0;padding:28px}.page-transition{inset:0 0 0 var(--sidebar-width);z-index:80;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#eef1ed57;place-items:center;padding:28px;display:grid;position:fixed}.page-transition-box{max-width:min(360px,100%);min-height:42px;color:var(--spruce);background:#fbfcf7f5;border:1px solid #173f3529;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 14px 34px #252d2729}.page-transition-spinner{border:2px solid #173f3533;border-top-color:var(--spruce);border-radius:50%;width:16px;height:16px;animation:.76s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.eyebrow{color:var(--amber);text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.page-title{margin:0;font-size:clamp(26px,3vw,40px);line-height:1.08}.page-subtitle{color:var(--muted);max-width:780px;margin:8px 0 0}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:minmax(320px,.9fr) minmax(380px,1.1fr)}.grid.four{grid-template-columns:repeat(4,minmax(160px,1fr))}.panel,.card{background:var(--surface);border:1px solid var(--line);border-radius:8px}.panel{padding:18px}.card{padding:14px}.stat{border-left:4px solid var(--spruce);padding:18px}.stat:nth-child(2){border-left-color:var(--steel)}.stat:nth-child(3){border-left-color:var(--amber)}.stat:nth-child(4){border-left-color:var(--clay)}.stat span{color:var(--muted);font-size:13px}.stat strong{margin-top:8px;font-size:32px;display:block}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-actions{align-items:center;gap:8px;display:inline-flex}.section-head h2,.panel h2{margin:0;font-size:18px}.form-grid{gap:12px;display:grid}.field label{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cec8ba;border-radius:6px;outline:none;padding:10px 11px}.field textarea{resize:vertical;min-height:180px;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--spruce-2);box-shadow:0 0 0 3px #2e655726}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button{cursor:pointer;background:var(--spruce);color:#fff;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:9px 13px;font-weight:700;display:inline-flex}.button.secondary{color:var(--spruce);background:#fff;border-color:#b7c2bb}.button.ghost{color:var(--muted);border-color:var(--line);background:0 0}.button:disabled{cursor:not-allowed;opacity:.55}.list{gap:10px;display:grid}.item-title{margin:0 0 6px;font-size:15px}.meta{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.tag-row{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.tag{color:#345247;background:#edf1ed;border-radius:999px;padding:3px 8px;font-size:12px}.summary{color:#2c3832;white-space:pre-wrap;line-height:1.65}.command-topbar{align-items:center}.metrics-strip{grid-template-columns:repeat(6,minmax(128px,1fr));gap:10px;margin-bottom:16px;display:grid}.metric-tile{border:1px solid var(--line);background:#fbfcf7db;border-radius:8px;grid-template-rows:auto 1fr;grid-template-columns:18px 1fr;align-items:center;gap:7px 9px;min-height:78px;padding:13px;display:grid}.metric-tile svg{color:var(--spruce-2)}.metric-tile span{min-width:0;color:var(--muted);font-size:12px;font-weight:700}.metric-tile strong{grid-column:1/-1;font-size:30px;line-height:1}.command-layout{grid-template-columns:minmax(0,1.45fr) minmax(340px,.65fr);align-items:start;gap:16px;display:grid}.command-main,.command-side{gap:16px;display:grid}.quick-grid{grid-template-columns:1fr;gap:8px;display:grid}.quick-link{border:1px solid var(--line);color:#263a32;background:#fff;border-radius:7px;grid-template-columns:18px 1fr 16px;align-items:center;gap:8px;min-height:42px;padding:9px 10px;font-weight:700;display:grid}.quick-link:hover{border-color:var(--spruce-2);background:#f5faf6}.snapshot-list{gap:8px;display:grid}.snapshot-row{border-top:1px solid var(--line);padding:9px 0 2px}.snapshot-row:first-child{border-top:0;padding-top:0}.snapshot-row strong{min-width:0;font-size:14px;line-height:1.35;display:block}.task-panel,.work-panel{padding:16px}.task-form,.work-form{align-items:end;gap:10px;margin-bottom:13px;display:grid}.task-form{grid-template-columns:minmax(240px,1fr) 128px 108px 148px auto}.task-form.compact{grid-template-columns:minmax(220px,1fr) 118px 96px 142px auto}.task-notes-field,.work-summary-field{grid-column:1/-1}.task-notes-field textarea{min-height:74px}.task-submit,.work-submit{min-width:88px}.task-list,.work-list{gap:8px;display:grid}.task-list.compressed{gap:6px}.task-row,.work-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;display:grid}.task-row.is-done{color:var(--muted);background:#ffffff9e}.task-row.is-done strong{text-decoration:line-through}.task-main,.work-main{min-width:0}.task-title-line,.work-title-line{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.task-title-line strong,.work-title-line strong{min-width:0;font-size:14px;line-height:1.35}.task-note{margin:5px 0;font-size:13px}.icon-button{border:1px solid var(--line);width:30px;height:30px;color:var(--spruce);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{border-color:var(--spruce-2);background:#f5faf6}.icon-button.primary-icon{background:var(--spruce);border-color:var(--spruce);color:#fff}.icon-button.primary-icon:hover{background:var(--spruce-2);border-color:var(--spruce-2)}.icon-button:disabled{cursor:not-allowed;opacity:.55}.muted-icon{color:#93a098;cursor:default}.priority-dot,.type-pill,.work-status{border-radius:999px;align-items:center;gap:4px;min-height:22px;padding:2px 7px;font-size:12px;font-weight:700;display:inline-flex}.priority-dot{color:#35584b;background:#edf3ef}.priority-high{color:#8a392d;background:#fbebe6}.priority-low{color:#415d73;background:#edf1f5}.type-pill{color:#667035;background:#f1f4ec}.due-date{align-items:center;gap:4px;display:inline-flex}.task-controls,.work-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.task-controls select,.task-controls input,.work-controls select,.work-controls input{min-height:30px;color:var(--ink);background:#fff;border:1px solid #c7d0c8;border-radius:6px;padding:5px 8px}.task-controls select{width:88px}.task-controls input{width:132px}.minor-head{color:var(--muted);align-items:center;gap:6px;margin:14px 0 7px;font-size:12px;font-weight:800;display:inline-flex}.work-form{grid-template-columns:minmax(220px,1fr) 130px minmax(220px,.9fr) auto}.work-form.compact{grid-template-columns:minmax(220px,1fr) 116px minmax(220px,.9fr) auto}.work-summary-field textarea{min-height:94px}.work-row{grid-template-columns:34px minmax(0,1fr) auto}.work-row-edit{align-items:start}.work-icon{width:32px;height:32px;color:var(--spruce);background:#edf3ef;border-radius:8px;place-items:center;display:grid}.work-status{color:#35584b;background:#edf3ef}.status-published{color:#365b72;background:#eef3f7}.status-paused{color:#7b4a45;background:#f2eeee}.status-idea{color:#725421;background:#f4f0e7}.work-controls input{width:min(220px,30vw)}.order-controls{gap:5px;display:inline-flex}.work-edit-form{grid-column:2/-1;grid-template-columns:minmax(220px,1fr) 128px 100px minmax(220px,.9fr);align-items:end;gap:10px;display:grid}.work-edit-form textarea{min-height:96px}.work-edit-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.modal-backdrop{inset:0 0 0 var(--sidebar-width);z-index:50;background:#09131075;place-items:center;padding:24px;display:grid;position:fixed}.modal-dialog{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:min(760px,100%);max-height:min(760px,100vh - 48px);padding:18px;overflow:auto;box-shadow:0 28px 90px #00000047}.modal-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.modal-head h2{margin:0;font-size:20px}.modal-head p{color:var(--muted);margin:6px 0 0;line-height:1.6}.work-modal-form{grid-template-columns:minmax(220px,1fr) 128px;align-items:end;gap:10px;display:grid}.task-modal-form,.entity-modal-form,.material-modal-form{grid-template-columns:repeat(2,minmax(220px,1fr));align-items:end;gap:10px;display:grid}.work-modal-form .work-action-field,.work-modal-form .work-summary-field,.task-modal-form .task-title-field,.task-modal-form .task-notes-field,.entity-modal-form .entity-wide,.material-modal-form .material-wide{grid-column:1/-1}.work-modal-form textarea{min-height:118px}.task-modal-form textarea,.entity-modal-form textarea{min-height:112px}.material-modal-form textarea{min-height:320px}.material-create-modal{width:min(920px,100%)}.modal-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.guide-layout{gap:16px;display:grid}.guide-steps{grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;display:grid}.guide-steps article,.guide-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px}.guide-steps strong,.guide-card strong{font-size:15px;display:block}.guide-steps p,.guide-card p{color:var(--muted);margin:8px 0 0;line-height:1.65}.guide-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;display:grid}.guide-card{color:#263a32;gap:8px;display:grid}.guide-card svg{color:var(--spruce-2)}.guide-card:hover{border-color:var(--spruce-2);background:#f8fbf8}.guide-principles{flex-wrap:wrap;gap:8px;display:flex}.guide-principles span{color:#35584b;background:#edf3ef;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:700}.board{grid-template-columns:repeat(4,minmax(230px,1fr));gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.lane{border:1px solid var(--line);background:#fffdf8b8;border-radius:8px;min-width:230px;padding:12px}.lane h3{color:var(--spruce);margin:0 0 10px;font-size:14px}.resume-preview{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:640px}.empty{color:var(--muted);background:#fffdf8a6;border:1px dashed #c5beb1;border-radius:8px;padding:18px}.error{color:#8f2e25;margin-top:12px;font-size:13px}.success{color:#1d684f;margin-top:12px;font-size:13px}@media (max-width:980px){.login-shell,.app-shell,.grid.two{--sidebar-width:0px;grid-template-columns:1fr}.login-panel,.login-form-wrap{min-height:auto}.sidebar{position:static}.app-shell.sidebar-collapsed .brand-copy{display:block}.app-shell.sidebar-collapsed .nav-label{display:inline}.app-shell.sidebar-collapsed .nav a,.app-shell.sidebar-collapsed .logout-button,.app-shell.sidebar-collapsed .sidebar-foot .button-row{justify-content:flex-start;padding-inline:10px}.app-shell.sidebar-collapsed .brand{justify-content:space-between;padding-inline:10px}.grid.four{grid-template-columns:repeat(2,minmax(150px,1fr))}.metrics-strip{grid-template-columns:repeat(3,minmax(130px,1fr))}.command-layout{grid-template-columns:1fr}.task-form,.task-form.compact,.work-form,.work-form.compact,.work-edit-form,.work-modal-form,.task-modal-form,.entity-modal-form,.material-modal-form,.guide-steps,.guide-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.task-title-field,.work-title-field,.work-action-field,.task-submit,.work-submit{grid-column:auto}}@media (max-width:620px){.content{padding:18px}.grid.four{grid-template-columns:1fr}.topbar{display:block}.metrics-strip{grid-template-columns:repeat(2,minmax(120px,1fr))}.task-form,.task-form.compact,.work-form,.work-form.compact,.work-edit-form,.work-modal-form,.task-modal-form,.entity-modal-form,.material-modal-form,.guide-steps,.guide-grid{grid-template-columns:1fr}.task-row,.work-row{grid-template-columns:30px minmax(0,1fr)}.task-controls,.work-controls{grid-column:1/-1;justify-content:flex-start}.work-edit-form{grid-column:1/-1}.modal-backdrop{padding:14px;left:0}.modal-dialog{max-height:calc(100vh - 28px);padding:14px}.sidebar{padding:14px}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
