/* riza1 ECM Implementation Plan — App Shell skin (ported from the claude-design mockup) */
:root{
  --green:#1f9d57;--green-d:#15673c;--green-ink:#114a2c;--green-l:#e4f4ea;--green-l2:#edf6ee;
  --teal:#1aa0b6;--teal-d:#127f93;
  --violet:#7458e6;--violet-d:#5a3fd0;--violet-l:#f1ecfd;--violet-l2:#e9e1ff;
  --amber:#b26a07;--amber-bg:#fbf1dd;--amber-l:#f0dcb2;
  --red:#c23b2c;--red-bg:#fbe9e7;
  --ink:#1d2a23;--ink2:#33433a;--muted:#6c7a70;--muted2:#94a09a;
  --line:#e7ebe7;--line2:#eef2ee;--page:#f4f6f4;--card:#ffffff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--page);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
b,strong{font-weight:600}

@keyframes rz-shimmer{0%{transform:translateX(-120%)}60%,100%{transform:translateX(220%)}}
@keyframes rz-twinkle{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}
@keyframes rz-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes rz-bar{0%{left:-40%;width:40%}50%{width:55%}100%{left:100%;width:30%}}
@keyframes rz-toast{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}

/* ---------- App shell ---------- */
.rz-shell{display:flex;align-items:stretch;min-height:100vh}
.rz-side{width:248px;flex:none;background:#fff;border-right:1px solid var(--line);
  display:flex;flex-direction:column;padding:16px 0;position:sticky;top:0;height:100vh;align-self:flex-start}
.rz-brand{display:flex;align-items:center;gap:9px;padding:2px 18px 14px}
.rz-word{font-size:20px;font-weight:800;color:var(--green-d);letter-spacing:-.01em}
.rz-word .one{color:var(--teal)}
.rz-for{font-size:11px;color:var(--muted);margin-top:3px}
.rz-for b{color:var(--ink2);font-weight:600}
.rz-active-site{margin:4px 12px 14px;padding:10px 12px;background:var(--green-l2);border:1px solid var(--green-l);border-radius:10px}
.rz-active-site .k{font-size:10px;letter-spacing:.08em;color:var(--muted);font-weight:600}
.rz-active-site .v{display:flex;align-items:center;justify-content:space-between;margin-top:2px;font-size:14px;font-weight:600;color:var(--green-ink)}
.rz-navlabel{font-size:10px;letter-spacing:.08em;color:var(--muted2);font-weight:700;padding:8px 20px 4px}
.rz-nav{display:flex;align-items:center;gap:11px;margin:1px 10px;padding:8px 12px;border-radius:8px;
  font-size:13px;font-weight:500;color:var(--ink2);cursor:pointer}
.rz-nav:hover{background:var(--green-l2)}
.rz-nav .ico{width:16px;text-align:center;opacity:.9}
.rz-nav.active{background:var(--green-l2);color:var(--green-ink);font-weight:700;cursor:default}
.rz-nav.active:hover{background:var(--green-l2)}
.rz-nav.disabled{color:var(--muted2);cursor:not-allowed}
.rz-nav.disabled:hover{background:transparent}
.rz-nav .dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--green)}
.rz-user{margin-top:auto;display:flex;align-items:center;gap:9px;padding:14px 18px 2px;border-top:1px solid var(--line2)}
.rz-avatar{width:28px;height:28px;border-radius:50%;background:var(--green-d);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}

.rz-main{flex:1;min-width:0;display:flex;flex-direction:column}

/* ---------- Content header ---------- */
.rz-chead{padding:22px 36px 0;background:#fff;border-bottom:1px solid var(--line)}
.rz-chead-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.rz-eyebrow{font-size:11px;letter-spacing:.08em;font-weight:700;color:var(--violet);display:flex;align-items:center;gap:6px}
.rz-spark{animation:rz-twinkle 2.4s ease-in-out infinite}
.rz-h1{margin:5px 0 0;font-size:27px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.rz-h1 .accent{color:var(--violet)}
.rz-steppill{font-size:11px;color:var(--muted);background:var(--green-l2);border:1px solid var(--green-l);padding:5px 11px;border-radius:20px;font-weight:600;white-space:nowrap}
.rz-regen{display:flex;align-items:center;gap:7px;background:var(--green);color:#fff;border:none;border-radius:8px;padding:9px 15px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.rz-regen:hover{background:var(--green-d)}
.rz-tabs{display:flex;gap:22px;margin-top:16px}
.rz-tab{font-size:13px;font-weight:600;color:var(--muted);padding-bottom:11px;text-decoration:none}
.rz-tab.active{font-weight:700;color:var(--green-d);border-bottom:2px solid var(--green-d);cursor:default}
.rz-tab.disabled{color:var(--muted2);cursor:not-allowed}

/* ---------- Scroll content ---------- */
.rz-scroll{flex:1;min-width:0}
.rz-content{max-width:1040px;margin:0 auto;padding:22px 30px 56px;display:flex;flex-direction:column;gap:16px}
#plan{display:flex;flex-direction:column;gap:16px}
.rz-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px;animation:rz-fade .25s ease both}

/* gallery */
.rz-gallery{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:13px 16px}
.rz-gallery .glabel{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;white-space:nowrap}
.rz-chips{display:flex;gap:8px;flex-wrap:wrap}
.rz-chip{cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:7px 14px;border-radius:20px;
  border:1px solid var(--line);background:#fff;color:var(--ink2);white-space:nowrap;transition:all .14s}
.rz-chip:hover{border-color:var(--green)}
.rz-chip.thin{border-style:dashed}
.rz-chip.selected{background:var(--green);color:#fff;border-color:var(--green)}
.rz-gen{position:relative;overflow:hidden;cursor:pointer;font:inherit;font-size:13px;font-weight:700;
  color:#fff;border:none;border-radius:9px;padding:10px 18px;
  background:linear-gradient(120deg,var(--violet-d),var(--violet));box-shadow:0 6px 16px -7px rgba(90,63,208,.8)}
.rz-gen::before{content:'';position:absolute;top:0;bottom:0;left:0;width:40%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);animation:rz-shimmer 2.6s ease-in-out infinite}
.rz-gen span{position:relative;display:flex;align-items:center;gap:7px}

/* overview */
.rz-ov-head{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}
.rz-ov-icon{flex:none;width:42px;height:42px;border-radius:11px;background:var(--violet-l);display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--violet)}
.rz-eyebrow2{font-size:11px;letter-spacing:.07em;font-weight:700;color:var(--violet)}
.rz-site{font-size:23px;font-weight:800;letter-spacing:-.01em;margin-top:2px}
.rz-subline{font-size:13px;color:var(--muted);margin-top:3px}
.rz-verdict{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:13px;padding:7px 14px;border-radius:8px;white-space:nowrap}
.rz-verdict.ready{background:var(--green-l);color:var(--green-d);border:1px solid #bfe5cb}
.rz-verdict.refine{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-l)}
.rz-verdict.no{background:var(--red-bg);color:var(--red);border:1px solid #f0cdc8}
.rz-verdict-reason{font-size:12px;color:var(--muted);margin-top:6px;max-width:300px;text-align:right}
.rz-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line2)}
.rz-kpi{border:1px solid var(--line);border-radius:11px;padding:13px 15px;background:#fff}
.rz-kpi .k{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.rz-kpi .v{font-size:25px;font-weight:800;letter-spacing:-.01em;margin-top:4px;color:var(--green-d)}
.rz-kpi .v.ink{color:var(--ink)}
.rz-kpi .sub{font-size:11px;color:var(--muted);margin-top:2px}

/* driver band (violet AI accent) */
.rz-driver{display:flex;align-items:center;gap:12px;background:var(--violet-l);border:1px solid var(--violet-l2);border-radius:12px;padding:13px 16px;animation:rz-fade .25s ease both}
.rz-driver .ico{flex:none;width:30px;height:30px;border-radius:9px;background:#fff;border:1px solid var(--violet-l2);display:flex;align-items:center;justify-content:center;color:var(--violet);font-size:15px}
.rz-driver .txt{font-size:13px;line-height:1.55;color:var(--ink2)}
.rz-driver b{color:var(--violet-d)}

/* commentary */
.rz-comm{background:#fff;border:1px solid var(--violet-l2);border-radius:12px;padding:16px 18px;animation:rz-fade .25s ease both}
.rz-comm .hd{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.07em;font-weight:700;color:var(--violet);margin-bottom:8px}
.rz-comm .body{font-size:13.5px;line-height:1.62;color:var(--ink2)}
.rz-comm .src{font-size:11px;color:var(--muted);margin-top:9px}

/* refine callout */
.rz-refine{background:var(--amber-bg);border:1px solid var(--amber-l);border-radius:12px;padding:18px 20px;animation:rz-fade .25s ease both}
.rz-refine .hd{display:flex;align-items:center;gap:9px;font-weight:700;color:var(--amber);font-size:15px}
.rz-refine .body{font-size:13px;color:var(--ink2);line-height:1.6;margin-top:7px;max-width:680px}
.rz-refine .sub{font-size:12.5px;color:var(--muted);line-height:1.6;margin-top:9px;max-width:680px}

/* measures table */
.rz-sec-title{font-size:15px;font-weight:700}
.rz-sec-title .accent{color:var(--green-d)}
.rz-mhead{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.rz-mhead .hint{font-size:11px;color:var(--muted)}
.rz-tablewrap{overflow-x:auto}
table.rz-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:820px;table-layout:fixed}
.rz-table th:nth-child(1){width:26%}.rz-table th:nth-child(2){width:15%}.rz-table th:nth-child(3){width:10%}
.rz-table th:nth-child(4){width:10%}.rz-table th:nth-child(5){width:10%}.rz-table th:nth-child(6){width:9%}
.rz-table th:nth-child(7){width:6%}.rz-table th:nth-child(8){width:14%}
.rz-table td{word-break:break-word}
.rz-table th{text-align:right;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:7px 6px;border-bottom:1px solid var(--line)}
.rz-table th.l,.rz-table td.l{text-align:left}
.rz-table td{padding:9px 6px;text-align:right;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--line2)}
tr.rz-mrow{cursor:pointer}
tr.rz-mrow:hover{background:#f1f7f2}
.rz-mname{display:flex;align-items:flex-start;gap:8px}
.rz-mname .car{flex:none;color:var(--muted2);font-size:10px;margin-top:3px}
.rz-mname .idx{color:var(--muted);font-weight:600}
td.rz-mcell{font-weight:600;color:var(--ink)}
td.rz-capex{color:var(--muted)}
td.rz-pay{font-weight:600}
td.rz-tco2e{color:var(--muted)}
.rz-dom{margin-left:7px;font-size:10px;font-weight:600;color:var(--violet-d);background:var(--violet-l);border:1px solid var(--violet-l2);padding:1px 7px;border-radius:9px;white-space:nowrap}
.rz-vpill{font-size:11px;font-weight:600;padding:2px 9px;border-radius:11px;white-space:nowrap}
.rz-vpill.fin{background:var(--green-l);color:var(--green-d)}
.rz-vpill.con{background:var(--amber-bg);color:var(--amber)}
.rz-vpill.no{background:var(--red-bg);color:var(--red)}
.rz-working-row td{padding:0 8px 12px}
.rz-working{background:#f6f9f7;border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:12px;line-height:1.6;color:var(--ink2);text-align:left}
.rz-working .wl{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:5px}
.rz-working b{color:var(--green-ink)}

/* bundle */
.rz-bundle{display:flex;gap:14px;flex-wrap:wrap;align-items:stretch}
.rz-btile{flex:1;min-width:130px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 15px}
.rz-btile.hl{background:var(--green-l2);border-color:var(--green-l)}
.rz-btile .v{font-size:26px;font-weight:800;color:var(--green-d)}
.rz-btile .v.ink{color:var(--ink)}
.rz-btile .v small{font-size:14px;font-weight:600;color:var(--muted)}
.rz-btile .sub{font-size:11px;color:var(--muted);margin-top:2px}
.rz-obm-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:13px}
.rz-obm{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--green-d);background:var(--green-l);border:1px solid #bfe5cb;padding:6px 12px;border-radius:8px}
.rz-inote{font-size:11.5px;color:var(--muted)}

/* timeline */
.rz-tl{display:flex;gap:12px;flex-wrap:wrap}
.rz-tlq{flex:1;min-width:150px;border:1px solid var(--line);border-radius:10px;padding:12px 13px;background:#fff}
.rz-tlq .q{display:inline-block;font-size:11px;letter-spacing:.03em;color:var(--green-d);background:var(--green-l);padding:2px 9px;border-radius:7px;font-weight:700}
.rz-tlq .items{display:flex;flex-direction:column;gap:9px;margin-top:9px}
.rz-tlitem{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.4}
.rz-tlitem .sq{width:8px;height:8px;border-radius:2px;background:var(--green);flex:none;margin-top:4px}

/* engine detail */
.rz-engine{background:#fbfcfb;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.rz-engine .hd{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:11px}
.rz-fire{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;padding:8px 0;border-bottom:1px solid var(--line2)}
.rz-fire .txt{color:var(--ink2);line-height:1.5}
.rz-tag{flex:none;box-sizing:border-box;width:74px;text-align:center;font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:6px;margin-top:1px}
.rz-tag.select{background:var(--violet-l);color:var(--violet-d)}
.rz-tag.pass{background:var(--green-l);color:var(--green-d)}
.rz-tag.override{background:var(--amber-bg);color:var(--amber)}
.rz-tag.refuse{background:var(--red-bg);color:var(--red)}
.rz-enote{font-size:11px;color:var(--muted2);margin-top:10px;line-height:1.5}

/* footer actions */
.rz-foot{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:2px}
.rz-sec{cursor:pointer;font:inherit;font-size:13px;font-weight:600;color:var(--ink2);background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 18px}
.rz-sec:hover{border-color:var(--green)}
.rz-pri{cursor:pointer;font:inherit;font-size:13px;font-weight:700;color:#fff;background:var(--green);border:1px solid var(--green);border-radius:8px;padding:10px 18px}
.rz-pri:hover{background:var(--green-d)}
.rz-foot-disabled{font:inherit;font-size:13px;font-weight:600;color:var(--muted2);background:#f3f5f3;border:1px solid var(--line);border-radius:8px;padding:10px 18px;cursor:not-allowed}
.rz-demo{font-size:11px;font-weight:700;letter-spacing:.04em;color:#cfe7d8;background:#11201a;padding:5px 11px;border-radius:20px;white-space:nowrap}
.rz-portfolio{font-size:12px;font-weight:600;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);white-space:nowrap}
.rz-portfolio:hover{color:var(--green-d);border-color:var(--green-d)}
.rz-gen-note{font-size:11px;color:var(--muted);line-height:1.45;max-width:340px}
.rz-disclaimer{font-size:11px;color:var(--muted2);text-align:center;line-height:1.6;margin-top:8px;padding:0 10px}

/* toast */
.rz-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:80;display:flex;align-items:center;gap:10px;
  background:#11201a;color:#eafff1;font-size:13px;font-weight:500;padding:12px 18px;border-radius:11px;
  box-shadow:0 16px 40px -12px rgba(0,0,0,.5);animation:rz-toast .22s ease both}
.rz-toast .ico{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--green);align-items:center;justify-content:center;font-size:12px;flex:none}

@media(max-width:760px){
  .rz-side{display:none}
  .rz-kpis{grid-template-columns:repeat(2,1fr)}
}
