:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#172033;background:#f5f7fb}*{box-sizing:border-box}html,body{margin:0;background:#f5f7fb;color:#172033}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7257e828;outline-offset:2px}h1:focus{outline:none}a{color:inherit}
.page-head{padding:32px 34px 23px;display:flex;align-items:flex-end;justify-content:space-between;gap:22px;max-width:1600px;margin:auto}.page-head h1{font-size:29px;letter-spacing:-.8px;margin:5px 0 6px}.page-head p,.panel-head p{color:#7b8799;margin:0;font-size:12px}.eyebrow{color:#7257e8;font-size:10px;font-weight:850;letter-spacing:1.7px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border:1px solid #dce1ea;background:#fff;color:#425067;text-decoration:none;padding:9px 14px;border-radius:10px;font-weight:750;font-size:12px;cursor:pointer;transition:.16s;box-shadow:0 2px 5px #17203308}.btn:hover{border-color:#806be5;color:#6043d8;transform:translateY(-1px);box-shadow:0 6px 15px #30227512}.btn.primary{background:linear-gradient(135deg,#755ae7,#5d43ca);color:white;border-color:#6b50da;box-shadow:0 7px 17px #7257e82c}.btn.primary:hover{color:white;filter:brightness(1.05)}.btn.danger{background:#c64040;color:white;border-color:#c64040}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.panel{background:white;border:1px solid #e4e8f0;border-radius:16px;box-shadow:0 5px 17px #15213b09;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:18px 21px;border-bottom:1px solid #edf0f5;background:#fff}.panel-head h2{font-size:16px;margin:0 0 3px}.stat-grid{padding:0 34px 22px;max-width:1600px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.stat{background:white;border:1px solid #e4e8f0;border-radius:15px;padding:19px;box-shadow:0 4px 14px #15213b08}.stat span,.stat small{display:block;color:#7c8899}.stat>span{font-size:11px;font-weight:700}.stat strong{display:block;font-size:25px;margin:9px 0 6px;letter-spacing:-.5px}.stat small{font-size:10px}.stat.accent{background:linear-gradient(135deg,#6e54dc,#4c359e);color:white;border:0}.stat.accent span,.stat.accent small{color:#e4defd}.compact .stat{padding:16px}.compact .stat strong{font-size:22px}
.toolbar{padding:0 34px 17px;max-width:1600px;margin:auto;display:flex;gap:9px;align-items:center}.toolbar .input{max-width:400px}.input{width:100%;min-height:41px;padding:10px 12px;border:1px solid #d8dee8;border-radius:9px;background:#fff;color:#172033;outline:none;transition:.15s}.input:hover{border-color:#bdc6d5}.input:focus{border-color:#7257e8;box-shadow:0 0 0 3px #7257e812}.input::placeholder{color:#a0a9b7}textarea.input{line-height:1.5}.valid.modified:not([type=checkbox]){border-color:#26a77b}.invalid{border-color:#d94b4b!important}.validation-message{color:#c73e3e;font-size:11px}.alert{max-width:calc(1600px - 68px);margin:0 auto 17px;padding:12px 15px;border-radius:10px;background:#e8faf5;border:1px solid #cceee4;color:#14705b;font-size:12px}.alert.error{background:#fff0f0;border-color:#f3d4d4;color:#a93434}.loading{padding:75px;text-align:center;color:#718096}
.table-panel{margin:0 34px 38px;max-width:calc(1600px - 68px);overflow:auto}.table-panel table{min-width:760px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#7a8799;text-transform:uppercase;font-size:9px;letter-spacing:.8px;background:#f9fafc;font-weight:800}th,td{padding:13px 16px;border-bottom:1px solid #edf0f5;vertical-align:middle}tbody tr{transition:.12s}tbody tr:hover{background:#fafaff}tbody tr:last-child td{border-bottom:0}td strong{color:#273249}.sub{display:block;color:#8b97a8;margin-top:3px;font-size:10px}.pill{display:inline-block;padding:5px 9px;border-radius:20px;background:#eef0f6;color:#59667a;font-size:9px;font-weight:750;text-transform:uppercase}.pill.active,.pill.completed{background:#dcf8ee;color:#16705a}.pill.paused,.pill.planned{background:#fff3d8;color:#96660e}.pill.draft{background:#edf0f5;color:#647184}.actions{white-space:nowrap;text-align:right}.small-link,.danger-link{border:0;background:none;cursor:pointer;font-size:11px;font-weight:700;padding:6px}.small-link{color:#654bd1}.danger-link{color:#c34a4a}.small-link:hover,.danger-link:hover{text-decoration:underline}.truncate{max-width:330px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty{padding:52px 20px;text-align:center;color:#8c97a7;font-size:12px;line-height:1.8}.empty a{color:#654bd1;font-weight:700}
.modal-back{position:fixed;inset:0;background:#0d1626b8;display:grid;place-items:center;z-index:50;padding:22px;backdrop-filter:blur(5px)}.modal{background:white;width:min(670px,100%);max-height:92vh;overflow:auto;border-radius:18px;box-shadow:0 30px 80px #08101f66;animation:modal-in .16s ease-out}.modal.large{width:min(880px,100%)}@keyframes modal-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.modal .panel-head{position:sticky;top:0;z-index:2}.icon-btn{width:32px;height:32px;border:0;border-radius:9px;background:#f1f3f7;color:#69758a;cursor:pointer;font-size:17px}.icon-btn:hover{background:#e7e9ef;color:#293449}.form-grid{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:17px 19px}.form-grid label{display:grid;gap:7px;font-weight:750;font-size:11px;color:#526076}.form-grid label em{color:#d94b4b;font-style:normal;margin-left:3px}.form-grid .wide{grid-column:1/-1}.form-grid textarea{min-height:94px;resize:vertical}.form-grid .check{display:flex;align-items:center;flex-direction:row;padding-top:18px}.form-grid .check input{width:17px;height:17px;accent-color:#7257e8}.form-actions{padding:15px 22px;border-top:1px solid #edf0f5;background:#fafbfc;display:flex;justify-content:flex-end;gap:9px;position:sticky;bottom:0}.confirm-box{background:white;border-radius:16px;width:min(430px,100%);padding:23px;box-shadow:0 25px 70px #0005}.confirm-box h2{margin:0 0 9px;font-size:19px}.confirm-box p{color:#718096;font-size:12px}.confirm-box .form-actions{margin:20px -23px -23px}
.module-section{padding:0 34px 25px;max-width:1600px;margin:auto}.module-section h2{font-size:11px;color:#69768a;text-transform:uppercase;letter-spacing:1.2px;margin:0 0 10px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.module-card{background:white;border:1px solid #e4e8ef;border-radius:13px;padding:16px;display:flex;align-items:center;gap:13px;text-decoration:none;color:#172033;transition:.15s}.module-card:hover{border-color:#7a63e2;box-shadow:0 8px 22px #7257e816;transform:translateY(-2px)}.module-card>span{width:37px;height:37px;flex:0 0 37px;display:grid;place-items:center;background:#eeeafd;color:#7257e8;border-radius:10px;font-size:19px}.module-card strong,.module-card small{display:block}.module-card strong{font-size:12px}.module-card small{color:#818da0;margin-top:4px;font-size:10px;line-height:1.35}
.kanban{padding:0 34px 38px;max-width:1600px;margin:auto;display:flex;gap:13px;overflow:auto;align-items:flex-start}.lane{min-width:260px;background:#edf0f5;border:1px solid #e2e6ed;border-radius:13px;padding:12px}.lane h3{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#5e6b7d;display:flex;justify-content:space-between;margin:3px 3px 12px}.lane h3 span{background:#dfe3eb;padding:3px 7px;border-radius:20px}.project-card{background:white;border:1px solid #e7eaf0;border-radius:11px;padding:14px;margin-top:9px;box-shadow:0 2px 7px #1720330d}.project-card small,.project-card strong{display:block}.project-card small{color:#8b96a6;font-size:9px}.project-card strong{margin:6px 0 12px;font-size:12px}.project-card p{font-size:9px;color:#7a8799;margin:11px 0 0}.decision{font-size:9px;margin-left:7px;color:#7a8799}
.tab-switch{margin:0 34px 17px;display:inline-flex;background:#e9edf3;padding:4px;border-radius:10px}.tab-switch button{border:0;padding:9px 14px;border-radius:7px;background:transparent;color:#667085;cursor:pointer;font-size:11px;font-weight:700}.tab-switch button.active{background:white;color:#5d43cf;box-shadow:0 2px 6px #17203316}
.report-grid{padding:0 34px 40px;max-width:1600px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.report-card{background:white;border:1px solid #e4e8f0;border-radius:15px;padding:18px;display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center;box-shadow:0 4px 13px #15213b08;transition:.15s}.report-card:hover{border-color:#cfc7f5;transform:translateY(-1px)}.report-card h2{font-size:14px;margin:4px 0}.report-card p{font-size:10px;line-height:1.5;color:#718096;margin:0}.report-card small{font-size:8px;color:#7257e8;font-weight:850;text-transform:uppercase;letter-spacing:.8px}.report-icon{width:43px;height:43px;background:#eeeafd;color:#7257e8;border-radius:11px;display:grid;place-items:center;font-size:18px}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 15%,#6045d633,transparent 30%),radial-gradient(circle at 85% 80%,#2dd4bf22,transparent 30%),#0f1726}.login-card{width:min(430px,100%);background:#fff;border-radius:20px;padding:36px;box-shadow:0 30px 80px #0007}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}.login-brand .brand-mark{width:43px;height:43px;border-radius:13px;background:linear-gradient(135deg,#7c5cff,#2dd4bf);display:grid;place-items:center;color:#fff;font-weight:900}.login-brand strong,.login-brand small{display:block}.login-brand small{font-size:9px;color:#7a8799;letter-spacing:1.5px}.login-card h1{margin:0;font-size:28px}.login-card>p{color:#718096;margin:8px 0 26px;font-size:12px}.login-card form{display:grid;gap:17px}.login-card label{display:grid;gap:7px;color:#4e5b6e;font-size:11px;font-weight:750}.login-button{width:100%;margin-top:4px}.login-note{display:block;text-align:center;color:#9aa4b2;margin-top:22px}
.blazor-error-boundary{background:#b32121;color:white;padding:1rem}.blazor-error-boundary::after{content:"An error has occurred."}#blazor-error-ui{background:#fff3cd;bottom:0;display:none;left:0;padding:.7rem 1.25rem;position:fixed;width:100%;z-index:1000}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem}
@media(max-width:1050px){.stat-grid{grid-template-columns:1fr 1fr}.report-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.page-head{padding:24px 17px 19px;align-items:flex-start;flex-direction:column}.page-head .btn{width:100%}.stat-grid,.toolbar{padding-left:17px;padding-right:17px}.stat-grid{grid-template-columns:1fr}.table-panel{margin-left:17px;margin-right:17px;max-width:calc(100% - 34px)}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.module-section{padding-left:17px;padding-right:17px}.module-grid{grid-template-columns:1fr}.report-grid{padding:0 17px 30px}.report-card{grid-template-columns:43px 1fr}.report-card .btn{grid-column:1/-1}.kanban{padding-left:17px;padding-right:17px}.tab-switch{margin-left:17px}.modal-back{padding:11px}.modal{border-radius:14px}.toolbar{flex-direction:column}.toolbar .input,.toolbar .btn{max-width:none;width:100%}}
@media print{.sidebar,.topbar,.page-head .btn,.toolbar,.actions{display:none!important}.app-shell{display:block!important}.content{background:white!important}.page-head,.report-grid,.table-panel{padding:12px!important;margin:0!important;max-width:none!important}.report-card,.panel{break-inside:avoid;box-shadow:none!important}}
