.shell{display:grid;grid-template-columns:100px minmax(0,1fr);min-height:calc(100vh - 78px)}.side-nav{position:sticky;top:78px;height:calc(100vh - 78px);background:#f8fafc;border-right:1px solid #dce4eb;display:flex;flex-direction:column;gap:8px;padding:18px 8px;overflow:auto}.side-nav a{display:flex;flex-direction:column;align-items:center;gap:7px;padding:13px 3px;text-decoration:none;color:#4e6071;border-radius:12px;font-size:11px;font-weight:700}.side-nav a img{width:23px;height:23px}.side-nav a:hover,.side-nav a[aria-current=page]{background:#ddecfa;color:#075f9c}.main{min-width:0}.page{max-width:1600px}.attendance-summary{margin-bottom:20px}.task-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(650px,96vw);height:100dvh;max-height:none;max-width:none;border:0;border-left:1px solid #dce4eb;padding:28px;background:#fff;box-shadow:-12px 0 50px #18304722;color:#183047}.task-drawer::backdrop{background:#18304740}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.drawer-head button,.task-drawer .subtle{border:1px solid #dce4eb;background:#f6f8fa;border-radius:7px;padding:7px 12px}.task-drawer [name=title]{font-size:26px;font-weight:700;border:0;border-bottom:1px solid #e5eaf0;border-radius:0;padding:12px 0}.task-properties{display:grid;grid-template-columns:1fr 1fr;gap:15px}.task-drawer textarea{min-height:170px;resize:vertical;line-height:1.7}.check-row{display:flex;gap:8px;align-items:center;margin:8px 0}.check-row input[type=checkbox]{width:18px;height:18px;flex:none}.check-row input[type=text]{padding:8px}.check-row button{border:0;background:transparent;padding:8px}.drawer-actions{position:sticky;bottom:-28px;background:#fff;border-top:1px solid #dce4eb;padding:16px 0;display:flex;gap:12px;margin-top:20px}.task-comment{border-bottom:1px solid #edf0f4;padding:14px 0;white-space:pre-wrap}.task-comment small{display:block;color:#65737e;margin-bottom:7px}.task-comment-form textarea{min-height:75px}.task-save-message{min-height:24px;color:#a13d32}.kanban{align-items:start}.kanban>section{background:#edf2f7;border:1px solid #e1e7ee;border-radius:12px;min-height:250px}.task-card{box-shadow:0 3px 9px #18304709}.task-search{max-width:320px;margin:0 0 18px}.task-empty{padding:18px;color:#65737e}@media(max-width:700px){.shell{grid-template-columns:72px minmax(0,1fr)}.side-nav{padding:10px 4px}.side-nav a{font-size:10px}.main{padding:12px}.task-properties{grid-template-columns:1fr}.task-drawer{padding:20px}.drawer-actions{bottom:-20px}}@media print{.side-nav{display:none}.shell{display:block}.task-drawer{position:static}}
.task-priority{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;margin-right:8px}.task-card[data-priority=low] .task-priority{background:#e5edf5;color:#51677b}.task-card[data-priority=normal] .task-priority{background:#dceeff;color:#216a9b}.task-card[data-priority=high] .task-priority{background:#fff0d2;color:#a86100}.task-card[data-priority=urgent]{border-left:5px solid #c62828}.task-card[data-priority=urgent] .task-priority{background:#ffe0e0;color:#a21f1f}.file-browser .file-row{display:inline-flex;vertical-align:top;width:160px;min-height:190px;margin:8px;padding:12px;flex-direction:column;align-items:center;text-align:center;border:1px solid #d8e3eb;border-radius:12px;background:#fff;overflow-wrap:anywhere}.file-browser .file-row>div:nth-child(2){width:100%;display:block}.file-browser .file-row b{display:block;font-size:13px}.file-browser .file-row small{display:block;font-size:10px;margin-top:3px}.file-browser .file-icon{width:76px;height:76px;font-size:16px;border-radius:16px;background:linear-gradient(145deg,#e4f3ff,#b8daf1);box-shadow:0 4px 10px #1a557622}.file-browser .file-row>a{margin-top:auto}.file-browser .file-row form,.file-browser .file-row details{width:100%}.folder-bar>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.folder-bar>div a{padding:10px;border:1px solid #dce4eb;border-radius:10px;text-decoration:none;background:#f5faff}@media(max-width:600px){.file-browser .file-row{width:calc(50% - 20px);min-height:175px}}
.task-priority.priority-low{background:#e5edf5;color:#51677b}.task-priority.priority-normal{background:#dceeff;color:#216a9b}.task-priority.priority-high{background:#fff0d2;color:#a86100}.task-priority.priority-urgent{background:#ffe0e0;color:#a21f1f}
.file-page-head{margin-bottom:18px}.file-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.file-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.file-breadcrumb a{text-decoration:none;color:#246d9e;font-weight:700}.file-toolbar-actions{display:flex;gap:10px;align-items:center}.file-toolbar-actions details{position:relative}.file-toolbar-actions summary{list-style:none;cursor:pointer;white-space:nowrap}.file-toolbar-actions summary::-webkit-details-marker{display:none}.file-toolbar-actions details form{position:absolute;right:0;top:calc(100% + 10px);width:min(320px,80vw);z-index:5;background:#fff;padding:18px;border:1px solid #dce4eb;border-radius:12px;box-shadow:0 15px 40px #173e5b25}.file-browser{min-height:360px}.file-browser-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.file-browser-heading h2{margin:0}.file-browser-heading small{color:#637585}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.file-grid .file-tile,.file-browser .file-grid .file-row{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;min-height:200px;margin:0;padding:18px 12px;text-align:center;text-decoration:none;color:#183047;background:#f9fbfd;border:1px solid #dbe5ed;border-radius:14px;box-shadow:none;transition:transform .15s,border-color .15s,box-shadow .15s}.file-grid .file-tile:hover{transform:translateY(-3px);border-color:#73afd3;box-shadow:0 9px 24px #17567c16}.file-grid .file-tile-icon{display:grid;place-items:center;width:84px;height:84px;margin-bottom:12px;border-radius:18px;background:#e7f2fa;font-size:42px}.file-grid .folder-tile .file-tile-icon{background:#fff3d6}.file-grid .file-tile strong,.file-grid .file-tile b{display:block;font-size:13px;overflow-wrap:anywhere}.file-grid .file-tile small{display:block;color:#687b89;font-size:11px;line-height:1.4;margin-top:5px}.file-grid .file-tile-info{width:100%}.file-grid .file-tile-actions{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:12px}.file-grid .file-tile-actions form{width:auto}.file-grid .file-tile-actions button,.file-grid .file-tile-actions a{font-size:11px;padding:5px 8px}.file-grid .file-row details{width:100%;font-size:11px}.file-empty{grid-column:1/-1;text-align:center;padding:48px 20px;color:#667a89}.file-empty span{font-size:64px}.file-empty h3{color:#183047;margin:8px 0}.file-empty p{margin:0}@media(max-width:600px){.file-toolbar-actions{width:100%}.file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.file-grid .file-tile,.file-browser .file-grid .file-row{min-height:175px;padding:12px 7px}.file-grid .file-tile-icon{width:68px;height:68px;font-size:34px}}
.file-toolbar .file-breadcrumb a{display:inline;background:transparent;border:0;padding:2px 4px;border-radius:4px}.file-toolbar .file-breadcrumb a:hover{background:#eaf4fb}

/* V1.6: priority and progress are distinct, visible on every card. */
.task-card[data-priority="low"]{--task-priority:#171717}
.task-card[data-priority="normal"]{--task-priority:#e3bc00}
.task-card[data-priority="high"]{--task-priority:#dc2626}
.task-card[data-priority="urgent"]{--task-priority:#923ed0}
.task-card{border-left:6px solid var(--task-priority)!important}
.task-card[data-priority] .task-priority{background:var(--task-priority);color:white;border:0}
.task-card[data-priority="normal"] .task-priority{color:#332a00}
.kanban>[data-task-status="todo"]{--progress-color:#64748b;--progress-bg:#f1f3f5}
.kanban>[data-task-status="doing"]{--progress-color:#977100;--progress-bg:#fff4c2}
.kanban>[data-task-status="review"]{--progress-color:#2563eb;--progress-bg:#e7f0ff}
.kanban>[data-task-status="done"]{--progress-color:#15803d;--progress-bg:#e3f5e9}
.kanban>[data-task-status]>h2{color:var(--progress-color);background:var(--progress-bg);padding:12px;border-radius:9px}
.kanban>[data-task-status] .task-card select[name="status"]{background:var(--progress-bg);color:var(--progress-color);font-weight:700}
.kanban>[data-task-status]{background:var(--progress-bg);border-top:5px solid var(--progress-color)}
.admin-tabs{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:18px}
.admin-tabs a,.admin-tabs button{display:flex;align-items:center;justify-content:center;min-height:88px;padding:18px;border-radius:16px;background:#e7f1fa;color:#163d62;font-size:18px;font-weight:700;text-decoration:none;text-align:center}
.wiki-feed{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.wiki-author{display:flex;gap:12px;align-items:center}.wiki-author small{display:block;color:#65758a;margin-top:4px}.wiki-search{display:flex;gap:10px;margin-bottom:20px}.wiki-preview p{white-space:normal;overflow-wrap:anywhere;line-height:1.8}.wiki-body{overflow-wrap:anywhere}
.release-status.ready{border-left:6px solid #16a34a;background:#ecfdf3}.release-status.error{border-left:6px solid #dc2626;background:#fff0f0}.release-status.empty{border-left:6px solid #64748b}
.checkout-dialog{width:min(620px,90vw)}.checkout-dialog textarea{width:100%}
.calendar-task.priority-low{border-left:5px solid #171717}.calendar-task.priority-normal{border-left:5px solid #e3bc00}.calendar-task.priority-high{border-left:5px solid #dc2626}.calendar-task.priority-urgent{border-left:5px solid #923ed0}
