From 7d6494499df07efca258a0b27b5085eeb5d8263b Mon Sep 17 00:00:00 2001 From: wasrusgen Date: Fri, 29 May 2026 16:12:11 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20stage=200=20overview=20dashboard=20?= =?UTF-8?q?=E2=80=94=20all=20stages=20in=20one=20screen,=20default=20view?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/mockup_cabinet.html | 188 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 184 insertions(+), 4 deletions(-) diff --git a/docs/mockup_cabinet.html b/docs/mockup_cabinet.html index 16a1054..d699599 100644 --- a/docs/mockup_cabinet.html +++ b/docs/mockup_cabinet.html @@ -96,6 +96,62 @@ body{font-family:'Inter',sans-serif;background:var(--body-bg);color:var(--text); .card-h{font-size:13px;font-weight:700;color:var(--text);margin-bottom:12px} .two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px} +/* ── Stage 0 — Overview Dashboard ───────────────────── */ +.ov-top{background:var(--white);border:1.5px solid var(--border);border-radius:16px;padding:20px 22px;margin-bottom:20px;flex-shrink:0} +.ov-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px} +.ov-top-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#9CA3AF} +.ov-top-pct{font-size:24px;font-weight:800;color:var(--primary);letter-spacing:-1px} +.ov-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:10px} +.ov-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--mid));border-radius:4px;transition:width .5s} +.ov-next{display:flex;align-items:center;gap:8px;background:var(--light);border-radius:8px;padding:9px 12px} +.ov-next-ic{font-size:14px;flex-shrink:0} +.ov-next-txt{font-size:12px;color:var(--dark);font-weight:500;flex:1} +.ov-next-btn{font-size:12px;font-weight:700;color:var(--primary);background:none;border:none;cursor:pointer;font-family:'Inter',sans-serif;white-space:nowrap;padding:0} +.ov-next-btn:hover{text-decoration:underline} + +.ov-stages{display:flex;flex-direction:column;gap:0;position:relative;flex-shrink:0} +.ov-stages::before{content:'';position:absolute;left:27px;top:20px;bottom:20px;width:2px;background:var(--border);z-index:0} +.ov-stage{display:flex;align-items:flex-start;gap:14px;background:var(--white);border:1.5px solid var(--border);border-radius:14px;padding:16px 18px;margin-bottom:10px;position:relative;cursor:pointer;transition:border-color .15s,box-shadow .15s;z-index:1} +.ov-stage:hover{border-color:#D1D5DB;box-shadow:0 2px 8px rgba(0,0,0,.06)} +.ov-stage.done{border-color:rgba(16,185,129,.2)} +.ov-stage.active{border-color:var(--primary);box-shadow:0 0 0 3px rgba(4,120,87,.08),0 4px 12px rgba(4,120,87,.12)} +.ov-stage.locked{opacity:.5;cursor:default} +.ov-stage.locked:hover{border-color:var(--border);box-shadow:none} + +.ov-num{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0} +.ov-stage.done .ov-num{background:var(--light);color:var(--primary);font-size:18px} +.ov-stage.active .ov-num{background:var(--primary);color:#fff;box-shadow:0 4px 10px rgba(4,120,87,.35)} +.ov-stage.pending .ov-num{background:#FEF9C3;color:#854D0E} +.ov-stage.locked .ov-num{background:var(--subtle);color:#CBD5E1} + +.ov-body{flex:1;min-width:0} +.ov-stage-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9CA3AF;margin-bottom:2px} +.ov-stage.done .ov-stage-lbl{color:var(--primary)} +.ov-stage.active .ov-stage-lbl{color:var(--primary)} +.ov-stage-name{font-size:15px;font-weight:700;color:var(--text);margin-bottom:4px} +.ov-stage.locked .ov-stage-name{color:#9CA3AF} +.ov-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap} +.ov-meta-tag{font-size:11px;color:#374151;background:var(--subtle);border:1px solid var(--border);border-radius:5px;padding:2px 7px;font-weight:500} +.ov-stage.done .ov-meta-tag{background:var(--light);border-color:rgba(16,185,129,.2);color:var(--primary)} +.ov-meta-sep{color:#D1D5DB;font-size:10px} + +.ov-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0} +.ov-status{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px} +.ov-status.done{background:var(--light);color:var(--primary)} +.ov-status.active{background:#EFF6FF;color:#1E40AF} +.ov-status.pending{background:#FEF9C3;color:#854D0E} +.ov-status.locked{background:var(--subtle);color:#9CA3AF} +.ov-cta{font-size:12px;font-weight:700;color:var(--primary);background:none;border:none;cursor:pointer;font-family:'Inter',sans-serif;padding:0;white-space:nowrap} +.ov-cta:hover{text-decoration:underline} +.ov-cta.muted{color:#9CA3AF;cursor:default;font-weight:500} +.ov-cta.muted:hover{text-decoration:none} + +.ov-mini-bar{width:80px;height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-top:2px} +.ov-mini-fill{height:100%;border-radius:2px} +.ov-mini-fill.green{background:var(--mid)} +.ov-mini-fill.blue{background:#3B82F6;animation:run 2s ease-in-out infinite} +.ov-mini-fill.yellow{background:#F59E0B;width:50%} + /* Checklist */ .chk{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--subtle)} .chk:last-child{border-bottom:none} @@ -391,6 +447,15 @@ body{font-family:'Inter',sans-serif;background:var(--body-bg);color:var(--text);