*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #f0f1f3;--surface: #ffffff;--elevated: #f5f6f8;--border: #c8cdd3;--border-inner: #e5e7eb;--text: #1a1f2e;--text-secondary: #5a6577;--text-dim: #8892a0;--sidebar-bg: #1a3a5c;--sidebar-text: #ffffff;--sidebar-active: rgba(255,255,255,.12);--sidebar-gold: #e8c84a;--navy: #1a3a5c;--gold: #e8c84a;--red: #c41e1e;--green: #15803d;--blue: #2563eb;--amber: #b45309}html,body,#root{height:100%;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:14px;color:var(--text);background:var(--bg)}h1,h2,h3,label,th,.form-label,.section-title,.page-title,.stat-label,.sidebar-link,.sidebar-logo,.login-header,.login-subtitle,.login-classification,.login-button,.btn,.tag-badge,.status-badge,.priority-badge,.role-badge,.report-type-badge,.activity-badge,.milestone-badge{font-family:Courier New,monospace;text-transform:uppercase;letter-spacing:.1em}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;font-family:Courier New,monospace;font-size:1.1rem;color:var(--text-dim);letter-spacing:.15em}.page-loading{padding:60px;text-align:center;font-family:Courier New,monospace;color:var(--text-dim);letter-spacing:.1em}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.login-card{width:420px;background:var(--surface);border:2px solid var(--border);border-radius:0}.login-header{background:var(--navy);padding:24px;text-align:center}.login-logo{color:#fff;font-size:1.4rem;font-weight:700;letter-spacing:.15em}.login-subtitle{color:#fff9;font-size:.7rem;margin-top:4px;letter-spacing:.2em}.login-classification{background:var(--gold);color:var(--navy);text-align:center;padding:6px;font-size:.65rem;font-weight:700;letter-spacing:.15em}.login-form{padding:28px}.login-error{background:#fef2f2;border-left:4px solid var(--red);padding:10px 14px;margin-bottom:16px;color:var(--red);font-family:Courier New,monospace;font-size:.8rem}.login-button{width:100%;padding:14px;background:var(--navy);color:#fff;border:2px solid var(--navy);border-radius:0;font-size:.85rem;font-weight:700;cursor:pointer;letter-spacing:.15em}.login-button:hover{background:#143252}.login-button:disabled{opacity:.6;cursor:not-allowed}.human-check-box{display:flex;align-items:center;gap:12px;padding:12px 14px;border:2px solid var(--border);background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:4px;transition:border-color .2s}.human-check-box:hover:not(.human-verified){border-color:var(--navy)}.human-verified{border-color:#15803d;cursor:default}.human-checkbox{width:22px;height:22px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff;transition:border-color .2s,background .2s}.human-checkbox-checked{border-color:#15803d;background:#15803d}.human-checkmark{color:#fff;font-size:14px;font-weight:700;line-height:1}.human-spinner{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--navy);animation:human-spin .6s linear infinite}@keyframes human-spin{to{transform:rotate(360deg)}}.human-label{font-family:Courier New,monospace;font-size:.7rem;letter-spacing:.1em;color:var(--text-dim)}.human-verified .human-label{color:#15803d}.login-footer{text-align:center;padding:14px;border-top:1px solid var(--border-inner);color:var(--text-dim);font-family:Courier New,monospace;font-size:.65rem;letter-spacing:.1em}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:220px;min-width:220px;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;height:100vh;overflow-y:auto}.sidebar-logo{padding:20px 16px;font-size:1rem;font-weight:700;letter-spacing:.12em;display:flex;align-items:center;gap:8px}.sidebar-logo-icon{color:var(--sidebar-gold);font-size:1.2rem}.sidebar-divider{height:1px;background:#ffffff1a;margin:0 12px}.sidebar-nav{flex:1;padding:8px 0;overflow-y:auto}.sidebar-link{display:block;padding:10px 16px;color:#ffffffb3;text-decoration:none;font-size:.75rem;font-weight:600;letter-spacing:.12em;border-left:3px solid transparent}.sidebar-link:hover{background:var(--sidebar-active);color:#fff}.sidebar-link.active{background:var(--sidebar-active);color:#fff;border-left-color:var(--sidebar-gold)}.sidebar-bottom{padding:12px 16px 16px}.sidebar-clock{font-family:Courier New,monospace;font-size:.7rem;color:#ffffff80;text-align:center;margin:10px 0;letter-spacing:.08em}.sidebar-operator{text-align:center;margin-bottom:10px}.sidebar-operator-name{font-family:Courier New,monospace;font-size:.75rem;font-weight:700;letter-spacing:.1em}.sidebar-operator-role{font-family:Courier New,monospace;font-size:.6rem;color:var(--sidebar-gold);letter-spacing:.15em;margin-top:2px}.sidebar-logout{width:100%;padding:8px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:0;color:#fff9;font-family:Courier New,monospace;font-size:.7rem;font-weight:600;letter-spacing:.12em;cursor:pointer}.sidebar-logout:hover{background:#ffffff1a;color:#fff}.main-content{flex:1;overflow-y:auto;padding:0;position:relative}.font-size-controls{position:fixed;top:10px;right:16px;display:flex;align-items:center;gap:4px;z-index:200;background:var(--surface);border:1px solid var(--border);padding:3px 6px}.font-size-btn{background:none;border:none;font-family:Courier New,monospace;font-size:.8rem;font-weight:700;color:var(--navy);cursor:pointer;padding:2px 6px;letter-spacing:.05em;line-height:1}.font-size-btn:hover:not(:disabled){background:var(--navy);color:#fff}.font-size-btn:disabled{color:var(--text-dim);cursor:default}.font-size-label{font-family:Courier New,monospace;font-size:.7rem;color:var(--text-dim);min-width:28px;text-align:center;letter-spacing:.05em}.page{padding:28px 32px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}.page-title{font-size:1.1rem;font-weight:700;color:var(--text)}.feedback-bar{display:flex;align-items:center;justify-content:space-between;padding:13px 24px;font-family:Courier New,monospace;font-size:.9rem;font-weight:700;letter-spacing:.08em}.feedback-success{background:#dcfce7;color:#15803d;border-bottom:3px solid #15803d}.feedback-error{background:#fef2f2;color:var(--red);border-bottom:3px solid var(--red)}.feedback-close{background:none;border:none;color:inherit;font-size:1.2rem;cursor:pointer;padding:0 4px}.stat-row{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.stat-box{flex:1;min-width:120px;padding:16px;text-align:center;border:2px solid var(--border)}.stat-value{font-family:Courier New,monospace;font-size:2rem;font-weight:700;line-height:1}.stat-label{font-size:.6rem;margin-top:6px;font-weight:700}.stat-total{background:var(--navy);color:#fff;border-color:var(--navy)}.stat-open{background:var(--blue);color:#fff;border-color:var(--blue)}.stat-progress{background:var(--amber);color:#fff;border-color:var(--amber)}.stat-submitted{background:#7c3aed;color:#fff;border-color:#7c3aed}.stat-done{background:var(--green);color:#fff;border-color:var(--green)}.stat-overdue{background:var(--red);color:#fff;border-color:var(--red)}.btn{display:inline-block;padding:8px 16px;background:var(--surface);color:var(--text);border:2px solid var(--border);border-radius:0;font-size:.7rem;font-weight:700;cursor:pointer;text-decoration:none;letter-spacing:.08em}.btn:hover{background:var(--elevated)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-primary:hover{background:#143252}.btn-success{background:var(--green);color:#fff;border-color:var(--green)}.btn-danger{background:var(--red);color:#fff;border-color:var(--red)}.btn-sm{padding:4px 10px;font-size:.65rem}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:2px 6px;color:var(--text-dim)}.btn-icon:hover{color:var(--text)}.btn-danger-icon:hover{color:var(--red)}.form-group{margin-bottom:14px}.form-label{display:block;font-size:.65rem;font-weight:700;color:var(--text-secondary);margin-bottom:4px}.form-input,.form-select,.form-textarea{width:100%;padding:8px 12px;background:var(--elevated);border:2px solid var(--border);border-radius:0;font-family:inherit;font-size:.85rem;color:var(--text)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--navy)}.form-textarea{resize:vertical;min-height:60px}.form-row{display:flex;gap:12px;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:150px}.sched-datetime-group{display:flex;gap:4px;align-items:center}.sched-datetime-group .form-input{min-width:0}.form-actions{display:flex;gap:8px;margin-top:16px}.inline-form{padding:16px;background:var(--elevated);border:1px solid var(--border-inner);margin-bottom:16px}.inline-form-row{display:flex;gap:8px;align-items:flex-end}.inline-form-row .form-input{flex:1}.filter-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filter-search{min-width:200px;flex:1}.filter-bar .form-select{width:auto;min-width:140px}.table-container{overflow-x:auto;border:2px solid var(--border)}.data-table{width:100%;border-collapse:collapse}.data-table th{background:var(--elevated);padding:10px 12px;text-align:left;font-size:.65rem;font-weight:700;color:var(--text-secondary);border-bottom:2px solid var(--border)}.data-table td{padding:10px 12px;border-bottom:1px solid var(--border-inner);font-size:.85rem}.data-table tbody tr:hover{background:var(--elevated)}.table-link{color:var(--navy);text-decoration:none;font-weight:600}.table-link:hover{text-decoration:underline}.action-cell{display:flex;gap:4px}.text-mono{font-family:Courier New,monospace}.text-dim{color:var(--text-dim)}.text-danger{color:var(--red)}.status-badge,.priority-badge,.role-badge{display:inline-block;padding:2px 8px;font-size:.6rem;font-weight:700;border:1px solid}.status-badge{background:var(--elevated);color:var(--text-secondary);border-color:var(--border)}.status-open{background:#eff6ff;color:#1e40af;border-color:#93c5fd}.status-in_progress{background:#fff7ed;color:#9a3412;border-color:#fdba74}.status-submitted{background:#f5f3ff;color:#5b21b6;border-color:#c4b5fd}.status-done{background:#ecfdf5;color:#065f46;border-color:#6ee7b7}.status-cancelled{background:#f3f4f6;color:#374151;border-color:#9ca3af}.priority-critical{background:#fef2f2;color:var(--red);border-color:#fca5a5}.priority-high{background:#fff7ed;color:var(--amber);border-color:#fdba74}.priority-normal{background:var(--elevated);color:var(--text-secondary);border-color:var(--border)}.priority-low{background:#f3f4f6;color:var(--text-dim);border-color:#d1d5db}.role-admin{background:var(--gold);color:var(--navy);border-color:var(--gold)}.role-member{background:var(--elevated);color:var(--text-secondary);border-color:var(--border)}.tag-badge{display:inline-block;padding:2px 8px;font-family:Courier New,monospace;font-size:.6rem;font-weight:700;letter-spacing:.08em;border:1px solid;margin-right:4px;margin-bottom:2px}.tag-picker{display:flex;flex-wrap:wrap;gap:4px}.tag-pick{padding:4px 10px;font-family:Courier New,monospace;font-size:.6rem;font-weight:700;letter-spacing:.05em;border:2px solid var(--border);border-radius:0;background:var(--surface);color:var(--text-secondary);cursor:pointer}.tag-pick:hover{background:var(--elevated)}.tag-selected{background:var(--navy);color:#fff;border-color:var(--navy)}.card{background:var(--surface);border:2px solid var(--border);padding:16px;margin-bottom:12px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.card-title{font-size:.8rem;font-weight:700}.card-body{font-size:.85rem;color:var(--text-secondary);line-height:1.5}.card-meta{font-family:Courier New,monospace;font-size:.65rem;color:var(--text-dim);margin-top:8px}.card-actions{display:flex;gap:8px;margin-top:12px}.section{margin-bottom:28px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-title{font-size:.8rem;font-weight:700;color:var(--text)}.alert-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin-bottom:20px;font-family:Courier New,monospace;font-size:.75rem;font-weight:700;letter-spacing:.05em}.alert-warning{background:#fef3c7;color:var(--amber);border:2px solid var(--gold)}.alert-link{color:var(--navy);text-decoration:none;font-weight:700}.alert-link:hover{text-decoration:underline}.empty-state{padding:24px;text-align:center;color:var(--text-dim);font-family:Courier New,monospace;font-size:.8rem}.task-header{margin-bottom:24px}.task-header-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.task-title{font-size:1.3rem;font-weight:700;margin-bottom:12px;font-family:Courier New,monospace;letter-spacing:.05em}.task-meta-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.task-deadline{font-family:Courier New,monospace;font-size:.75rem;color:var(--amber);font-weight:700}.task-owner{font-family:Courier New,monospace;font-size:.75rem;color:var(--text-secondary)}.task-tags{margin-top:8px}.task-status-actions{margin-bottom:20px}.admin-note-box{background:#fffbeb;border-left:4px solid var(--gold);padding:14px 16px;margin-bottom:20px}.admin-note-label{font-family:Courier New,monospace;font-size:.65rem;font-weight:700;color:var(--amber);letter-spacing:.1em;margin-bottom:6px}.admin-note-content{font-size:.85rem;color:var(--text);line-height:1.5}.instruction-text{font-size:.85rem;color:var(--text);line-height:1.6;white-space:pre-wrap}.task-form{background:var(--elevated);border:1px solid var(--border-inner);padding:16px}.checklist{margin-bottom:8px}.checklist-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border-inner)}.checklist-sub{padding-left:32px;background:#00000004}.checklist-done .checklist-text{text-decoration:line-through;color:var(--text-dim)}.checklist-check{width:18px;height:18px;cursor:pointer;accent-color:var(--green)}.checklist-text{flex:1;font-size:.85rem}.checklist-item-acts{display:flex;gap:2px;opacity:0;transition:opacity .15s}.checklist-item:hover .checklist-item-acts,.checklist-header:hover .checklist-item-acts{opacity:1}.checklist-group{margin-top:6px}.checklist-group:first-child{margin-top:0}.checklist-header{display:flex;align-items:center;gap:8px;padding:10px 12px 6px;font-family:Courier New,monospace;font-size:.75rem;font-weight:700;letter-spacing:.08em;color:var(--navy);border-bottom:2px solid var(--border)}.checklist-header-done{color:var(--text-dim)}.checklist-header-done .checklist-header-text{text-decoration:line-through}.checklist-header-icon{font-size:.8rem}.checklist-header-text{flex:1}.checklist-header-count{font-size:.65rem;color:var(--text-dim);font-weight:400}.checklist-add-form{flex-direction:column;gap:8px}.checklist-add-controls{display:flex;align-items:center;gap:10px}.checklist-add-row{display:flex;gap:8px}.checklist-add-row .form-input{flex:1}.checklist-type-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-family:Courier New,monospace;font-size:.65rem;letter-spacing:.08em;color:var(--text-dim)}.checklist-type-toggle input{width:14px;height:14px;cursor:pointer}.progress-bar-container{height:6px;background:var(--border);margin-bottom:12px}.progress-bar{height:100%;background:var(--green)}.file-list{border:1px solid var(--border-inner)}.file-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border-inner)}.file-item:last-child{border-bottom:none}.file-link{color:var(--blue);text-decoration:none;font-size:.85rem}.file-link:hover{text-decoration:underline}.report-actions{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.report-form{background:var(--elevated);border:2px solid var(--border);padding:16px;margin-bottom:16px}.report-form-header{display:flex;align-items:center;justify-content:space-between;font-family:Courier New,monospace;font-size:.8rem;font-weight:700;margin-bottom:12px;letter-spacing:.1em}.report-timeline{border:1px solid var(--border-inner)}.report-entry{padding:14px 16px;border-bottom:1px solid var(--border-inner)}.report-entry:last-child{border-bottom:none}.report-header{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.report-type-badge{display:inline-block;padding:2px 8px;font-size:.6rem;font-weight:700;border:1px solid}.report-type-update{background:#eff6ff;color:#1e40af;border-color:#93c5fd}.report-type-problem{background:#fef2f2;color:var(--red);border-color:#fca5a5}.report-type-clarification{background:#fff7ed;color:var(--amber);border-color:#fdba74}.report-type-result{background:#ecfdf5;color:var(--green);border-color:#6ee7b7}.report-author{font-weight:600;font-size:.8rem}.report-date{font-family:Courier New,monospace;font-size:.7rem;color:var(--text-dim)}.report-status-badge{padding:2px 6px;font-size:.55rem;font-weight:700;border:1px solid}.report-admin-pending{background:#fef3c7;color:var(--amber);border-color:var(--gold)}.report-admin-approved{background:#ecfdf5;color:var(--green);border-color:#6ee7b7}.report-admin-rejected{background:#fef2f2;color:var(--red);border-color:#fca5a5}.report-body{font-size:.85rem;line-height:1.5;color:var(--text)}.report-link{display:inline-block;margin-top:6px;color:var(--blue);font-family:Courier New,monospace;font-size:.7rem;text-decoration:none;letter-spacing:.05em}.report-link:hover{text-decoration:underline}.report-admin-response{margin-top:10px;padding:10px;background:var(--elevated);border-left:3px solid var(--navy);font-size:.85rem}.report-review-actions{display:flex;gap:8px;margin-top:10px}.report-list .report-card{margin-bottom:12px}.milestone-track{border:2px solid var(--border)}.milestone-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border-inner)}.milestone-item:last-child{border-bottom:none}.milestone-marker{width:12px;height:12px;border:2px solid var(--border);background:var(--surface);flex-shrink:0}.milestone-in_progress .milestone-marker{background:var(--amber);border-color:var(--amber)}.milestone-completed .milestone-marker{background:var(--green);border-color:var(--green)}.milestone-info{flex:1}.milestone-name{font-family:Courier New,monospace;font-size:.8rem;font-weight:700;letter-spacing:.05em}.milestone-date{font-family:Courier New,monospace;font-size:.7rem;color:var(--text-dim);margin-top:2px}.milestone-badge{font-size:.55rem;padding:2px 8px;font-weight:700;border:1px solid}.badge-upcoming{background:var(--elevated);color:var(--text-dim);border-color:var(--border)}.badge-in_progress{background:#fff7ed;color:var(--amber);border-color:#fdba74}.badge-completed{background:#ecfdf5;color:var(--green);border-color:#6ee7b7}.milestone-desc-text{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.row-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.milestone-item:hover .row-actions,.milestone-edit-row:hover .row-actions{opacity:1}.milestone-edit-row{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border-inner);background:var(--elevated);flex-wrap:wrap}.editing-row{background:var(--elevated)}.edit-actions{display:flex;gap:6px;align-items:center}.form-input-sm,.form-select-sm{padding:4px 8px;font-size:.8rem;height:auto}.section-sub-title{font-family:Courier New,monospace;font-size:.65rem;font-weight:700;letter-spacing:.12em;color:var(--text-dim);padding:10px 0 6px;text-transform:uppercase}.deadline-list{border:2px solid var(--border)}.deadline-item{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border-inner)}.deadline-item:last-child{border-bottom:none}.deadline-countdown{font-family:Courier New,monospace;font-size:1rem;font-weight:700;color:var(--navy);min-width:70px;text-align:center}.deadline-info{flex:1}.deadline-title{font-family:Courier New,monospace;font-size:.8rem;font-weight:700;letter-spacing:.05em}.deadline-desc{font-size:.8rem;color:var(--text-secondary);margin-top:2px}.deadline-date{font-family:Courier New,monospace;font-size:.7rem;color:var(--text-dim);margin-top:2px}.save-confirm-banner{background:#dcfce7;color:#15803d;border:2px solid #15803d;padding:12px 20px;font-family:Courier New,monospace;font-size:.9rem;font-weight:700;letter-spacing:.1em;margin-bottom:16px;display:flex;align-items:center;gap:8px}.unsaved-banner{background:#fffbeb;color:#b45309;border:2px solid #f59e0b;padding:10px 20px;font-family:Courier New,monospace;font-size:.8rem;font-weight:700;letter-spacing:.08em;margin-bottom:16px}.btn-save-primary{background:var(--navy);color:#fff;border:2px solid var(--navy);font-weight:700;animation:pulse-save 1.5s ease-in-out infinite}.btn-save-primary:hover{background:#0f2a45;border-color:#0f2a45}.btn-saved{background:#ecfdf5;color:#15803d;border:2px solid #15803d;font-weight:700}@keyframes pulse-save{0%,to{box-shadow:0 0 #1a3a5c66}50%{box-shadow:0 0 0 5px #1a3a5c00}}.avail-actions{display:flex;gap:8px;margin-bottom:16px;align-items:center}.availability-grid{border:2px solid var(--border);overflow-x:auto}.avail-header{display:flex;background:var(--elevated);border-bottom:2px solid var(--border)}.avail-day-label{flex:1;text-align:center;padding:12px 4px;font-family:Courier New,monospace;font-size:.8rem;font-weight:700;letter-spacing:.1em;color:var(--text-secondary);min-width:100px}.avail-row{display:flex;border-bottom:1px solid var(--border-inner)}.avail-hour-label{width:70px;min-width:70px;padding:8px 12px;font-family:Courier New,monospace;font-size:.8rem;color:var(--text-dim);display:flex;align-items:center;background:var(--elevated);border-right:1px solid var(--border-inner)}.avail-cell{flex:1;min-width:100px;min-height:38px;border-right:1px solid var(--border-inner);cursor:default}.avail-cell:last-child{border-right:none}.avail-active{background:#15803d!important}.avail-clickable{cursor:pointer}.avail-edit-mode .avail-clickable:hover{background:#e8f5e9}.avail-view-mode .avail-cell{opacity:.92}.avail-view-hint{margin-top:12px;font-size:.75rem;color:var(--text-dim);font-family:Courier New,monospace;letter-spacing:.05em}.mini-schedule{border:2px solid var(--border);background:var(--surface);padding:12px 14px 10px;overflow-x:auto;transition:all .15s}.mini-expanded{border-color:var(--navy)}.mini-sch-top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mini-sch-title{font-size:.65rem;font-family:Courier New,monospace;letter-spacing:.1em;color:var(--text-dim)}.mini-sch-header-row{display:flex;margin-bottom:2px}.mini-sch-corner{width:28px;flex-shrink:0}.mini-expanded .mini-sch-corner{width:42px}.mini-sch-day-hdr{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding-bottom:4px;min-width:32px}.mini-today-hdr{background:#1a3a5c12}.mini-sch-dname{font-size:.6rem;font-family:Courier New,monospace;letter-spacing:.05em;color:var(--navy);font-weight:700}.mini-expanded .mini-sch-dname{font-size:.7rem}.mini-sch-ddate{font-size:.55rem;color:var(--text-dim);font-family:Courier New,monospace}.mini-hdr-dot{width:6px;height:6px;border-radius:50%;margin-top:1px}.mini-sch-body{display:flex}.mini-sch-body-scroll{max-height:340px;overflow-y:auto;scroll-behavior:smooth}.mini-sch-hlabels{width:28px;flex-shrink:0;display:flex;flex-direction:column;position:sticky;left:0}.mini-expanded .mini-sch-hlabels{width:42px}.mini-sch-hlbl{font-size:.5rem;font-family:Courier New,monospace;color:var(--text-dim);text-align:right;padding-right:3px;display:flex;align-items:center;justify-content:flex-end}.mini-expanded .mini-sch-hlbl{font-size:.6rem}.mini-sch-dcol{flex:1;display:flex;flex-direction:column;min-width:32px;position:relative}.mini-sch-cell{border:1px solid transparent;background:#f0f0f0}.mini-sch-cell+.mini-sch-cell{border-top:none}.mini-expanded .mini-sch-cell{border-color:#0000000a}.mini-avail{background:#15803d38;border-color:#15803d26}.mini-now-line{position:absolute;left:0;right:0;height:2px;background:#2563eb;z-index:2;pointer-events:none;box-shadow:0 0 4px #2563eb80}.mini-now-line:before{content:"";position:absolute;left:-3px;top:-3px;width:8px;height:8px;background:#2563eb;border-radius:50%}.mini-sch-chips-row{display:flex;margin-top:4px}.mini-sch-chip-col{flex:1;display:flex;flex-direction:column;gap:2px;min-width:32px;align-items:center}.mini-task-chip{font-size:.5rem;font-family:Courier New,monospace;letter-spacing:.03em;border:1px solid currentColor;padding:1px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;cursor:default}.mini-expanded .mini-task-chip{font-size:.6rem;padding:2px 5px}.mini-chip-more{color:var(--text-dim);border-color:var(--border)}.mini-sch-legend{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}.mini-leg-item{font-size:.55rem;font-family:Courier New,monospace;letter-spacing:.05em;color:var(--text-dim)}.mini-leg-avail{color:#15803d}.mini-leg-now{color:#2563eb}.team-availability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.member-availability-card{border:2px solid var(--border);background:var(--surface);overflow:hidden}.member-avail-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--elevated);border-bottom:2px solid var(--border)}.member-avail-name{font-family:Courier New,monospace;font-size:.75rem;font-weight:700;letter-spacing:.08em}.member-avail-hours{font-family:Courier New,monospace;font-size:.7rem;color:var(--green);font-weight:700}.mini-grid{padding:0}.mini-grid-header{display:flex;background:var(--elevated);border-bottom:1px solid var(--border-inner)}.mini-grid-label{width:32px;min-width:32px}.mini-grid-day{flex:1;font-family:Courier New,monospace;font-size:.5rem;font-weight:700;text-align:center;color:var(--text-secondary);padding:5px 1px;letter-spacing:.05em}.mini-grid-row{display:flex;align-items:center;border-bottom:1px solid var(--border-inner)}.mini-grid-row:last-child{border-bottom:none}.mini-grid-hour{width:32px;min-width:32px;font-family:Courier New,monospace;font-size:.55rem;color:var(--text-dim);padding:2px 4px;background:var(--elevated);border-right:1px solid var(--border-inner);text-align:center}.mini-grid-cell{flex:1;height:14px;background:var(--surface);border-right:1px solid var(--border-inner)}.mini-grid-cell:last-child{border-right:none}.common-hours-grid{display:flex;flex-wrap:wrap;gap:8px}.common-hour-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ecfdf5;border:2px solid #6ee7b7}.common-hour-check{font-size:1.2rem;color:var(--green);font-weight:700}.common-hour-info{flex:1}.common-hour-day{font-family:Courier New,monospace;font-size:.8rem;font-weight:700;color:var(--green);letter-spacing:.1em}.common-hour-time{font-family:Courier New,monospace;font-size:.75rem;color:#065f46;margin-top:2px}.common-hour-badge{font-family:Courier New,monospace;font-size:.65rem;font-weight:700;padding:3px 8px;background:var(--green);color:#fff;border:2px solid var(--green)}.common-empty{text-align:center;padding:32px 16px;background:var(--elevated);border:2px solid var(--border)}.common-empty-icon{font-size:2rem;color:var(--text-dim);margin-bottom:8px}.common-empty-text{font-family:Courier New,monospace;font-size:.8rem;font-weight:700;color:var(--text-secondary);letter-spacing:.05em}.common-empty-hint{font-size:.8rem;color:var(--text-dim);margin-top:6px}.ignored-notice{padding:6px 12px;margin-bottom:10px;background:var(--elevated);border-left:3px solid var(--border);font-family:Courier New,monospace;font-size:.65rem;color:var(--text-dim);letter-spacing:.05em}.common-hours-table tbody tr{background:#f0fdf4}.common-hours-table tbody tr:hover{background:#dcfce7!important}.member-chip{display:inline-block;padding:2px 8px;background:#ecfdf5;color:var(--green);border:1px solid #6ee7b7;font-family:Courier New,monospace;font-size:.65rem;font-weight:700;margin-right:4px}.mini-cell-available{background:var(--green)}.activity-list{border:2px solid var(--border)}.activity-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border-inner)}.activity-item:last-child{border-bottom:none}.activity-time{font-family:Courier New,monospace;font-size:.7rem;color:var(--text-dim);min-width:140px}.activity-user{font-weight:600;font-size:.8rem;min-width:100px}.activity-badge{display:inline-block;padding:2px 8px;font-size:.55rem;font-weight:700;border:1px solid var(--border);background:var(--elevated)}.activity-task{border-color:#93c5fd;background:#eff6ff;color:#1e40af}.activity-user{border-color:#c4b5fd;background:#f5f3ff;color:#5b21b6}.activity-report{border-color:#6ee7b7;background:#ecfdf5;color:#065f46}.activity-availability{border-color:#fdba74;background:#fff7ed;color:#9a3412}.activity-detail{font-size:.8rem;color:var(--text-secondary);flex:1}.notes-editor{width:100%;min-height:500px;padding:16px;background:var(--surface);border:2px solid var(--border);border-radius:0;font-family:Courier New,monospace;font-size:.85rem;line-height:1.6;color:var(--text);resize:vertical}.notes-editor:focus{outline:none;border-color:var(--navy)}.profile-info{padding:8px 0}.profile-row{display:flex;padding:10px 0;border-bottom:1px solid var(--border-inner);gap:16px}.profile-row:last-child{border-bottom:none}.profile-label{font-family:Courier New,monospace;font-size:.7rem;font-weight:700;color:var(--text-secondary);min-width:140px;letter-spacing:.08em}.task-cards{display:flex;flex-direction:column;gap:8px}.task-card-link{text-decoration:none;color:inherit}.task-card{background:var(--surface);border:2px solid var(--border);padding:14px 16px}.task-card:hover{background:var(--elevated)}.task-card-header{display:flex;gap:8px;align-items:center;margin-bottom:6px}.task-card-title{font-family:Courier New,monospace;font-size:.85rem;font-weight:700;letter-spacing:.03em}.task-card-deadline{font-family:Courier New,monospace;font-size:.7rem;color:var(--amber);margin-top:4px}.task-card-tags{margin-top:6px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--surface);border:2px solid var(--border);padding:24px;min-width:400px;max-width:600px}.modal-title{font-size:.85rem;font-weight:700;margin-bottom:16px}.msg-perms-list{display:flex;flex-direction:column;gap:6px;max-height:250px;overflow-y:auto;margin-bottom:16px;padding:8px;border:1px solid var(--border-inner);background:var(--bg)}.msg-perm-item{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.8rem;padding:4px 0}.msg-perm-item input[type=checkbox]{width:16px;height:16px;cursor:pointer}.announcement-card .card-title{color:var(--navy)}.announcement-emergency{border:2px solid var(--red)!important;background:#fff5f5!important;animation:emergency-pulse 2s ease-in-out infinite}.announcement-emergency .card-title,.announcement-emergency .card-body{color:#7f1d1d}@keyframes emergency-pulse{0%,to{box-shadow:0 0 #c41e1e4d}50%{box-shadow:0 0 0 6px #c41e1e00}}.emergency-tag{display:inline-block;background:var(--red);color:#fff;font-family:Courier New,monospace;font-size:.6rem;font-weight:700;letter-spacing:.1em;padding:2px 8px;margin-right:8px}.btn-emergency{background:var(--red);color:#fff;border:2px solid var(--red);font-weight:700}.btn-emergency:hover{background:#a11515;border-color:#a11515}.urgent-toggle{display:flex;align-items:center;gap:8px;font-family:Courier New,monospace;font-size:.75rem;letter-spacing:.05em;cursor:pointer;padding:8px 12px;border:2px solid var(--border);color:var(--text-secondary);-webkit-user-select:none;user-select:none}.urgent-toggle input{cursor:pointer}.urgent-toggle-on{border-color:var(--red);color:var(--red);background:#fff5f5}.role-chip{color:var(--gold);font-size:.8em}.team-status-layout{display:grid;grid-template-columns:260px 1fr;gap:16px;height:calc(100vh - 140px);min-height:500px}.team-status-left{display:flex;flex-direction:column;overflow-y:auto}.presence-list{border:2px solid var(--border)}.presence-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border-inner);cursor:pointer}.presence-item:last-child{border-bottom:none}.presence-item:hover{background:var(--elevated)}.presence-active{background:var(--elevated);border-left:3px solid var(--navy)}.presence-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.presence-online{background:var(--green)}.presence-offline{background:var(--border)}.presence-info{flex:1}.presence-name{font-family:Courier New,monospace;font-size:.75rem;font-weight:700;letter-spacing:.05em}.presence-status{font-family:Courier New,monospace;font-size:.6rem;color:var(--text-dim);margin-top:1px}.presence-unread{background:var(--red);color:#fff;font-family:Courier New,monospace;font-size:.65rem;font-weight:700;padding:1px 6px;min-width:20px;text-align:center}.login-log{border:2px solid var(--border);flex:1;overflow-y:auto}.login-log-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--border-inner);font-size:.75rem}.login-log-item:last-child{border-bottom:none}.login-log-badge{font-family:Courier New,monospace;font-size:.55rem;font-weight:700;padding:1px 6px;border:1px solid;min-width:28px;text-align:center}.badge-login{background:#ecfdf5;color:var(--green);border-color:#6ee7b7}.badge-logout{background:var(--elevated);color:var(--text-dim);border-color:var(--border)}.login-log-user{font-weight:600;flex:1}.login-log-time{font-family:Courier New,monospace;font-size:.65rem;color:var(--text-dim)}.inbox-page{display:flex;height:calc(100vh - 60px);overflow:hidden}.inbox-sidebar{width:320px;min-width:260px;border-right:2px solid var(--border);display:flex;flex-direction:column;background:var(--surface)}.inbox-sidebar-header{padding:14px 16px 8px}.inbox-sidebar-title{font-size:.8rem;font-family:Courier New,monospace;letter-spacing:.1em}.inbox-search{padding:0 12px 10px}.inbox-search-input{font-size:.75rem;padding:6px 10px}.inbox-contact-list{flex:1;overflow-y:auto}.inbox-contact{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border-inner);transition:background .1s}.inbox-contact:hover{background:var(--elevated)}.inbox-contact-active{background:#1a3a5c14;border-left:3px solid var(--navy)}.inbox-avatar{width:38px;height:38px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Courier New,monospace;font-weight:700;font-size:.9rem;flex-shrink:0;position:relative;border-radius:50%}.inbox-avatar-sm{width:32px;height:32px;font-size:.8rem}.inbox-dot{position:absolute;bottom:0;right:0;width:10px;height:10px;border:2px solid var(--surface);border-radius:50%}.dot-on{background:#16a34a}.dot-off{background:#9ca3af}.inbox-contact-info{flex:1;min-width:0}.inbox-contact-name{font-family:Courier New,monospace;font-size:.75rem;font-weight:700;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-star{color:var(--gold);margin-left:4px;font-size:.7rem}.inbox-preview{font-size:.65rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.inbox-you{color:var(--navy);font-weight:600}.inbox-typing-text{color:#16a34a;font-style:italic}.inbox-no-msg{font-style:italic;opacity:.5}.inbox-contact-end{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.inbox-time{font-family:Courier New,monospace;font-size:.55rem;color:var(--text-dim)}.inbox-badge{background:var(--navy);color:#fff;font-family:Courier New,monospace;font-size:.6rem;font-weight:700;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 5px;border-radius:9px}.inbox-empty{padding:30px;text-align:center;color:var(--text-dim);font-size:.75rem}.inbox-chat{flex:1;display:flex;flex-direction:column;background:#f5f6f8;position:relative}.inbox-no-chat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-dim);gap:8px}.inbox-no-chat-icon{font-size:3rem;opacity:.3}.inbox-chat-header{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--surface);border-bottom:2px solid var(--border)}.inbox-chat-hinfo{flex:1}.inbox-chat-hname{font-family:Courier New,monospace;font-size:.8rem;font-weight:700;letter-spacing:.05em}.inbox-chat-hstatus{font-family:Courier New,monospace;font-size:.6rem;color:var(--text-dim)}.inbox-messages{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:3px}.inbox-date-sep{text-align:center;margin:12px 0 8px}.inbox-date-lbl{font-family:Courier New,monospace;font-size:.6rem;color:var(--text-dim);background:#e9ecef;padding:3px 12px;letter-spacing:.05em}.inbox-msg{display:flex;align-items:flex-end;gap:4px;max-width:75%;margin-bottom:2px}.msg-mine{align-self:flex-end;flex-direction:row-reverse}.msg-theirs{align-self:flex-start}.inbox-bubble{padding:7px 11px 4px;font-size:.82rem;line-height:1.45;max-width:100%;word-wrap:break-word}.bbl-mine{background:var(--navy);color:#fff}.bbl-theirs{background:var(--surface);color:var(--text);border:1px solid var(--border)}.inbox-reply-q{padding:4px 8px;margin-bottom:4px;border-left:3px solid var(--gold);font-size:.7rem;opacity:.85}.bbl-mine .inbox-reply-q{background:#ffffff1f}.bbl-theirs .inbox-reply-q{background:#0000000a}.inbox-reply-who{font-weight:700;font-size:.6rem;margin-bottom:1px}.inbox-reply-txt{opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.inbox-file{display:flex;align-items:center;gap:6px;padding:5px 8px;margin-bottom:4px;text-decoration:none;border:1px solid rgba(255,255,255,.2)}.bbl-theirs .inbox-file{border-color:var(--border)}.inbox-file-ico{font-size:1.2rem}.inbox-file-nm{font-family:Courier New,monospace;font-size:.7rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.bbl-mine .inbox-file-nm{color:#fff}.bbl-theirs .inbox-file-nm{color:var(--navy)}.inbox-txt{white-space:pre-wrap}.inbox-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:2px}.inbox-meta-time{font-family:Courier New,monospace;font-size:.55rem;opacity:.6}.inbox-tick{font-size:.7rem;opacity:.5}.tick-read{opacity:1;color:#38bdf8}.bbl-theirs .inbox-meta-time{color:var(--text-dim)}.inbox-msg-acts{display:flex;gap:2px;opacity:0;transition:opacity .15s}.inbox-msg:hover .inbox-msg-acts{opacity:1}.inbox-act-btn{background:none;border:none;cursor:pointer;font-size:.85rem;padding:2px 4px;color:var(--text-dim)}.inbox-act-btn:hover{color:var(--navy)}.inbox-act-del:hover{color:var(--red)}.inbox-typing-bbl{padding:10px 16px}.typing-dots{display:flex;gap:4px}.typing-dots span{width:6px;height:6px;background:var(--text-dim);border-radius:50%;animation:tdot 1.2s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes tdot{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.inbox-scroll-btn{position:absolute;bottom:80px;right:20px;width:36px;height:36px;background:var(--navy);color:#fff;border:none;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:5}.inbox-reply-bar{display:flex;align-items:center;padding:6px 14px;background:var(--elevated);border-top:1px solid var(--border-inner);gap:10px}.inbox-reply-bar-body{flex:1;min-width:0;border-left:3px solid var(--gold);padding-left:8px}.inbox-reply-bar-who{font-family:Courier New,monospace;font-size:.65rem;font-weight:700;color:var(--navy)}.inbox-reply-bar-txt{font-size:.7rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-reply-bar-x{background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--text-dim);padding:4px}.inbox-file-bar{display:flex;gap:6px;padding:6px 14px;background:var(--elevated);border-top:1px solid var(--border-inner);align-items:center}.inbox-file-bar-x{background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--text-dim)}.inbox-input-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface);border-top:2px solid var(--border)}.inbox-attach{background:none;border:none;cursor:pointer;font-size:1.3rem;padding:4px;color:var(--text-dim)}.inbox-attach:hover,.inbox-attach-on{color:var(--navy)}.inbox-text-input{flex:1;border:2px solid var(--border);padding:8px 12px;font-size:.82rem;font-family:inherit;background:var(--bg);outline:none}.inbox-text-input:focus{border-color:var(--navy)}.inbox-send{background:var(--navy);color:#fff;border:none;cursor:pointer;padding:8px 14px;font-size:1rem}.inbox-send:disabled{opacity:.4;cursor:not-allowed}.inbox-send:not(:disabled):hover{background:#143252}.dm-panel{display:flex;flex-direction:column;border:2px solid var(--border);background:var(--surface);overflow:hidden;min-height:400px}.dm-empty{flex:1;display:flex;align-items:center;justify-content:center}.dm-empty-text{font-family:Courier New,monospace;font-size:.8rem;color:var(--text-dim);letter-spacing:.1em}.dm-header{padding:12px 16px;background:var(--elevated);border-bottom:2px solid var(--border);display:flex;align-items:center}.dm-header-info{display:flex;align-items:center;gap:8px}.dm-header-name{font-family:Courier New,monospace;font-size:.85rem;font-weight:700;letter-spacing:.08em}.dm-header-status{font-family:Courier New,monospace;font-size:.65rem;color:var(--text-dim)}.dm-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:#f8f9fa}.dm-no-messages{text-align:center;color:var(--text-dim);font-family:Courier New,monospace;font-size:.75rem;margin-top:40px}.dm-message{display:flex;flex-direction:column;max-width:70%}.dm-mine{align-self:flex-end;align-items:flex-end}.dm-theirs{align-self:flex-start;align-items:flex-start}.dm-bubble{padding:8px 14px;font-size:.85rem;line-height:1.4;border:2px solid}.dm-mine .dm-bubble{background:var(--navy);color:#fff;border-color:var(--navy)}.dm-theirs .dm-bubble{background:var(--surface);color:var(--text);border-color:var(--border)}.dm-meta{font-family:Courier New,monospace;font-size:.6rem;color:var(--text-dim);margin-top:3px}.dm-input-row{display:flex;gap:8px;padding:12px;border-top:2px solid var(--border);background:var(--elevated)}.dm-input{flex:1;margin-bottom:0!important}.phase-pipeline{display:flex;flex-direction:column;gap:0}.phase-card-wrapper{position:relative}.phase-connector{width:2px;height:16px;background:var(--border);margin-left:24px}.phase-card{border:2px solid var(--border);background:var(--surface);padding:16px 20px}.phase-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.phase-status-dot{width:10px;height:10px;flex-shrink:0}.phase-dot-not_started{background:var(--border)}.phase-dot-in_progress{background:var(--amber)}.phase-dot-in_review{background:var(--blue)}.phase-dot-submitted{background:#7c3aed}.phase-dot-passed{background:var(--green)}.phase-card-name{font-family:Courier New,monospace;font-size:.85rem;font-weight:700;letter-spacing:.1em;flex:1}.phase-status-badge{display:inline-block;font-family:Courier New,monospace;font-size:.6rem;font-weight:700;padding:2px 10px;letter-spacing:.1em;border:1px solid;margin-bottom:6px}.phase-badge-not_started{background:var(--elevated);color:var(--text-dim);border-color:var(--border)}.phase-badge-in_progress{background:#fff7ed;color:var(--amber);border-color:#fdba74}.phase-badge-in_review{background:#eff6ff;color:var(--blue);border-color:#93bbfd}.phase-badge-submitted{background:#f5f3ff;color:#7c3aed;border-color:#c4b5fd}.phase-badge-passed{background:#ecfdf5;color:var(--green);border-color:#6ee7b7}.phase-card-desc{font-size:.8rem;color:var(--text-secondary);margin-bottom:4px}.phase-card-deadline{font-family:Courier New,monospace;font-size:.7rem;color:var(--text-dim)}.phase-card-tasks{margin-top:8px}.phase-task-progress{font-family:Courier New,monospace;font-size:.65rem;color:var(--text-dim);margin-bottom:4px;letter-spacing:.05em}.gantt-container{overflow-x:auto}.gantt-grid{display:grid;min-width:800px}.gantt-header-cell{font-family:Courier New,monospace;font-size:.6rem;font-weight:700;letter-spacing:.05em;padding:6px 4px;text-align:center;background:var(--elevated);border-bottom:2px solid var(--border);border-right:1px solid var(--border-inner);color:var(--text-dim)}.gantt-label-col{text-align:left;padding-left:8px}.gantt-task-label{padding:6px 8px;border-bottom:1px solid var(--border-inner);border-right:1px solid var(--border);overflow:hidden}.gantt-task-name{font-family:Courier New,monospace;font-size:.65rem;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-task-owner{font-size:.55rem;color:var(--text-dim)}.gantt-cell{border-bottom:1px solid var(--border-inner);border-right:1px solid var(--border-inner);position:relative;min-height:28px}.gantt-bar{position:absolute;top:4px;bottom:4px;left:0;right:0;opacity:.85}.gantt-today-col{background:#e8c84a14}.gantt-legend{display:flex;gap:16px;margin-top:12px;font-family:Courier New,monospace;font-size:.6rem;letter-spacing:.05em;color:var(--text-dim)}.gantt-legend-item{display:flex;align-items:center;gap:6px}.gantt-legend-color{width:12px;height:8px}.doc-status-draft{background:var(--elevated);color:var(--text-dim);border:1px solid var(--border)}.doc-status-submitted{background:#eff6ff;color:var(--blue);border:1px solid #93bbfd}.doc-status-approved{background:#ecfdf5;color:var(--green);border:1px solid #6ee7b7}.doc-status-rejected,.part-status-needed{background:#fef2f2;color:var(--red);border:1px solid #fca5a5}.part-status-ordered{background:#fff7ed;color:var(--amber);border:1px solid #fdba74}.part-status-shipped{background:#eff6ff;color:var(--blue);border:1px solid #93bbfd}.part-status-received{background:#ecfdf5;color:var(--green);border:1px solid #6ee7b7}.part-status-installed{background:#f0fdf4;color:#166534;border:1px solid #86efac}.budget-bars{padding:12px 0}.budget-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.budget-bar-label{font-family:Courier New,monospace;font-size:.65rem;font-weight:700;letter-spacing:.05em;min-width:120px;text-align:right;color:var(--text-secondary)}.budget-bar-track{flex:1;height:14px;background:var(--elevated);border:1px solid var(--border-inner)}.budget-bar-fill{height:100%;background:var(--navy);transition:width .3s}.budget-bar-value{font-family:Courier New,monospace;font-size:.7rem;font-weight:700;min-width:80px;color:var(--text)}.budget-type-expense{background:#fef2f2;color:var(--red);border:1px solid #fca5a5}.budget-type-income{background:#ecfdf5;color:var(--green);border:1px solid #6ee7b7}.budget-type-teknofest_support{background:#fffbeb;color:var(--amber);border:1px solid #fdba74}.risk-level{font-family:Courier New,monospace;font-size:.6rem;font-weight:700;letter-spacing:.05em;padding:2px 6px}.risk-low{color:var(--green)}.risk-medium{color:var(--amber)}.risk-high{color:var(--red);font-weight:900}.risk-status-open{background:#fff7ed;color:var(--amber);border:1px solid #fdba74}.risk-status-mitigated{background:#eff6ff;color:var(--blue);border:1px solid #93bbfd}.risk-status-closed{background:var(--elevated);color:var(--text-dim);border:1px solid var(--border)}.submission-list{border:2px solid var(--border)}.submission-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-inner);transition:background .15s}.submission-item:last-child{border-bottom:none}.submission-item:hover{background:var(--elevated)}.submission-check{width:22px;height:22px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8rem;font-weight:700;color:#fff}.submission-checked{background:var(--green);border-color:var(--green)}.submission-text{flex:1;font-size:.85rem}.submission-done .submission-text{text-decoration:line-through;color:var(--text-dim)}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.library-card{display:flex;align-items:stretch;border:2px solid var(--border);background:var(--surface);text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.library-card:hover{border-color:var(--navy);box-shadow:0 2px 8px #1a3a5c1f}.library-icon{display:flex;align-items:center;justify-content:center;width:56px;min-height:68px;flex-shrink:0}.library-icon-emoji{font-size:1.6rem;filter:grayscale(.1)}.library-card-body{flex:1;padding:10px 12px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}.library-file-name{font-family:Courier New,monospace;font-size:.75rem;font-weight:700;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.library-file-meta{display:flex;gap:8px;align-items:center}.library-type-tag{font-family:Courier New,monospace;font-size:.55rem;font-weight:700;letter-spacing:.08em}.library-category{font-size:.55rem;color:var(--text-dim);letter-spacing:.05em}.library-delete{position:absolute;top:4px;right:6px;background:none;border:none;font-size:1rem;color:var(--text-dim);cursor:pointer;opacity:0;transition:opacity .15s,color .15s}.library-card:hover .library-delete{opacity:1}.library-delete:hover{color:var(--red)}.submission-hint{font-family:Courier New,monospace;font-size:.7rem;color:var(--text-dim);letter-spacing:.05em;padding:8px 0}.submission-cat-document{background:var(--navy);color:#fff}.submission-cat-video{background:#7c3aed;color:#fff}.submission-cat-safety{background:var(--red);color:#fff}.submission-cat-technical{background:var(--amber);color:#fff}.assignee-picker{display:flex;flex-wrap:wrap;gap:6px}.assignee-option{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:2px solid var(--border);background:var(--elevated);cursor:pointer;font-family:Courier New,monospace;font-size:.75rem;letter-spacing:.04em;-webkit-user-select:none;user-select:none;transition:border-color .1s,background .1s}.assignee-option:hover{border-color:var(--navy)}.assignee-option.assignee-selected{border-color:var(--navy);background:var(--navy);color:#fff}.assignee-option input[type=checkbox]{display:none}.assignee-count{font-family:Courier New,monospace;font-size:.7rem;color:var(--text-secondary);font-weight:400;text-transform:none;letter-spacing:0}.assignee-picker-sm .assignee-option{font-size:.68rem;padding:3px 7px;gap:4px}
