:root{--bg: #f4f6f9;--surface: #ffffff;--surface-2: #f8fafc;--border: #e3e8ef;--text: #1a2230;--muted: #6b7684;--primary: #1f5f8b;--primary-dark: #184b6e;--primary-soft: #e8f1f8;--danger: #c0392b;--danger-soft: #fdECEA;--green: #1f8b5f;--green-soft: #e6f4ee;--amber: #b9791a;--amber-soft: #fbf0dd;--blue: #1f5f8b;--blue-soft: #e8f1f8;--purple: #6b3fa0;--purple-soft: #efe8f7;--grey-soft: #eceff3;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1);--radius: 12px;--sidebar-w: 236px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0 0 .4em;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.05rem}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.req{color:var(--danger)}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:#10233a;color:#cdd8e6;display:flex;flex-direction:column;padding:20px 14px;position:sticky;top:0;height:100vh}.brand{padding:4px 10px 22px}.brand__mark{display:inline-block;font-weight:800;letter-spacing:1px;font-size:1.35rem;color:#fff}.brand__sub{display:block;font-size:.78rem;color:#8aa0ba;margin-top:2px}.nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav__item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#cdd8e6;font-weight:500;border:none;background:none;text-align:left;width:100%;cursor:pointer;font-size:.92rem}.nav__item:hover{background:#ffffff12;text-decoration:none}.nav__item--active{background:var(--primary);color:#fff}.nav__item--btn{color:#f0b9b2}.sidebar__foot{border-top:1px solid rgba(255,255,255,.1);padding-top:10px;display:flex;flex-direction:column;gap:2px}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:62px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.topbar__user{display:flex;align-items:center;gap:12px}.topbar__meta{text-align:right;line-height:1.25;display:flex;flex-direction:column}.topbar__meta .muted{font-size:.78rem}.avatar{width:38px;height:38px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:700;font-size:.85rem}.content{padding:28px 32px;width:100%}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head h1{margin-bottom:2px}.page-head p{margin:0}.page-head__actions{display:flex;gap:8px;align-items:center}.breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:10px}.breadcrumb span{margin:0 4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.card--table{padding:0;overflow:hidden}.card--table .card__head{padding:16px 20px}.card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card__head h3{margin:0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.stat__value{font-size:1.9rem;font-weight:700}.stat__label{color:var(--muted);font-size:.9rem}.stat__hint{color:var(--green);font-size:.8rem;margin-top:2px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 20px;text-align:left;border-bottom:1px solid var(--border)}.table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:600;background:var(--surface-2)}.table tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-2)}.row--muted td{opacity:.55}.col-actions{text-align:right;white-space:nowrap}.col-actions .btn{margin-left:4px}.list{list-style:none;margin:0 0 14px;padding:0}.list__row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--border)}.list__row:last-child{border-bottom:none}.inline-form{display:flex;gap:8px}.inline-form input{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:8px;padding:9px 15px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--primary);color:#fff}.btn--ghost{background:var(--surface);border-color:var(--border);color:var(--text)}.btn--ghost:hover:not(:disabled){background:var(--surface-2)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover:not(:disabled){filter:brightness(.94)}.btn--danger-ghost{background:none;border-color:transparent;color:var(--danger)}.btn--danger-ghost:hover:not(:disabled){background:var(--danger-soft)}.btn--sm{padding:5px 10px;font-size:.8rem;border-radius:6px}.btn--block{width:100%}.icon-btn{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--muted);padding:0 4px}.icon-btn:hover{color:var(--text)}.link-ish{color:var(--primary);font-weight:600;font-size:.9rem;cursor:pointer}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:600;text-transform:capitalize;line-height:1.4}.badge--green{background:var(--green-soft);color:var(--green)}.badge--blue{background:var(--blue-soft);color:var(--blue)}.badge--amber{background:var(--amber-soft);color:var(--amber)}.badge--purple{background:var(--purple-soft);color:var(--purple)}.badge--grey{background:var(--grey-soft);color:var(--muted)}.badge--red{background:var(--danger-soft);color:var(--danger);margin-top:4px}.chip{background:var(--surface-2);border:1px solid var(--border);padding:2px 9px;border-radius:6px;font-size:.74rem;color:var(--muted);font-weight:600}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);color:var(--text);display:flex;flex-direction:column;transition:border-color .12s,box-shadow .12s}a.project-card:hover{text-decoration:none;border-color:var(--primary);box-shadow:0 4px 14px #1f5f8b1f}.project-card__top{display:flex;align-items:center;gap:8px;margin-bottom:10px}.project-card h3{margin-bottom:2px}.project-card__foot{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:14px}.project-card__foot .link-ish{margin-right:auto}.project-card--static{cursor:default}.dept-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.field{display:block;margin-bottom:14px}.field__label{display:block;font-size:.82rem;font-weight:600;margin-bottom:5px}.field__hint{display:block;font-size:.78rem;color:var(--muted);margin-top:4px}input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;font-family:inherit;background:var(--surface);color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}input:disabled,select:disabled{background:var(--surface-2);color:var(--muted)}textarea{resize:vertical}.checkbox{display:flex;align-items:center;gap:9px;margin-bottom:14px;font-size:.9rem}.checkbox input{width:auto}.detail-list{margin:0 0 14px}.detail-list>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border)}.detail-list dt{color:var(--muted);margin:0}.detail-list dd{margin:0;font-weight:600}.alert{padding:10px 13px;border-radius:8px;font-size:.88rem;margin-bottom:14px}.alert--error{background:var(--danger-soft);color:var(--danger);border:1px solid #f3c6c0}.alert--success{background:var(--green-soft);color:var(--green);border:1px solid #bfe3d2}.alert--info{background:var(--blue-soft);color:var(--primary-dark);border:1px solid #c4dbec}.alert--warn{background:var(--amber-soft);color:#8a5a10;border:1px solid #efd6a8}.empty{text-align:center;padding:48px 20px}.empty h3{margin-bottom:6px}.empty .btn{margin-top:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10233a80;display:grid;place-items:center;z-index:50;padding:20px}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:460px;box-shadow:0 20px 48px #1018283d;max-height:90vh;display:flex;flex-direction:column}.modal--wide{max-width:720px}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal__head h3{margin:0}.modal__body{padding:20px;overflow-y:auto}.modal__foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}.auth-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#10233a,#1f5f8b);padding:20px}.auth-card{background:var(--surface);border-radius:16px;padding:32px;width:100%;max-width:400px;box-shadow:0 20px 50px #00000040}.auth-brand{text-align:center;margin-bottom:18px}.auth-brand .brand__mark{color:var(--primary);font-size:1.8rem}.auth-brand p{margin:2px 0 0}.auth-card h2{text-align:center}.auth-card--wide{max-width:460px}.auth-foot{text-align:center;margin:14px 0 0;font-size:.88rem}.auth-row{display:flex;justify-content:flex-end;margin:-4px 0 14px}.auth-link{font-size:.85rem}.code-callout{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.1rem;font-weight:700;letter-spacing:.5px;text-align:center;background:var(--primary-soft);color:var(--primary-dark);border:1px dashed var(--primary);border-radius:8px;padding:12px;margin:6px 0 10px;-webkit-user-select:all;user-select:all}.tag-rows{display:flex;flex-direction:column;gap:2px}.tag-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.tag-row:last-child{border-bottom:none}.dept-block{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.dept-block:first-of-type{margin-top:6px}.dept-block__head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.activity-list{display:flex;flex-direction:column;gap:8px}.activity{border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--surface)}.activity--open{border-color:var(--primary)}.activity__head{display:flex;align-items:center;gap:12px;width:100%;background:var(--surface-2);border:none;cursor:pointer;padding:11px 14px;text-align:left;font:inherit;color:var(--text)}.activity__no{flex:0 0 26px;height:26px;border-radius:6px;background:var(--primary-soft);color:var(--primary);font-weight:700;font-size:.8rem;display:grid;place-items:center}.activity__title{flex:1;min-width:0}.activity__meta{display:flex;align-items:center;gap:10px}.chev{transition:transform .15s;color:var(--muted);font-size:1.1rem;line-height:1}.chev--up{transform:rotate(180deg)}.activity__body{padding:12px 14px}.mini-table{width:100%;border-collapse:collapse;font-size:.85rem}.mini-table th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:4px 8px;border-bottom:1px solid var(--border)}.mini-table td{padding:7px 8px;border-bottom:1px solid var(--border);vertical-align:top}.mini-table tr:last-child td{border-bottom:none}.doc-cells{white-space:nowrap}.doc-chip{display:inline-block;font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:5px;background:#e7edf5;color:var(--primary);margin-right:4px}.doc-chip--xls{background:var(--green-soft);color:var(--green)}.tag-mini{display:inline-block;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:1px 6px;border-radius:4px;background:var(--amber-soft);color:var(--amber);margin-left:6px}.dept-group{margin-top:14px}.dept-group:first-of-type{margin-top:0}.dept-group__head{display:flex;align-items:center;gap:8px;margin-bottom:2px}.resume-link{margin-left:8px}.center,.check-email{text-align:center}.check-email .alert{text-align:left}.check-email__icon{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;font-size:1.6rem;background:var(--primary-soft);color:var(--primary)}.check-email__icon--warn{background:var(--amber-soft);color:var(--amber)}.auth-card .btn--block+.btn--block{margin-top:10px}.dev-link{display:block;margin-top:6px;font-weight:700;word-break:break-all}.avatar{flex:0 0 auto}.avatar--img{object-fit:cover;background:var(--grey-soft);display:block}.user-cell{display:flex;align-items:center;gap:12px}.user-cell__name{font-weight:700;color:var(--text)}.welcome-banner{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:linear-gradient(135deg,#10233a,#1f5f8b);color:#fff;border-radius:var(--radius);padding:18px 22px;margin-bottom:18px}.welcome-banner p{margin:4px 0 0;color:#d6e4f2}.welcome-banner .icon-btn{color:#fff}.pf-hero{padding:0;overflow:hidden}.pf-hero__cover{height:110px;background:linear-gradient(120deg,#10233a,#1f5f8b 60%,#3f86b8)}.pf-hero__body{display:flex;gap:22px;padding:0 24px 20px}.pf-hero__photo{position:relative;margin-top:-56px;flex:0 0 auto}.pf-hero__avatar{border:4px solid var(--surface);box-shadow:var(--shadow);font-size:2.2rem!important}.pf-hero__photo-btn{position:absolute;left:50%;bottom:-6px;transform:translate(-50%);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:.74rem;font-weight:600;padding:3px 10px;border-radius:999px;cursor:pointer;box-shadow:var(--shadow)}.pf-hero__photo-btn:hover{background:var(--surface-2)}.pf-hero__main{flex:1;min-width:0;padding-top:14px}.pf-hero__top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pf-hero__name{font-size:1.6rem;margin:0}.pf-hero__meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.pf-meta{font-size:.86rem;color:var(--muted)}.pf-complete__top{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;margin-bottom:8px;font-size:.88rem}.pf-complete__bar{height:8px;border-radius:999px;background:var(--grey-soft);overflow:hidden}.pf-complete__bar>div{height:100%;background:linear-gradient(90deg,var(--primary),var(--green));border-radius:999px;transition:width .3s}.pf-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:18px;align-items:start}.pf-section{margin-bottom:18px}.pf-section__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pf-section__head h3,.pf-empty{margin:0}.pf-item__dot{flex:0 0 12px;height:12px;border-radius:50%;background:var(--primary);margin-top:5px;box-shadow:0 0 0 3px var(--primary-soft)}.pf-item__body{flex:1;min-width:0}.pf-item__head{display:flex;justify-content:space-between;gap:10px}.pf-item__desc{margin:8px 0 0;white-space:pre-wrap;color:#334155}.pf-item__actions{display:flex;gap:4px;align-items:flex-start}.pf-list__row{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.pf-list__row:first-child{padding-top:0}.pf-list__row:last-child{border-bottom:none;padding-bottom:0}.link-btn{background:none;border:none;padding:0;font:inherit;color:var(--primary);cursor:pointer;font-weight:600}.link-btn:hover{text-decoration:underline}.pf-dl{margin:0}.pf-dl>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--border);font-size:.88rem}.pf-dl>div:last-child{border-bottom:none}.pf-dl dt{color:var(--muted)}.pf-dl dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}.pf-private{margin:10px 0 0}.pf-cv{display:flex;align-items:center;gap:12px}.pf-cv__icon{flex:0 0 42px;height:50px;border-radius:6px;background:var(--danger-soft);color:var(--danger);font-weight:800;display:grid;place-items:center;font-size:.8rem}.pf-cv__name{flex:1;min-width:0;font-weight:600;font-size:.86rem;overflow-wrap:anywhere}.pf-cv__actions{display:flex;flex-direction:column;gap:4px}.card--danger{border-color:#f3c6c0}.card--danger h3{color:var(--danger)}.request-banner__actions{display:flex;gap:8px}.admin-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 18px}.admin-strip__info{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-strip__actions{display:flex;gap:6px;flex-wrap:wrap}@media (max-width: 860px){.pf-grid{grid-template-columns:1fr}}@media (max-width: 520px){.pf-hero__body{flex-direction:column;align-items:center;text-align:center;gap:8px}.pf-hero__top{flex-direction:column;align-items:center}.pf-hero__meta{justify-content:center}.pf-item__head,.pf-list__row{flex-direction:column}}.bar{height:8px;border-radius:999px;background:var(--grey-soft);overflow:hidden}.bar>span{display:block;height:100%;border-radius:999px;background:var(--primary);transition:width .3s}.bar--split{display:flex}.bar--split>span{border-radius:0;flex:none}.bar--split>.bar__today{background:var(--green)}.bar--green>span{background:var(--green)}.bar--amber>span{background:var(--amber)}.bar--danger>span{background:var(--danger)}.mini-bar{display:inline-block;width:54px;height:6px;border-radius:999px;background:var(--grey-soft);overflow:hidden;vertical-align:middle}.mini-bar>span{display:block;height:100%;background:var(--green)}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar__search{flex:1 1 240px}.toolbar select{width:auto;min-width:160px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 14px}.form-sections .form-section{padding-bottom:6px;margin-bottom:14px;border-bottom:1px solid var(--border)}.form-sections .form-section:last-child{border-bottom:none;margin-bottom:0}.form-section__title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:10px}.text-danger{color:var(--danger)}.link-btn--danger{color:var(--danger);margin-left:12px}.modal__foot-note{margin-right:auto;align-self:center}.project-card__meta{margin:0 0 12px}.project-card__progress{display:flex;flex-direction:column;gap:6px}.project-card__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--border)}.project-card__facts dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.project-card__facts dd{margin:0;font-weight:600;font-size:.86rem}.pd-hero{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:4px solid var(--primary)}.pd-hero__main{flex:1 1 420px;min-width:0}.pd-hero__chips{display:flex;gap:8px;align-items:center;margin-bottom:8px}.pd-hero__title{font-size:1.55rem;margin:0 0 10px}.pd-hero__meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:#334155;font-size:.9rem}.pd-hero__side{display:flex;flex-direction:column;align-items:flex-end;gap:14px}.pd-hero__actions{display:flex;gap:8px}.pd-hero__manager{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.pd-hero__progress{margin-top:16px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:640px}.pd-hero__progress .bar{width:100%}.pd-person{display:flex;align-items:center;gap:8px;color:var(--text)}.pd-person>span{display:flex;flex-direction:column;line-height:1.2}.pd-person:hover{text-decoration:none}.pd-person:hover strong{color:var(--primary)}.status-select{width:auto;padding:3px 26px 3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;border:1px solid transparent;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.status-select--active{background:var(--green-soft);color:var(--green)}.status-select--completed{background:var(--blue-soft);color:var(--blue)}.status-select--pending{background:var(--grey-soft);color:var(--muted)}.kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px}.kpi__label{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.kpi__value{font-size:1.45rem;font-weight:700;line-height:1.1}.kpi__sub{font-size:.78rem;color:var(--muted)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs__tab{background:none;border:none;border-bottom:2px solid transparent;padding:10px 14px;margin-bottom:-1px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}.tabs__tab:hover{color:var(--text)}.tabs__tab--active{color:var(--primary);border-bottom-color:var(--primary)}.tabs__count{margin-left:6px;font-size:.72rem;background:var(--grey-soft);color:var(--muted);padding:1px 7px;border-radius:999px}.tabs__tab--active .tabs__count{background:var(--primary-soft);color:var(--primary)}.pd-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:18px;align-items:start}.pd-desc{margin:0;white-space:pre-wrap;line-height:1.6;color:#334155}.dept-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.dept-card{border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:var(--surface-2)}.dept-card__head{display:flex;justify-content:space-between;align-items:baseline}.dept-card__foot{display:flex;justify-content:space-between}.dept-card__empty{margin:0}.dept-card__warn{font-size:.78rem;color:#8a5a10;background:var(--amber-soft);border-radius:6px;padding:4px 8px}.avatar-stack{display:flex;align-items:center}.avatar-stack .avatar{border:2px solid var(--surface);margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.avatar-stack__more{font-size:.75rem;color:var(--muted);margin-left:6px}.next-list{list-style:none;margin:0;padding:0}.next-list li{display:flex;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--border)}.next-list li:last-child{border-bottom:none}.next-list__no{flex:0 0 24px;height:24px;border-radius:6px;background:var(--primary-soft);color:var(--primary);font-weight:700;font-size:.75rem;display:grid;place-items:center}.timeline__track{position:relative;height:10px;border-radius:999px;background:var(--grey-soft);margin-top:6px}.timeline__fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,var(--primary),#3f86b8)}.timeline__track--late .timeline__fill{background:var(--danger)}.timeline__today{position:absolute;top:-4px;width:3px;height:18px;border-radius:2px;background:var(--text);transform:translate(-1px)}.timeline__ends{display:flex;justify-content:space-between;margin-top:6px;font-size:.78rem;color:var(--muted)}.mini-people{list-style:none;margin:0;padding:0}.mini-people li{display:flex;gap:10px;align-items:center;padding:6px 0}.mini-people li>span{display:flex;flex-direction:column;line-height:1.25;min-width:0}.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;margin-bottom:16px}.seg__btn{border:none;background:none;padding:7px 14px;border-radius:7px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer}.seg__btn:hover{color:var(--text)}.seg__btn--active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}.seg__count{font-size:.72rem;color:var(--muted);margin-left:4px}.act-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.act-summary__bar{display:flex;flex-direction:column;gap:6px;flex:1 1 320px;max-width:520px}.legend{margin:-4px 0 12px}.activity--done{border-color:#bfe3d2}.activity--done .activity__no{background:var(--green-soft);color:var(--green)}.activity__docs{display:inline-flex;align-items:center;gap:6px}.activity__signed{margin:0 0 8px}.doc-chip--done{background:var(--green-soft);color:var(--green)}.doc-chip--missing{background:none;border:1px dashed #c3ccd8;color:var(--muted)}.team-group{margin-top:18px}.team-group:first-of-type{margin-top:4px}.team-group__head{display:flex;gap:8px;align-items:baseline;margin-bottom:10px}.person-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.person-card{border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}.person-card--lead{border-color:#cdb8e6;background:#fbf8fe}.person-card__top{display:flex;gap:12px;align-items:center}.person-card__id{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.person-card__name{font-weight:700;color:var(--text)}.person-card__contact{display:flex;gap:6px}.contact-btn{font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:6px;border:1px solid var(--border);color:var(--text);background:var(--surface)}.contact-btn:hover{text-decoration:none;border-color:var(--primary);color:var(--primary)}.contact-btn--wa{color:#128c4b}.person-card__foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:8px}.pick-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 2px 8px;border-bottom:1px solid var(--border)}.pick-list{list-style:none;margin:0;padding:0;max-height:340px;overflow-y:auto}.pick-row{display:flex;align-items:center;gap:12px;padding:8px 6px;border-radius:8px;cursor:pointer}.pick-row:hover{background:var(--surface-2)}.pick-row--on{background:var(--primary-soft)}.pick-row input{width:auto}.pick-row--locked{background:var(--surface-2);cursor:default}.pick-row--locked:hover{background:var(--surface-2)}.pick-row__tag{margin-left:auto;font-size:12px;font-weight:600;color:var(--muted, #667085);background:var(--surface, #fff);border:1px solid var(--border, #e4e7ec);border-radius:999px;padding:2px 10px;white-space:nowrap}.pick-row__text{display:flex;flex-direction:column;line-height:1.25}.history{list-style:none;margin:0;padding:0}.history__item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.history__item:last-child{border-bottom:none}.history__dot{flex:0 0 10px;height:10px;border-radius:50%;margin-top:6px;background:var(--primary)}.history__dot--insert{background:var(--green)}.history__dot--delete{background:var(--danger)}@media (max-width: 1100px){.kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 860px){.pd-grid{grid-template-columns:1fr}.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-hero__side,.pd-hero__manager{align-items:flex-start}.grid-3{grid-template-columns:1fr 1fr}}@media (max-width: 520px){.kpi-row,.grid-3{grid-template-columns:1fr}.pd-hero__actions{flex-wrap:wrap}.activity__docs{display:none}}.text-amber{color:var(--amber)}.text-green{color:var(--green)}.work-section+.work-section{margin-top:16px;padding-top:14px;border-top:1px dashed var(--border)}.work-section__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.work-section__title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.activity__docs-count{white-space:nowrap}.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.task{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.task--done{background:var(--surface-2)}.task--blocked{border-color:#f3c6c0}.task__dot{flex:0 0 10px;height:10px;border-radius:50%;margin-top:5px;background:#c3ccd8}.task__dot--in_progress{background:var(--primary)}.task__dot--blocked{background:var(--danger)}.task__dot--done{background:var(--green)}.task__main{flex:1;min-width:0}.task__title{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-weight:600}.task__done-text{text-decoration:line-through;color:var(--muted);font-weight:500}.task__meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.78rem;color:var(--muted);margin-top:3px}.task__who{display:inline-flex;align-items:center;gap:5px;color:var(--text)}.task__desc{margin:6px 0 0;font-size:.84rem;color:#334155;white-space:pre-wrap}.task__actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.prio{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:1px 6px;border-radius:4px}.prio--high{background:var(--amber-soft);color:var(--amber)}.prio--urgent{background:var(--danger-soft);color:var(--danger)}.tag-mini--soft{background:var(--grey-soft);color:var(--muted);margin-left:0}.status-mini{width:auto;font-size:.76rem;font-weight:600;padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);display:inline-block}.status-mini--in_progress{color:var(--primary);border-color:#c4dbec;background:var(--primary-soft)}.status-mini--blocked{color:var(--danger);border-color:#f3c6c0;background:var(--danger-soft)}.status-mini--done{color:var(--green);border-color:#bfe3d2;background:var(--green-soft)}.icon-btn--sm{font-size:1rem;padding:2px 6px;border-radius:6px}.icon-btn--sm:hover{background:var(--surface-2)}.icon-btn--danger:hover{color:var(--danger)}.doc-table td{vertical-align:middle}.doc-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.doc-cell__tools{display:inline-flex;gap:8px}.doc-cell__tools .link-btn--danger{margin-left:0}.doc-chip--btn{border:none;cursor:pointer;font:inherit;font-size:.72rem;font-weight:700}.doc-chip--btn:hover{filter:brightness(.95)}.ref-cell{min-width:200px}.ref-edit{display:flex;gap:6px;align-items:center}.ref-edit input{padding:5px 8px;font-size:.82rem}@media (max-width: 700px){.task{flex-wrap:wrap}.task__actions{width:100%;justify-content:flex-start;padding-left:20px}.doc-table thead{display:none}.doc-table tr{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 0;border-bottom:1px solid var(--border)}.doc-table td{border:none;padding:2px 4px}.doc-table td:first-child,.doc-table td.ref-cell{grid-column:1 / -1}}.feed{list-style:none;margin:0;padding:0}.feed__day{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:14px 0 6px;border-bottom:1px solid var(--border)}.feed__day:first-child{padding-top:0}.feed__item{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--border)}.feed__item:last-child{border-bottom:none}.feed__icon{flex:0 0 26px;height:26px;border-radius:7px;display:grid;place-items:center;font-size:.8rem;background:var(--grey-soft);color:var(--muted)}.feed__item--task .feed__icon{background:var(--primary-soft);color:var(--primary)}.feed__item--doc .feed__icon{background:#eef2fb;color:#3b5bab}.feed__item--progress .feed__icon{background:var(--amber-soft);color:var(--amber)}.feed__item--win .feed__icon{background:var(--green-soft);color:var(--green)}.feed__body{flex:1;min-width:0;font-size:.88rem;line-height:1.45}.feed__who{display:inline-flex;align-items:center;gap:5px;vertical-align:middle}.feed__detail{font-size:.8rem;color:var(--muted);margin-top:2px}.feed__note{font-size:.85rem;margin-top:4px;padding:6px 10px;border-left:3px solid var(--amber);background:var(--surface-2);border-radius:0 6px 6px 0;white-space:pre-wrap}.feed__time{flex:0 0 auto;font-size:.75rem;color:var(--muted);white-space:nowrap}.pday{display:inline-block;font-size:.74rem;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.pday--worked{background:var(--green-soft);color:var(--green)}.pday--reason{background:var(--blue-soft);color:var(--blue)}.pday--off,.pday--future{background:var(--grey-soft);color:var(--muted)}.pday--pending{background:var(--amber-soft);color:var(--amber)}.pday--missing{background:var(--danger-soft);color:var(--danger)}.mini-people li{flex-wrap:nowrap}.mini-people li>span:nth-child(2){flex:1}.mini-people__state{margin-left:auto}.day-card{border-left:4px solid var(--primary)}.day-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.day-card__head h3{margin:0}.day-card__hint{margin:8px 0 10px}.day-card__status{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.day-card__missed{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border);color:var(--danger)}.day-card__missed .day-chips{margin-top:8px}.day-chips{display:flex;flex-wrap:wrap;gap:6px}.day-chips--pick{margin-bottom:14px}.day-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:.82rem;font-weight:600;padding:6px 11px;border-radius:999px;cursor:pointer}.day-chip:hover{border-color:var(--primary);color:var(--primary)}.day-chip--on{background:var(--primary);border-color:var(--primary);color:#fff}.day-chip--on:hover{color:#fff}.day-chip--missing{border-color:#f3c6c0;color:var(--danger);background:var(--danger-soft)}.team-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.team-toolbar__right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.date-nav{display:flex;align-items:center;gap:6px}.date-nav input{width:auto;padding:5px 8px}.date-nav__label{margin-left:6px}.state-counts{display:flex;gap:6px;flex-wrap:wrap}.team-board{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.tb-row{display:grid;grid-template-columns:minmax(200px,1.1fr) minmax(260px,2.4fr) auto auto;gap:16px;align-items:start;padding:14px;border:1px solid var(--border);border-radius:10px;border-left:4px solid var(--border)}.tb-row--worked{border-left-color:var(--green)}.tb-row--reason{border-left-color:var(--blue)}.tb-row--pending{border-left-color:var(--amber)}.tb-row--missing{border-left-color:var(--danger)}.tb-person{display:flex;gap:10px;align-items:flex-start}.tb-day{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:0}.tb-day .feed{width:100%}.tb-day .feed__item{padding:5px 0}.tb-reason{font-size:.85rem}.tb-stats{display:grid;gap:6px 14px;margin:0}.tb-stats dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.tb-stats dd{margin:0;font-weight:700;font-size:.9rem}.tb-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.tb-actions .link-btn--danger{margin-left:0}@media (max-width: 1280px){.tb-row{grid-template-columns:minmax(180px,1fr) minmax(240px,2fr) auto}.tb-stats{grid-column:1 / 3}.tb-actions{flex-direction:row;align-items:center}}@media (max-width: 760px){.tb-row{grid-template-columns:1fr}.tb-stats{grid-column:auto}}.seg--status{margin-bottom:0}.seg__btn--completed.seg__btn--active{color:var(--blue)}.seg__btn--active.seg__btn--active .seg__count{color:inherit}.card__head--wrap{flex-wrap:wrap;gap:12px}.card--table .card__head--wrap{padding:14px 20px}.col-progress{min-width:140px}.col-progress .bar{margin-bottom:4px;max-width:160px}.access-chip{display:inline-block;margin-left:8px;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:999px;vertical-align:middle}.access-chip--limited{background:var(--purple-soft);color:var(--purple)}.access-line{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;margin-bottom:12px;background:var(--surface-2);border-radius:8px}.role-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;margin:10px 0 12px}.role-pick{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.88rem}.role-pick input{width:auto}.role-pick--on{border-color:var(--purple);background:var(--purple-soft)}.matrix-wrap{overflow-x:auto}.matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:.86rem}.matrix th,.matrix td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:center;white-space:nowrap}.matrix th{font-size:.72rem;color:var(--muted);font-weight:700;background:var(--surface-2)}.matrix__act{text-align:left!important;position:sticky;left:0;background:var(--surface);min-width:240px;z-index:1}.matrix th.matrix__act{background:var(--surface-2)}.matrix__no{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:5px;background:var(--primary-soft);color:var(--primary);font-size:.72rem;font-weight:700;margin-right:6px}.matrix__role{background:none;border:none;font:inherit;font-weight:700;color:var(--text);cursor:pointer;padding:2px 4px;border-radius:4px}.matrix__role:hover{background:var(--primary-soft);color:var(--primary)}.matrix__cell input{width:16px;height:16px;cursor:pointer}.matrix tbody tr:hover td{background:var(--surface-2)}.matrix__row--dirty td{background:#fffbea!important}.matrix__who{text-align:left!important}.matrix__who .link-btn{margin-left:8px}.seg__dirty{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--amber);margin-left:6px;vertical-align:middle}.confirm-word{margin-top:16px;padding:12px;border:1px solid #f3c6c0;background:var(--danger-soft);border-radius:8px}.confirm-word .field__label{color:var(--danger);font-weight:600}.confirm-word input{margin-top:4px}.today-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 16px;margin-bottom:18px}.today-bar__when{display:flex;flex-direction:column;line-height:1.15;padding-right:16px;border-right:1px solid var(--border)}.today-bar__label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.today-bar__state{flex:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.today-bar__note{font-size:.85rem;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px}.today-bar__actions{display:flex;align-items:center;gap:8px}.today-bar__missed{border:none;background:var(--danger-soft);color:var(--danger);font:inherit;font-size:.8rem;font-weight:700;padding:5px 10px;border-radius:999px;cursor:pointer}.today-bar__missed:hover{filter:brightness(.96)}.reason-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin:2px 0 16px}.reason{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font:inherit;font-size:.82rem;font-weight:600;color:var(--text);cursor:pointer}.reason:hover{border-color:var(--primary)}.reason--on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark);box-shadow:0 0 0 2px var(--primary-soft)}.reason__icon{font-size:1.3rem;line-height:1}.activity__foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px dashed var(--border)}.steps{list-style:none;margin:0;padding:0;position:relative}.step{display:flex;gap:12px;position:relative;padding-bottom:14px}.step:not(:last-child):before{content:"";position:absolute;left:13px;top:30px;bottom:0;width:2px;background:var(--border)}.step__marker{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;z-index:1;font-size:.78rem;font-weight:700;background:var(--surface);border:2px solid #c3ccd8;color:var(--muted)}.step--in_progress .step__marker{border-color:var(--primary);color:var(--primary)}.step--blocked .step__marker{border-color:var(--danger);color:var(--danger)}.step--done .step__marker{background:var(--green);border-color:var(--green);color:#fff}.step__body{flex:1;min-width:0;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface)}.step--done .step__body{background:var(--surface-2)}.step__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.step__title{font-weight:700}.step__title--done{color:var(--muted)}.step__last{margin-left:auto;font-style:italic}.single{border:1px solid var(--border);border-radius:10px;padding:4px 12px 10px}.single--done{background:var(--surface-2)}.step-docs{display:flex;flex-direction:column}.doc-item{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,1.4fr) minmax(160px,1.2fr);gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.doc-item:last-child{border-bottom:none}.doc-item__label{font-weight:600;font-size:.88rem}.doc-item__files{display:flex;gap:8px;flex-wrap:wrap}.doc-item__ref{display:flex;gap:6px;align-items:center;min-width:0}.doc-item__ref .sm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-item__ref-add{justify-self:start}.upload-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:7px;font:inherit;font-size:.8rem;font-weight:600;color:var(--primary);background:var(--surface);border:1px dashed #9db8cf;cursor:pointer}.upload-btn:hover:not(:disabled){background:var(--primary-soft);border-style:solid}.file-missing{font-size:.78rem;color:var(--muted);border:1px dashed #c3ccd8;padding:4px 9px;border-radius:7px}.file-pill{display:inline-flex;align-items:center;border-radius:7px;overflow:hidden;border:1px solid #bfe3d2;background:var(--green-soft);max-width:100%}.file-pill--xls{border-color:#bfe3d2}.file-pill__name{border:none;background:none;font:inherit;font-size:.8rem;font-weight:600;color:var(--green);padding:5px 9px;cursor:pointer;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-pill__name:hover{text-decoration:underline}.file-pill__act{border:none;border-left:1px solid #bfe3d2;background:none;font:inherit;font-size:.74rem;color:var(--muted);padding:5px 8px;cursor:pointer}.file-pill__act:hover{background:#fff9;color:var(--text)}.file-pill__act--danger:hover{color:var(--danger)}.task-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-top:10px}.task-foot__meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8rem;color:var(--muted);align-items:center}.task-foot__actions{display:flex;align-items:center;gap:6px}.menu{position:relative}.menu__list{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:9px;box-shadow:0 10px 28px #10182829;padding:4px;display:flex;flex-direction:column}.menu__item{text-align:left;border:none;background:none;font:inherit;font-size:.86rem;padding:8px 10px;border-radius:6px;cursor:pointer;color:var(--text)}.menu__item:hover{background:var(--surface-2)}.menu__item--danger{color:var(--danger)}.menu__item--danger:hover{background:var(--danger-soft)}@media (max-width: 760px){.today-bar__when{border-right:none;padding-right:0}.doc-item{grid-template-columns:1fr;gap:6px}.step__last{margin-left:0}}.fullpage-center{min-height:100vh;display:grid;place-items:center}.spinner{width:34px;height:34px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;margin:40px auto}.spinner--inline{width:26px;height:26px;border-width:3px;margin:30px auto}@keyframes spin{to{transform:rotate(360deg)}}.toast-stack{position:fixed;bottom:22px;right:22px;display:flex;flex-direction:column;gap:10px;z-index:100}.toast{padding:12px 16px;border-radius:9px;color:#fff;font-size:.88rem;font-weight:500;box-shadow:0 6px 18px #0000002e;min-width:220px;animation:slidein .18s ease}.toast--info{background:#334155}.toast--success{background:var(--green)}.toast--error{background:var(--danger)}@keyframes slidein{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 860px){.stat-row{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.content{padding:18px}}@media (max-width: 520px){.stat-row{grid-template-columns:1fr}.page-head{flex-direction:column}}.nav__icon{width:18px;height:18px;flex:0 0 18px;opacity:.85}.nav__label{flex:1}.nav__badge{background:var(--danger);color:#fff;font-size:.7rem;font-weight:700;min-width:20px;height:20px;border-radius:999px;display:grid;place-items:center;padding:0 6px}.menu-toggle,.topbar__brand{display:none}.menu-toggle{border:none;background:none;color:var(--text);padding:6px;margin-left:-6px;border-radius:8px;cursor:pointer}.menu-toggle:hover{background:var(--surface-2)}.topbar__brand{font-weight:800;letter-spacing:1px;color:#10233a;margin-right:auto;margin-left:8px}.scrim{display:none}.stat__of{font-size:1.1rem;color:var(--muted);font-weight:600}.stat--danger .stat__value,.stat--danger .stat__hint{color:var(--danger)}.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.dash-grid .card{max-height:520px;overflow:auto}.who-list{list-style:none;margin:0;padding:0}.who{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.who:last-child{border-bottom:none}.who__main{flex:1;min-width:0}.who__name{font-weight:600;color:var(--text)}.who__state{text-align:right;max-width:45%}.who__note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}.who__work{list-style:none;margin:6px 0 0;padding:0;font-size:13px}.who__work li{padding:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who__time{margin-left:8px;font-size:12px}.feed__project{margin-left:6px;font-size:.75rem;font-weight:600;background:var(--primary-soft);padding:1px 7px;border-radius:5px;white-space:nowrap}.table-scroll{overflow-x:auto}.list__main{flex:1;min-width:0}.mini-progress{display:flex;align-items:center;gap:10px;margin-top:5px}.mini-progress .bar{width:120px;flex:0 0 120px}.audit-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.audit-filters select{width:auto}.audit-diff{font-size:.78rem;color:var(--muted);margin-top:2px}@media (max-width: 1100px){.dash-grid{grid-template-columns:1fr}}@media (max-width: 860px){.menu-toggle,.topbar__brand{display:inline-flex}.topbar{padding:0 14px}.topbar__meta{display:none}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:40;transform:translate(-100%);transition:transform .2s ease;box-shadow:4px 0 24px #00000040}.shell--menu .sidebar{transform:translate(0)}.shell--menu .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:30}.content{padding:18px 16px}.who__state{max-width:50%}}.btn--xs{padding:4px 9px;font-size:.76rem;border-radius:6px}.doc-item{grid-template-columns:minmax(150px,.9fr) minmax(280px,1.8fr) minmax(150px,1fr)}.doc-item__files{flex-direction:column;align-items:stretch}.doc-slot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;border:1px solid #bfe3d2;background:var(--green-soft);border-radius:9px;padding:6px 8px 6px 10px}.doc-slot--mine{border-color:#9fc3e0;background:var(--blue-soft)}.doc-slot--locked{border-color:#efd6a8;background:var(--amber-soft)}.doc-slot__file{display:flex;align-items:center;gap:6px;min-width:0}.doc-slot__name{border:none;background:none;font:inherit;font-size:.84rem;font-weight:600;color:var(--text);padding:0;cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.doc-slot__name:hover{text-decoration:underline}.doc-slot__meta{grid-column:1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0}.doc-slot__actions{grid-column:2;grid-row:1 / span 2;display:flex;gap:6px;align-items:center;justify-content:flex-end}.ver-chip{border:1px solid rgba(0,0,0,.12);background:#ffffffbf;border-radius:5px;font:inherit;font-size:.7rem;font-weight:700;padding:0 6px;color:var(--muted);cursor:pointer;flex:none}.ver-chip:hover{color:var(--primary);border-color:var(--primary)}.lock-chip{display:inline-flex;align-items:center;gap:4px;font-size:.74rem;font-weight:600;color:#8a5a10;white-space:nowrap}.lock-chip--mine{color:var(--primary-dark)}.lock-chip--sm{background:var(--amber-soft);padding:2px 8px;border-radius:999px}.sync-chip{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:var(--muted);border:none;background:none;padding:0;font-family:inherit}.sync-chip--live{color:var(--green);font-weight:600}.sync-chip--warn{color:var(--amber);font-weight:700;cursor:pointer;text-decoration:underline}.sync-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 #1f8b5f80;animation:pulse 1.8s infinite}@keyframes pulse{0%{box-shadow:0 0 #1f8b5f73}70%{box-shadow:0 0 0 6px #1f8b5f00}to{box-shadow:0 0 #1f8b5f00}}.choice-list{display:flex;flex-direction:column;gap:8px;margin:4px 0 14px}.choice{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer}.choice input{margin-top:3px;width:auto}.choice>span{display:flex;flex-direction:column;gap:2px}.choice--on{border-color:var(--primary);background:var(--primary-soft)}kbd{font-family:inherit;font-size:.72rem;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:0 4px;background:var(--surface)}.checkin-summary{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:12px}.table--compact th,.table--compact td{padding:8px 10px;vertical-align:top}.ver-current{margin:0 0 0 6px}.ver-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.modal--wide:has(.table--compact){max-width:960px}.co-list{list-style:none;margin:0;padding:0}.co-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.co-item:last-child{border-bottom:none}.co-item__main{flex:1;min-width:0}.co-item__actions{display:flex;gap:6px;flex:none}@media (max-width: 760px){.doc-slot{grid-template-columns:1fr}.doc-slot__actions{grid-column:1;grid-row:auto;justify-content:flex-start}.co-item{flex-wrap:wrap}}.btn--warn{background:var(--amber);color:#fff}.btn--warn:hover:not(:disabled){filter:brightness(.95)}.btn--warn:disabled,.btn--primary:disabled{opacity:.5;cursor:not-allowed}.menu__item:disabled{color:var(--muted);cursor:not-allowed;background:none}.menu__hint{display:block;font-size:.72rem;color:var(--muted)}.swap{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch;margin-bottom:14px}.swap__card{border:1px solid var(--border);border-radius:10px;padding:10px 12px;min-width:0}.swap__card--old{background:var(--surface-2)}.swap__card--new{border-color:var(--primary);background:var(--primary-soft)}.swap__tag{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:3px}.swap__name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swap__fate{font-size:.78rem;font-weight:600;margin-top:6px;color:var(--primary-dark)}.swap__card--old .swap__fate{color:var(--muted)}.swap__arrow{align-self:center;color:var(--muted);font-size:1.2rem}.checks{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}.check{padding:8px 12px;border-radius:8px;font-size:.86rem;border:1px solid}.check--block{background:var(--danger-soft);border-color:#f3c6c0;color:var(--danger);font-weight:600}.check--warn{background:var(--amber-soft);border-color:#efd6a8;color:#7a4f0e}.check--info{background:var(--blue-soft);border-color:#c4dbec;color:var(--primary-dark)}.arch-list{display:flex;flex-direction:column;gap:12px}.arch{border:1px solid var(--border);border-radius:10px;overflow:hidden}.arch__head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--border)}.arch__state{display:flex;align-items:center;gap:8px}.arch__state .badge{margin:0}.arch__timeline{list-style:none;margin:0;padding:6px 14px}.arch__ver{display:flex;gap:12px;align-items:flex-start;padding:8px 0;position:relative}.arch__ver:not(:last-child):before{content:"";position:absolute;left:5px;top:22px;bottom:-8px;width:2px;background:var(--border)}.arch__dot{flex:0 0 12px;height:12px;border-radius:50%;background:#c3ccd8;margin-top:4px;z-index:1}.arch__ver--current .arch__dot{background:var(--green)}.arch__body{flex:1;min-width:0}.arch__line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.arch__line .badge{margin:0}.arch__file{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.arch__who{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}.arch__note{margin-top:4px;font-size:.84rem;color:#334155;background:var(--surface-2);border-left:3px solid var(--border);padding:4px 8px;border-radius:4px}.arch__actions{display:flex;gap:6px;flex:none}@media (max-width: 760px){.swap{grid-template-columns:1fr}.swap__arrow{transform:rotate(90deg);justify-self:center}.arch__ver{flex-wrap:wrap}}.pday--holiday{background:#f3e8ff;color:var(--purple)}.pday--planned{background:#e0f2fe;color:#0369a1}.mcal__head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.mcal__title{font-size:1.02rem;min-width:150px;text-align:center}.mcal__today{margin-left:auto}.mcal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.mcal__wd{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);text-align:center;padding:2px 0 4px}.mcal__wd--off{color:#b6bfcc}.mcal__day{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:64px;padding:5px 6px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font:inherit;text-align:left;cursor:pointer;min-width:0}.mcal__day:hover{border-color:var(--primary)}.mcal__num{font-weight:700;font-size:.85rem}.mcal__line{font-size:.68rem;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcal__due{position:absolute;top:4px;right:5px;font-size:.6rem;font-weight:700;background:var(--amber);color:#fff;border-radius:999px;padding:0 5px}.mcal__day--out{opacity:.4}.mcal__day--today{box-shadow:0 0 0 2px var(--primary) inset}.mcal__day--sel{outline:2px solid var(--primary-dark);outline-offset:1px}.mcal__day--worked{background:var(--green-soft);border-color:#bfe3d2;color:var(--green)}.mcal__day--reason{background:var(--blue-soft);border-color:#c4dbec;color:var(--primary-dark)}.mcal__day--planned{background:#e0f2fe;border-color:#bae6fd;color:#0369a1;border-style:dashed}.mcal__day--missing{background:var(--danger-soft);border-color:#f3c6c0;color:var(--danger)}.mcal__day--pending{background:var(--amber-soft);border-color:#efd6a8;color:#8a5a10}.mcal__day--holiday{background:#f3e8ff;border-color:#e0ccf5;color:var(--purple)}.mcal__day--off{background:var(--surface-2);color:#a0a9b6}.mcal__day--future,.mcal__day--none{background:var(--surface);color:var(--muted)}.mcal__legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:.75rem;color:var(--muted)}.mcal__key{display:inline-flex;align-items:center;gap:5px}.mcal__swatch{width:12px;height:12px;border-radius:3px;border:1px solid var(--border);display:inline-block}.pcal{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);gap:18px;align-items:start}.pcal .card{margin-bottom:0}.pcal__totals{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.dayd__head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.dayd__title{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.dayd__state{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.dayd__reason{display:flex;gap:12px;align-items:flex-start;background:var(--blue-soft);border:1px solid #c4dbec;border-radius:10px;padding:10px 12px;margin-bottom:12px}.dayd__reason-icon{font-size:1.5rem;line-height:1}.dayd__reason-body{flex:1;min-width:0}.dayd__reason-actions{display:flex;gap:6px}.dayd__cta{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border:1px dashed var(--border);border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:.88rem}.dayd__cta--missing{border-color:#f3c6c0;background:var(--danger-soft);color:var(--danger)}.dayd__h{margin:14px 0 6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.due-list{list-style:none;margin:0;padding:0}.due-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--border)}.due-item:last-child{border-bottom:none}.date-pick{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.date-pick input{width:auto}.date-pick__label{font-size:.9rem}.day-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.day-chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:4px 10px;font:inherit;font-size:.78rem;cursor:pointer;display:inline-flex;gap:5px;align-items:center}.day-chip--on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark);font-weight:600}.day-chip--missed{border-color:#f3c6c0}.day-chip__flag{font-size:.66rem;color:var(--danger);font-weight:700}.date-range{display:inline-flex;align-items:center;gap:6px}.date-range input{width:auto}.tcal__bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.tcal__scroll{overflow-x:auto;border:1px solid var(--border);border-radius:10px}.tcal__table{border-collapse:separate;border-spacing:0;width:100%;font-size:.8rem}.tcal__table th,.tcal__table td{padding:3px 2px;text-align:center;border-bottom:1px solid var(--border)}.tcal__table tr:last-child td{border-bottom:none}.tcal__table .tcal__person{position:sticky;left:0;z-index:2;background:var(--surface);text-align:left;padding:6px 10px;min-width:220px;border-right:1px solid var(--border)}.tcal__table td.tcal__person{display:flex;gap:8px;align-items:center}.tcal__table thead .tcal__person{background:var(--surface-2);font-size:.72rem;text-transform:uppercase;color:var(--muted)}.tcal__dh{background:var(--surface-2)}.tcal__dh button{border:none;background:none;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;line-height:1.1;padding:3px 2px;border-radius:6px;width:100%;color:var(--text)}.tcal__dh button:hover{background:var(--primary-soft)}.tcal__dh span{font-size:.62rem;color:var(--muted)}.tcal__dh--off button{color:#a0a9b6}.tcal__dh--hol{background:#f3e8ff}.tcal__dh--today button{color:var(--primary)}.tcal__dh--today strong{text-decoration:underline}.tcal__cell{min-width:26px}.tcal__sq{width:24px;height:24px;border-radius:5px;border:1px solid var(--border);font:inherit;font-size:.66rem;font-weight:700;cursor:pointer;padding:0;display:inline-grid;place-items:center}.tcal__sq:hover{outline:2px solid var(--primary)}.tcal__sq--today{box-shadow:0 0 0 2px var(--primary)}.tcal__sum{font-weight:700;min-width:54px;background:var(--surface-2)}.who--click{cursor:pointer;border-radius:8px;padding-left:6px;padding-right:6px}.who--click:hover{background:var(--surface-2)}.roster-hol{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;background:#faf5ff;border:1px solid #e0ccf5;border-radius:10px;padding:10px 12px;margin-bottom:14px}.roster-hol .field{flex:1;margin:0;min-width:220px}.roster-group h4{margin:10px 0 4px;display:flex;align-items:center;gap:6px}@media (max-width: 1100px){.pcal{grid-template-columns:1fr}}@media (max-width: 560px){.mcal__day{min-height:48px;padding:3px 4px}.mcal__line{display:none}}.today-bar--silent{border-left-color:var(--amber);background:linear-gradient(90deg,var(--amber-soft),var(--surface) 55%)}.today-bar__proj{font-size:.78rem;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 9px;color:var(--text);white-space:nowrap}.today-bar__proj:hover{border-color:var(--primary);text-decoration:none}.today-bar__proj strong{color:var(--green);margin-left:3px}.pday--elsewhere{background:#ede9fe;color:#5b21b6}.mcal__day--elsewhere{background:#ede9fe;border-color:#ddd6fe;color:#5b21b6}.proj-picks{display:flex;flex-wrap:wrap;gap:8px}.proj-pick{display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:1px solid var(--border);border-radius:10px;padding:8px 12px;background:var(--surface);font:inherit;cursor:pointer;text-align:left;max-width:100%}.proj-pick strong{font-size:.86rem}.proj-pick:hover{border-color:var(--primary)}.proj-pick--on{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 2px var(--primary-soft)}.focus{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:24px;border-left:5px solid var(--primary)}.focus--danger{border-left-color:var(--danger)}.focus--amber{border-left-color:var(--amber)}.focus--green{border-left-color:var(--green)}.focus--done{grid-template-columns:1fr;border-left-color:var(--green);background:var(--green-soft)}.focus__why{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--primary);margin-bottom:4px}.focus--danger .focus__why{color:var(--danger)}.focus--amber .focus__why{color:var(--amber)}.focus--green .focus__why{color:var(--green)}.focus__title{font-size:1.35rem;margin:0 0 6px;display:flex;align-items:center;gap:10px}.focus__no{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--primary-soft);color:var(--primary);font-size:.9rem;flex:none}.focus__step{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.focus__step .badge{margin:0}.focus__docs{display:flex;align-items:center;gap:10px;margin-bottom:8px}.focus__docs .bar{width:160px;flex:0 0 160px}.focus__meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.84rem;margin-bottom:14px;align-items:center}.focus__go{font-size:.95rem;padding:10px 18px}.focus__side{border-left:1px solid var(--border);padding-left:22px;min-width:0}.focus__label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.focus__path-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.path{display:flex;gap:3px}.path__seg{flex:1;height:14px;border:none;border-radius:3px;cursor:pointer;padding:0;background:#dfe5ec;min-width:6px}.path__seg--done{background:var(--green)}.path__seg--active{background:#7fb2d6}.path__seg--focus{background:var(--primary);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--primary)}.path__seg:hover{filter:brightness(.92)}.upnext{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.upnext__item{display:flex;gap:10px;align-items:flex-start;width:100%;border:1px solid var(--border);background:var(--surface);border-radius:9px;padding:7px 10px;text-align:left;font:inherit;cursor:pointer}.upnext__item:hover{border-color:var(--primary)}.upnext__why{width:22px;height:22px;flex:none;display:grid;place-items:center;border-radius:6px;background:var(--primary-soft);font-size:.75rem}.upnext__why--danger{background:var(--danger-soft)}.upnext__why--amber{background:var(--amber-soft)}.upnext__why--green{background:var(--green-soft)}.upnext__text{display:flex;flex-direction:column;min-width:0}.upnext__text strong{font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.focus-chip{margin-left:8px;font-size:.68rem;font-weight:800;color:#fff;background:var(--primary);padding:2px 8px;border-radius:999px;vertical-align:middle}.activity--focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.activity--flash{animation:flash 1.8s ease}@keyframes flash{0%,40%{box-shadow:0 0 0 5px #1f5f8b59}to{box-shadow:0 0 0 3px var(--primary-soft)}}.activity{scroll-margin-top:80px}.hero-focus{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-left:5px solid var(--primary);background:linear-gradient(110deg,var(--primary-soft),var(--surface) 60%)}.hero-focus--danger{border-left-color:var(--danger);background:linear-gradient(110deg,var(--danger-soft),var(--surface) 60%)}.hero-focus--amber{border-left-color:var(--amber);background:linear-gradient(110deg,var(--amber-soft),var(--surface) 60%)}.hero-focus--green{border-left-color:var(--green);background:linear-gradient(110deg,var(--green-soft),var(--surface) 60%)}.hero-focus__main{flex:1;min-width:260px}.hero-focus__kicker{font-size:1.05rem;font-weight:700;margin-bottom:6px}.hero-focus__why{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hero-focus__proj{text-transform:none;letter-spacing:0;font-weight:600;background:var(--surface);border:1px solid var(--border);padding:1px 8px;border-radius:999px;color:var(--text)}.hero-focus__title{font-size:1.3rem;margin:6px 0 4px}.hero-focus__step{font-size:.9rem}.hero-focus__side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.hero-focus__go{font-size:1rem;padding:11px 22px}.hero-focus__go:hover{text-decoration:none}.hero-focus__also{list-style:none;margin:0;padding:0;text-align:right;font-size:.86rem}.card-grid--wide{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.project-card--rich{display:flex;flex-direction:column;gap:12px}.project-card--rich h3 a{color:var(--text)}.project-card--rich .project-card__meta{margin:-8px 0 0}.pc-block{display:flex;flex-direction:column;gap:4px}.pc-block__head{display:flex;justify-content:space-between;align-items:baseline}.pc-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.seg-bar{display:flex;height:10px;border-radius:999px;background:var(--grey-soft);overflow:hidden}.seg-bar span{display:block;height:100%}.seg-bar__done{background:var(--green)}.seg-bar__active{background:#7fb2d6}.seg-bar--today span+span{box-shadow:-2px 0 0 var(--surface)}.pc-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.75rem;color:var(--muted)}.pc-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:3px;vertical-align:middle}.pc-mine{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:var(--surface-2);border-radius:10px;padding:8px}.pc-mine div{display:flex;flex-direction:column;align-items:center;text-align:center}.pc-mine strong{font-size:1.15rem}.pc-mine span{font-size:.66rem;color:var(--muted);line-height:1.2}.pc-next{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;padding:9px 12px;color:var(--text);font-size:.86rem}.pc-next:hover{text-decoration:none;border-color:var(--primary);background:var(--primary-soft)}.pc-next__why{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--primary);white-space:nowrap}.pc-next--danger .pc-next__why{color:var(--danger)}.pc-next--amber .pc-next__why{color:var(--amber)}.pc-next--green .pc-next__why,.pc-next--green{color:var(--green)}.pc-next__what{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card--rich .project-card__foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px}@media (max-width: 900px){.focus{grid-template-columns:1fr}.focus__side{border-left:none;padding-left:0;border-top:1px solid var(--border);padding-top:14px}.hero-focus__side{align-items:stretch;width:100%}.hero-focus__also{text-align:left}}.mcal__day--inactive{background:repeating-linear-gradient(135deg,var(--surface-2),var(--surface-2) 6px,#eef1f5 6px,#eef1f5 12px);color:#b6bfcc;cursor:not-allowed}.mcal__day:disabled{cursor:not-allowed}.mcal__day:disabled:hover{border-color:var(--border)}.tcal__sq:disabled{cursor:not-allowed;outline:none}.pday--inactive{background:var(--grey-soft);color:#a0a9b6}.sugg-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.sugg{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:10px;padding:9px 12px;cursor:pointer}.sugg input{width:auto;margin:0}.sugg--on{border-color:var(--primary);background:var(--primary-soft)}.sugg__body{flex:1;min-width:0;display:flex;flex-direction:column}.sugg__tag{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap;background:var(--primary-soft);color:var(--primary-dark)}.sugg__tag--danger{background:var(--danger-soft);color:var(--danger)}.sugg__tag--amber{background:var(--amber-soft);color:#8a5a10}.sugg__tag--green{background:var(--green-soft);color:var(--green)}.free-add{border-top:1px dashed var(--border);padding-top:12px}.free-add__row{display:flex;gap:8px;margin-top:4px}.free-add__row select{width:auto;max-width:40%}.free-add__row input{flex:1}.mdash__head{margin-bottom:14px}.mdash__head h1{margin:0 0 2px}.mdash__head p{margin:0}.mdash__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:18px;align-items:start}.mdash__main,.mdash__side{min-width:0}.proj-list{display:flex;flex-direction:column;gap:10px}.prow{border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.prow:hover{border-color:#c3d3e2}.prow__top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.prow__name{display:flex;flex-direction:column;min-width:0}.prow__name a{color:var(--text);font-size:1rem}.prow__badges{display:flex;gap:6px;flex:none}.prow__badges .badge{margin:0}.prow__progress{display:flex;align-items:center;gap:12px}.prow__progress .seg-bar{flex:1}.prow__pct{white-space:nowrap}.prow__foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.prow__action{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:10px}.count-pill{font-size:.72rem;font-weight:700;background:var(--grey-soft);color:var(--muted);padding:1px 8px;border-radius:999px;vertical-align:middle;margin-left:4px}.mytasks{list-style:none;margin:0 0 6px;padding:0}.mytask{display:flex;flex-direction:column;gap:1px;padding:8px 10px;margin:0 -10px;border-radius:8px;color:var(--text)}.mytask:hover{background:var(--surface-2);text-decoration:none}.mytask__title{font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mytask__title .badge{margin:0}.mdash__side .feed__item{padding-top:6px;padding-bottom:6px}@media (max-width: 1100px){.mdash__grid{grid-template-columns:1fr}}.focus__no--sm{width:22px;height:22px;font-size:.72rem;border-radius:6px;display:inline-grid;place-items:center;background:var(--primary-soft);color:var(--primary);margin-right:4px}.text-primary{color:var(--primary);font-weight:600}.assign-chip{display:inline-flex;align-items:center;gap:2px;margin-left:8px;vertical-align:middle}.assign-chip .avatar{box-shadow:0 0 0 2px var(--surface)}.assign-chip--none{font-size:.68rem;font-weight:700;color:var(--danger);background:var(--danger-soft);padding:1px 7px;border-radius:999px}.role-pick--person{display:flex;align-items:center;gap:8px}.assign-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.assign-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow:auto}.sugg--disabled{opacity:.55;cursor:not-allowed}.dept-card__warn--btn{border:none;background:none;font:inherit;text-align:left;cursor:pointer;padding:0;color:var(--amber);font-size:.8rem;margin-top:6px}.dept-card__warn--btn:hover{text-decoration:underline}.wba{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.wba__group{border:1px solid var(--border);border-radius:9px;overflow:hidden}.wba__head{width:100%;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;background:var(--surface);border:none;font:inherit;text-align:left;cursor:pointer}.wba__head:hover{background:var(--surface-2)}.wba__name{flex:1;min-width:140px}.wba__sum{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:.76rem;color:var(--muted)}.wba__chip i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:3px;vertical-align:middle}.wba__done{color:var(--green);font-weight:700}.wba__body{padding:4px 10px 8px;border-top:1px solid var(--border)}.act-sec__title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:6px 0}.act-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px dashed var(--border)}.act-foot__info{flex:1;min-width:200px}.act-foot__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.added-tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.added-task{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--border);border-radius:9px;padding:8px 10px}.added-task--done{background:var(--surface-2)}.added-task__main{display:flex;flex-direction:column;min-width:0;flex:1}.added-task__title{font-weight:600}.task-line{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px}.task-line--compact{padding-top:0}.task-line__meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8rem;color:var(--muted);align-items:center}.task-line__actions{display:flex;align-items:center;gap:6px}.status-seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.status-seg__btn{border:none;background:var(--surface);font:inherit;font-size:.76rem;font-weight:600;padding:5px 10px;cursor:pointer;color:var(--muted)}.status-seg__btn+.status-seg__btn{border-left:1px solid var(--border)}.status-seg__btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.status-seg__btn:disabled{cursor:not-allowed;opacity:.45}.status-seg__btn--on.status-seg__btn--todo{background:var(--grey-soft);color:var(--text)}.status-seg__btn--on.status-seg__btn--in_progress{background:var(--blue-soft);color:var(--primary-dark)}.status-seg__btn--on.status-seg__btn--done{background:var(--green);color:#fff}.icon-btn--danger:hover{background:var(--danger-soft)}.status-select{width:auto;font-size:.78rem;font-weight:600;padding:4px 8px;border-radius:7px}.status-select--in_progress{background:var(--blue-soft);color:var(--primary-dark);border-color:#c4dbec}.status-select--done{background:var(--green-soft);color:var(--green);border-color:#bfe3d2}.due-chip{font-size:.72rem;font-weight:700;color:var(--primary-dark);background:var(--blue-soft);padding:2px 8px;border-radius:999px;white-space:nowrap}.due-chip--late{color:var(--danger);background:var(--danger-soft)}.access-line__actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.due-edit{display:inline-flex;align-items:center;gap:6px}.due-edit input{width:auto;padding:3px 6px;font-size:.8rem}:root{--bg: #f3f5f9;--surface: #ffffff;--surface-2: #f7f9fc;--border: #e3e8f0;--border-strong: #cfd8e3;--text: #0f1b2d;--text-2: #334155;--muted: #5d6b7c;--primary: #1f5f8b;--primary-dark: #174a6d;--primary-soft: #e9f2f9;--primary-ring: rgba(31, 95, 139, .28);--green: #157a52;--green-soft: #e5f4ec;--amber: #a8680f;--amber-soft: #fcf1de;--danger: #c0392b;--danger-soft: #fdecea;--shadow: 0 1px 2px rgba(15, 27, 45, .05), 0 1px 3px rgba(15, 27, 45, .06);--shadow-md: 0 4px 12px rgba(15, 27, 45, .08), 0 1px 3px rgba(15, 27, 45, .06);--shadow-lg: 0 18px 40px rgba(15, 27, 45, .18);--radius: 12px;--radius-sm: 8px;--sidebar-w: 240px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-feature-settings:"cv11","ss01","ss03"}body{font-size:14px;line-height:1.55;color:var(--text);background:var(--bg);text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}::selection{background:#cfe3f3;color:var(--text)}h1{font-size:1.6rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}h2{font-size:1.25rem;font-weight:700;letter-spacing:-.015em}h3{font-size:1.02rem;font-weight:650;letter-spacing:-.005em}h4{font-size:.92rem;font-weight:650}p{color:var(--text-2)}.muted,p.muted{color:var(--muted)}.sm{font-size:.82rem}strong{font-weight:650}.stat__value,.kpi__value,.tcal__table,.table td,.count-pill,.seg__count,.tabs__count,.mcal__num,.prow__pct,.pcal__totals,.plan-chip{font-variant-numeric:tabular-nums}:focus{outline:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}*{scrollbar-width:thin;scrollbar-color:#c4cdd8 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#c4cdd8;border-radius:999px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:#a9b5c3}.sidebar{background:linear-gradient(180deg,#10233a,#0c1c2f);padding:18px 12px;border-right:1px solid rgba(255,255,255,.04)}.brand{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:4px 8px 22px}.brand__logo{grid-row:span 2;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#2b7cb8,#1f5f8b);color:#fff;font-weight:800;font-size:1.05rem;box-shadow:inset 0 -3px #00000026}.brand__mark{font-size:1.15rem;letter-spacing:.08em;line-height:1.1}.brand__sub{margin-top:0;font-size:.72rem;color:#8ea3bb;letter-spacing:.02em}.nav{gap:3px}.nav__item{color:#c3cfdd;font-weight:500;font-size:.9rem;padding:9px 12px;border-radius:9px;position:relative;transition:background .12s,color .12s}.nav__item:hover{background:#ffffff0f;color:#fff}.nav__item--active{background:#3b8fd02e;color:#fff;font-weight:600}.nav__item--active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:#4aa3e3}.nav__item--active .nav__icon{opacity:1;color:#7cc0f0}.nav__icon{opacity:.75}.nav__item--btn{color:#f3b8b0}.sidebar__foot{border-top-color:#ffffff14}.topbar{height:60px;padding:0 28px;background:#ffffffeb;-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);border-bottom-color:var(--border)}.topbar__date{color:var(--muted);font-size:.85rem;font-weight:500;margin-right:auto}.topbar__meta strong{font-size:.88rem}.content{padding:26px 32px 40px;max-width:1600px;margin:0 auto}@media (max-width: 860px){.topbar__date{display:none}.content{padding:18px 14px 32px}}.page-head{margin-bottom:22px;align-items:flex-end}.page-head h1{margin-bottom:4px}.page-head p{font-size:.92rem;max-width:760px}.breadcrumb{font-size:.82rem;margin-bottom:12px}.breadcrumb a{color:var(--muted);font-weight:500}.breadcrumb a:hover{color:var(--primary)}.card{border-color:var(--border);box-shadow:var(--shadow);border-radius:var(--radius)}.card__head h3{font-size:1rem}.stat,.kpi{border-color:var(--border);box-shadow:var(--shadow)}.stat__value{font-size:1.75rem;letter-spacing:-.02em}.stat__label{font-size:.82rem;font-weight:500}.project-card,.prow,.doc-slot,.activity{transition:border-color .15s,box-shadow .15s}.prow:hover,.project-card:hover{box-shadow:var(--shadow-md)}.activity{border-color:var(--border);border-radius:10px}.activity--open{border-color:#b9cfe2;box-shadow:var(--shadow-md)}.btn{border-radius:var(--radius-sm);font-weight:600;letter-spacing:.005em;transition:background .12s,border-color .12s,color .12s,box-shadow .12s}.btn--primary{background:var(--primary);box-shadow:0 1px 2px #0f1b2d26,inset 0 1px #ffffff14}.btn--primary:hover:not(:disabled){background:var(--primary-dark)}.btn--ghost{border-color:var(--border-strong);color:var(--text)}.btn--ghost:hover:not(:disabled){background:var(--surface-2);border-color:#b8c4d2}.btn:disabled{opacity:.5}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-ring)}.link-btn,.link-ish{font-weight:600}.icon-btn:focus-visible{box-shadow:0 0 0 3px var(--primary-ring)}.field__label{font-size:.8rem;font-weight:600;color:var(--text-2)}input,select,textarea{border-color:var(--border-strong);border-radius:var(--radius-sm);font-size:.9rem;transition:border-color .12s,box-shadow .12s}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:#b8c4d2}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}::placeholder{color:#94a1b2}.table th{font-size:.7rem;letter-spacing:.06em;color:var(--muted);font-weight:650;background:var(--surface-2)}.table td{color:var(--text-2)}.table td strong,.table td a strong{color:var(--text)}.badge{font-weight:650;letter-spacing:.01em;padding:3px 9px}.pday{font-weight:650}.modal-backdrop{background:#0c1c2f73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{box-shadow:var(--shadow-lg);border:1px solid rgba(15,27,45,.06);animation:modalIn .16s ease}.modal__head h3{font-size:1.05rem}@keyframes modalIn{0%{transform:translateY(6px) scale(.99);opacity:0}to{transform:none;opacity:1}}.toast{border-radius:10px;font-weight:500;box-shadow:var(--shadow-lg)}.crash{max-width:560px;margin:60px auto;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow)}.crash__icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:var(--amber-soft);color:var(--amber);font-size:1.5rem}.crash__detail{text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:.78rem;color:var(--muted);white-space:pre-wrap;max-height:120px;overflow:auto;margin:14px 0 18px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.doc-item__files{flex-direction:row;flex-wrap:wrap;align-items:center}.doc-item__files .doc-slot{flex:1 1 100%}.doc-item--bare{grid-template-columns:minmax(0,1fr) minmax(150px,auto)}.step__body{padding:10px 14px}.step__head{margin-bottom:2px}.dept-card__foot{flex-direction:column;align-items:flex-start;gap:2px;margin-top:6px}.tcal__bar .toolbar{flex:1;justify-content:flex-end;flex-wrap:nowrap}.tcal__bar .toolbar__search{flex:0 1 240px}.tcal__bar select{min-width:0;max-width:220px}@media (max-width: 1100px){.tcal__bar .toolbar{flex-wrap:wrap;justify-content:flex-start}}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:6px}.brand__logo--lg{width:48px;height:48px;border-radius:13px;font-size:1.4rem;display:grid;place-items:center;background:linear-gradient(135deg,#2b7cb8,#1f5f8b);color:#fff;font-weight:800;box-shadow:0 6px 16px #1f5f8b59}.auth-brand .brand__mark{color:var(--text);font-size:1.3rem}.doc-item__label{display:flex;align-items:flex-start;gap:8px}.doc-item__check{flex:0 0 18px;height:18px;margin-top:1px;border-radius:50%;border:2px solid #c3ccd8;display:grid;place-items:center;font-size:.66rem;font-weight:800;color:#fff}.doc-item--done .doc-item__check{background:var(--green);border-color:var(--green)}.doc-item__meta{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:.74rem;font-weight:500;color:var(--muted);margin-top:2px}.doc-item__label>span:nth-child(2){display:flex;flex-direction:column;flex:1;min-width:0}.activity__head{display:flex;align-items:center;gap:10px;width:100%;background:var(--surface-2);padding:0 10px 0 0;cursor:default}.activity__head:hover{background:#eef2f7}.activity__toggle{flex:1;min-width:0;display:flex;align-items:center;gap:12px;background:none;border:none;padding:11px 0 11px 14px;text-align:left;font:inherit;color:var(--text);cursor:pointer}.activity__chev{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px}.activity__chev:hover{background:#0f1b2d0f}.state-select{width:auto;font-size:.76rem;font-weight:650;padding:3px 26px 3px 9px;border-radius:999px;background-color:var(--grey-soft);color:var(--muted);border-color:transparent;cursor:pointer}.state-select--in_progress{background-color:var(--blue-soft);color:var(--primary-dark)}.state-select--completed{background-color:var(--green-soft);color:var(--green)}.bar-key{display:inline-flex;align-items:center;gap:5px;margin-right:12px}.bar-key i{width:9px;height:9px;border-radius:2px;display:inline-block}.bar-key__done{background:var(--green)}.bar-key__active{background:#7fb2d6}.bar-key__todo{background:var(--grey-soft);border:1px solid var(--border-strong)}.modal--xl{max-width:min(1240px,96vw);height:92vh;max-height:92vh}.docview{display:flex;flex-direction:column;gap:10px;min-height:0}.docview__bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.docview__bar .seg{margin-bottom:0}.docview__bar select{max-width:260px}.docview__pick{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.docview__dl{margin-left:auto}.docview__facts{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:.88rem;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.docview__facts--older{background:var(--surface);border-style:dashed}.docview__note{font-style:italic;color:var(--text)}.docview__frame{width:100%;height:66vh;border:1px solid var(--border);border-radius:8px;background:#fff}.docview__img{max-width:100%;max-height:66vh;object-fit:contain;border:1px solid var(--border);border-radius:8px}.docview__pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.docview__pair .docview__frame{height:62vh}.docview__sheets{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border)}.docview__sheet{border:1px solid transparent;border-bottom:none;background:none;font:inherit;font-size:.85rem;padding:6px 12px;border-radius:6px 6px 0 0;cursor:pointer;color:var(--muted);display:inline-flex;gap:6px;align-items:center}.docview__sheet--active{background:var(--surface);border-color:var(--border);color:var(--text);font-weight:600;margin-bottom:-1px}.docview__mark{font-size:.7rem;font-weight:700;padding:1px 6px;border-radius:999px}.docview__mark--chg{background:var(--amber-soft);color:var(--amber)}.docview__mark--add{background:var(--green-soft);color:var(--green)}.docview__mark--del{background:var(--danger-soft);color:var(--danger)}.docview__grid{overflow:auto;max-height:60vh;border:1px solid var(--border);border-radius:8px}.docview__grid table{border-collapse:collapse;font-size:.8rem}.docview__grid th,.docview__grid td{border:1px solid var(--border);padding:3px 8px;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.docview__grid thead th{position:sticky;top:0;background:var(--surface-2);z-index:1}.docview__grid tbody th{position:sticky;left:0;background:var(--surface-2);color:var(--muted);font-weight:600}.docview__cell--changed{background:var(--amber-soft);outline:2px solid var(--amber);outline-offset:-2px}.docview__text{max-height:62vh;overflow:auto;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;line-height:1.55}.docview__text p{margin:0 0 8px;white-space:pre-wrap}.docview__text--diff p{padding:2px 8px;border-radius:4px;margin-bottom:4px}.docview__add{background:var(--green-soft)}.docview__del{background:var(--danger-soft)}.docview__text .docview__del{text-decoration:line-through;text-decoration-color:#b4231880}.docview__fold{color:var(--muted);font-size:.8rem;text-align:center;padding:4px;margin-bottom:4px;border-top:1px dashed var(--border);border-bottom:1px dashed var(--border)}.docview__summary{font-size:.9rem}.docview__toggle{display:inline-flex;gap:6px;align-items:center;cursor:pointer}.docview__changes td{vertical-align:top}@media (max-width: 760px){.docview__pair{grid-template-columns:1fr}.docview__dl{margin-left:0}}.feed__doc{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px}.feed__docname{font-size:.82rem;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed__docnote{flex-basis:100%;font-size:.8rem;font-style:italic;color:#334155}.feed__flag{flex-basis:100%;font-size:.8rem;color:#8a5a10;background:var(--amber-soft);border-radius:6px;padding:3px 8px}.team-toolbar__right select{width:auto;min-width:190px}.prows{padding:0;overflow:hidden}.prows .prow{display:grid;grid-template-columns:minmax(260px,1.8fr) minmax(220px,1.5fr) 130px 96px;gap:20px;align-items:center;padding:16px 20px;border-top:1px solid var(--border);color:var(--text)}.prows .prow:hover{background:var(--surface-2);text-decoration:none}.prow--head{border-top:none;padding-top:12px;padding-bottom:12px;background:var(--surface-2);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.prow--head:hover{background:var(--surface-2)}.prow__name{display:flex;flex-direction:column;gap:3px;min-width:0}.prow__name .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prow__metric{display:flex;flex-direction:column;gap:6px;min-width:0}.prow__status{justify-self:end}.sbar{display:flex;height:8px;border-radius:999px;background:var(--grey-soft);overflow:hidden}.sbar__done{background:var(--primary)}.sbar__doing{background:#8fb7e0}@media (max-width: 1100px){.prows .prow{grid-template-columns:1fr 1fr}.prow--head{display:none}.prow__name{grid-column:1 / -1}.prow__status{justify-self:start}}@media (max-width: 640px){.prows .prow{grid-template-columns:1fr}}.prow--click{cursor:pointer}.prow__title{font-weight:700;font-size:.98rem;color:var(--text)}.team-count{font-size:.85rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--primary);white-space:nowrap}.team-count:hover{border-color:var(--primary);text-decoration:none}.people-head__tools{margin:0;flex:1 1 420px;justify-content:flex-end}.people-head__tools select{width:auto;min-width:190px}.people-head__tools .toolbar__search{max-width:280px}.people-acts{min-width:180px}.people-acts .sbar{margin-bottom:6px;max-width:220px}.pd-hero__team{color:var(--text)}.pd-hero__team:hover{color:var(--primary)}.msg-shell{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;height:calc(100vh - 230px);min-height:480px}.msg-list{padding:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.msg-list__tools{padding:12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.msg-list__tools .seg{margin-bottom:0}.seg--sm .seg__btn{padding:5px 10px;font-size:.8rem}.msg-list__empty{padding:16px;margin:0}.msg-threads{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.msg-thread{width:100%;display:flex;gap:10px;align-items:flex-start;text-align:left;border:none;border-bottom:1px solid var(--border);background:none;font:inherit;color:var(--text);padding:12px 14px;cursor:pointer}.msg-thread:hover{background:var(--surface-2)}.msg-thread--active{background:var(--primary-soft, #e8f0fa);box-shadow:inset 3px 0 0 var(--primary)}.msg-thread__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.msg-thread__top{display:flex;justify-content:space-between;gap:8px}.msg-thread__who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.msg-thread--unread .msg-thread__who,.msg-thread--unread .msg-thread__subject{font-weight:700}.msg-thread__time{white-space:nowrap}.msg-thread__subject{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-thread__preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-dot{width:9px;height:9px;border-radius:50%;background:var(--primary);margin-top:6px;flex:none}.msg-view{padding:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.msg-view>.empty{margin:auto}.msg-conv{display:flex;flex-direction:column;height:100%;min-height:0}.msg-conv__head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}.msg-conv__title{flex:1;min-width:0}.msg-conv__title h3{margin:0 0 2px;font-size:1rem}.msg-conv__back{display:none}.msg-conv__body{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:12px;background:var(--surface-2)}.msg-conv__note{margin:0;padding:12px 18px;border-top:1px solid var(--border)}.msg{display:flex;gap:8px;align-items:flex-end;max-width:78%}.msg--mine{align-self:flex-end;flex-direction:row-reverse}.msg__bubble{background:var(--surface);border:1px solid var(--border);border-radius:12px 12px 12px 4px;padding:8px 12px;min-width:0}.msg--mine .msg__bubble{background:#e7f0fb;border-color:#cfe0f5;border-radius:12px 12px 4px}.msg__meta{display:flex;gap:10px;font-size:.75rem;color:var(--muted);margin-bottom:3px}.msg__meta strong{color:var(--text)}.msg__text{white-space:pre-wrap;word-break:break-word;font-size:.9rem}.msg__files{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.msg__img{border:1px solid var(--border);padding:0;border-radius:8px;overflow:hidden;cursor:zoom-in;background:#fff}.msg__img img{display:block;max-width:240px;max-height:180px;object-fit:cover}.msg__file{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:4px 8px;max-width:100%}.msg__fname{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-reply{border-top:1px solid var(--border);padding:10px 14px;display:flex;flex-direction:column;gap:8px}.msg-reply textarea{resize:vertical;min-height:54px}.msg-reply__bar{display:flex;align-items:center;gap:10px}.msg-reply__bar .btn--primary{margin-left:auto}.msg-pending{display:flex;flex-wrap:wrap;gap:6px}.msg-pending__item{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:3px 4px 3px 6px}.msg-pending__item img{width:28px;height:28px;object-fit:cover;border-radius:4px}.msg-compose .seg{margin-bottom:12px}.msg-pick__tools{display:flex;gap:8px;align-items:center;margin:6px 0;flex-wrap:wrap}.msg-pick__tools select{width:auto}.msg-pick__tools input{flex:1;min-width:160px}.msg-pick__list{max-height:210px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.msg-pick{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;border-bottom:1px solid var(--border);font-size:.88rem}.msg-pick:last-child{border-bottom:none}.msg-pick input{width:auto;margin:0}.msg-pick--on{background:#eef4fc}.msg-pick--admin{border:1px solid var(--border);border-radius:8px;margin-bottom:6px}@media (max-width: 900px){.msg-shell{grid-template-columns:1fr;height:auto}.msg-shell--open .msg-list{display:none}.msg-shell:not(.msg-shell--open) .msg-view{display:none}.msg-view{height:calc(100vh - 200px)}.msg-conv__back{display:inline-flex}.msg{max-width:92%}}.team-group{border-left:3px solid var(--border);padding:2px 0 2px 14px;margin-bottom:14px}.team-group h4{margin:0 0 2px;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.team-group__count{color:var(--text)}.team-group--none{border-left-color:var(--danger);background:var(--danger-soft);border-radius:0 10px 10px 0;padding:10px 14px}.team-group--none h4{color:var(--danger)}.team-group--reason{border-left-color:var(--blue)}.team-group--did{border-left-color:var(--green)}.who--wrap{flex-wrap:wrap}.who--top{align-items:flex-start}.team-group--none .who{border-bottom-color:#f3c6c0}.team-others{margin:0}.ask{flex-basis:100%;margin:4px 0 0 46px}.ask textarea{width:100%;background:var(--surface)}.ask__foot{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:6px}.ask__foot .muted{margin-right:auto}@media (max-width: 640px){.ask{margin-left:0}}.daily{display:grid;grid-template-columns:340px 1fr;gap:16px;align-items:start}.daily__side{position:sticky;top:16px}.daily__filters{display:grid;gap:10px;margin-top:14px}.daily__filters label{display:flex;flex-direction:column;gap:4px}.daily__head{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.daily__head h3{margin:0;min-width:0}.daily__counts{margin-left:auto}.daily__list{list-style:none;margin:0;padding:0}.daily__person{padding:10px 0;border-top:1px solid var(--border)}.daily__person--none{background:var(--danger-soft);border-radius:10px;padding:10px 12px;margin:6px 0;border-top:none}.daily__row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.daily__note{margin:4px 0 0 42px}.daily__work{margin:6px 0 0 42px}@media (max-width: 900px){.daily{grid-template-columns:1fr}.daily__side{position:static}.daily__work,.daily__note{margin-left:0}}.team-list{list-style:none;margin:0;padding:0}.team-list__row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border);flex-wrap:wrap}@media (max-width: 760px){.doc-item,.doc-item--bare{grid-template-columns:minmax(0,1fr);gap:6px}.doc-slot{min-width:0}}.tpl-list{list-style:none;margin:14px 0 0;padding:0}.tpl-list__row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border)}.tpl-list__row:first-child{border-top:none}.tpl-list__main{flex:1;min-width:0}.tpl-list__name{font-weight:600;text-align:left}.tpl-list__docs{display:inline}.tpl-list__move{display:flex;gap:2px}.tpl-docs{margin-top:6px}.tpl-docs__head{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.tpl-docs__row{display:grid;grid-template-columns:auto auto auto 1fr;gap:6px 14px;align-items:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}.tpl-docs__row>input{grid-column:1 / -1}.tpl-docs__row .tpl-docs__btns{justify-self:end}.tpl-docs__chk{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;white-space:nowrap}.tpl-docs__btns{display:inline-flex;align-items:center;gap:4px}@media (max-width: 640px){.tpl-list__row{flex-wrap:wrap}.tpl-list__docs{display:none}.tpl-docs__row{grid-template-columns:1fr 1fr 1fr;padding-bottom:8px;border-bottom:1px solid var(--border)}.tpl-docs__row>input{grid-column:1 / -1}.tpl-docs__btns{grid-column:1 / -1}}.psum{display:flex;flex-direction:column;gap:16px}.psum__head{display:grid;grid-template-columns:1fr auto;gap:12px 16px;align-items:start}.psum__titles h3{margin:0}.psum__head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.psum__meta{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:12px}.psum__metafield{display:flex;flex-direction:column;gap:4px;font-size:13px}.psum__metafield>span{color:var(--muted);font-weight:600}.psum__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.psum__col{display:flex;flex-direction:column;gap:12px}.psum__colhead{font-weight:700;padding:8px 12px;border-radius:8px;border:1px solid var(--border)}.psum__colhead--civil{background:#fff7b8;color:#5a4b00}.psum__colhead--mech{background:#fbe1e1;color:#6b1f1f}.psum__colhead--other{background:#d9eef6;color:#0f4256}.psum__sec{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.psum__sec--ro{background:var(--surface-2)}.psum__sechead{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}.psum__sechead h4{margin:0;color:#c0261b;font-size:15px}.psum__lock{font-size:11px;color:var(--muted);text-align:right}.psum__table{width:100%;border-collapse:collapse}.psum__table th{text-align:left;font-weight:500;font-size:13px;padding:6px 8px 6px 0;width:58%;border-top:1px solid var(--border)}.psum__table td{padding:4px 0;border-top:1px solid var(--border);text-align:right}.psum__table tr:first-child th,.psum__table tr:first-child td{border-top:0}.psum__input{position:relative;display:block}.psum__input input{width:100%;text-align:right;padding:5px 8px;font-variant-numeric:tabular-nums}.psum__input--pct input{padding-right:24px}.psum__suffix{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px}.psum__input input.is-changed{border-color:var(--primary);background:var(--primary-soft)}.psum__input input.is-bad{border-color:var(--danger);background:var(--danger-soft)}.psum__value{font-variant-numeric:tabular-nums;font-weight:600;padding:5px 0;display:inline-block}.psum__calc{font-variant-numeric:tabular-nums;font-weight:700;color:var(--muted);padding:5px 0;display:inline-block;cursor:help}.psum__row--calc th{font-style:italic}.psum__last{margin-top:6px}.psum-hist{list-style:none;margin:0;padding:0;max-height:60vh;overflow-y:auto}.psum-hist li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--border)}.psum-hist__change{font-size:14px;margin-top:2px}.psum-hist__old{color:var(--muted);text-decoration:line-through}@media (max-width: 1100px){.psum__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.psum__grid,.psum__meta,.psum__head{grid-template-columns:1fr}.psum__head-actions{justify-content:flex-start}}.psum__who{display:block;font-size:11px;color:var(--muted);font-weight:400}.tmpl-fields{list-style:none;margin:0;padding:0}.tmpl-fields li{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-top:1px solid var(--border);font-size:13px}.tmpl-fields li:first-child{border-top:0}.tmpl-sec-meta{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}.tmpl-edit{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:8px}.tmpl-edit li{display:grid;grid-template-columns:auto minmax(0,1fr) 140px auto;gap:8px;align-items:center}.tmpl-edit__move{display:flex;gap:2px}@media (max-width: 720px){.tmpl-sec-meta{grid-template-columns:1fr}.tmpl-edit li{grid-template-columns:auto minmax(0,1fr)}}.update-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 24px;background:var(--primary-soft);border-bottom:1px solid var(--border);font-weight:600}.upload-btn--optional{opacity:.8;border-style:dotted}.upload-btn__opt{font-weight:400;color:var(--muted);font-size:12px}.main-tag{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:1px 8px}.copy-btn{font-weight:700}.copy-box{margin-top:8px;padding:10px 12px;border:1px solid var(--primary);border-left-width:4px;border-radius:10px;background:var(--surface);display:flex;flex-direction:column;gap:6px}.copy-box__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.copy-box__head>.muted{flex:1}.copy-box__warn{font-size:13px;color:var(--amber, #a15c00);background:var(--amber-soft, #fff4e5);border-radius:8px;padding:6px 10px}.copy-box__actions{display:flex;gap:8px;flex-wrap:wrap}.copy-others{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.copy-others li{display:flex;align-items:center;gap:8px;font-size:13px;flex-wrap:wrap}.doc-slot>.copy-box,.doc-slot>.copy-others{grid-column:1 / -1}.doc-slot__file{grid-column:1}.doc-slot>.copies{grid-column:1 / -1;display:flex;flex-direction:column;gap:6px;margin-top:4px;padding-top:6px;border-top:1px dashed var(--border);align-items:flex-start}.copy-row{width:100%}.copy-row__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.copy-row__name{font-weight:600;font-size:13px}.copy-row__status{flex:1;min-width:140px}.copy-row__btns{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}.copy-row--mine>.copy-box{margin-top:6px}.copy-others__line{display:flex;align-items:center;gap:8px;font-size:13px;flex-wrap:wrap}
