:root{--bg:#0d0f10;--surface:#141618;--surface2:#1c1f22;--surface3:#242830;--border:#2a2e34;--border2:#373d45;--text:#e8eaed;--muted:#7a8290;--accent:#f5a623;--accent2:#3b82f6;--green:#22c55e;--red:#ef4444;--yellow:#eab308;--orange:#f97316;--cyan:#06b6d4;--purple:#a855f7;--mono:"IBM Plex Mono",monospace;--display:"Barlow Condensed",sans-serif;--body:"Barlow",sans-serif}[data-theme=light]{--bg:#fff;--surface:#f8f9fa;--surface2:#f0f1f3;--surface3:#e4e6ea;--border:#d9dce1;--border2:#c4c8cf;--text:#1a1c1e;--muted:#5f6368;--accent:#e09000;--accent2:#2563eb;--green:#16a34a;--red:#dc2626;--yellow:#a16207;--orange:#c2410c;--cyan:#0e7490;--purple:#7c3aed}[data-theme=light] input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=light] input[type=date]::-webkit-calendar-picker-indicator{filter:none}[data-theme=light] input[type=date].bep-input{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=light] .backdrop{background:#00000073}[data-theme=light] .note{color:#1d4ed8}[data-theme=light] .gtooltip{box-shadow:0 8px 24px #00000026}[data-theme=light] .bar-edit-panel{box-shadow:0 12px 32px #00000026}[data-theme=light] .resize-handle:hover,[data-theme=light] .gproc-bar.selected .resize-handle{background:#00000026}[data-theme=light] .res-chip{color:#000000b3;background:#ffffffb3}[data-theme=light] .nav-item.active{background:#e090001a}[data-theme=light] .nbadge,[data-theme=light] .btn-primary,[data-theme=light] .logo-icon{color:#000}[data-theme=light] ::-webkit-scrollbar-track{background:#f0f1f3}[data-theme=light] ::-webkit-scrollbar-thumb{background:#c4c8cf}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#9ca3af}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--body);height:100vh;font-size:14px;display:flex;overflow:hidden}.app-layout{height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:10;flex-direction:column;width:220px;min-width:220px;display:flex;overflow-y:auto}.logo{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:16px;display:flex}.logo-icon{background:var(--accent);width:32px;height:32px;font-family:var(--display);color:#000;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);justify-content:center;align-items:center;font-size:15px;font-weight:800;display:flex}.logo-text{font-family:var(--display);letter-spacing:.05em;font-size:17px;font-weight:700}.logo-sub{font-family:var(--mono);color:var(--muted);letter-spacing:.1em;font-size:9px}.nav-section{padding:10px 0}.nav-label{font-family:var(--mono);color:var(--muted);letter-spacing:.15em;text-transform:uppercase;padding:0 16px 6px;font-size:9px}.nav-item{cursor:pointer;color:var(--muted);border-left:2px solid #0000;align-items:center;gap:10px;padding:9px 16px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{color:var(--text);background:var(--surface2)}.nav-item.active{color:var(--accent);border-left-color:var(--accent);background:#f5a62312}.nav-item .ico{text-align:center;width:18px;font-size:14px}.nbadge{background:var(--accent);color:#000;font-family:var(--mono);border-radius:2px;margin-left:auto;padding:2px 5px;font-size:9px;font-weight:600}.nbadge.b{background:var(--accent2);color:#fff}.nbadge.g{background:var(--green);color:#fff}.sidebar-foot{border-top:1px solid var(--border);flex-shrink:0;margin-top:auto;padding:14px 16px}.user-chip{cursor:pointer;border-radius:4px;align-items:center;gap:10px;padding:7px 8px;transition:background .15s;display:flex}.user-chip:hover{background:var(--surface2)}.avatar{background:linear-gradient(135deg,var(--accent2),var(--cyan));color:#fff;width:30px;height:30px;font-size:11px;font-weight:700;font-family:var(--mono);border-radius:50%;justify-content:center;align-items:center;display:flex}.uname{font-size:12px;font-weight:600}.urole{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.main{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;height:52px;padding:0 24px;display:flex}.breadcrumb{font-family:var(--mono);color:var(--muted);font-size:11px}.breadcrumb span{color:var(--text)}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.content{flex:1;padding:24px;overflow-y:auto}.btn{cursor:pointer;font-family:var(--display);letter-spacing:.03em;text-transform:uppercase;border:none;border-radius:3px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-sm{padding:5px 10px;font-size:11px}.btn-xs{padding:3px 7px;font-size:10px}.btn-primary{background:var(--accent);color:#000}.btn-primary:hover{background:#ffb83d}.btn-ghost{color:var(--muted);border:1px solid var(--border2);background:0 0}.btn-ghost:hover{color:var(--text);border-color:var(--muted)}.btn-danger{color:var(--red);background:#ef44441a;border:1px solid #ef44444d}.btn-danger:hover{background:#ef444433}.btn-purple{color:var(--purple);background:#a855f71a;border:1px solid #a855f74d}.btn-purple:hover{background:#a855f733}.card{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:20px}.grid4{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.grid2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.section-hdr{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-title{font-family:var(--display);letter-spacing:.02em;font-size:20px;font-weight:700}.section-sub{color:var(--muted);margin-top:2px;font-size:12px}.metric-card{position:relative;overflow:hidden}.metric-label{font-family:var(--mono);color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:10px}.metric-val{font-family:var(--display);margin-bottom:4px;font-size:42px;font-weight:800;line-height:1}.metric-sub{color:var(--muted);font-size:12px}.metric-ico{opacity:.15;font-size:28px;position:absolute;top:16px;right:16px}.mbar{background:var(--border);border-radius:2px;height:3px;margin-top:14px;overflow:hidden}.mbar-fill{border-radius:2px;height:100%}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}thead tr{border-bottom:2px solid var(--border2)}th{text-align:left;font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;padding:10px 14px;font-size:10px;font-weight:500}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 14px;font-size:13px}tr:hover td{background:var(--surface2)}tr:last-child td{border-bottom:none}.sbadge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;border-radius:2px;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.sbadge:before{content:"";border-radius:50%;width:5px;height:5px}.s-comp{color:var(--green);background:#22c55e1f}.s-comp:before{background:var(--green)}.s-prog{color:var(--accent2);background:#3b82f61f}.s-prog:before{background:var(--accent2);animation:1.5s infinite pulse}.s-hold{color:var(--yellow);background:#eab3081f}.s-hold:before{background:var(--yellow)}.s-ns{color:var(--muted);background:#7a82901a}.s-ns:before{background:var(--muted)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pipeline{flex-wrap:nowrap;align-items:center;padding:2px 0;display:flex;overflow-x:auto}.pstep{align-items:center;display:flex}.pnode{font-family:var(--mono);white-space:nowrap;border-radius:2px;padding:3px 8px;font-size:10px}.p-done{color:var(--green);background:#22c55e26;border:1px solid #22c55e4d}.p-active{color:var(--accent2);background:#3b82f633;border:1px solid #3b82f680;box-shadow:0 0 6px #3b82f633}.p-pending{background:var(--surface2);color:var(--muted);border:1px solid var(--border)}.parrow{color:var(--border2);padding:0 3px;font-size:10px}.tab-bar{border-bottom:1px solid var(--border);margin-bottom:20px;display:flex}.tab{cursor:pointer;font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 18px;font-size:13px;font-weight:600;transition:all .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.fgrp{flex-direction:column;gap:5px;display:flex}.fgrp label{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.fi{background:var(--surface2);border:1px solid var(--border2);color:var(--text);font-family:var(--body);border-radius:3px;outline:none;width:100%;padding:8px 11px;font-size:13px;transition:border-color .15s}.fi:focus{border-color:var(--accent)}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.5);cursor:pointer}select.fi option{background:var(--surface2)}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.proc-row{background:var(--surface2);border:1px solid var(--border);border-radius:3px;align-items:center;gap:8px;margin-bottom:5px;padding:7px 10px;display:flex}.proc-num{font-family:var(--mono);color:var(--accent);flex-shrink:0;width:20px;font-size:11px}.proc-sel{background:var(--surface);border:1px solid var(--border2);color:var(--text);font-family:var(--body);border-radius:3px;outline:none;flex:1;padding:5px 9px;font-size:12px}.proc-rm{color:var(--red);cursor:pointer;opacity:.5;background:0 0;border:none;font-size:14px;transition:opacity .15s}.proc-rm:hover{opacity:1}.add-proc-btn{color:var(--accent2);cursor:pointer;font-family:var(--mono);border:1px dashed var(--border2);border-radius:3px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;transition:all .15s;display:flex}.add-proc-btn:hover{border-color:var(--accent2);background:#3b82f60d}.backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.backdrop.open{display:flex}.modal{background:var(--surface);border:1px solid var(--border2);border-radius:6px;width:600px;max-width:96vw;max-height:92vh;animation:.2s mIn;overflow-y:auto}.modal-wide{width:780px}.modal-xl{width:960px}.modal-sm{width:440px}@keyframes mIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-hdr{border-bottom:1px solid var(--border);background:var(--surface);z-index:2;justify-content:space-between;align-items:flex-start;padding:18px 22px 14px;display:flex;position:sticky;top:0}.modal-title{font-family:var(--display);font-size:20px;font-weight:700}.modal-close{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:20px;transition:color .15s}.modal-close:hover{color:var(--text)}.modal-body{padding:18px 22px}.modal-foot{border-top:1px solid var(--border);background:var(--surface);justify-content:flex-end;gap:8px;padding:14px 22px;display:flex;position:sticky;bottom:0}.bulk-wrap{margin-bottom:10px;overflow-x:auto}.bulk-tbl{border-collapse:collapse;width:100%;min-width:980px}.bulk-tbl th{background:var(--surface2);font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--border2);text-align:left;white-space:nowrap;padding:7px 8px;font-size:9px}.bulk-tbl td{border-bottom:1px solid var(--border);padding:3px}.bi{background:var(--surface2);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--body);border-radius:3px;outline:none;padding:5px 7px;font-size:12px}.bi:focus{border-color:var(--accent)}.bs{background:var(--surface2);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--body);border-radius:3px;outline:none;padding:5px 7px;font-size:12px}.rnum{font-family:var(--mono);color:var(--muted);text-align:center;width:24px;padding:0 4px;font-size:10px}.rdel{color:var(--red);cursor:pointer;opacity:.4;text-align:center;background:0 0;border:none;font-size:13px;transition:opacity .15s}.rdel:hover{opacity:1}.proc-tags-cell{cursor:pointer;background:var(--surface2);border:1px solid var(--border);border-radius:3px;flex-wrap:wrap;align-items:center;gap:3px;min-width:160px;min-height:30px;padding:4px 6px;display:flex}.ptag{color:var(--accent2);font-family:var(--mono);white-space:nowrap;background:#3b82f626;border-radius:2px;padding:2px 5px;font-size:9px}.ptag-ph{color:var(--muted);font-size:11px}.ppopt{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;transition:background .1s;display:flex}.ppopt:hover{background:var(--surface2)}.ppopt input{accent-color:var(--accent2)}.ppord{font-family:var(--mono);color:var(--accent);min-width:16px;font-size:9px}.filter-panel{background:var(--surface2);border:1px solid var(--border);border-radius:4px;margin-bottom:14px;padding:14px 18px;display:none}.filter-panel.open{display:block}.fp-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:12px;display:grid}.fp-grid-2{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.fp-label{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font-size:9px}.fp-chips{flex-wrap:wrap;gap:5px;display:flex}.fp-chip{border:1px solid var(--border2);font-family:var(--mono);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:uppercase;border-radius:2px;padding:3px 9px;font-size:10px;transition:all .12s}.fp-chip:hover{color:var(--text);border-color:var(--muted)}.fp-chip.sel{color:var(--accent2);border-color:var(--accent2);background:#3b82f626}.fp-chip.sel-p{color:var(--accent);border-color:var(--accent);background:#f5a6231a}.active-tags{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:10px;display:flex}.atag{color:var(--accent2);font-family:var(--mono);background:#3b82f61f;border:1px solid #3b82f64d;border-radius:2px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;display:inline-flex}.atag.pt{color:var(--accent);background:#f5a6231a;border-color:#f5a6234d}.atag-rm{cursor:pointer;opacity:.6;color:inherit;background:0 0;border:none;font-size:12px}.atag-rm:hover{opacity:1}.res-count{font-family:var(--mono);color:var(--muted);margin-bottom:10px;font-size:11px}.res-count strong{color:var(--accent)}.bulk-edit-bar{z-index:5;background:#3b82f61f;border:1px solid #3b82f64d;border-radius:4px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 16px;display:none;position:sticky;top:0}.bulk-edit-bar.show{display:flex}.beb-count{font-family:var(--mono);color:var(--accent2);font-size:12px;font-weight:600}.row-check{width:14px;height:14px;accent-color:var(--accent2);cursor:pointer}.drop-zone{border:2px dashed var(--border2);text-align:center;cursor:pointer;background:var(--surface2);border-radius:6px;padding:30px;transition:all .2s}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent2);background:#3b82f60d}.drop-zone-icon{opacity:.4;margin-bottom:10px;font-size:36px}.paste-area{background:var(--surface2);border:1px solid var(--border2);font-family:var(--mono);color:var(--muted);resize:vertical;border-radius:4px;outline:none;width:100%;min-height:100px;padding:10px;font-size:11px}.paste-area:focus{border-color:var(--accent)}.list-item{background:var(--surface2);border:1px solid var(--border);border-radius:3px;align-items:center;gap:8px;margin-bottom:5px;padding:7px 10px;display:flex}.list-item-label{flex:1;font-size:13px}.list-item-sub{font-family:var(--mono);color:var(--muted);font-size:10px}.list-item-rm{color:var(--red);cursor:pointer;opacity:.4;background:0 0;border:none;font-size:13px;transition:opacity .15s}.list-item-rm:hover{opacity:1}.list-add-row{gap:8px;margin-top:8px;display:flex}.audit-entry-sm{border-bottom:1px solid var(--border);grid-template-columns:140px 60px 1fr;align-items:start;gap:8px;padding:9px 14px;font-size:12px;display:grid}.audit-entry-sm:hover{background:var(--surface2)}.audit-time-sm{font-family:var(--mono);color:var(--muted);font-size:10px}.aaction{font-family:var(--mono);text-align:center;text-transform:uppercase;white-space:nowrap;border-radius:2px;padding:2px 5px;font-size:10px;font-weight:600}.a-create{color:var(--green);background:#22c55e1f}.a-update{color:var(--accent2);background:#3b82f61f}.a-delete{color:var(--red);background:#ef44441f}.a-login{color:var(--cyan);background:#06b6d41f}.chg-old{color:var(--red)}.chg-new{color:var(--green)}.gantt-outer{overflow:auto}.gantt-wrap{min-width:100%;display:inline-block}.gh-row{z-index:8;background:var(--surface);display:flex;position:sticky;top:0}.glabel-col{background:var(--surface2);border-right:1px solid var(--border2);flex-shrink:0;width:230px;min-width:230px}.glabel-head{height:50px;font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;border-bottom:2px solid var(--border2);align-items:center;padding:0 14px;font-size:9px;display:flex}.gtl-head{flex:1;overflow:hidden}.gmonth-row{border-bottom:1px solid var(--border);height:25px;display:flex}.gmonth-cell{font-family:var(--mono);color:var(--muted);border-right:1px solid var(--border2);flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex;overflow:hidden}.gweek-row{border-bottom:2px solid var(--border2);height:25px;display:flex}.gweek-cell{font-family:var(--mono);color:var(--border2);border-right:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;font-size:8px;display:flex;overflow:hidden}.gproj-row{background:var(--surface2);border-bottom:1px solid var(--border2);display:flex}.gproj-label{border-right:1px solid var(--border2);flex-shrink:0;align-items:center;gap:8px;width:230px;min-width:230px;padding:10px 14px;display:flex}.gproj-name{font-family:var(--display);font-size:14px;font-weight:700}.gproj-meta{font-family:var(--mono);color:var(--muted);margin-top:1px;font-size:9px}.gproj-bar-area{flex:1;height:50px;position:relative}.gpart-row{border-bottom:1px solid var(--border);display:flex}.gpart-label{border-right:1px solid var(--border2);flex-shrink:0;align-items:center;gap:6px;width:230px;min-width:230px;min-height:52px;padding:0 14px 0 26px;display:flex}.gpart-id{font-family:var(--mono);color:var(--accent);flex-shrink:0;font-size:9px}.gpart-nm{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.gpart-due{font-family:var(--mono);color:var(--muted);margin-top:1px;font-size:9px}.gbar-area{flex:1;height:52px;position:relative}.ggrid{pointer-events:none;display:flex;position:absolute;inset:0}.ggridl{border-right:1px solid var(--border);flex-shrink:0}.ggridl.ml{border-right-color:var(--border2)}.gproc-bar{height:26px;font-family:var(--mono);white-space:nowrap;cursor:pointer;z-index:2;border-radius:3px;align-items:center;padding:0 6px;font-size:8px;transition:filter .15s;display:flex;position:absolute;top:13px;overflow:hidden}.gproc-bar:hover{filter:brightness(1.25);z-index:5}.gproc-bar.selected{outline:2px solid var(--accent);z-index:6}.resize-handle{cursor:ew-resize;z-index:10;opacity:0;width:7px;position:absolute;top:0;bottom:0}.resize-handle:hover,.gproc-bar.selected .resize-handle{opacity:1;background:#ffffff40}.rh-left{border-radius:3px 0 0 3px;left:0}.rh-right{border-radius:0 3px 3px 0;right:0}.res-chip{font-family:var(--mono);color:#fffc;white-space:nowrap;pointer-events:none;background:#0006;border-radius:2px;max-width:90%;padding:1px 4px;font-size:7px;position:absolute;bottom:1px;left:4px;overflow:hidden}.gproj-span{opacity:.3;z-index:1;border-radius:2px;height:6px;position:absolute;top:22px}.gtoday{background:var(--red);opacity:.75;z-index:6;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.gtarget{border-left:2px dashed var(--accent);opacity:.5;z-index:5;pointer-events:none;width:0;position:absolute;top:0;bottom:0}.gtooltip{background:var(--surface3);border:1px solid var(--border2);z-index:200;pointer-events:none;border-radius:4px;min-width:200px;padding:10px 14px;display:none;position:fixed;box-shadow:0 8px 24px #0009}.gtooltip.show{display:block}.gtt-title{font-family:var(--display);margin-bottom:6px;font-size:14px;font-weight:700}.gtt-row{font-family:var(--mono);color:var(--muted);justify-content:space-between;gap:14px;margin-bottom:3px;font-size:10px;display:flex}.gtt-row strong{color:var(--text)}.gcontrols{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.gzoom-grp{border:1px solid var(--border2);border-radius:3px;display:flex;overflow:hidden}.gzb{color:var(--muted);cursor:pointer;font-family:var(--mono);border:none;border-right:1px solid var(--border2);background:0 0;padding:5px 13px;font-size:10px;transition:all .15s}.gzb:last-child{border-right:none}.gzb:hover{color:var(--text);background:var(--surface2)}.gzb.active{color:var(--accent);background:#f5a6231f}.gpchip{border:1px solid var(--border2);font-family:var(--mono);color:var(--muted);cursor:pointer;text-transform:uppercase;background:0 0;border-radius:2px;padding:4px 10px;font-size:10px;transition:all .12s}.gpchip:hover{color:var(--text);border-color:var(--muted)}.gpchip.active{border-color:var(--accent);color:var(--accent);background:#f5a62314}.gleg{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.gli{font-family:var(--mono);color:var(--muted);align-items:center;gap:5px;font-size:10px;display:flex}.glbox{border-radius:2px;width:10px;height:10px}.gsum{flex-wrap:wrap;gap:14px;margin-top:18px;display:flex}.gsum-card{background:var(--surface);border:1px solid var(--border);border-radius:4px;flex:1;min-width:190px;padding:14px}.target-chip{color:var(--accent);font-family:var(--mono);background:#f5a6231f;border:1px solid #f5a6234d;border-radius:2px;align-items:center;gap:5px;margin-bottom:8px;padding:3px 9px;font-size:10px;font-weight:600;display:inline-flex}.gpbar{background:var(--border);border-radius:2px;height:4px;margin-bottom:5px;overflow:hidden}.gpbar-fill{border-radius:2px;height:100%}.gsmeta{font-family:var(--mono);color:var(--muted);font-size:10px}.bar-edit-panel{background:var(--surface3);border:1px solid var(--accent);z-index:50;border-radius:6px;min-width:280px;padding:16px;display:none;position:fixed;box-shadow:0 12px 32px #000000b3}.bar-edit-panel.open{animation:.15s mIn;display:block}.bep-title{font-family:var(--display);color:var(--accent);margin-bottom:12px;font-size:14px;font-weight:700}.bep-row{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.bep-label{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.bep-input{background:var(--surface2);border:1px solid var(--border2);color:var(--text);font-family:var(--body);border-radius:3px;outline:none;width:100%;padding:6px 9px;font-size:12px}.bep-input:focus{border-color:var(--accent)}input[type=date].bep-input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.res-badge{font-family:var(--mono);border-radius:2px;align-items:center;gap:4px;margin:2px;padding:2px 7px;font-size:10px;display:inline-flex}.res-badge-rm{cursor:pointer;opacity:.6;color:inherit;background:0 0;border:none;font-size:11px}.rv-day-col{flex:1;min-width:150px}.rv-day-header{background:var(--surface2);border:1px solid var(--border2);font-family:var(--mono);color:var(--muted);text-transform:uppercase;border-radius:3px 3px 0 0;padding:7px 10px;font-size:10px}.rv-day-header.today{border-color:var(--accent);color:var(--accent)}.rv-task{background:var(--surface2);border:1px solid var(--border);border-left:3px solid var(--accent2);cursor:pointer;border-radius:3px;margin-bottom:5px;padding:7px 9px;transition:background .12s}.rv-task:hover{background:var(--surface3)}.rv-task-proc{font-family:var(--display);margin-bottom:2px;font-size:13px;font-weight:700}.rv-task-part{color:var(--muted);font-size:11px}.emp-card{background:var(--surface);border:1px solid var(--border);border-radius:4px;margin-bottom:14px;padding:16px}.emp-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.emp-av{width:38px;height:38px;font-family:var(--mono);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.emp-name{font-family:var(--display);font-size:16px;font-weight:700}.emp-role{font-family:var(--mono);color:var(--muted);text-transform:uppercase;margin-top:1px;font-size:10px}.emp-week{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.wload-bar{background:var(--border);border-radius:2px;height:4px;margin-top:5px;overflow:hidden}.wload-fill{background:var(--accent2);border-radius:2px;height:100%}.note{color:#93c5fd;background:#3b82f614;border:1px solid #3b82f633;border-radius:3px;margin-bottom:14px;padding:9px 13px;font-size:12px}.bar-chart{align-items:flex-end;gap:12px;height:120px;padding:0 0 6px;display:flex}.bwrap{flex-direction:column;flex:1;align-items:center;gap:5px;display:flex}.bbar{border-radius:2px 2px 0 0;width:100%;position:relative}.blabel{font-family:var(--mono);color:var(--muted);text-align:center;font-size:9px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.page{animation:.2s pgIn}@keyframes pgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.asana-chip{color:#f6694b;font-family:var(--mono);background:#f6694b1f;border:1px solid #f6694b4d;border-radius:2px;align-items:center;gap:5px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.import-tab-bar{border:1px solid var(--border2);border-radius:3px;gap:0;margin-bottom:16px;display:flex;overflow:hidden}.import-tab{cursor:pointer;font-family:var(--mono);color:var(--muted);background:0 0;border:none;padding:7px 16px;font-size:11px;transition:all .15s}.import-tab:hover{background:var(--surface2);color:var(--text)}.import-tab.active{color:var(--accent2);background:#3b82f61f}@media (max-width:768px){.sidebar{width:52px;min-width:52px}.sidebar .logo{justify-content:center;padding:12px 6px}.sidebar .logo>div,.sidebar .nav-label{display:none}.sidebar .nav-item{justify-content:center;gap:0;padding:12px 0;font-size:0}.sidebar .nav-item .ico{width:auto;font-size:16px}.sidebar .nbadge{display:none}.sidebar-foot{padding:8px 5px}.sidebar-foot .user-chip{justify-content:center;padding:4px 0}.sidebar-foot .user-chip>div:last-child{display:none}.sidebar-foot>div:last-child{flex-direction:column}.topbar{padding:0 12px}.topbar-right{display:none}.content{padding:14px 12px}}
