:root{--ink:#263831;--muted:#758078;--paper:#f3f2ec;--panel:#fffefa;--line:#e1e3da;--forest:#244a3b;--forest2:#38745b;--copper:#bb744a;--plum:#7b668d;--blue:#527b8e;--gold:#b8893c;--red:#a84c43;--stage-yellow:#d0a52e;--stage-orange:#b95c26;--stage-rust:#aa4f30;--stage-red:#ad3e38;--stage-green:#4f7a57;--stage-blue:#476fa7;--soft-stage-yellow:#f7f0dc;--soft-stage-orange:#f9ece2;--soft-stage-rust:#f8e9e2;--soft-stage-red:#f8e9e7;--soft-stage-green:#e8f1e7;--soft-stage-blue:#e9eff8;--softgreen:#e8f0e9;--softblue:#eaf0f3;--softplum:#f0ebf3;--softcopper:#f5ebe5;--shadow:0 8px 24px #1f342b0e;--labelw:242px;--dayw:6px}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font:14px/1.45 Inter,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #6b9b7d66}.app{max-width:1600px;margin:auto;padding:22px 30px 34px}.topline{background:var(--forest);height:6px;position:absolute;inset:0 0 auto}.header{justify-content:space-between;align-items:center;gap:18px;margin:7px 0 22px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--forest);color:#f5f2e9;border-radius:8px;place-items:center;width:42px;height:42px;font:24px Georgia,serif;display:grid}.brand-copy .overline{color:var(--forest2);letter-spacing:.15em;text-transform:uppercase;font-size:12px;font-weight:800}.brand h1{letter-spacing:-.02em;margin:2px 0 0;font:600 23px/1.15 Georgia,Times New Roman,serif}.header-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.catalog-pill{color:var(--forest);background:#e8ede6;border-radius:7px;align-items:center;gap:8px;padding:8px 11px;font-size:14px;font-weight:750;display:flex}.catalog-pill select{color:inherit;cursor:pointer;background:0 0;border:0;max-width:190px;font-weight:750}.demo-tag{color:#896534;letter-spacing:.04em;text-transform:uppercase;background:#fbf4e9;border:1px solid #ead8bd;border-radius:99px;padding:6px 9px;font-size:12px;font-weight:800}.btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:7px;padding:9px 12px;font-weight:700;transition:background .15s,border-color .15s,transform .15s}.btn:hover{background:#fff;border-color:#aebcb0}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.48;cursor:not-allowed;transform:none}.btn.primary{color:#fff;background:var(--forest);border-color:var(--forest)}.btn.primary:hover{background:#315f4b}.btn.subtle{color:var(--muted);background:0 0;border-color:#0000}.btn.small{padding:6px 9px;font-size:13px}.btn.danger{color:var(--red)}.icon-btn{align-items:center;gap:7px;display:inline-flex}.tabs{border-bottom:1px solid var(--line);gap:5px;margin-bottom:18px;display:flex}.tab{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px 11px;font-size:14px;font-weight:750}.tab:hover{color:var(--ink)}.tab.active{color:var(--forest);border-color:var(--forest)}.hero{background:var(--forest);color:#f8f6ee;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;padding:21px 23px;display:flex;position:relative;overflow:hidden}.hero:after{content:"";border:1px solid #ffffff18;border-radius:50%;width:230px;height:230px;position:absolute;top:-95px;right:15%;box-shadow:0 0 0 24px #ffffff08,0 0 0 48px #ffffff05}.hero-copy,.hero-actions{z-index:1;position:relative}.hero .eyebrow{color:#c0d7c7;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800}.hero h2{margin:5px 0;font:600 25px/1.2 Georgia,serif}.hero p{color:#d2dfd5;margin:0;font-size:14px}.hero-actions{flex-wrap:wrap;gap:8px;display:flex}.hero .btn{color:#fff;background:#ffffff12;border-color:#ffffff3b}.hero .btn:hover{background:#ffffff20}.hero .btn.primary{color:var(--forest);background:#f5f2e9;border-color:#f5f2e9}.demo-note{color:#765c31;background:#fbf6ea;border:1px solid #ecddc3;border-radius:7px;margin-bottom:14px;padding:9px 12px;font-size:13px}.metrics{grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:18px;display:grid}.metric{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:13px 15px}.metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:800}.metric-main{align-items:baseline;gap:8px;margin-top:5px;display:flex}.metric-value{letter-spacing:-.02em;font:600 24px/1.2 Georgia,serif}.metric-note{color:var(--muted);font-size:12px}.metric-accent{color:var(--forest2);font-size:12px;font-weight:750}.section{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:9px;margin-bottom:15px;overflow:hidden}.section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;display:flex}.section-title{flex-wrap:wrap;align-items:baseline;gap:9px;display:flex}.section-title h3{margin:0;font:600 17px Georgia,serif}.section-title span{color:var(--muted);font-size:13px}.section-actions{align-items:center;gap:7px;display:flex}.legend{color:var(--muted);border-bottom:1px solid #edf0e8;flex-wrap:wrap;align-items:center;gap:11px;padding:10px 17px;font-size:12px;display:flex}.legend-item{align-items:center;gap:5px;display:flex}.swatch{background:var(--forest2);border-radius:3px;width:9px;height:9px}.swatch.pre{background:var(--stage-yellow)}.swatch.typeset{background:var(--stage-orange)}.swatch.proof{background:var(--stage-rust)}.swatch.approval{background:var(--stage-red)}.swatch.ready{background:var(--stage-green)}.milestone-key{border-top:1.5px solid #4c5050;border-right:1.5px solid #4c5050;width:8px;height:8px;margin-right:2px;transform:rotate(45deg)}.chart-shell{overflow-x:auto}.chart-inner{min-width:calc(var(--labelw) + 1670px)}.axis-row,.gantt-row{grid-template-columns:var(--labelw) minmax(0,1fr);display:grid}.axis-label{border-right:1px solid var(--line);color:var(--muted);letter-spacing:.07em;text-transform:uppercase;align-items:center;padding:8px 14px;font-size:12px;font-weight:800;display:flex}.axis-track{width:1092px}.month-axis{border-bottom:1px solid var(--line);background:#f7f7f2;height:27px;display:flex}.month{color:#627267;white-space:nowrap;border-left:1px solid #e3e6de;height:100%;padding:5px 6px;font-size:12px;font-weight:800}.week-axis{border-bottom:1px solid var(--line);background:#fbfbf7;height:28px;display:flex}.week{text-align:center;color:#89938b;border-left:1px solid #edf0e9;flex:0 0 42px;width:42px;padding-top:5px;font-size:11px}.week.month-start{color:var(--forest);border-left-color:#bcc8bd;font-weight:800}.gantt-row{border-bottom:1px solid #edf0e9;min-height:58px}.gantt-row:last-child{border-bottom:0}.book-label{border-right:1px solid var(--line);flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:9px 12px;display:flex}.book-name-line{align-items:center;gap:6px;min-width:0;display:flex}.book-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:800;overflow:hidden}.priority-dot{border-radius:50%;flex:none;width:7px;height:7px}.priority-dot.high{background:var(--red)}.priority-dot.medium{background:var(--gold)}.priority-dot.normal{background:#8b9a8e}.book-sub{color:var(--muted);white-space:nowrap;gap:6px;font-size:11px;display:flex}.book-assignments{color:#4c5f53;flex-wrap:wrap;gap:4px;margin-top:3px;font-size:11px;line-height:1.25;display:flex}.assignment-chip{background:#edf2ed;border:1px solid #d7e2d7;border-radius:4px;padding:2px 4px;display:inline-block}.assignment-chip b{color:var(--forest);font-weight:800}.assignment-empty{color:var(--red);font-weight:750}.assigned-summary{color:var(--forest);font-size:12px}.book-sub .tag{color:#66766b}.track{background:#fffefa repeating-linear-gradient(90deg,#0000 0 41px,#eef0e9 41px 42px);width:1092px;height:58px;position:relative;overflow:hidden}.track:before{content:"";pointer-events:none;background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#f1f2ed 1px);background-size:42px 100%;width:100%;position:absolute;inset:0 auto 0 0}.taskbar{background:var(--forest2);color:#fff;white-space:nowrap;z-index:2;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;min-width:5px;height:19px;font-size:11px;font-weight:800;display:flex;position:absolute;top:20px;overflow:hidden;box-shadow:0 1px 3px #26383124}.taskbar.pre{background:var(--stage-yellow);color:#44340d}.taskbar.typeset{background:var(--stage-orange)}.taskbar.proof{background:var(--stage-rust)}.taskbar.approval{background:var(--stage-red)}.taskbar.ready{background:var(--stage-green)}.taskbar.late{box-shadow:inset 0 0 0 2px var(--red),0 1px 3px #26383124}.taskbar.hypothetical{outline:2px dashed var(--gold);outline-offset:1px}.taskbar.conflict{outline:2px solid var(--red);outline-offset:-2px}.taskbar.unassigned{outline-offset:-2px;background:repeating-linear-gradient(135deg,#a84c43,#a84c43 5px,#c36b61 5px 10px);outline:2px dashed #7b2e28}.taskbar:hover{filter:brightness(1.1);z-index:4}.vacationbar{color:#3f5145;white-space:nowrap;z-index:3;background:repeating-linear-gradient(135deg,#e2e7df,#e2e7df 5px,#cdd6cb 5px 10px);border:1px solid #87958b;border-radius:4px;justify-content:center;align-items:center;height:17px;font-size:10px;font-weight:800;display:flex;position:absolute;overflow:hidden}.vacation-legend{background:repeating-linear-gradient(135deg,#e2e7df,#e2e7df 4px,#cdd6cb 4px 8px);border:1px solid #87958b;border-radius:3px;width:12px;height:9px}.milestone{z-index:1;border-left:1px dashed #64716a;width:0;position:absolute;top:0;bottom:0}.milestone.delivery{border-left-color:var(--stage-green);border-left-style:dotted}.milestone.et{border-left-color:var(--stage-blue);border-left-style:dotted}.milestone:after{content:"";background:#fff;border:1px solid #64716a;border-radius:1px;width:6px;height:6px;position:absolute;top:6px;left:-3.5px;transform:rotate(45deg)}.milestone.delivery:after{border-color:var(--stage-green)}.milestone.et:after{border-color:var(--stage-blue)}.plan-status{color:#52705a;background:#edf4ee;border-radius:99px;align-items:center;gap:4px;margin-left:3px;padding:3px 6px;font-size:11px;font-weight:800;display:inline-flex}.plan-status.pending{color:#896839;background:#fbf1df}.chart-foot{border-top:1px solid var(--line);color:var(--muted);background:#fafaf6;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:12px;display:flex}.chart-foot strong{color:var(--ink)}.under-grid{grid-template-columns:minmax(0,1.4fr) minmax(270px,.8fr);gap:14px;display:grid}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;background:#f8f8f3;padding:9px 12px;font-size:11px}td{vertical-align:middle;border-top:1px solid #edf0e9;padding:10px 12px}tbody tr:hover td{background:#fcfcf8}.person-cell{white-space:nowrap;align-items:center;gap:7px;display:flex}.avatar{width:23px;height:23px;color:var(--forest);background:#e7ede6;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.pill{white-space:nowrap;color:#52705a;background:#edf2ed;border-radius:99px;align-items:center;gap:4px;padding:4px 7px;font-size:11px;font-weight:800;display:inline-flex}.pill.pre{background:var(--soft-stage-yellow);color:#7c6218}.pill.typeset{background:var(--soft-stage-orange);color:#9a4f19}.pill.proof{background:var(--soft-stage-rust);color:#973f26}.pill.approval{background:var(--soft-stage-red);color:#963a35}.pill.ready{background:var(--soft-stage-green);color:#426e49}.pill.warn{color:#91662b;background:#fbf0df}.pill.alert{color:#9c4139;background:#f8e9e7}.task-title{font-weight:750}.task-date{white-space:nowrap;color:#5f6d63}.empty{text-align:center;color:var(--muted);padding:25px}.aside-body{padding:14px 16px}.aside-body h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px;font-size:13px}.delivery-item{border-bottom:1px solid #edf0e9;justify-content:space-between;gap:12px;padding:9px 0;display:flex}.delivery-item:last-child{border-bottom:0}.delivery-name{font-size:13px;font-weight:750}.delivery-date{color:var(--muted);margin-top:2px;font-size:12px}.delivery-date strong{color:var(--ink)}.day-chip{color:var(--forest);white-space:nowrap;background:#edf3ed;border-radius:5px;height:max-content;padding:4px 6px;font-size:11px;font-weight:800}.aside-note{color:var(--muted);background:#f5f6f0;border-radius:6px;margin-top:11px;padding:10px;font-size:12px;line-height:1.55}.page-head{justify-content:space-between;align-items:end;gap:16px;margin:3px 0 14px;display:flex}.page-head h2{margin:0;font:600 22px Georgia,serif}.page-head p{color:var(--muted);margin:4px 0 0;font-size:13px}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.input,select.input{color:var(--ink);background:#fff;border:1px solid #d9ded6;border-radius:6px;padding:8px 9px;font-size:13px}.search{min-width:220px}.book-table td{padding:12px}.title-cell{min-width:190px}.title-main{font-weight:800}.title-meta{color:var(--muted);margin-top:2px;font-size:11px}.prio{font-size:11px;font-weight:800}.prio.high{color:var(--red)}.prio.medium{color:#936727}.prio.normal{color:#708075}.stack-chip{color:#627165;white-space:nowrap;background:#eff1eb;border-radius:5px;padding:4px 6px;font-size:11px}.team-lane-heading{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--forest);letter-spacing:.07em;text-transform:uppercase;background:#f6f7f2;padding:8px 12px;font-size:12px;font-weight:800}.team-person-label{align-items:center;gap:8px;display:flex}.team-person-label .avatar{width:26px;height:26px}.employee-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;display:grid}.employee-card{border:1px solid var(--line);background:#fffefa;border-radius:8px;padding:12px}.employee-top{align-items:center;gap:9px;display:flex}.avatar.large{width:32px;height:32px;font-size:13px}.employee-name{font-size:14px;font-weight:800}.employee-dept{color:var(--muted);font-size:12px}.employee-meta{color:var(--muted);border-top:1px solid #edf0e9;justify-content:space-between;gap:7px;margin-top:12px;padding-top:9px;font-size:11px;display:flex}.employee-meta strong{color:var(--ink)}.vacation-list{padding:0 15px 14px}.vac-row{border-top:1px solid #edf0e9;grid-template-columns:minmax(130px,1fr) 1fr 1.1fr auto;align-items:center;gap:9px;padding:9px 0;font-size:12px;display:grid}.vac-row .muted{color:var(--muted)}.settings-grid{grid-template-columns:1fr 1fr;gap:13px;padding:15px;display:grid}.setting-card{border:1px solid var(--line);border-radius:8px;overflow:hidden}.setting-card h4{border-bottom:1px solid var(--line);background:#f8f8f3;margin:0;padding:12px 13px;font:600 14px Georgia,serif}.rate-row{border-bottom:1px solid #edf0e9;grid-template-columns:1.25fr .7fr .7fr;align-items:center;gap:8px;padding:9px 12px;font-size:12px;display:grid}.rate-row:last-child{border-bottom:0}.rate-row label{font-weight:700}.rate-row input{border:1px solid #d9ded6;border-radius:5px;width:100%;padding:7px;font-size:12px}.rate-row small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.holiday-list{padding:5px 13px 12px}.holiday-row{border-bottom:1px solid #edf0e9;justify-content:space-between;gap:8px;padding:7px 0;font-size:12px;display:flex}.holiday-row:last-child{border-bottom:0}.holiday-row span:last-child{color:var(--muted);white-space:nowrap}.section-foot{border-top:1px solid var(--line);color:var(--muted);background:#fafaf6;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:12px;display:flex}.hidden{display:none!important}.toast{z-index:50;opacity:0;pointer-events:none;color:#fff;background:#203d33;border-radius:7px;max-width:90vw;padding:10px 15px;font-size:14px;transition:all .2s;position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);box-shadow:0 8px 25px #162b2340}.toast.show{opacity:1;transform:translate(-50%)}.toast.error{background:#923f37}dialog{background:var(--panel);width:min(700px,100% - 26px);max-height:90vh;color:var(--ink);border:1px solid #d7ddd4;border-radius:11px;padding:0;box-shadow:0 24px 80px #15291f4d}dialog::backdrop{background:#1b30288c}.dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.dialog-head h2{margin:0;font:600 19px Georgia,serif}.close{color:var(--muted);background:0 0;border:0;font-size:23px;line-height:1}.dialog-body{max-height:calc(90vh - 124px);padding:16px 18px;overflow:auto}.dialog-foot{border-top:1px solid var(--line);background:#fafaf6;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.field{flex-direction:column;gap:5px;display:flex}.field.full{grid-column:1/-1}.field label{color:#5f6e63;font-size:12px;font-weight:800}.field input,.field select{width:100%;color:var(--ink);background:#fff;border:1px solid #d8ded6;border-radius:6px;padding:9px 10px;font-size:13px}.field small{color:var(--muted);font-size:11px}.check-row{align-items:center;gap:8px;display:flex}.check-row input{width:auto}.divider{background:var(--line);height:1px;margin:15px 0}.subheading{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:13px 0 8px;font-size:13px;font-weight:800}.stage-edit{border-top:1px solid #edf0e9;grid-template-columns:1.1fr .6fr .9fr;align-items:center;gap:8px;padding:8px 0;font-size:12px;display:grid}.stage-edit:first-of-type{border-top:0}.stage-edit input,.stage-edit select{background:#fff;border:1px solid #d8ded6;border-radius:5px;width:100%;padding:7px;font-size:12px}.stage-edit .stage-label{font-weight:750}.stage-edit .stage-label small{color:var(--muted);font-weight:500;display:block}.form-help{border-left:3px solid var(--forest2);color:#58675d;background:#f4f6f0;border-radius:0 5px 5px 0;padding:9px 10px;font-size:12px;line-height:1.5}.status-line{color:var(--muted);font-size:12px}.mobile-scroll-hint{display:none}@media (max-width:1050px){.app{padding:19px 20px 28px}.under-grid{grid-template-columns:1fr}.employee-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.app{padding:15px 12px 23px}.header{align-items:flex-start}.brand h1{font-size:20px}.brand-mark{width:37px;height:37px}.header-right{gap:5px}.header-right .btn,.catalog-pill{padding:7px 8px;font-size:12px}.catalog-pill select{max-width:135px}.demo-tag{display:none}.hero{flex-direction:column;align-items:flex-start;padding:17px}.hero h2{font-size:22px}.hero-actions{width:100%}.hero-actions .btn{flex:1}.metrics{gap:7px}.metric{padding:11px}.metric-value{font-size:21px}.metric-note{font-size:11px}.section-head{flex-direction:column;align-items:flex-start}.section-actions{justify-content:flex-end;width:100%}.chart-inner{min-width:calc(var(--labelw) + 1670px)}.axis-track,.track{width:1092px}.chart-foot,.page-head{flex-direction:column;align-items:flex-start}.search{min-width:100%}.filters{width:100%}.filters .input{flex:1}.employee-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.settings-grid{grid-template-columns:1fr;padding:10px}.vac-row{grid-template-columns:1fr auto;gap:4px}.vac-row .vac-dates,.vac-row .vac-reason{grid-column:1}.vac-row button{grid-area:1/2/4}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.stage-edit{grid-template-columns:1fr .6fr}.stage-edit select{grid-column:1/-1}.tab{padding:9px;font-size:12px}.tabs{overflow:auto}.mobile-scroll-hint{color:var(--muted);padding:0 15px 8px;font-size:11px;display:block}.footer{flex-direction:column;gap:5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.taskbar.translation,.swatch.translation{background:var(--plum)}.pill.translation{background:var(--softplum);color:#5f4d70}.text-remove{color:var(--red);background:0 0;border:0;padding:0 2px;font-size:14px;line-height:1}.user-chip{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:650;display:flex}.user-chip strong{color:var(--ink)}.menu-wrap{position:relative}.menu{z-index:20;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;min-width:210px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.menu a,.menu button{text-align:left;color:var(--ink);background:0 0;border:0;border-radius:6px;padding:8px 10px;font-size:14px;font-weight:650;text-decoration:none}.menu a:hover,.menu button:hover{background:#f1f3ec}.menu .menu-info{color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:4px;padding:6px 10px 8px;font-size:12px}.footer-meta{color:#879188}.form-error{color:#8a3a32;background:#f6e5e2;border-radius:6px;padding:9px 11px;font-size:14px}.form-ok{color:#276344;background:#e8f2e8;border-radius:6px;padding:9px 11px;font-size:14px}.form-info{color:#516257;background:#f3f6f1;border-radius:6px;padding:10px 12px;font-size:14px;line-height:1.45}.muted{color:var(--muted)}.auth-wrap{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line);width:min(400px,100%);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.auth-card .brand{padding:22px 22px 0}.auth-card form{flex-direction:column;gap:13px;padding:20px 22px 22px;display:flex}.auth-card .btn.primary{width:100%;padding:11px}.auth-card .btn.ghost{text-align:center;color:var(--muted);background:0 0;border-color:#0000;text-decoration:none}.users-table td{vertical-align:middle}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-form input{background:#fff;border:1px solid #d8ded6;border-radius:6px;min-width:0;padding:7px 9px;font-size:14px}.badge{color:var(--forest);background:#eaf0e9;border-radius:99px;padding:3px 7px;font-size:12px;font-weight:750;display:inline-block}.badge.warn{color:#87561d;background:#f7eedc}.badge.off{color:var(--muted);background:#eeefeb}tr.user-inactive td:not(:last-child){color:#9aa39c}.row-action{white-space:nowrap;text-align:right}.row-buttons{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.confirm-box{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.confirm-box span{color:var(--red);font-size:14px;font-weight:650}.subtle-label{color:var(--muted);font-size:13px}.side-content{padding:15px 17px}.notice{border-left:3px solid var(--forest2);color:#58675d;background:#f4f6f0;border-radius:0 5px 5px 0;margin-bottom:10px;padding:9px 10px;font-size:12px;line-height:1.5}.notice.red{border-left-color:var(--red);color:#783d38;background:#fbf0ef}.notice.gold{border-left-color:var(--gold);color:#715a32;background:#fbf5e9}.notice ul{margin:7px 0;padding-left:18px}.history-row{border-top:1px solid #edf0e9;grid-template-columns:120px 1fr auto;gap:10px;padding:8px 0;font-size:12px;display:grid}.history-row:first-child{border-top:0}@media (max-width:680px){.user-chip{display:none}.history-row{grid-template-columns:1fr}}.toast[popover]{border:0;margin:0;inset:auto auto 20px 50%;overflow:visible}.toast[popover]:not(:popover-open){display:none}.field input:not([type=checkbox]):not([type=radio]),.field select{height:40px;line-height:normal}.stage-edit input:not([type=checkbox]),.stage-edit select,.rate-row input,select.input,.input:not(label){height:34px}.field select,.stage-edit select,select.input{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23758078' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 11px center no-repeat;padding-right:30px}.stage-edit input[type=checkbox]{flex:none;width:auto;height:auto;margin:0}.stage-edit .check-row{justify-content:flex-start}:root{--labelw:310px}.book-sub{white-space:normal;flex-wrap:wrap;row-gap:3px}.gantt-row .track{height:auto;min-height:58px}.btn{white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:38px;padding-top:0;padding-bottom:0;line-height:1.2;text-decoration:none;display:inline-flex}.btn.small{min-height:30px}.header-right .btn{min-width:38px}.dialog-foot .btn{white-space:normal;text-align:center}.hover-tip{z-index:60;color:#dfe8e2;pointer-events:none;visibility:hidden;background:#203d33;border-radius:7px;max-width:320px;padding:8px 11px;font-size:12px;line-height:1.5;position:fixed;top:0;left:0;box-shadow:0 8px 24px #162b2347}.hover-tip.show{visibility:visible}.hover-tip-title{color:#fff;align-items:center;gap:7px;font-size:13px;font-weight:800;display:flex}.hover-tip-title .swatch{flex:none;width:10px;height:10px;box-shadow:0 0 0 1px #fff5}.hover-tip-title .vacation-legend{flex:none}.hover-tip-warn{color:#ffbfb4;font-weight:700}
