/* Shared UI for Aethex Flow's replacement utility tools.
   Deliberately isolated from audit.html so the proven audit tool is untouched. */
.rt-hero{padding:70px 0 34px;background:radial-gradient(circle at 84% 0%,rgba(232,18,26,.11),transparent 35%)}
.rt-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:32px;align-items:center}
.rt-hero h1{font-size:clamp(2.35rem,5vw,4.35rem);letter-spacing:-.045em;margin:12px 0 16px}
.rt-hero p{max-width:720px;font-size:1.02rem}
.rt-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.rt-badge{display:inline-flex;gap:6px;align-items:center;padding:7px 10px;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-card);font-size:.76rem;font-weight:800;color:var(--text-secondary)}.rt-badge b{color:var(--text-primary)}
.rt-shell{padding:26px 0 82px}.rt-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:22px;padding:26px;box-shadow:var(--shadow-main)}
.rt-card.gloss{position:relative;overflow:hidden}.rt-card.gloss:before{content:"";position:absolute;left:-8%;right:-8%;top:-55px;height:110px;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0));transform:rotate(-2deg);pointer-events:none}
html.dark .rt-card.gloss:before{background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,0))}
.rt-form{display:grid;gap:14px}.rt-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rt-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rt-form label{font-size:.82rem;font-weight:800;display:block;margin-bottom:6px}.rt-input,.rt-select,.rt-textarea{width:100%;padding:14px 15px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-card-hover);color:var(--text-primary);font:inherit}.rt-textarea{min-height:120px;resize:vertical}.rt-input:focus,.rt-select:focus,.rt-textarea:focus{outline:2px solid rgba(232,18,26,.26);outline-offset:1px}.rt-help{font-size:.76rem;color:var(--text-secondary);margin-top:6px}.rt-status{display:none;margin-top:14px;padding:13px 14px;border-radius:11px;background:rgba(232,18,26,.06);border:1px solid rgba(232,18,26,.18);font-size:.84rem;color:var(--text-secondary)}.rt-status.show{display:block}.rt-status.error{color:#dc2626;background:rgba(239,68,68,.07);border-color:rgba(239,68,68,.24)}
.rt-results{display:none;margin-top:22px}.rt-results.show{display:block}.rt-result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.rt-result-head h2{font-size:1.35rem}.rt-score{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;border:8px solid rgba(232,18,26,.12);background:var(--bg-card-hover);font-family:var(--font-heading);font-size:1.45rem;font-weight:900}.rt-score.good{border-color:rgba(34,197,94,.28);color:#16a34a}.rt-score.warn{border-color:rgba(245,158,11,.3);color:#d97706}.rt-score.weak{border-color:rgba(239,68,68,.28);color:#dc2626}
.rt-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.rt-metric{padding:15px;border:1px solid var(--border-color);border-radius:13px;background:var(--bg-card-hover)}.rt-metric span{display:block;text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:850;color:var(--text-secondary)}.rt-metric strong{display:block;margin-top:5px;font-family:var(--font-heading);font-size:1.15rem}.rt-metric small{display:block;color:var(--text-secondary);font-size:.7rem;margin-top:2px}
.rt-section{margin-top:24px}.rt-section h3{font-size:1rem;margin-bottom:10px}.rt-findings{display:grid;gap:9px}.rt-finding{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px 13px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-card-hover)}.rt-sev{width:9px;height:9px;border-radius:50%;margin-top:7px;background:#94a3b8}.rt-sev.critical{background:#dc2626}.rt-sev.high{background:#f97316}.rt-sev.medium{background:#eab308}.rt-sev.pass{background:#22c55e}.rt-finding b{display:block;font-size:.85rem}.rt-finding p{font-size:.76rem;margin-top:2px}
.rt-note{margin-top:22px;border-left:3px solid var(--accent-blue);padding:14px 16px;background:rgba(232,18,26,.055);border-radius:0 11px 11px 0}.rt-note p,.rt-note li{font-size:.78rem;color:var(--text-secondary)}.rt-note ul{padding-left:18px;margin-top:6px}
.rt-action-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}

/* image resizer */
.image-drop{border:1.5px dashed var(--border-color);border-radius:16px;padding:28px;text-align:center;background:var(--bg-card-hover);cursor:pointer}.image-drop.drag{border-color:var(--accent-blue);background:rgba(232,18,26,.06)}.image-drop input{display:none}.image-workspace{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;margin-top:18px}.image-preview{min-height:330px;border:1px solid var(--border-color);border-radius:16px;background:repeating-conic-gradient(var(--bg-card-hover) 0 25%,transparent 0 50%) 50%/22px 22px;display:grid;place-items:center;overflow:hidden}.image-preview canvas{max-width:100%;max-height:520px}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preset-btn{padding:11px;border:1px solid var(--border-color);background:var(--bg-card-hover);color:var(--text-primary);border-radius:10px;text-align:left;cursor:pointer}.preset-btn.active{border-color:rgba(232,18,26,.45);background:rgba(232,18,26,.08)}.preset-btn b{display:block;font-size:.8rem}.preset-btn span{font-size:.7rem;color:var(--text-secondary)}

/* invoice */
.invoice-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:18px}.line-items{display:grid;gap:8px}.line-row{display:grid;grid-template-columns:1.4fr .45fr .65fr auto;gap:8px;align-items:end}.invoice-preview{background:#fff;color:#111827;border-radius:16px;border:1px solid #e5e7eb;padding:28px;min-height:620px}.invoice-preview h2,.invoice-preview h3,.invoice-preview p{color:#111827}.invoice-preview .muted{color:#6b7280}.inv-head{display:flex;justify-content:space-between;gap:20px}.inv-table{width:100%;border-collapse:collapse;margin-top:26px;font-size:.82rem}.inv-table th,.inv-table td{padding:9px 7px;border-bottom:1px solid #e5e7eb;text-align:left}.inv-totals{margin-left:auto;width:min(330px,100%);margin-top:20px}.inv-total-row{display:flex;justify-content:space-between;padding:5px 0}.inv-total-row.grand{font-size:1.15rem;font-weight:850;border-top:2px solid #111827;margin-top:6px;padding-top:10px}

/* production planner */
.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.check-card{display:flex;gap:8px;align-items:flex-start;padding:11px;border:1px solid var(--border-color);border-radius:11px;background:var(--bg-card-hover);font-size:.8rem}.plan-list{display:grid;gap:8px}.plan-item{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--border-color)}.plan-item:last-child{border-bottom:0}.plan-item b{font-size:.82rem}.plan-item span{font-size:.78rem;color:var(--text-secondary);text-align:right}.asset-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(232,18,26,.08);color:var(--accent-blue);font-size:.7rem;font-weight:850;margin:3px}

@media(max-width:900px){.rt-hero-grid,.image-workspace,.invoice-layout{grid-template-columns:1fr}.rt-metrics{grid-template-columns:1fr 1fr}.rt-grid-3,.option-grid{grid-template-columns:1fr 1fr}.image-preview{min-height:260px}}
@media(max-width:580px){.rt-card{padding:18px}.rt-grid-2,.rt-grid-3,.option-grid{grid-template-columns:1fr}.rt-metrics{grid-template-columns:1fr 1fr}.line-row{grid-template-columns:1fr 1fr}.line-row>div:first-child{grid-column:1/-1}.line-row button{grid-column:1/-1}.preset-grid{grid-template-columns:1fr}.invoice-preview{padding:18px}.inv-head{flex-direction:column}}
@media print{body *{visibility:hidden!important}.invoice-preview,.invoice-preview *{visibility:visible!important}.invoice-preview{position:absolute;left:0;top:0;width:100%;border:0;border-radius:0;padding:24px}.navbar,.announcement-bar,.sticky-cta-bar{display:none!important}}
