:root{--red:#e30613;--red2:#b9000c;--ink:#17191c;--muted:#6b7280;--line:#e5e7eb;--bg:#f6f7f9;--card:#fff;--green:#108a55;--blue:#1d5fa7;--amber:#9a6400;--radius:16px}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,textarea,select{font:inherit}.hidden{display:none!important}
.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#fff 0,#fff 30%,#f1f2f4 100%);padding:24px}.login-card{width:min(460px,100%);background:#fff;border:1px solid #eee;border-radius:24px;padding:34px;box-shadow:0 28px 80px rgba(0,0,0,.10)}.brand-wordmark{font-size:45px;line-height:1;font-weight:900;letter-spacing:-2px}.brand-wordmark b{color:var(--red);font-weight:900}.brand-wordmark.small{font-size:32px}.brand-sub{margin-top:6px;color:#333;font-size:16px}.login-drk{width:170px;margin:28px 0 8px;border-radius:6px}.login-card h1{font-size:25px;margin:24px 0 6px}.login-card p{color:var(--muted);margin-top:0}.login-card label{display:block;font-size:13px;font-weight:700;margin:18px 0 6px}.login-card input{width:100%;border:1px solid #d8dce2;border-radius:10px;padding:12px 13px;margin-top:6px;outline:none}.login-card input:focus{border-color:var(--red);box-shadow:0 0 0 3px #e3061318}.login-card button{width:100%;border:0;border-radius:10px;background:var(--red);color:#fff;padding:13px;font-weight:800;margin-top:20px;cursor:pointer}.error{color:var(--red2);font-size:13px;margin-top:10px}
.app{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.side-brand{padding:25px 24px 20px}.sidebar nav{padding:10px 10px}.nav-item{display:flex;width:100%;gap:14px;align-items:center;border:0;background:transparent;padding:13px 16px;border-radius:10px;text-align:left;cursor:pointer;color:#2e3339;margin:3px 0;font-size:15px}.nav-item.active{background:#fff0f1;color:var(--red);font-weight:800}.sidebar-bottom{margin-top:auto;padding:22px}.sidebar-bottom img{width:100%;max-width:180px}.main{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;gap:24px;padding:0 28px;position:sticky;top:0;z-index:10}.topbar>div:first-child{margin-right:auto}.topbar input{width:320px;max-width:42vw;padding:10px 13px;border:1px solid #dfe3e8;border-radius:10px;background:#fafafa}.userbox{display:flex;align-items:center;gap:10px}.userbox small{display:block;color:var(--muted);font-size:12px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fbe6e8;color:var(--red);font-weight:900}.ghost{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;cursor:pointer}.content{padding:28px;max-width:1500px;margin:auto}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.hero h1{font-size:32px;margin:0 0 5px}.hero p{margin:0;color:var(--muted)}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:900}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric{background:#fff;border:1px solid #eceef1;border-radius:var(--radius);padding:20px;min-height:122px;box-shadow:0 5px 20px rgba(31,41,55,.035)}.metric .num{font-size:36px;font-weight:900}.metric .label{font-weight:800}.metric .sub{font-size:12px;color:var(--muted);margin-top:4px}.metric.red{background:#fff5f5}.metric.green{background:#f3fbf7}.metric.blue{background:#f4f8fd}.metric.amber{background:#fff9ee}.twocol{display:grid;grid-template-columns:1.25fr .9fr;gap:16px}.panel{background:#fff;border:1px solid #e8eaee;border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 18px rgba(31,41,55,.025)}.panel-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.panel-head h2{font-size:18px;margin:0}.panel-body{padding:8px 18px 16px}.row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eef0f2}.row:last-child{border-bottom:0}.row-title{font-weight:800}.row-sub{font-size:12px;color:var(--muted);margin-top:2px}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#eef1f4;color:#58616b}.badge.red{background:#ffe8ea;color:#bd111b}.badge.green{background:#e7f6ee;color:#0a7345}.badge.blue{background:#e8f1ff;color:#1b5aa1}.badge.amber{background:#fff3d9;color:#8a5b00}.progress{height:7px;background:#eceff2;border-radius:9px;overflow:hidden;margin-top:8px}.progress>i{display:block;height:100%;background:var(--green)}.actions{display:flex;gap:8px}.btn{border:0;border-radius:9px;padding:9px 12px;cursor:pointer;font-weight:750;background:#24282d;color:#fff}.btn.primary{background:var(--red)}.btn.secondary{background:#eef1f4;color:#24282d}.btn.danger{background:#fff0f1;color:#b70a14}.toolbar{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 14px}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.page-title h1{margin:0}.folder-layout{display:grid;grid-template-columns:330px 1fr;gap:16px}.tree,.files{background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-height:580px}.tree{padding:14px}.tree-title{font-weight:900;padding:8px}.folder{padding:9px 10px;border-radius:8px;cursor:pointer;margin:2px 0}.folder:hover,.folder.selected{background:#fff0f1;color:var(--red)}.folder.indent-1{margin-left:18px}.folder.indent-2{margin-left:36px}.files-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.files-body{padding:8px 18px}.file-row{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #eef0f2}.file-icon{width:34px;height:34px;border-radius:8px;background:#f1f3f5;display:grid;place-items:center;font-weight:900;color:#53606c}.task-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:10px}.task-top{display:flex;justify-content:space-between;gap:12px}.task-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.muted{color:var(--muted)}.modal{position:fixed;inset:0;background:#11182788;display:grid;place-items:center;z-index:100;padding:20px}.modal-card{position:relative;width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 40px 100px rgba(0,0,0,.3)}.modal-close{position:absolute;top:10px;right:13px;border:0;background:transparent;font-size:28px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-size:13px;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:6px;padding:10px;border:1px solid #d8dce2;border-radius:9px}.form-grid textarea{min-height:100px}.span2{grid-column:1/-1}.empty{padding:30px;text-align:center;color:var(--muted)}iframe.editor{width:100%;height:75vh;border:1px solid var(--line);border-radius:12px}
@media(max-width:1100px){.grid4{grid-template-columns:repeat(2,1fr)}.twocol,.folder-layout{grid-template-columns:1fr}.tree{min-height:auto}.app{grid-template-columns:82px 1fr}.side-brand .brand-sub,.side-brand .brand-wordmark span,.side-brand .brand-wordmark b,.nav-item span{display:none}.sidebar-bottom img{display:none}.nav-item{justify-content:center;font-size:20px}.topbar input{width:220px}}
@media(max-width:680px){.app{display:block}.sidebar{height:auto;position:fixed;left:0;right:0;bottom:0;top:auto;z-index:30;border-top:1px solid var(--line);border-right:0}.side-brand,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto;padding:6px}.nav-item{margin:0;min-width:58px}.topbar{height:60px;padding:0 12px}.topbar>div:first-child{display:none}.ghost{display:none}.content{padding:16px 12px 78px}.grid4{grid-template-columns:1fr 1fr}.hero h1{font-size:26px}.twocol{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}}

.login-secondary{background:#fff!important;color:#222!important;border:1px solid var(--line)!important;margin-top:8px!important}.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.security-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.security-card h3{margin-top:0}.qr{width:240px;max-width:100%;border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff}.perm-table{width:100%;border-collapse:collapse}.perm-table th,.perm-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.perm-hint{font-size:12px;color:var(--muted)}@media(max-width:800px){.security-grid{grid-template-columns:1fr}}

/* PRAESTO v0.3 */
.task-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.task-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;cursor:pointer;color:#4b5563;font-weight:750}.task-tabs button.active{background:#fff0f1;border-color:#ffd0d4;color:var(--red)}.task-tabs b{margin-left:5px}.task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.task-card{position:relative;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.task-card:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(31,41,55,.07)}.task-overdue{border-left:4px solid var(--red)}.task-title-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.task-description{margin-top:5px;min-height:20px}.task-progress-label{text-align:right;font-size:11px;color:var(--muted);margin-top:4px}.priority-high{background:#fff1dd;color:#9a5d00}.priority-critical{background:#ffe8ea;color:#b20b15}.priority-low{background:#eef5ff;color:#2b5b92}.subtask-preview{margin-top:12px;border-top:1px solid #eef0f2;padding-top:9px;display:grid;gap:5px}.subtask-preview div{font-size:12px;display:flex;gap:7px}.subtask-preview small{color:var(--muted)}.progress.large{height:10px}.detail-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.detail-heading h2{margin:4px 0}.subtask-row{width:100%;display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:11px 2px;cursor:pointer}.subtask-row small{display:block;color:var(--muted);margin-top:3px}.comment{padding:10px 0;border-bottom:1px solid var(--line)}.comment small{display:block;color:var(--muted);margin-top:5px}.comment-box{width:100%;min-height:90px;padding:10px;border:1px solid #ddd;border-radius:9px}
.tree-title{display:flex;justify-content:space-between;align-items:center}.tree-title small{font-weight:500;color:var(--muted)}.folder{display:flex;align-items:center;gap:6px;user-select:none}.folder span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder em{margin-left:auto;font-style:normal;font-size:9px;color:#8a929c}.folder.depth-1{margin-left:16px}.folder.depth-2{margin-left:32px}.folder.depth-3{margin-left:48px}.folder.depth-4{margin-left:64px}.folder.depth-5{margin-left:80px}.folder.drag-over{background:#ffe8ea!important;color:var(--red);outline:2px dashed #f09aa1}.drop-zone{position:relative}.drop-zone.drag-over-files{outline:3px dashed #e30613;outline-offset:-7px;background:#fffafb}.drop-hint{text-align:center;padding:8px 14px;background:#fafbfc;border-bottom:1px dashed var(--line);font-size:11px;color:var(--muted)}.breadcrumbs{font-size:11px;color:var(--muted);font-weight:400;margin-top:3px}.file-row[draggable="true"]{cursor:grab}.file-row[draggable="true"]:active{cursor:grabbing}.ext-pdf{color:#bc0c16;background:#ffe8ea}.ext-doc,.ext-docx{color:#1859a8;background:#e9f2ff}.ext-xls,.ext-xlsx{color:#087847;background:#e6f7ef}.ext-ppt,.ext-pptx{color:#b74a13;background:#fff0e9}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-action{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px;display:grid;grid-template-columns:30px 1fr;gap:8px;text-align:left;cursor:pointer;font-size:20px}.menu-action:hover{border-color:#f3a5ab;background:#fffafb}.menu-action span{font-size:14px}.menu-action strong,.menu-action small{display:block}.menu-action small{font-weight:400;color:var(--muted);margin-top:3px}.danger-action{color:#b70a14}.wide-input{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #d8dce2;border-radius:9px}.version-list{border-top:1px solid var(--line)}.version-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.version-row strong{margin-right:8px}.version-row small{display:block;color:var(--muted);margin-top:4px}.upload-box{display:block;border:2px dashed #d9dde2;border-radius:14px;padding:24px;text-align:center;cursor:pointer;background:#fafbfc}.upload-box input{display:block;margin:10px auto 0}.editor-head{display:flex;justify-content:space-between;align-items:center}.editor-head h2{margin:3px 0 12px}
@media(max-width:900px){.task-list{grid-template-columns:1fr}.menu-grid{grid-template-columns:1fr}}


/* PRAESTO v0.4 */
.top-left{display:flex;align-items:center;gap:10px;margin-right:auto}.top-left select{padding:10px 34px 10px 12px;border:1px solid #dfe3e8;border-radius:10px;background:#fff;max-width:230px}.notification-bell{position:relative;border:1px solid var(--line);background:#fff;border-radius:10px;width:40px;height:40px;cursor:pointer;font-size:20px}.notification-bell span{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;border-radius:10px;background:var(--red);color:white;font-size:10px;display:grid;place-items:center;font-weight:900;padding:0 4px}.nav-count{margin-left:auto;background:var(--red);color:#fff;border-radius:999px;font-size:10px;min-width:20px;padding:2px 6px;text-align:center}.workspace-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;cursor:pointer;transition:.15s}.workspace-card:hover{border-color:#f0a2a8;box-shadow:0 8px 24px rgba(31,41,55,.06)}.workspace-card.active{border-color:var(--red);box-shadow:0 0 0 2px #e3061312}.workspace-card h3{margin:6px 0}.workspace-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.calendar-list{display:grid;gap:10px}.event-card{display:grid;grid-template-columns:78px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.event-date{background:#fff0f1;color:var(--red);border-radius:12px;padding:10px;text-align:center;font-weight:900}.event-date b{font-size:24px;display:block}.event-card h3{margin:0 0 4px}.event-meta{font-size:12px;color:var(--muted)}.notification-list{display:grid;gap:9px}.notification-item{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;display:grid;grid-template-columns:12px 1fr auto;gap:12px;align-items:start}.notification-item.unread{border-left:4px solid var(--red);background:#fffafa}.notification-dot{width:9px;height:9px;border-radius:50%;background:#c7cbd1;margin-top:5px}.notification-item.unread .notification-dot{background:var(--red)}.notification-item h3{margin:0 0 4px;font-size:15px}.notification-item p{margin:0;color:var(--muted);font-size:13px}.notification-item small{color:var(--muted)}.admin-tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.admin-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;cursor:pointer}.admin-tabs button.active{background:#fff0f1;color:var(--red);border-color:#ffc7cc}.member-picker{display:grid;gap:8px;max-height:360px;overflow:auto}.member-choice{display:grid;grid-template-columns:24px 1fr 170px;gap:10px;align-items:center;padding:8px;border-bottom:1px solid var(--line)}.dev-link{word-break:break-all;background:#f5f6f7;padding:10px;border-radius:8px;font-size:12px}.login-card form.hidden{display:none!important}
@media(max-width:900px){.event-card{grid-template-columns:64px 1fr}.event-card>.actions{grid-column:2}.top-left select{display:none}}

.search-big{width:100%;box-sizing:border-box;padding:14px 16px;border:1px solid #d8dadd;border-radius:10px;font-size:16px}.search-results{margin-top:14px;display:grid;gap:8px}.search-result{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:center;text-align:left;width:100%;border:1px solid #eceef1;background:#fff;padding:12px;border-radius:10px;cursor:pointer}.search-result:hover{border-color:#e30613;background:#fffafa}.search-result small,.audit-row small{display:block;color:#7a7f87;margin-top:3px}.audit-table{display:grid;gap:0}.audit-row{display:grid;grid-template-columns:1.2fr 1fr 180px;gap:16px;padding:12px 4px;border-bottom:1px solid #eee;align-items:center}@media(max-width:800px){.audit-row{grid-template-columns:1fr}.search-result{grid-template-columns:70px 1fr}}

/* PRAESTO v0.6 */
.doc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.doc-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:750;cursor:pointer}.doc-tabs button.active{color:var(--red);border-color:#ffc4ca;background:#fff4f5}.fav-btn{border:0;background:transparent;font-size:19px;color:#c9cdd3;cursor:pointer;padding:4px}.fav-btn.active{color:#f0a500}.share-link{display:flex;gap:8px;margin:14px 0;padding:10px;background:#f7f8fa;border:1px solid var(--line);border-radius:10px}.share-link input{flex:1;min-width:0;padding:9px;border:1px solid #d9dde2;border-radius:8px}.doc-preview-image{display:block;max-width:100%;max-height:72vh;margin:12px auto;border-radius:10px;box-shadow:0 8px 28px #0001}.preview-frame{background:#f8f9fa}.notification-settings{margin-top:16px}.notification-settings form{display:grid;gap:10px}.notification-settings label{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f0f1f3}
@media(max-width:680px){.topbar{position:sticky;top:0;z-index:20}.top-left{display:flex!important;min-width:0}.top-left select{display:block!important;max-width:120px;padding:8px}.top-left input{display:none}.userbox>div:not(.avatar),#logoutBtn{display:none}.notification-bell{flex:0 0 40px}.grid4{grid-template-columns:1fr 1fr;gap:9px}.metric{padding:14px!important}.metric .num{font-size:28px!important}.page-title{align-items:flex-start;gap:10px}.page-title>.toolbar{width:100%;overflow:auto;flex-wrap:nowrap}.page-title>.toolbar .btn{white-space:nowrap}.folder-layout{display:block}.tree{max-height:180px;overflow:auto;margin-bottom:12px}.file-row{grid-template-columns:26px 42px 1fr!important;gap:8px!important;align-items:start}.file-row>.actions{grid-column:2/4;display:flex!important;overflow:auto;gap:4px;padding-top:5px}.file-row>.actions .ghost{display:inline-flex!important;white-space:nowrap;font-size:11px;padding:6px}.fav-btn{display:block!important}.modal-card{width:calc(100vw - 16px)!important;max-height:92vh!important;margin:4vh 8px!important;padding:18px!important}.editor{height:68vh!important}.task-card{padding:14px}.event-card{grid-template-columns:56px 1fr!important}.event-card>.actions{display:flex!important;grid-column:2}.security-card{padding:16px}.doc-tabs{overflow:auto;flex-wrap:nowrap}.doc-tabs button{white-space:nowrap}}


/* PRAESTO V0.7 */
.dashboard-actions{display:flex;gap:8px;align-items:center}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.announcement-stack{display:grid;gap:10px;margin-bottom:16px}.announcement{display:flex;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid #e5e7eb;border-left:5px solid #4b86c6;border-radius:14px;background:#fff;box-shadow:0 3px 16px rgba(20,27,38,.05)}.announcement.warning{border-left-color:#d98c00;background:#fffaf0}.announcement.urgent{border-left-color:#e30613;background:#fff6f6}.announcement h3{margin:8px 0 4px}.announcement p{margin:0 0 5px;white-space:pre-wrap}.setting-row{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #eceef1;border-radius:10px;margin:8px 0}.read-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eee}.read-item small,.read-person small{display:block;color:#7a8089;margin-top:3px}.activity-feed{display:grid;gap:4px}.activity-item{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid #f0f1f3;font-size:14px}.activity-dot{width:8px;height:8px;background:#e30613;border-radius:50%;margin-top:6px;flex:none}.activity-item small{display:block;color:#8a8f97;margin-top:2px}.activity-item span:not(.activity-dot){color:#667085}
.kanban{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px}.kanban-col{background:#f5f6f8;border:1px solid #e6e8eb;border-radius:14px;min-height:520px;transition:.15s}.kanban-col.drag-over{outline:2px solid #e30613;background:#fff5f5}.kanban-col>header{display:flex;justify-content:space-between;padding:13px 14px;border-bottom:1px solid #e2e4e8}.kanban-col>header span{background:#fff;border-radius:99px;padding:2px 8px;font-size:12px}.kanban-drop{padding:10px;display:grid;gap:10px}.kanban-card{background:#fff;border:1px solid #e2e4e8;border-radius:11px;padding:12px;box-shadow:0 2px 8px rgba(20,27,38,.04);cursor:grab}.kanban-card strong,.kanban-card small{display:block}.kanban-card small{color:#777;margin:5px 0 9px}.kanban-card .badge{margin:0 4px 6px 0}.kanban-empty{color:#9aa0a8;text-align:center;padding:30px 5px;font-size:13px}
.calendar-heading{margin:4px 0 12px}.calendar-heading h2{text-transform:capitalize}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));border:1px solid #e1e4e8;border-radius:14px;overflow:auto;background:#fff}.weekday{padding:9px;text-align:center;font-weight:700;background:#f6f7f9;color:#555;border-right:1px solid #e5e7eb}.day-cell{min-height:125px;padding:8px;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;cursor:pointer}.day-cell.outside{background:#fafafa;color:#aaa}.day-cell.today{box-shadow:inset 0 0 0 2px #e30613}.day-cell>b{display:inline-flex;width:27px;height:27px;align-items:center;justify-content:center}.day-cell.today>b{background:#e30613;color:#fff;border-radius:50%}.cal-event{display:block;width:100%;border:0;text-align:left;border-left:3px solid #e30613;background:#fff2f3;border-radius:5px;padding:4px 5px;margin:3px 0;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-event span{font-weight:700;margin-right:5px}.type-training{border-left-color:#3578c8;background:#f0f6ff}.type-exercise{border-left-color:#7f56d9;background:#f6f2ff}.type-meeting{border-left-color:#727983;background:#f3f4f5}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;overflow-x:auto}.week-day{border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:10px;min-height:460px}.week-day.today{border-color:#e30613}.week-day>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee;padding-bottom:8px;margin-bottom:8px;text-transform:capitalize}.week-day>header b{font-size:23px}.week-event{width:100%;text-align:left;background:#f9fafb;border:1px solid #e8e9ec;border-left:4px solid #e30613;border-radius:8px;padding:9px;margin:6px 0}.week-event small,.week-event strong,.week-event span{display:block}.week-event span{font-size:11px;color:#777;margin-top:4px}.week-empty{color:#aaa;font-size:12px;text-align:center;padding-top:30px}
.profile-layout{display:grid;grid-template-columns:280px 1fr;gap:18px}.profile-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:30px;text-align:center}.profile-avatar{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:#e30613;color:#fff;font-weight:800;font-size:30px;margin:0 auto 16px}.profile-card h2{margin:5px 0}.read-status{border:1px solid #e5e7eb;border-radius:12px;padding:10px}.read-summary{display:flex;gap:8px;padding:4px 4px 10px}.read-person{display:flex;gap:11px;align-items:center;padding:9px 4px;border-top:1px solid #eee}.read-person>span{font-size:19px;color:#e30613}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.kanban{grid-template-columns:repeat(5,82vw)}.profile-layout{grid-template-columns:1fr}.month-grid{grid-template-columns:repeat(7,120px)}.week-grid{grid-template-columns:repeat(7,75vw)}.dashboard-actions{flex-wrap:wrap;justify-content:flex-end}}

/* PRAESTO V0.8 */
.grid4.compact{margin:12px 0 20px}.grid4.compact .metric{padding:14px}.grid4.compact .num{font-size:24px}
.v08-event-tools{grid-column:1/-1;margin-top:4px;padding-top:14px;border-top:1px solid #eceef1}
.response-list{display:grid;gap:8px;margin-top:10px}.response-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 12px;border:1px solid #e8eaee;border-radius:10px}.response-row small{display:block;color:#737983;margin-top:3px}
.search-tabs{display:flex;gap:8px;margin:14px 0}.search-tabs button{border:1px solid #ddd;background:#fff;border-radius:9px;padding:8px 12px;cursor:pointer}.search-tabs button.active{background:#e30613;color:#fff;border-color:#e30613}
.permission-matrix{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:10px;align-items:center}.permission-matrix>*{min-width:0}.permission-matrix select{width:100%}
.admin-metrics{margin:16px 0 22px}.admin-metrics .metric{min-height:104px}
@media(max-width:800px){.permission-matrix{grid-template-columns:1fr}.permission-matrix>div:first-child{display:none}.permission-matrix strong{margin-top:8px}.admin-metrics{grid-template-columns:1fr 1fr}}


/* PRAESTO V1.0 – System / Betrieb */
.system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.setup-banner{background:linear-gradient(135deg,#fff1f2,#fff);border:1px solid #ffcbd0;border-left:5px solid var(--red);border-radius:14px;padding:18px 20px;margin-bottom:16px}.setup-banner p{margin:5px 0 14px;color:var(--muted)}.system-health-list{display:grid;gap:9px}.system-health{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);border-radius:11px}.system-health>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:900}.system-health.ok>span{background:#e7f6ee;color:#0a7345}.system-health.bad>span{background:#ffe8ea;color:#bd111b}.system-health small{display:block;color:var(--muted);margin-top:2px}.system-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.system-facts div{background:#f7f8fa;border-radius:10px;padding:12px}.system-facts small,.system-facts strong{display:block}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 0}.switch-row small{display:block;color:var(--muted);margin-top:3px}.switch-row input{width:22px;height:22px}.system-warning{background:#fff7e8;border:1px solid #f5d59a;border-radius:10px;padding:10px 12px;color:#7e5600}.system-logs{margin-top:16px}.log-table{display:grid}.log-row{display:grid;grid-template-columns:80px 1fr;gap:12px;align-items:start;padding:10px 0;border-bottom:1px solid #eef0f2}.log-row small{display:block;color:var(--muted);margin-top:3px}.setup-checklist{display:grid;gap:6px;padding:12px;background:#f7f8fa;border-radius:10px}.setup-checklist label{font-weight:500;color:#4a5058}@media(max-width:900px){.system-grid{grid-template-columns:1fr}}
