:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f4f6fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{width:100%;border:1px solid #d8deea;border-radius:9px;padding:10px 12px;color:#172033;background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:#5b6ee1;box-shadow:0 0 0 3px #5b6ee120}label{display:grid;gap:6px;color:#3f4b60;font-size:13px;font-weight:600}.primary{color:#fff;border:0;background:#5865db;border-radius:9px;padding:10px 16px;font-weight:700;box-shadow:0 5px 14px #5865db30}.primary:hover{background:#4956c8}.muted{color:#7f889b}.auth-shell,.splash{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 10%,#767ee8 0,transparent 35%),linear-gradient(145deg,#202841,#0f1423)}.auth-card{width:min(420px,100%);padding:38px;border-radius:20px;background:#fff;box-shadow:0 30px 80px #0005}.auth-card h1{margin:16px 0 4px}.auth-card form,form.auth-card{display:grid;gap:18px}.brand-mark{width:46px;height:46px;display:grid;place-items:center;color:#fff;background:#5865db;border-radius:13px;font-size:25px;font-weight:900;box-shadow:0 8px 20px #5865db55}.link-button{border:0;background:none;color:#5865db}.alert{padding:11px 14px;border-radius:9px;display:flex;justify-content:space-between}.alert.error{color:#a9233a;background:#fff0f2;border:1px solid #ffd0d8}.alert.success{color:#207a51;background:#eafaf2}.app-shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}aside{position:sticky;top:0;height:100vh;padding:24px 16px;display:flex;flex-direction:column;color:#c9d0e1;background:#161d2f}.logo{display:flex;align-items:center;gap:11px;color:#fff;padding:0 8px 28px;font-size:17px}.logo span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#fff;background:#6571e4;font-weight:900}aside nav{display:grid;gap:5px}aside nav button{padding:11px 13px;border:0;border-radius:9px;text-align:left;color:#aeb7ca;background:transparent}aside nav button:hover,aside nav button.active{color:#fff;background:#ffffff12}.user-box{margin-top:auto;display:grid;grid-template-columns:38px 1fr 28px;align-items:center;gap:10px;padding:14px 8px 0;border-top:1px solid #ffffff16}.user-box .avatar{height:38px;display:grid;place-items:center;color:#fff;background:#5865db;border-radius:50%;font-weight:800}.user-box strong,.user-box small{display:block;overflow:hidden;text-overflow:ellipsis}.user-box small{color:#7f8aa4;margin-top:2px}.user-box button{color:#9aa5bd;border:0;background:none}main{min-width:0}.topbar{min-height:92px;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;position:relative;background:#fff;border-bottom:1px solid #e5e9f1}.topbar h1{margin:0;font-size:23px}.topbar p{margin:4px 0 0;color:#8a93a5;font-size:13px}.top-actions{display:flex;gap:10px}.notification-button{position:relative;width:42px;border:1px solid #dfe4ed;border-radius:10px;background:#fff}.notification-button span{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:1px 5px;color:#fff;background:#e5435a;border-radius:9px;font-size:11px}.notifications{position:absolute;z-index:20;right:28px;top:76px;width:min(390px,calc(100vw - 30px));max-height:500px;overflow:auto;border:1px solid #e0e5ee;border-radius:13px;background:#fff;box-shadow:0 20px 50px #19213a24}.notifications header{position:sticky;top:0;display:flex;justify-content:space-between;padding:15px;background:#fff;border-bottom:1px solid #edf0f5}.notifications header button{border:0;color:#5865db;background:none;font-size:12px}.notifications article{padding:13px 15px;border-bottom:1px solid #edf0f5}.notifications article.unread{background:#f2f4ff}.notifications article p{margin:4px 0}.notifications article small{color:#8a93a5}.filters{padding:15px 32px;display:grid;grid-template-columns:minmax(170px,1.4fr) repeat(4,minmax(130px,1fr)) auto;gap:9px;background:#fff;border-bottom:1px solid #e5e9f1}.filters button{border:1px solid #d8deea;border-radius:9px;background:#fff;padding:8px 12px}.filters button.filter-active{border-color:#e5435a;color:#b1263e;background:#fff1f3}.content{padding:25px 32px 50px}.table-wrap{overflow:auto;border:1px solid #e1e6ef;border-radius:13px;background:#fff;box-shadow:0 5px 20px #25304b0a}table{width:100%;border-collapse:collapse}th{padding:12px 15px;color:#778196;background:#f9fafc;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em}td{padding:14px 15px;border-top:1px solid #edf0f5;font-size:13px}tbody tr{cursor:pointer}tbody tr:hover{background:#fafbfe}.status{padding:5px 8px;border-radius:7px;background:#edf0f5;font-size:11px;font-weight:700}.status.in_progress{color:#2f50b2;background:#edf1ff}.status.blocked{color:#a96b16;background:#fff5df}.status.done{color:#207a51;background:#e7f8ef}.overdue{color:#cb3048!important;font-weight:700}.kanban{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:14px;overflow-x:auto;align-items:start}.kanban-column{min-height:300px;padding:10px;border-radius:13px;background:#e9edf4}.kanban-column>header{padding:5px 4px 12px;display:flex;justify-content:space-between;align-items:center}.kanban-column h2{margin:0;font-size:13px;text-transform:uppercase}.kanban-column header span{padding:2px 7px;border-radius:9px;color:#677187;background:#dce2eb;font-size:11px}.task-card{margin-bottom:10px;padding:14px;border:1px solid #e0e5ed;border-left:3px solid #8c96a9;border-radius:10px;background:#fff;box-shadow:0 3px 10px #25304b0b;cursor:pointer}.task-card.priority-high{border-left-color:#ef9f28}.task-card.priority-critical{border-left-color:#e5435a}.task-card.priority-low{border-left-color:#42ae78}.task-meta,.task-footer{display:flex;justify-content:space-between;gap:8px;color:#7c879b;font-size:10px}.task-card h3{margin:10px 0 13px;font-size:14px}.badge{padding:3px 6px;border-radius:5px;background:#edf0f5}.badge.critical{color:#b1263e;background:#fff0f2}.badge.high{color:#985e0a;background:#fff4df}.dependency-warning{color:#99630e;font-size:11px;margin:-6px 0 12px}.calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:15px}.calendar-toolbar h2{min-width:220px;margin:0;text-align:center;text-transform:capitalize;font-size:18px}.calendar-toolbar button{border:1px solid #d8deea;border-radius:8px;background:#fff;padding:7px 12px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid #dfe4ed;border-radius:12px;overflow:hidden;background:#fff}.calendar-day{min-height:120px;padding:8px;border-right:1px solid #e7eaf0;border-bottom:1px solid #e7eaf0}.calendar-day.outside{color:#b8bfcc;background:#fafbfc}.calendar-day>button{width:100%;margin-top:5px;padding:5px 6px;overflow:hidden;border:0;border-left:3px solid;border-radius:4px;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#f0f2f9;font-size:10px}.empty{padding:60px;display:grid;place-items:center;color:#8791a4}.empty div{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#edf1f8;font-size:23px}.modal-backdrop{position:fixed;z-index:40;inset:0;padding:25px;display:grid;place-items:center;background:#11182788;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:min(680px,100%);max-height:94vh;overflow:auto;border-radius:16px;background:#fff;box-shadow:0 30px 90px #0005}.modal>header,.modal>footer{padding:17px 22px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #e9edf3}.modal>header{justify-content:space-between}.modal>header h2{margin:0}.modal>header button{border:0;background:none}.modal>footer{justify-content:flex-end;border:0;border-top:1px solid #e9edf3}.modal>footer span{flex:1}.modal>footer button:not(.primary):not(.danger){border:1px solid #d8deea;border-radius:9px;background:#fff;padding:9px 14px}.danger{border:0;color:#b1263e;background:none}.form-grid{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .full{grid-column:1 / -1}.form-grid select[multiple]{min-height:95px}.form-grid small{color:#8a93a5}.form-grid fieldset{display:flex;flex-wrap:wrap;gap:12px 22px;border:1px solid #dfe4ec;border-radius:10px}.form-grid .check{display:flex;grid-auto-flow:column;align-items:center}.form-grid .check input{width:auto}.inline-number{display:inline;width:100px;margin-left:7px;padding:5px 8px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{padding:22px;border:1px solid #e1e6ef;border-radius:13px;background:#fff}.panel h2{margin-top:0}.panel form{display:flex;gap:8px}.panel ul{padding:0;list-style:none}.panel li{padding:11px 2px;display:flex;justify-content:space-between;border-bottom:1px solid #edf0f5}.panel li small{display:block;margin-top:3px;color:#8a93a5}.dot{width:9px;height:9px;align-self:center;border-radius:50%;background:#4aae7a}.dot.disabled{background:#b6bdca}.row-actions{display:flex;align-items:center;gap:7px}.row-actions button{border:0;color:#5865db;background:none;font-size:11px}@media(max-width:1000px){.filters{grid-template-columns:repeat(3,1fr)}.kanban{grid-template-columns:repeat(4,280px)}.calendar-day{min-height:90px}.app-shell{grid-template-columns:76px 1fr}aside{padding:20px 10px}.logo b,.user-box>div:not(.avatar),.user-box button{display:none}.logo{justify-content:center;padding-inline:0}aside nav button{text-align:center;font-size:0}aside nav button:first-letter{font-size:20px}.user-box{display:block;padding:14px 8px 0}}@media(max-width:700px){.app-shell{display:block;padding-bottom:65px}aside{position:fixed;z-index:30;top:auto;bottom:0;width:100%;height:64px;padding:6px 10px;flex-direction:row;align-items:center}.logo,.user-box{display:none}aside nav{width:100%;grid-template-columns:repeat(4,1fr)}aside nav button{padding:9px 5px}.topbar{padding:16px;min-height:75px}.topbar h1{font-size:19px}.topbar .primary{font-size:0;width:42px}.topbar .primary:first-letter{font-size:18px}.filters{padding:10px 16px;display:flex;overflow-x:auto}.filters>*{min-width:150px}.content{padding:16px}.table-wrap table{min-width:750px}.calendar{display:block;border:0;background:transparent}.calendar-day{min-height:0;margin-bottom:7px;border:1px solid #e1e6ef;border-radius:8px;background:#fff}.calendar-day.outside,.calendar-day:not(:has(button)){display:none}.admin-grid,.form-grid{grid-template-columns:1fr}.form-grid>*{grid-column:1!important}.modal-backdrop{padding:0;align-items:end}.modal{max-height:96vh;border-radius:16px 16px 0 0}.auth-card{padding:28px 22px}}
