:root{--primary:#2563eb;--secondary:#0f172a;--accent:#14b8a6;--bg:#f1f5f9;--surface:#fff;--text:#0f172a;--muted:#64748b;--line:#dbe3ee;--success:#16a34a;--danger:#dc2626;--radius:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body[data-theme=dark]{--bg:#07101f;--surface:#101b2d;--text:#e5edf8;--muted:#94a3b8;--line:#263752;color-scheme:dark}.app-shell{min-height:100dvh;max-width:1200px;margin:auto;background:var(--bg);position:relative}.topbar{height:68px;background:var(--secondary);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px}.brand{color:#fff;text-decoration:none;display:flex;gap:7px;align-items:baseline}.brand strong{font-size:20px}.brand span{opacity:.7}.top-actions{display:flex;gap:8px}.top-actions form{margin:0}.icon-button{border:0;background:#ffffff16;color:#fff;border-radius:999px;width:42px;height:42px;font-size:18px}.main{padding:26px 22px 105px;min-height:calc(100dvh - 68px)}h1{font-size:clamp(28px,5vw,40px);line-height:1.08;margin:5px 0 24px}h2{font-size:21px}.welcome p,.page-head p,.step p,.muted{margin:0;color:var(--muted)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.step>span{display:inline-block;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-weight:700;border-radius:999px;padding:4px 10px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.stats article,.panel,.form-card,.filter-card{background:var(--surface);padding:19px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 14px #0f172a0c}.stats b{display:block;font-size:24px}.stats span,.select-card small,.list-row small{display:block;color:var(--muted);font-size:13px}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.action-grid a{min-height:125px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:var(--radius);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:18px;text-decoration:none}.action-grid i{font-style:normal;font-size:28px;color:var(--primary)}.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(1200px,100%);height:78px;background:var(--surface);border-top:1px solid var(--line);display:flex}.bottom-nav a{flex:1;color:var(--muted);text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.bottom-nav i{font-size:22px;font-style:normal}.bottom-nav span{font-size:11px}.bottom-nav a.active{color:var(--primary);font-weight:700}.bottom-nav .primary-nav i{background:var(--primary);color:#fff;width:46px;height:46px;border-radius:999px;display:grid;place-items:center;margin-top:-24px;box-shadow:0 6px 16px #2563eb55}.btn{border:0;border-radius:10px;padding:11px 15px;font-weight:700;text-decoration:none;display:inline-block;text-align:center;cursor:pointer}.btn.primary{background:var(--primary);color:#fff}.btn.secondary{background:var(--secondary);color:#fff}.btn.full{width:100%;padding:14px}.back{display:inline-block;color:var(--primary);text-decoration:none;font-weight:700;margin-bottom:18px}.search{height:54px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;align-items:center;padding:0 14px;gap:10px;margin-bottom:16px}.search span{font-size:24px}.search input{border:0!important;background:transparent!important;box-shadow:none!important;width:100%}.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.select-card{min-height:90px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-decoration:none;display:flex;flex-direction:column;justify-content:center}.select-card>b{font-size:18px}.select-card>strong{font-size:25px;margin-top:8px}.form-card,.form-stack{display:grid;gap:17px;max-width:820px}.form-card.compact{margin-top:18px}.form-card label,.form-stack label,.panel>label{display:grid;gap:6px;font-weight:700}.form-grid,.two-cols,.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}input,textarea,select{width:100%;border:1px solid #cbd5e1;background:var(--surface);color:var(--text);border-radius:10px;padding:12px;outline:none;font:inherit}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}label small{color:var(--muted);font-weight:400}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.check input{width:20px;height:20px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.choice input{position:absolute;opacity:0}.choice span{display:block;background:var(--surface);border:1px solid #cbd5e1;border-radius:11px;padding:13px;font-weight:600}.choice input:checked+span{border:2px solid var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.choice small{display:block}.quick-time{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.quick-time button,.time-total button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:12px;font-weight:700}.time-total{display:flex;align-items:center;justify-content:space-between;margin-top:12px;background:var(--bg);padding:10px;border-radius:var(--radius)}.time-total button{width:46px;height:46px;border-radius:99px;color:var(--primary);font-size:22px}.time-total strong{font-size:22px}.task-list,.report-list{display:grid;gap:10px}.task-list article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:15px;display:flex;align-items:center;justify-content:space-between;gap:15px}.task-list article>a:first-child{color:var(--text);text-decoration:none;flex:1}.task-list h3{margin:4px 0}.pill{display:inline-block;background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary);padding:4px 9px;border-radius:99px;font-size:12px;font-style:normal}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.list-row:last-child{border:0}.list-row span{flex:1}.list-row em{font-style:normal}.inline-form{display:flex;gap:8px;margin-top:14px}.filter-card{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin-bottom:14px}.report-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px}.report-row>input{width:20px;height:20px}.report-row small{display:block;color:var(--muted)}.progress{height:8px;background:var(--line);border-radius:99px;overflow:hidden;margin-top:8px}.progress i{display:block;height:100%;background:var(--accent)}.flash{padding:13px 16px;border-radius:10px;margin-bottom:16px}.flash.success{background:#dcfce7;color:#166534}.flash.error{background:#fee2e2;color:#991b1b}.pagination{margin-top:18px}.login-page{min-height:100dvh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#07101f,#173154)}.login-card{width:min(440px,100%);background:var(--surface);border-radius:22px;padding:34px;box-shadow:0 25px 80px #0005}.login-logo{display:flex;gap:7px;align-items:baseline;color:var(--primary)}.login-logo strong{font-size:25px}.login-card h1{margin:22px 0 8px}.login-card>p{color:var(--muted);margin-bottom:25px}
@media(max-width:700px){.topbar{height:60px}.main{padding:20px 14px 94px}.stats{grid-template-columns:1fr 1fr}.stats article:first-child{grid-column:1/-1}.action-grid,.card-grid,.two-cols,.form-grid,.color-grid{grid-template-columns:1fr 1fr}.action-grid a{min-height:112px}.page-head{align-items:flex-start}.page-head .btn{white-space:nowrap}.task-list article{align-items:flex-start;flex-direction:column}.task-list article>.btn{width:100%}.report-row{grid-template-columns:auto 1fr}.report-row>strong{grid-column:2}.filter-card{grid-template-columns:1fr 1fr}.filter-card select{grid-column:1/-1}.two-cols{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr 1fr}}@media(max-width:430px){.action-grid,.form-grid,.color-grid{grid-template-columns:1fr 1fr}.card-grid{grid-template-columns:1fr}.page-head{display:block}.page-head .btn{margin-bottom:16px}.bottom-nav span{font-size:10px}}
