:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17242d;background:#edf2f5;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #163a52;--navy-2: #24536f;--blue: #1f6f9d;--blue-soft: #e6f1f7;--border: #d7e0e5;--muted: #667985;--panel: #ffffff;--danger: #b93434;--danger-soft: #fff0f0;--warning: #a96813;--warning-soft: #fff7df;--success: #177151;--success-soft: #eaf7f1;--shadow: 0 10px 25px rgba(31, 54, 69, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#edf2f5}button,input,select,textarea{font:inherit}button{border:1px solid var(--border);border-radius:8px;background:#fff;color:#213642;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-weight:650;transition:.16s ease}button:hover:not(:disabled){border-color:#9cb2bf;background:#f7fafb}button:disabled{opacity:.55;cursor:not-allowed}button.primary{color:#fff;background:var(--blue);border-color:var(--blue)}button.primary:hover:not(:disabled){background:#175f89;border-color:#175f89}button.danger{color:#fff;background:var(--danger);border-color:var(--danger)}button.ghost-danger{background:#fff;color:var(--danger)}button.full-width{width:100%}button.push-left{margin-right:auto}.icon-button{width:34px;height:34px;padding:0;border-radius:8px}.link-button{border:0;background:none;color:var(--blue);padding:7px 0}a{color:var(--blue);text-decoration:none}input,select,textarea{width:100%;border:1px solid #cbd7de;border-radius:8px;padding:10px 11px;background:#fff;color:#17242d;outline:none}input:focus,select:focus,textarea:focus{border-color:#5c91b1;box-shadow:0 0 0 3px #1f6f9d1f}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:6px;color:#3f5663;font-size:13px;font-weight:700}fieldset{border:1px solid var(--border);border-radius:9px;padding:10px 12px 12px}legend{padding:0 5px;color:#3f5663;font-size:13px;font-weight:700}.muted{color:var(--muted)}.with-icon{display:inline-flex;align-items:center;gap:7px}.screen-centre{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 15%,#dcecf5,transparent 32%),linear-gradient(135deg,#e9f0f4,#f8fafb)}.auth-card{width:min(430px,100%);background:#fff;padding:34px;border-radius:18px;box-shadow:0 20px 60px #1b384a29;border:1px solid rgba(255,255,255,.8)}.auth-card h1{margin:12px 0 6px;font-size:27px}.auth-card>p{margin:0 0 23px;color:var(--muted)}.auth-card form{display:grid;gap:14px}.auth-logo{width:56px;height:56px;display:grid;place-items:center;border-radius:15px;background:var(--blue-soft);color:var(--blue)}.form-message{padding:10px 12px;border-radius:8px;background:#f3f6f8;color:#445e6c;font-size:14px}.app-shell{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:19px 15px;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:5px 8px 24px}.brand>div{display:flex;flex-direction:column;line-height:1.05}.brand strong{font-size:19px;letter-spacing:.04em}.brand span{font-size:12px;opacity:.75;text-transform:uppercase;letter-spacing:.08em;margin-top:5px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{justify-content:flex-start;border:0;color:#ffffffc2;background:transparent;padding:11px 12px}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff1c;color:#fff}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding:17px 8px 0;display:grid;gap:4px}.sidebar-user span{font-size:13px;font-weight:700;overflow-wrap:anywhere}.sidebar-user small{opacity:.68}.sidebar-user button{margin-top:10px;justify-content:flex-start;color:#fff;border-color:#ffffff2e;background:#ffffff0f}.workspace{min-width:0}.topbar{min-height:70px;position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 22px;background:#fffffff2;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.event-selector{display:flex;align-items:center;gap:9px;min-width:280px}.event-selector label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.event-selector select{min-width:230px}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.content{padding:25px}.page{max-width:1540px;margin:0 auto}.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.page-title h1{margin:0;font-size:29px;line-height:1.15;color:#183444}.page-title p{margin:6px 0 0;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #1d394909}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid var(--border)}.panel-head h2{margin:0;font-size:18px}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.cards{display:grid;gap:13px}.dashboard-cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.metric{min-height:119px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:17px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 2px 8px #1d394909}.metric>span{color:#556c79;font-size:13px;font-weight:750;display:flex;align-items:center;gap:7px}.metric strong{font-size:29px;color:#17384a}.metric small{color:var(--muted)}.metric.danger-metric{border-color:#e8bcbc;background:linear-gradient(180deg,#fff,#fff9f9)}.metric.danger-metric strong{color:var(--danger)}.metric.warning-metric{border-color:#ead7a9;background:linear-gradient(180deg,#fff,#fffcf3)}.metric.warning-metric strong{color:var(--warning)}.metric.success-metric{border-color:#bfdfd1;background:linear-gradient(180deg,#fff,#f8fcfa)}.metric.success-metric strong{color:var(--success)}.compact-cards .metric{min-height:101px}.filter-panel{padding:12px;margin-bottom:14px;display:grid;grid-template-columns:minmax(190px,1.4fr) repeat(3,minmax(150px,.7fr));gap:9px;align-items:center}.filter-label{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#4f6572}.event-page .filter-panel{grid-template-columns:auto minmax(180px,1.4fr) repeat(4,minmax(140px,.8fr))}.sticky-filters{position:sticky;top:82px;z-index:8;box-shadow:var(--shadow)}.table-panel{overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 13px;text-align:left;border-bottom:1px solid #e5ebef;vertical-align:top}th{font-size:11px;color:#647985;text-transform:uppercase;letter-spacing:.055em;background:#f7f9fa;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfd}.task-table{min-width:1040px}.task-table th:nth-child(1),.task-table td:nth-child(1){min-width:130px}.task-table .task-title-cell{min-width:285px;max-width:450px}.task-title-cell strong,.due-cell strong{display:block}.task-title-cell small,.due-cell small{display:block;color:var(--muted);margin-top:4px;line-height:1.35}.assignee-list{display:grid;gap:4px}.assignee-list span{display:inline-flex;align-items:center;gap:5px;color:#425d6b;font-size:13px}.status-select{min-width:135px;padding:7px 9px}.status-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:750;white-space:nowrap}.status-not-started{color:#4e6572;background:#eef2f4}.status-in-progress{color:#8a590f;background:#fff0c9}.status-completed{color:var(--success);background:#e7f5ef}.status-not-applicable{color:#6d6574;background:#f1eef3}.urgency-overdue td:first-child{box-shadow:inset 4px 0 0 var(--danger)}.urgency-overdue .due-cell strong,.urgency-overdue .due-cell small{color:var(--danger)}.urgency-red td:first-child{box-shadow:inset 4px 0 #d56543}.urgency-red .due-cell small{color:#b14e2f}.urgency-amber td:first-child{box-shadow:inset 4px 0 #d39a28}.empty-panel,.empty-state{padding:55px 25px;text-align:center;color:var(--muted)}.empty-state{min-height:65vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state h1{margin:12px 0 5px;color:#294656}.event-detail-strip{display:flex;flex-wrap:wrap;gap:10px 22px;padding:13px 16px;margin-bottom:15px;border-radius:10px;background:#eaf2f6;border:1px solid #d4e1e8;color:#3e5b6b}.event-detail-strip span,.event-detail-strip a{display:inline-flex;align-items:center;gap:7px}.event-task-panel{margin-bottom:50px}.invite-panel{padding:18px;margin-bottom:16px;display:grid;grid-template-columns:minmax(240px,.8fr) minmax(400px,1.2fr);gap:25px;align-items:center}.invite-panel h2{display:flex;align-items:center;gap:8px;margin:0}.invite-panel p{margin:6px 0 0}.inline-form{display:grid;grid-template-columns:1fr 1.2fr auto;gap:9px}.admin-mark{margin-left:8px;display:inline-flex;align-items:center;gap:4px;color:var(--blue);font-size:12px;font-weight:700}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px;background:#0c1c268f}.modal{width:min(580px,100%);max-height:calc(100vh - 44px);display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 30px 80px #08182247;overflow:hidden}.modal-wide{width:min(820px,100%)}.modal-head{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:20px}.modal-body{padding:18px;overflow:auto}.modal-actions{padding:13px 18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;background:#f9fbfc}.form-grid{display:grid;gap:14px}.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .wide{grid-column:1 / -1}.field-preview{border:1px solid var(--border);border-radius:8px;padding:10px 11px;display:flex;flex-direction:column;gap:4px;background:#f7fafb}.field-preview span{color:#566e7a;font-size:12px;font-weight:700}.assignee-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:225px;overflow:auto}.check-row{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;padding:8px;border:1px solid #e1e8ec;border-radius:8px;font-weight:650;cursor:pointer}.check-row input{grid-row:1 / 3;width:auto;align-self:center}.check-row small{font-weight:400;color:var(--muted);overflow-wrap:anywhere}.toast{position:fixed;right:22px;bottom:22px;z-index:150;max-width:440px;padding:13px 16px;border-radius:10px;color:#fff;box-shadow:0 12px 35px #0000002e;cursor:pointer}.toast-success{background:#177151}.toast-error{background:#a83232}.toast-info{background:#315e78}@media(max-width:1180px){.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.event-page .filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.event-page .filter-label{display:none}.topbar{align-items:flex-start}}@media(max-width:900px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:18px 10px}.brand{justify-content:center;padding-inline:0}.brand>div,.sidebar nav button:not(.active):after,.sidebar nav button{font-size:0}.sidebar nav button{justify-content:center;padding:12px}.sidebar nav button svg{width:21px;height:21px}.sidebar-user span,.sidebar-user small{display:none}.sidebar-user button{font-size:0;justify-content:center}.content{padding:18px}.topbar{flex-direction:column;padding:10px 15px}.topbar-actions{justify-content:flex-start}.event-selector{width:100%}.event-selector select{flex:1}.invite-panel{grid-template-columns:1fr}}@media(max-width:650px){.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0;height:64px;flex-direction:row;padding:7px 10px;z-index:50}.brand,.sidebar-user{display:none}.sidebar nav{width:100%;grid-template-columns:repeat(3,1fr);display:grid}.sidebar nav button{flex-direction:column;font-size:10px;gap:3px;padding:4px}.workspace{padding-bottom:65px}.topbar{position:relative}.topbar-actions button{font-size:0;padding:9px}.topbar-actions button svg{margin:0}.content{padding:14px}.page-title h1{font-size:24px}.dashboard-cards{grid-template-columns:1fr 1fr}.metric{min-height:105px;padding:13px}.metric strong{font-size:24px}.filter-panel,.event-page .filter-panel{position:static;grid-template-columns:1fr}.form-grid.two-col,.assignee-picker,.inline-form{grid-template-columns:1fr}.event-detail-strip{flex-direction:column}.modal-backdrop{padding:10px;align-items:end}.modal{max-height:92vh;border-radius:14px 14px 0 0}}html[data-theme=dark]{color-scheme:dark}html[data-theme=dark] body,html[data-theme=dark] .workspace{background:#0f171d;color:#dce6ec}html[data-theme=dark] .topbar,html[data-theme=dark] .panel,html[data-theme=dark] .metric,html[data-theme=dark] .modal,html[data-theme=dark] .empty-state,html[data-theme=dark] .auth-card{background:#172229;border-color:#33434d;color:#dce6ec}html[data-theme=dark] .topbar{background:#172229f5}html[data-theme=dark] .sidebar{background:#0b2737}html[data-theme=dark] button,html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea,html[data-theme=dark] fieldset{background:#111c22;border-color:#40515b;color:#e4edf2}html[data-theme=dark] button:hover:not(:disabled){background:#1c2b34;border-color:#607681}html[data-theme=dark] button.primary{background:#237eae;border-color:#237eae;color:#fff}html[data-theme=dark] .page-title h1,html[data-theme=dark] .panel-head h2,html[data-theme=dark] .metric strong,html[data-theme=dark] .empty-state h1,html[data-theme=dark] strong{color:#edf5f8}html[data-theme=dark] .muted,html[data-theme=dark] .page-title p,html[data-theme=dark] .panel-head p,html[data-theme=dark] .metric>span,html[data-theme=dark] .metric small,html[data-theme=dark] label,html[data-theme=dark] legend,html[data-theme=dark] th,html[data-theme=dark] .task-title-cell small,html[data-theme=dark] .due-cell small{color:#9eb0ba}html[data-theme=dark] th{background:#142027}html[data-theme=dark] th,html[data-theme=dark] td,html[data-theme=dark] .panel-head,html[data-theme=dark] .actual-overview{border-color:#314049}html[data-theme=dark] tbody tr:hover{background:#1a2830}html[data-theme=dark] .event-detail-strip{background:#142a35;border-color:#31505f;color:#b7c8d1}html[data-theme=dark] .sticky-filters{box-shadow:0 10px 25px #00000047}html[data-theme=dark] .section-divider td{background:#203540;color:#e7f1f5;border-color:#42606d}html[data-theme=dark] .status-not-started{background:#2a363d;color:#c2d0d7}html[data-theme=dark] .status-in-progress{background:#4b3916;color:#ffd98a}html[data-theme=dark] .status-completed{background:#173d31;color:#8de0bc}html[data-theme=dark] .status-not-applicable{background:#352f39;color:#c9bdcf}html[data-theme=dark] .danger-metric{background:linear-gradient(180deg,#281b1d,#1c1719)}html[data-theme=dark] .warning-metric{background:linear-gradient(180deg,#2a2417,#1d1b16)}html[data-theme=dark] .success-metric{background:linear-gradient(180deg,#17271f,#151e1a)}html[data-theme=dark] .modal-backdrop{background:#02080cb8}
