.dash-shell{padding:20px 14px 56px}.dash-wrap{gap:22px;width:min(1240px,100%);margin-inline:auto;display:grid}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.dash-header h1{margin:8px 0 4px;font-size:24px}.dash-header p{color:var(--ink-soft);margin:0;font-size:13px}.dash-refresh{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.dash-refresh-time{color:var(--ink-faint);font-size:11px}.dash-section h2{margin:0 0 10px;font-size:16px}.dash-note{border:1.5px dashed var(--ink);color:var(--ink-soft);background:var(--pink-bg);border-radius:10px;margin:0 0 12px;padding:8px 12px;font-size:12px}.dash-grid{gap:12px;display:grid}.dash-grid-teams{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dash-grid-people{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.dash-grid-skills{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dash-card{border:2px solid var(--ink);color:inherit;background:#fff;border-radius:12px;padding:12px 14px;text-decoration:none;display:block;box-shadow:0 3px #4a2b3c1f}.dash-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.dash-card-head b{font-size:13px}.dash-card-task{color:var(--ink-soft);margin:0 0 6px;font-size:12px}.dash-card-result{margin:6px 0 0;font-size:12px;font-weight:700}.dash-card-clickable{text-align:left;cursor:pointer;width:100%;font:inherit;transition:transform .1s,box-shadow .1s}.dash-card-clickable:hover{transform:translateY(-2px);box-shadow:0 5px #4a2b3c29}.dash-card-active{border-color:#7c5cff;box-shadow:0 0 0 2px #7c5cff}.dash-card-hint{color:var(--ink-faint);margin:6px 0 0;font-size:10px}.dash-filter-chip{vertical-align:middle;background:#efe9ff;border:1.5px solid #7c5cff;border-radius:999px;align-items:center;gap:6px;margin-left:8px;padding:3px 8px 3px 10px;font-size:11px;font-weight:700;display:inline-flex}.dash-filter-chip button{cursor:pointer;color:#7c5cff;background:0 0;border:none;padding:0 2px;font-size:11px;font-weight:900}.dash-log{gap:3px;margin:6px 0 0;padding:0;list-style:none;display:grid}.dash-log li{color:var(--ink-faint);background:var(--pink-bg);border-radius:6px;padding:4px 8px;font-size:11px}.dash-schedule{opacity:.85;margin:0 0 6px;font-size:11px}.dash-todo{gap:4px;margin:0;padding:0;list-style:none;display:grid}.dash-todo li{border-radius:6px;padding:4px 8px;font-size:11.5px}.dash-todo li.pink{background:#ffe6ee}.dash-todo li.mint{background:#e6faf1}.dash-todo li.lav{background:#efe9ff}.dash-empty{color:var(--ink-faint);margin:4px 0 0;font-size:12px}.dash-skill{transition:transform .1s}.dash-skill:hover{transform:translateY(-2px)}.dash-skill p{color:var(--ink-soft);margin:6px 0;font-size:11.5px}.dash-skill small{color:var(--ink-faint);font-size:10px}.dash-hall{gap:16px;display:grid}.dash-hall-title{margin:0 0 8px;font-size:12px;font-weight:900}.dash-hall-title.pink{color:#d6336c}.dash-hall-title.lav{color:#6b4fbb}.dash-hall-title.mint{color:#1a8f63}.dash-hall-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.dash-hall-item{background:#f7f5ff;border-radius:10px;padding:10px 12px}.dash-hall-item.pink{background:#fff0f3;border:1.5px solid #ef4444}.dash-hall-item.green{background:#f0fdf6;border:1.5px solid #22c55e}.dash-hall-item.lav{background:#f4f0ff}.dash-hall-item-head{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.dash-hall-item-head b{color:var(--ink-faint);font-size:10px}.dash-hall-subject{margin:0;font-size:13px;font-weight:800}.dash-hall-body{color:var(--ink-soft);margin:4px 0 6px;font-size:12px}.dash-table{border-collapse:collapse;width:100%;margin-top:4px;font-size:11.5px}.dash-table th{text-align:left;color:var(--ink-faint);border-bottom:1.5px solid var(--ink);padding:4px 6px;font-size:10px}.dash-table td{border-bottom:1px solid #eee;padding:4px 6px}.dash-table td a{color:#7c5cff;font-weight:700;text-decoration:underline}.dash-footer{text-align:center;color:var(--ink-faint);padding:10px 0;font-size:11px}@media (width<=640px){.dash-header{flex-direction:column;align-items:flex-start}.dash-refresh{align-items:flex-start}}
