:root{--bg:#fff;--surface:#fafafa;--ink:#121212;--ink-soft:#565656;--ink-faint:#9a9a9a;--line:#1a1a1a;--line-soft:#d6d6d6;--line-faint:#ebebeb;--bg-optimal:#10b98114;--border-optimal:#10b981;--bg-moderate:#f59e0b14;--border-moderate:#f59e0b;--bg-critical:#ef444414;--border-critical:#ef4444;--transition-fast:all .15s ease}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;font-family:IBM Plex Sans,sans-serif}.mono{font-family:IBM Plex Mono,monospace}.login-container{background:var(--surface);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-box{background:var(--bg);border:2px solid var(--line);width:100%;max-width:440px;box-shadow:8px 8px 0px var(--line);padding:32px}.login-header{border-bottom:2px solid var(--line);text-align:center;margin-bottom:24px;padding-bottom:16px}.login-title{letter-spacing:.5px;font-family:IBM Plex Mono,monospace;font-size:18px;font-weight:700}.login-title span{color:var(--ink-faint)}.login-subtitle{letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);margin-top:4px;font-size:11px;font-weight:600}.login-form{flex-direction:column;gap:14px;display:flex}.app-container{min-height:100vh;display:flex;position:relative}.sidebar{background:var(--bg);border-right:2px solid var(--line);z-index:100;flex-direction:column;flex-shrink:0;width:230px;height:100vh;transition:transform .3s;display:flex;position:sticky;top:0}.sidebar-header{border-bottom:2px solid var(--line);padding:16px 20px}.wordmark{letter-spacing:.5px;text-transform:uppercase;color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700;text-decoration:none;display:inline-block}.wordmark span{color:var(--ink-faint)}.sidebar-header .sub{text-transform:uppercase;color:var(--ink);letter-spacing:1px;margin-top:12px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700}.sidebar-user-badge{background:var(--surface);border:1px solid var(--line);align-items:center;gap:12px;margin:12px 14px;padding:8px 10px;display:flex;position:relative}.avatar{background:var(--line);width:38px;height:38px;color:var(--bg);justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700;display:flex}.user-info{flex:1;overflow:hidden}.user-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.user-role{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:10px;overflow:hidden}.btn-logout{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-transform:uppercase;transition:var(--transition-fast);background:0 0;margin-top:6px;padding:4px 8px;font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:600;display:inline-block}.btn-logout:hover{background:var(--line);color:var(--bg)}.sidebar-nav{flex-direction:column;flex:1;gap:6px;padding:10px 12px;display:flex}.nav-item{color:var(--ink-soft);transition:var(--transition-fast);border:1px solid #0000;align-items:center;gap:10px;padding:8px 10px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:var(--ink);background:var(--surface);border-color:var(--line-soft)}.nav-item.active{color:var(--ink);background:var(--bg);border:2px solid var(--line);box-shadow:3px 3px 0px var(--line);font-weight:700}.nav-icon{font-size:16px}@keyframes scanMove{0%{top:0}50%{top:100%}to{top:0}}.scanning-active{animation:1.5s linear infinite scanMove}.sidebar-footer{border-top:1px solid var(--line-soft);color:var(--ink-faint);flex-direction:column;gap:4px;margin-top:auto;padding:16px 18px;font-family:IBM Plex Mono,monospace;font-size:10px;display:flex}.datebadge{color:var(--ink-soft);border:1px solid var(--line-soft);text-align:center;padding:5px 9px;font-family:IBM Plex Mono,monospace;font-size:11px;display:inline-block}.top-navbar{justify-content:flex-end;align-items:center;margin-bottom:-20px;padding:10px 40px 0;display:flex;position:relative}.nav-actions-container{z-index:150;align-items:center;gap:16px;display:flex}.notification-bell-btn{border:1px solid var(--line);cursor:pointer;transition:var(--transition-fast);background:0 0;align-items:center;gap:6px;padding:8px 12px;font-family:IBM Plex Mono,monospace;font-size:14px;display:flex;position:relative}.notification-bell-btn:hover{background:var(--surface)}.notification-badge{background:var(--line);color:var(--bg);border-radius:20px;padding:1px 5px;font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:700}.notifications-dropdown{background:var(--bg);border:2px solid var(--line);width:320px;box-shadow:4px 4px 0px var(--line);z-index:400;max-height:380px;padding:0;display:none;position:absolute;top:42px;right:0;overflow-y:auto}.notifications-dropdown.active{display:block}.notification-drop-header{border-bottom:2px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notification-drop-header span.title{text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700}.notification-drop-list{flex-direction:column;display:flex}.notification-drop-item{border-bottom:1px dashed var(--line-faint);cursor:pointer;transition:var(--transition-fast);flex-direction:column;gap:4px;padding:12px 16px;font-size:12px;display:flex}.notification-drop-item:hover{background:var(--surface)}.notification-drop-item.unread{border-left:3px solid var(--line);background:#6366f10d}.notification-drop-time{color:var(--ink-faint);font-family:IBM Plex Mono,monospace;font-size:9px}.notification-drop-item:last-child{border-bottom:none}.mobile-bar{background:var(--bg);border-bottom:2px solid var(--line);z-index:101;justify-content:space-between;align-items:center;padding:14px 20px;display:none;position:sticky;top:0}.hamburger{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;padding:4px 8px;font-family:IBM Plex Mono,monospace;font-size:18px}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:36px 40px;overflow-y:auto}.view-section{display:none}.view-section.active{display:block}.view-header{border-bottom:2px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;padding-bottom:14px;display:flex}.view-title h1{text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:24px;font-weight:700}.view-title p{color:var(--ink-soft);margin-top:4px;font-size:12px}.stats-bar{border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:28px;display:grid}.stat-card{border-left:1px solid var(--line-soft);background:var(--bg);padding:16px 18px}.stat-card:first-child{border-left:none}.stat-val{font-family:IBM Plex Mono,monospace;font-size:28px;font-weight:700;line-height:1}.stat-val.warn{-webkit-text-decoration:underline wavy;text-decoration:underline wavy;-webkit-text-decoration-color:var(--ink-soft);text-decoration-color:var(--ink-soft)}.stat-lbl{letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-soft);margin-top:6px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600}.view-toggles{gap:6px;margin-bottom:16px;display:flex}.view-toggle-btn{border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;transition:var(--transition-fast);padding:6px 12px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.view-toggle-btn.active{background:var(--line);color:var(--bg)}.toolbar{border-bottom:1px solid var(--line-faint);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:18px;display:flex}.filter-group{align-items:center;gap:6px;display:flex}.filter-label{text-transform:uppercase;color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600}select,input[type=text],input[type=email],input[type=date],textarea,input[type=password]{border:1px solid var(--line-soft);background:var(--bg);color:var(--ink);transition:var(--transition-fast);outline:none;padding:8px 10px;font-family:IBM Plex Mono,monospace;font-size:12px}select:focus,input:focus,textarea:focus{border-color:var(--line)}input.search-input{flex:1;min-width:180px}.btn{letter-spacing:.5px;text-transform:uppercase;background:var(--ink);color:var(--bg);border:1px solid var(--line);cursor:pointer;transition:var(--transition-fast);padding:9px 16px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.btn:hover{background:var(--ink-soft)}.btn-outline{background:var(--bg);color:var(--ink);border:1px solid var(--line)}.btn-outline:hover{background:var(--surface)}.btn-ghost{color:var(--ink-soft);text-transform:none;cursor:pointer;background:0 0;border:1px solid #0000;padding:6px 10px;font-family:IBM Plex Mono,monospace;font-size:11px}.btn-ghost:hover{color:var(--ink);text-decoration:underline}.task-list{flex-direction:column;gap:16px;display:flex}.task-card{border:1px solid var(--line);background:var(--bg);transition:transform .15s;position:relative}.task-card:hover{box-shadow:4px 4px 0px var(--line);transform:translateY(-2px)}.card-head{border-bottom:1px dashed var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.task-id-block{align-items:center;gap:8px;display:flex}.card-id{border:1px solid var(--line);letter-spacing:.5px;padding:3px 7px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700}.team-chip{text-transform:uppercase;letter-spacing:.5px;background:var(--surface);border:1px solid var(--line-soft);padding:3px 7px;font-family:IBM Plex Mono,monospace;font-size:10px}.task-tags{align-items:center;gap:8px;display:flex}.priority-tag{border:1px solid var(--line);white-space:nowrap;align-items:center;gap:5px;padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;display:flex}.deadline-tag{border:1px solid var(--line-soft);white-space:nowrap;padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:11px}.deadline-tag.overdue{border-color:var(--line);font-weight:700;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.card-body{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.card-title{color:var(--ink);font-size:15px;font-weight:600}.desc{color:var(--ink);font-size:13px;line-height:1.5}.desc.empty{color:var(--ink-faint);font-style:italic}.subgrid{flex-wrap:wrap;gap:22px;display:flex}.meta-item{color:var(--ink);align-items:center;gap:6px;font-size:12px;display:flex}.meta-label{text-transform:uppercase;letter-spacing:.6px;color:var(--ink-faint);font-family:IBM Plex Mono,monospace;font-size:10px}.status-badge{text-transform:uppercase;letter-spacing:.6px;border:1px solid var(--line);padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600}.status-badge.done{background:var(--line);color:var(--bg)}.status-badge.inprogress:before{content:"â— "}.status-badge.blocked{text-decoration:line-through}.card-foot{border-top:1px solid var(--line-faint);justify-content:flex-end;gap:6px;padding:8px 16px;display:flex}.kanban-board{grid-template-columns:repeat(4,1fr);align-items:start;gap:16px;display:grid}.kanban-column{border:1px solid var(--line);background:var(--surface);flex-direction:column;max-height:70vh;display:flex}.kanban-column-header{border-bottom:2px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;padding:12px;display:flex}.kanban-column-title{text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700}.kanban-column-count{border:1px solid var(--line);background:var(--surface);padding:2px 6px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.kanban-column-cards{flex-direction:column;flex:1;gap:12px;padding:12px;display:flex;overflow-y:auto}.kanban-card{border:1px solid var(--line);background:var(--bg);cursor:pointer;flex-direction:column;gap:8px;padding:12px;transition:transform .15s;display:flex}.kanban-card:hover{box-shadow:2px 2px 0px var(--line);transform:translateY(-2px)}.kanban-card-header{color:var(--ink-soft);border-bottom:1px dashed var(--line-faint);justify-content:space-between;padding-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:10px;display:flex}.kanban-card-title{word-break:break-word;font-size:13px;font-weight:600;line-height:1.4}.kanban-card-footer{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.kanban-card-assignee{background:var(--surface);border:1px solid var(--line-soft);text-transform:uppercase;padding:2px 5px;font-family:IBM Plex Mono,monospace;font-size:9px}.kanban-card-controls{gap:4px;display:flex}.kanban-shift-btn{background:var(--bg);border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:var(--transition-fast);padding:2px 5px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:700;line-height:1}.kanban-shift-btn:hover{background:var(--line);color:var(--bg)}.panel{border:1px solid var(--line);background:var(--bg);margin-bottom:20px;padding:20px}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:10px;display:flex}.panel-title{text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:700}.empty-state{border:1px dashed var(--line-soft);text-align:center;color:var(--ink-soft);padding:48px 20px;font-family:IBM Plex Mono,monospace;font-size:12px}.employee-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.employee-card{border:1px solid var(--line);background:var(--bg);cursor:pointer;flex-direction:column;padding:20px;transition:transform .15s;display:flex;position:relative}.employee-card:hover{box-shadow:4px 4px 0px var(--line);transform:translateY(-2px)}.employee-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.employee-avatar-box{border:1px solid var(--line);background:var(--surface);justify-content:center;align-items:center;width:44px;height:44px;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:700;display:flex}.employee-name{margin-bottom:4px;font-size:15px;font-weight:700}.employee-role{color:var(--ink-soft);text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:11px}.employee-workload-badge{text-transform:uppercase;border:1px solid var(--line);margin-top:6px;padding:4px 8px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;display:inline-block}.employee-workload-badge.optimal{background:var(--bg-optimal);border-color:var(--border-optimal);color:var(--border-optimal)}.employee-workload-badge.moderate{background:var(--bg-moderate);border-color:var(--border-moderate);color:var(--border-moderate)}.employee-workload-badge.critical{background:var(--bg-critical);border-color:var(--border-critical);color:var(--border-critical)}.employee-details{flex-direction:column;gap:4px;margin-top:8px;font-size:12px;display:flex}.employee-detail-item{border-bottom:1px dashed var(--line-faint);justify-content:space-between;padding-bottom:3px;display:flex}.employee-detail-lbl{text-transform:uppercase;color:var(--ink-faint);font-family:IBM Plex Mono,monospace;font-size:9px}.employee-email-link{color:var(--ink);text-decoration:underline}.employee-email-link:hover{color:var(--ink-soft)}.employee-delete-btn{cursor:pointer;color:var(--ink-faint);transition:var(--transition-fast);z-index:20;background:0 0;border:none;font-family:IBM Plex Mono,monospace;font-size:14px;position:absolute;top:8px;right:8px}.employee-delete-btn:hover{color:var(--ink);font-weight:700}.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.chart-card{border:1px solid var(--line);background:var(--bg);flex-direction:column;height:360px;padding:20px;display:flex}.chart-card.wide{grid-column:span 2;height:380px}.chart-card-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:8px;display:flex}.chart-title{text-transform:uppercase;letter-spacing:.5px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700}.chart-container{flex:1;width:100%;height:100%;position:relative}.leaderboard-table{border-collapse:collapse;width:100%;font-size:12px}.leaderboard-table th{text-transform:uppercase;color:var(--ink-soft);text-align:left;border-bottom:2px solid var(--line);padding:8px;font-family:IBM Plex Mono,monospace;font-size:10px}.leaderboard-table td{border-bottom:1px dashed var(--line-faint);padding:10px 8px}.leaderboard-rank{font-family:IBM Plex Mono,monospace;font-weight:700}.leaderboard-rank.top-rank{background:var(--line);color:var(--bg);padding:2px 6px;font-size:10px}.comments-section{border-top:1px solid var(--line-soft);margin-top:10px;padding-top:16px}.comments-title{text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700}.comments-list{border:1px solid var(--line-faint);background:var(--surface);flex-direction:column;gap:8px;max-height:160px;margin-bottom:12px;padding:8px;display:flex;overflow-y:auto}.comment-item{border-bottom:1px dashed var(--line-faint);padding-bottom:6px;font-size:12px}.comment-item:last-child{border-bottom:none}.comment-header{color:var(--ink-faint);justify-content:space-between;margin-bottom:3px;font-family:IBM Plex Mono,monospace;font-size:10px;display:flex}.comment-user{color:var(--ink-soft);font-weight:600}.comment-text{line-height:1.4}.comment-input-row{gap:8px;display:flex}.comment-input-row input{flex:1}.overlay{z-index:500;opacity:0;pointer-events:none;background:#12121273;justify-content:center;align-items:flex-start;padding:40px 16px;transition:opacity .2s;display:flex;position:fixed;inset:0;overflow-y:auto}.overlay.active{opacity:1;pointer-events:all}.modal{background:var(--bg);border:2px solid var(--line);width:100%;max-width:680px;box-shadow:8px 8px 0px var(--line);margin-bottom:40px;padding:0;transition:transform .2s;transform:translateY(10px)}.overlay.active .modal{transform:translateY(0)}.modal-head{border-bottom:2px solid var(--line);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-head h2{letter-spacing:.5px;margin:0;font-family:IBM Plex Mono,monospace;font-size:16px;font-weight:700}.modal-close{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;font-family:IBM Plex Mono,monospace;font-size:20px}.modal-close:hover{color:var(--ink);font-weight:700}.modal-body{flex-direction:column;gap:18px;max-height:75vh;padding:24px 28px;display:flex;overflow-y:auto}.field{flex-direction:column;gap:6px;display:flex}.field label{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;display:block}.field input,.field select,.field textarea{width:100%;padding:9px 12px}.field textarea{resize:vertical;min-height:80px;font-family:IBM Plex Sans,sans-serif;font-size:13px;line-height:1.5}.field-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.modal-foot{border-top:1px solid var(--line-faint);background:var(--surface);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.req{color:var(--ink-faint)}.home-layout{grid-template-columns:2fr 1fr;gap:20px;display:grid}.activity-list{flex-direction:column;gap:10px;display:flex}.activity-item{border-bottom:1px dashed var(--line-faint);align-items:center;gap:10px;padding:10px;display:flex}.activity-type-icon{border:1px solid var(--line);background:var(--surface);justify-content:center;align-items:center;width:24px;height:24px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700;display:flex}.activity-text{flex:1;font-size:12px}.activity-text span{color:var(--ink-soft);font-family:IBM Plex Mono,monospace}.activity-time{color:var(--ink-faint);font-family:IBM Plex Mono,monospace;font-size:10px}.quick-links-list{flex-direction:column;gap:8px;display:flex}.quick-link-item{border:1px solid var(--line);background:var(--bg);cursor:pointer;transition:var(--transition-fast);justify-content:space-between;align-items:center;padding:12px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.quick-link-item:hover{background:var(--surface);box-shadow:2px 2px 0px var(--line);transform:translate(-1px,-1px)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--line-soft);border:2px solid var(--surface)}::-webkit-scrollbar-thumb:hover{background:var(--ink-soft)}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}.chart-card.wide{grid-column:span 1}.home-layout{grid-template-columns:1fr}}@media (width<=900px){.app-container{flex-direction:column}.sidebar{z-index:999;width:230px;height:calc(100vh - 57px);position:fixed;top:57px;bottom:0;left:-230px;box-shadow:4px 0 16px #0003}.sidebar.open{transform:translate(230px)}.mobile-bar{display:flex}.top-navbar{margin-bottom:0;padding:10px 16px 0}.main-content{padding:16px}.kanban-board{grid-template-columns:1fr;gap:16px}.kanban-column{max-height:400px}.toolbar{flex-wrap:wrap;gap:10px}.filter-group{flex:calc(50% - 10px);min-width:140px}}@media (width<=640px){.main-content{padding:12px}.stats-bar{grid-template-columns:1fr 1fr;gap:8px}.filter-group{flex:100%;min-width:100%}.field-row{grid-template-columns:1fr;gap:12px}.view-header{flex-direction:column;align-items:flex-start;gap:12px}.modal{box-shadow:4px 4px 0px var(--line);margin:10px auto;width:95%!important;max-width:95%!important}.modal-body{gap:14px;max-height:70vh;padding:16px}.modal-head{padding:14px 16px}.modal-foot{flex-direction:column;gap:10px;padding:12px 16px}.modal-foot>div,.modal-foot button{width:100%}.notifications-dropdown{width:auto;min-width:unset;left:10px;right:10px}.task-card .card-head{flex-direction:column;align-items:flex-start;gap:8px}.subgrid{grid-template-columns:1fr;gap:8px}.card-foot{flex-direction:column;gap:8px}.card-foot button{width:100%}}@media (width<=400px){.stats-bar{grid-template-columns:1fr}.wordmark{font-size:11px}.stat-val{font-size:20px}}
