*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f5f6fb;color:#1f2937}.app{padding:26px;max-width:1600px;margin:auto}.top{background:white;border:1px solid #e5e7eb;border-radius:18px;padding:22px;display:flex;justify-content:space-between;gap:16px;box-shadow:0 12px 28px rgba(0,0,0,.07)}h1{margin:4px 0;font-size:34px}.top p{margin:0;color:#6b7280}.version{display:inline-block;background:#e0f2fe;color:#075985;font-weight:800;border-radius:999px;padding:6px 10px;font-size:12px}.top-actions,.actions,.toolbar,.project-panel{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}.primary{background:#0073ea;color:white}.light{background:#eef2f7;color:#334155}.danger{background:#fee2e2;color:#991b1b}.project-panel{background:white;border:1px solid #e5e7eb;border-radius:14px;padding:14px;margin-top:16px}.project-select-wrap{display:flex;align-items:center;gap:10px}.project-select-wrap label{font-weight:900}.project-panel select,.toolbar input,.toolbar select,input,select,textarea{border:1px solid #d1d5db;border-radius:10px;padding:10px;background:white}.toolbar{margin:18px 0}.toolbar input{width:480px;max-width:100%}.board{display:grid;grid-template-columns:repeat(5,minmax(240px,1fr));gap:14px;align-items:start;overflow-x:auto;padding-bottom:12px}.column{background:white;border:1px solid #e5e7eb;border-radius:16px;min-height:420px;box-shadow:0 10px 24px rgba(0,0,0,.06);overflow:hidden}.column-head{padding:14px;color:white;font-weight:900;display:flex;justify-content:space-between}.column-body{padding:12px;min-height:360px}.status-not-started .column-head{background:#9ca3af}.status-working-on-it .column-head{background:#0073ea}.status-stuck .column-head{background:#e2445c}.status-waiting-review .column-head{background:#fdab3d}.status-done .column-head{background:#00c875}.task-card{background:#fff;border:1px solid #e5e7eb;border-left:5px solid #0073ea;border-radius:14px;padding:12px;margin-bottom:10px;box-shadow:0 6px 14px rgba(0,0,0,.06);cursor:grab}.task-card.dragging{opacity:.45}.task-title{font-weight:900;border:0;background:transparent;width:100%;padding:4px 0;font-size:15px;outline:0}.meta{font-size:12px;color:#64748b;line-height:1.55}.inline-edit{display:flex;align-items:center;gap:8px;margin-top:8px}.inline-edit span{font-size:11px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.inline-edit input{flex:1;min-width:0;border:1px solid transparent;background:#f8fafc;border-radius:9px;padding:7px 9px;font-weight:800;color:#1f2937;outline:0}.inline-edit input:hover,.inline-edit input:focus{border-color:#0073ea;background:white}.card-row{display:flex;gap:8px;margin:10px 0}.card-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none!important;border:0;color:white;border-radius:999px;padding:8px 10px;font-weight:900;outline:0;max-width:150px;text-align:center}.priority-select{max-width:100px}.assignee-select{background:#a25ddc;color:white;max-width:150px;width:100%}.single-row{margin-top:8px;margin-bottom:8px}.single-row .card-select{flex:1}.not-started{background:#9ca3af}.working-on-it{background:#0073ea}.stuck{background:#e2445c}.waiting-review{background:#fdab3d}.done{background:#00c875}.low{background:#94a3b8}.medium{background:#ffcb00;color:#422006}.high{background:#fdab3d}.urgent{background:#e2445c}.card-actions{display:flex;gap:6px;flex-wrap:wrap}.small{font-size:12px;padding:7px 9px}.output{display:inline-block;margin:6px 0;color:#0073ea;font-weight:800;text-decoration:none}.modal{position:fixed;inset:0;background:rgba(15,23,42,.55);display:grid;place-items:center;padding:20px;z-index:10}.hidden{display:none!important}.modal-card{background:white;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.2);padding:20px;max-height:90vh;overflow:auto}.wide{width:min(850px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-head h2{margin:0}.x{border:0;background:transparent;font-size:32px;cursor:pointer;color:#64748b}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px;font-weight:800}.field span{font-size:13px}.field.full{grid-column:1/-1}textarea{min-height:86px;resize:vertical}.subbox{border:1px dashed #cbd5e1;background:#f8fafc;border-radius:14px;padding:14px;margin-top:14px}.settings{display:grid;grid-template-columns:260px 1fr;gap:18px}.inline-form,.field-builder{display:flex;gap:8px;flex-wrap:wrap}.dept-item,.field-item{border:1px solid #e5e7eb;border-radius:12px;padding:10px;margin-top:8px;display:flex;justify-content:space-between;gap:10px;align-items:center}.dept-item.active{background:#e0f2fe;border-color:#7dd3fc}.empty{color:#94a3b8;text-align:center;padding:20px;border:1px dashed #cbd5e1;border-radius:12px}@media(max-width:1000px){.board{grid-template-columns:repeat(5,260px)}.top{flex-direction:column}.settings{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.field.full{grid-column:auto}}

/* Safer project manager update */
.project-hint{color:#64748b;font-size:13px;font-weight:700}.muted-note{color:#64748b;margin-top:-4px}.project-card{width:min(760px,100%)}.project-add-row{margin-bottom:14px}.project-add-row input{flex:1;min-width:220px}.project-list{display:grid;gap:10px}.project-item{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#f8fafc;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.project-name{font-weight:900}.project-stats{font-size:12px;color:#64748b;margin-top:3px}.project-actions{display:flex;gap:8px;flex-wrap:wrap}.danger-confirm{background:#7f1d1d;color:#fff}.project-badge{display:inline-block;background:#e0f2fe;color:#075985;border-radius:999px;padding:3px 7px;font-weight:900;font-size:11px;margin-left:6px}@media(max-width:720px){.project-item{grid-template-columns:1fr}.project-actions{justify-content:flex-start}}

/* List view patch */
.view-switch{display:flex;align-items:center;gap:8px;margin-left:auto}.view-switch label{font-weight:900}.view-switch select{min-width:140px}.list-view{background:white;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.06);overflow:hidden}.list-scroll{overflow-x:auto}.task-table{width:100%;min-width:1180px;border-collapse:collapse}.task-table th,.task-table td{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;padding:10px;text-align:left;vertical-align:middle}.task-table th:last-child,.task-table td:last-child{border-right:0}.task-table th{background:#f8fafc;color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.task-table tr:hover td{background:#f8fafc}.table-title{border:1px solid transparent;background:transparent;font-weight:900;width:220px;max-width:100%;padding:7px;border-radius:8px;outline:0}.table-title:hover,.table-title:focus{border-color:#0073ea;background:white}.table-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none!important;border:0;color:white;border-radius:999px;padding:8px 10px;font-weight:900;outline:0;min-width:120px;text-align:center}.table-select.assignee-select{background:#a25ddc}.table-select.priority-select{min-width:90px}.table-output{color:#0073ea;font-weight:800;text-decoration:none}.empty-table td{text-align:center;color:#64748b;font-style:italic;padding:24px}.project-cell{font-weight:800;color:#334155}.list-view .card-actions{flex-wrap:nowrap}
@media(max-width:900px){.view-switch{margin-left:0}.task-table{min-width:1000px}}


/* Calendar view */
.calendar-view{background:white;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.06);overflow:hidden}.calendar-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;border-bottom:1px solid #e5e7eb}.calendar-toolbar h2{margin:0 0 0 auto;font-size:24px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));overflow-x:auto}.calendar-day-name{background:#f8fafc;color:#475569;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.04em;padding:10px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;text-align:center}.calendar-cell{min-height:145px;padding:8px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;background:white}.calendar-cell.drag-over{background:#e0f2fe;outline:2px dashed #0073ea;outline-offset:-4px}.calendar-cell.other-month{background:#f8fafc;color:#94a3b8}.calendar-date{font-weight:900;font-size:13px;margin-bottom:8px;color:#334155}.calendar-cell.other-month .calendar-date{color:#94a3b8}.calendar-task{background:#fff;border:1px solid #e5e7eb;border-left:5px solid #0073ea;border-radius:10px;padding:7px;margin-bottom:7px;box-shadow:0 4px 10px rgba(0,0,0,.06);cursor:grab;font-size:12px}.calendar-task.dragging{opacity:.45}.calendar-task-title{font-weight:900;color:#1f2937;margin-bottom:3px}.calendar-task-meta{color:#64748b;line-height:1.35}.calendar-task.not-started{border-left-color:#9ca3af}.calendar-task.working-on-it{border-left-color:#0073ea}.calendar-task.stuck{border-left-color:#e2445c}.calendar-task.waiting-review{border-left-color:#fdab3d}.calendar-task.done{border-left-color:#00c875}@media(max-width:1000px){.calendar-grid{grid-template-columns:repeat(7,170px)}.calendar-toolbar h2{margin-left:0;width:100%}}


/* Editable task details modal */
.details-edit-wrap{display:grid;gap:14px}.details-info-row{display:flex;gap:10px;flex-wrap:wrap;color:#475569;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.details-field{display:flex;flex-direction:column;gap:6px;font-weight:800}.details-field span{font-size:12px;color:#475569;text-transform:uppercase;letter-spacing:.04em}.details-field input,.details-field select,.details-field textarea{border:1px solid #d1d5db;border-radius:10px;padding:10px;background:white;outline:0}.details-field input:focus,.details-field select:focus,.details-field textarea:focus{border-color:#0073ea;box-shadow:0 0 0 3px rgba(0,115,234,.12)}.details-full{grid-column:1/-1}.details-title-input{font-size:22px!important;font-weight:900!important}.details-select{width:100%;max-width:none;text-align:left}.details-output{margin-top:0}.details-field textarea{min-height:90px;resize:vertical}@media(max-width:720px){.details-grid{grid-template-columns:1fr}.details-full{grid-column:auto}}

/* Details modal dropdown alignment patch */
.details-field select, .details-select, .details-select option{text-align:left;}

/* Modal visibility safety patch - keep modals closed by default */
.hidden,
.modal.hidden,
#taskModal.hidden,
#detailsModal.hidden,
#projectModal.hidden,
#departmentModal.hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.modal:not(.hidden) {
  display: flex !important;
  align-items: center;
  justify-content: center;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}


/* Department settings modal spacing + rename controls */
#departmentModal .modal-card.wide{width:min(980px,calc(100vw - 40px));padding:24px 26px;}
#departmentModal .modal-head{margin-bottom:22px;}
#departmentModal .settings{grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start;}
#departmentModal aside,#departmentModal .settings>section{min-width:0;}
#departmentModal h3{margin:0 0 14px;}
#departmentModal .inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:12px;}
#departmentModal .field-builder{display:grid;grid-template-columns:minmax(180px,1fr) 120px auto;gap:10px;align-items:center;margin-bottom:14px;}
#departmentModal .field-builder #fieldOptions{grid-column:1/-1;}
#departmentModal input,#departmentModal select{min-width:0;width:100%;}
#departmentModal .dept-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px;align-items:center;}
#departmentModal .dept-name-btn{border:0;background:#eef2f7;color:#334155;border-radius:10px;padding:9px 11px;font-weight:900;text-align:left;cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#departmentModal .dept-item.active .dept-name-btn{background:#dbeafe;color:#075985;}
#departmentModal .dept-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;}
#departmentModal .field-item{padding:12px;}
#departmentModal .empty{padding:22px;}
@media(max-width:820px){
  #departmentModal .settings{grid-template-columns:1fr;gap:22px;}
  #departmentModal .field-builder{grid-template-columns:1fr;}
  #departmentModal .dept-item{grid-template-columns:1fr;}
  #departmentModal .dept-actions{justify-content:flex-start;}
}


/* Add/Edit task modal spacing + auto creator UID polish */
#taskModal .modal-card.wide{width:min(920px,calc(100vw - 40px));padding:24px 26px;}
#taskModal .modal-head{margin-bottom:16px;}
#taskModal #taskForm{display:grid;gap:14px;}
#taskModal .grid{gap:12px 16px;}
#taskModal .field{gap:6px;}
#taskModal .field span{font-size:12px;}
#taskModal input,#taskModal select,#taskModal textarea{width:100%;min-width:0;padding:10px 12px;}
#taskModal textarea{min-height:78px;}
#taskModal .subbox{margin-top:0;padding:16px;border-radius:16px;}
#taskModal .subbox h3{margin:0 0 12px;font-size:18px;}
#taskModal #dynamicFields{grid-template-columns:repeat(2,minmax(0,1fr));}
#taskModal #dynamicFields .empty{grid-column:1/-1;width:100%;padding:20px;}
#taskModal .actions{justify-content:flex-start;padding-top:0;margin-top:0;}
#taskModal #creator[readonly], .details-field input[readonly]{background:#f8fafc;color:#64748b;cursor:not-allowed;}
@media(max-width:760px){
  #taskModal .modal-card.wide{width:calc(100vw - 24px);padding:20px;}
  #taskModal .grid,#taskModal #dynamicFields{grid-template-columns:1fr;}
  #taskModal .field.full,#taskModal #dynamicFields .empty{grid-column:auto;}
}

/* Department prerequisite levels */
.prereq-badge{display:block;margin:8px 0 6px;padding:7px 9px;border-radius:10px;font-size:12px;font-weight:900;line-height:1.35;word-break:break-word;}
.prereq-badge.ready{background:#dcfce7;color:#166534;border:1px solid #86efac;}
.prereq-badge.blocked{background:#fff7ed;color:#9a3412;border:1px solid #fdba74;}
#taskModal #prerequisites,.details-field .prereq-select{min-height:86px;max-height:150px;overflow:auto;}
.field-help{display:block;margin-top:4px;color:#64748b;font-size:12px;font-weight:700;line-height:1.35;}
.calendar-task .prereq-badge{font-size:10px;padding:5px 6px;margin:5px 0 0;}
.task-table .prereq-badge{min-width:150px;margin:0;}

/* Assignee helper text */
.field-hint{font-size:12px;color:#64748b;font-weight:700;margin-top:-2px;line-height:1.35}


/* Prerequisite output links */
.prereq-outputs{margin:7px 0 8px;padding:8px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:10px;}
.prereq-outputs-title{font-size:11px;font-weight:900;color:#1e3a8a;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;}
.prereq-output-links{display:flex;gap:6px;flex-wrap:wrap;}
.prereq-output-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#0073ea;color:#fff;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900;line-height:1;}
.prereq-output-link:hover{filter:brightness(.95);}
.task-table .prereq-outputs{min-width:170px;margin:6px 0 0;padding:7px;}
.task-table .prereq-outputs.table{margin-top:8px;}
.calendar-task .prereq-outputs{padding:6px;margin:5px 0 0;}
.calendar-task .prereq-outputs-title{font-size:9px;margin-bottom:4px;}
.calendar-task .prereq-output-link{font-size:10px;padding:5px 6px;}


/* Ordered prerequisite levels */
.prerequisite-level-box{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:12px;}
.prereq-level-controls{display:grid;gap:10px;margin-top:6px;}
.prereq-level-grid{display:grid;grid-template-columns:1fr;gap:10px;}
.prereq-level-grid.compact{margin-top:0;}
.prereq-level-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:end;background:white;border:1px solid #e5e7eb;border-radius:12px;padding:10px;transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease;}
.prereq-level-row.dragging{opacity:.45;}
.prereq-level-row.drag-over{border-color:#0073ea;box-shadow:0 0 0 3px rgba(0,115,234,.12);}
.prereq-drag-handle{height:38px;width:34px;border:0;border-radius:10px;background:#eef2f7;color:#64748b;font-weight:900;cursor:grab;line-height:1;align-self:end;}
.prereq-drag-handle:active{cursor:grabbing;}
.prereq-level-field{display:flex;flex-direction:column;gap:6px;font-weight:800;min-width:0;}
.prereq-level-field span{font-size:12px;color:#475569;text-transform:uppercase;letter-spacing:.04em;}
.prereq-level-select{width:100%;min-width:0;border:1px solid #d1d5db;border-radius:10px;padding:10px;background:white;font-weight:800;color:#1f2937;}
.prereq-level-select:focus{border-color:#0073ea;box-shadow:0 0 0 3px rgba(0,115,234,.12);outline:0;}
.prereq-add-btn{justify-self:start;}
.prereq-remove-btn{height:38px;}
.prereq-empty{border:1px dashed #cbd5e1;border-radius:12px;padding:12px;color:#64748b;background:#fff;text-align:center;font-weight:800;}
@media(max-width:760px){.prereq-level-row{grid-template-columns:auto 1fr}.prereq-remove-btn{grid-column:2;justify-self:start}.prereq-drag-handle{grid-row:1;}}
