.terraform-plan-page { --plan-ink:#211d33; --plan-muted:#6e687a; --plan-line:#ddd8e5; --plan-paper:#fbfaf7; --plan-green:#167553; --plan-green-soft:#eaf5ef; --plan-amber:#a45b00; --plan-amber-soft:#fff2d9; --plan-red:#b93d47; --plan-red-soft:#fdecee; --plan-violet:#5d4bd1; background:var(--plan-paper); color:var(--plan-ink); }
.plan-hero { overflow:hidden; position:relative; }
.plan-hero::after { background:linear-gradient(90deg,transparent,rgba(93,75,209,.13),transparent); bottom:0; content:""; height:1px; left:0; position:absolute; width:100%; }
.plan-hero .tool-page-hero-in { align-items:end; }
.plan-hero h1 em { color:var(--plan-violet); font-style:normal; }
.plan-hero-mark { align-items:flex-start; display:flex; flex-direction:column; gap:.55rem; min-width:230px; padding:1.5rem 0 1rem 3rem; position:relative; }
.plan-hero-mark::before { background:var(--plan-line); content:""; height:150%; left:0; position:absolute; top:-25%; width:1px; }
.plan-hero-mark span { color:var(--plan-muted); font-family:var(--font-mono,monospace); font-size:.72rem; letter-spacing:.12em; }
.plan-hero-mark strong { color:var(--plan-ink); font-family:var(--font-display,sans-serif); font-size:2rem; line-height:.94; margin-top:1.4rem; }
.plan-workspace { background:#f3f0f7; border-bottom:1px solid var(--plan-line); padding:4.5rem 4vw; }
.plan-workspace-inner,.plan-results-inner,.plan-page-nav { margin:0 auto; max-width:1240px; }
.plan-input-head { align-items:end; display:grid; gap:3rem; grid-template-columns:1fr minmax(280px,480px); margin-bottom:2rem; }
.plan-input-head h2,.plan-verdict h2 { font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.045em; line-height:1; margin:.45rem 0 0; }
.plan-input-head>p { color:var(--plan-muted); line-height:1.65; margin:0; }
.plan-input-head code { background:#e8e3ef; border-radius:4px; color:#4a3e6b; font-size:.82em; padding:.15em .35em; }
.plan-input-grid { align-items:stretch; display:grid; grid-template-columns:280px 36px 1fr; min-height:330px; }
.plan-drop { align-items:center; background:rgba(255,255,255,.55); border:1px dashed #aaa2b9; cursor:pointer; display:flex; flex-direction:column; justify-content:center; padding:2rem; text-align:center; transition:background .18s,border-color .18s,transform .18s; }
.plan-drop:hover,.plan-drop.dragging { background:#fff; border-color:var(--plan-violet); transform:translateY(-2px); }
.plan-drop input { height:1px; opacity:0; position:absolute; width:1px; }
.plan-drop-icon { align-items:center; border:1px solid var(--plan-line); border-radius:50%; color:var(--plan-violet); display:flex; font-size:1.5rem; height:52px; justify-content:center; margin-bottom:1.1rem; width:52px; }
.plan-drop strong { font-size:1rem; }
.plan-drop small { color:var(--plan-muted); margin-top:.45rem; }
.plan-or { align-items:center; display:flex; justify-content:center; position:relative; }
.plan-or::before { background:var(--plan-line); content:""; height:100%; left:50%; position:absolute; width:1px; }
.plan-or span { background:#f3f0f7; color:#8d8698; font-size:.65rem; font-weight:800; letter-spacing:.12em; padding:.65rem 0; position:relative; }
.plan-paste { background:#262231; display:flex; flex-direction:column; min-width:0; }
.plan-paste>span { border-bottom:1px solid #464052; color:#c8c1d3; font-size:.72rem; font-weight:750; letter-spacing:.08em; padding:.9rem 1.1rem; text-transform:uppercase; }
.plan-paste textarea { background:transparent; border:0; color:#f3eff8; flex:1; font-family:var(--font-mono,"SFMono-Regular",Consolas,monospace); font-size:.82rem; line-height:1.65; min-height:280px; padding:1.2rem; resize:vertical; width:100%; }
.plan-paste textarea::placeholder { color:#837c8f; }
.plan-input-meta { color:var(--plan-muted); display:flex; font-size:.75rem; justify-content:space-between; margin-top:.65rem; }
.plan-actions { align-items:center; display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.5rem; }
.plan-run span { display:inline-block; margin-left:.6rem; transition:transform .18s; }
.plan-run:hover span { transform:translateX(4px); }
.plan-status { color:var(--plan-muted); font-size:.82rem; margin-left:auto; }
.plan-status.error { color:var(--plan-red); }
.plan-results { background:#fff; padding:4.5rem 4vw 5rem; }
.plan-results.revealed .plan-verdict,.plan-results.revealed .plan-metrics,.plan-results.revealed .change-toolbar,.plan-results.revealed .change-table-wrap { animation:plan-rise .42s both; }
.plan-results.revealed .plan-metrics { animation-delay:.05s; }.plan-results.revealed .change-toolbar { animation-delay:.1s; }.plan-results.revealed .change-table-wrap { animation-delay:.15s; }
@keyframes plan-rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.plan-verdict { align-items:center; border-bottom:1px solid var(--plan-line); display:flex; justify-content:space-between; padding-bottom:2.4rem; }
.plan-verdict p:last-child { color:var(--plan-muted); line-height:1.6; margin:.9rem 0 0; max-width:760px; }
.verdict-badge { border:1px solid currentColor; color:var(--plan-amber); font-size:.7rem; font-weight:850; letter-spacing:.13em; padding:.7rem .85rem; }
.verdict-badge.safe { color:var(--plan-green); }.verdict-badge.danger { color:var(--plan-red); }
.plan-metrics { border-bottom:1px solid var(--plan-line); display:grid; grid-template-columns:repeat(5,1fr); }
.plan-metrics>div { align-items:center; border-right:1px solid var(--plan-line); display:grid; gap:.05rem; grid-template-columns:38px 1fr; padding:1.7rem 1.2rem; }
.plan-metrics>div:last-child { border-right:0; }
.plan-metrics strong { font-size:1.75rem; line-height:1; }.plan-metrics small { color:var(--plan-muted); grid-column:2; }
.metric-symbol { font-family:var(--font-mono,monospace); font-size:1.2rem; font-weight:850; grid-row:1/3; }.metric-symbol.create { color:var(--plan-green); }.metric-symbol.update,.metric-symbol.replace { color:var(--plan-amber); }.metric-symbol.destroy { color:var(--plan-red); }.metric-symbol.read { color:var(--plan-violet); }
.expected-note { align-items:flex-start; background:var(--plan-green-soft); border-left:3px solid var(--plan-green); display:flex; gap:1rem; margin:2rem 0; padding:1.1rem 1.25rem; }
.expected-note>span { color:var(--plan-green); font-size:1.2rem; font-weight:900; }.expected-note strong { color:#125a43; }.expected-note p { color:#42675a; line-height:1.5; margin:.3rem 0 0; }
.change-toolbar { align-items:end; display:flex; justify-content:space-between; margin:3rem 0 1.25rem; }
.change-toolbar h3 { font-size:1.55rem; margin:.35rem 0 0; }
.change-filters { display:flex; gap:.35rem; }.change-filters button { background:transparent; border:1px solid var(--plan-line); color:var(--plan-muted); cursor:pointer; font-size:.75rem; font-weight:750; padding:.58rem .72rem; }.change-filters button:hover,.change-filters button.active { background:var(--plan-ink); border-color:var(--plan-ink); color:white; }.change-filters span { opacity:.68; margin-left:.25rem; }
.change-table-wrap { border-top:2px solid var(--plan-ink); overflow-x:auto; }
.change-table { border-collapse:collapse; min-width:880px; width:100%; }
.change-table th { color:var(--plan-muted); font-size:.67rem; letter-spacing:.09em; padding:.9rem .75rem; text-align:left; text-transform:uppercase; }
.change-table td { border-top:1px solid var(--plan-line); padding:1rem .75rem; vertical-align:top; }
.change-table tr { transition:background .16s; }.change-table tbody tr:hover { background:#faf9fc; }.change-table tr.filtered { display:none; }
.action-badge { display:inline-block; font-size:.67rem; font-weight:850; letter-spacing:.08em; min-width:70px; padding:.42rem .5rem; text-align:center; text-transform:uppercase; }
.action-create { background:var(--plan-green-soft); color:var(--plan-green); }.action-update,.action-replace { background:var(--plan-amber-soft); color:var(--plan-amber); }.action-destroy { background:var(--plan-red-soft); color:var(--plan-red); }.action-read,.action-move,.action-output,.action-import { background:#efedfb; color:var(--plan-violet); }
.resource-address { display:block; font-family:var(--font-mono,monospace); font-size:.78rem; line-height:1.5; overflow-wrap:anywhere; }.resource-type { color:var(--plan-muted); display:block; font-size:.72rem; margin-top:.3rem; }
.attribute-list { display:flex; flex-direction:column; gap:.45rem; }.attribute-change { font-size:.79rem; line-height:1.5; }.attribute-change code { color:#4c4459; font-size:.92em; font-weight:700; }.attribute-change .arrow { color:#9991a5; margin:0 .28rem; }.more-attributes { color:var(--plan-muted); font-size:.72rem; }
.meaning-cell { color:#4f4959; font-size:.82rem; line-height:1.55; max-width:340px; }.meaning-cell strong { color:var(--plan-ink); display:block; margin-bottom:.2rem; }.noise-label,.review-label { display:inline-block; font-size:.63rem; font-weight:850; letter-spacing:.08em; margin-top:.5rem; padding:.25rem .38rem; text-transform:uppercase; }.noise-label { background:var(--plan-green-soft); color:var(--plan-green); }.review-label { background:var(--plan-red-soft); color:var(--plan-red); }
.empty-filter { color:var(--plan-muted); padding:2rem;text-align:center; }
.plan-notes { border-bottom:1px solid var(--plan-line); border-top:1px solid var(--plan-line); margin-top:2rem; }.plan-notes summary { cursor:pointer; font-weight:750; padding:1rem 0; }.plan-notes summary span { color:var(--plan-muted); font-weight:500; }.plan-notes p { color:var(--plan-muted); font-family:var(--font-mono,monospace); font-size:.76rem; line-height:1.5; margin:.5rem 0 1rem; }
.plan-result-actions { display:flex; gap:.65rem; margin-top:2rem; }.plan-disclaimer { color:var(--plan-muted); font-size:.75rem; line-height:1.5; margin:1.5rem 0 0; }
.plan-page-nav { align-items:center; display:flex; justify-content:space-between; padding:1.5rem 4vw; }.plan-page-nav span { color:var(--plan-muted); font-size:.75rem; }.plan-page-nav b { background:var(--plan-green); border-radius:50%; display:inline-block; height:7px; margin-right:.4rem; width:7px; }
@media (max-width:800px) { .plan-hero-mark { display:none; }.plan-input-head { display:block; }.plan-input-head>p { margin-top:1rem; }.plan-input-grid { grid-template-columns:1fr; }.plan-drop { min-height:150px; }.plan-or { height:38px; }.plan-or::before { height:1px; left:0; top:50%; width:100%; }.plan-or span { padding:0 .7rem; }.plan-paste textarea { min-height:300px; }.plan-metrics { grid-template-columns:repeat(2,1fr); }.plan-metrics>div { border-bottom:1px solid var(--plan-line); }.plan-metrics>div:nth-child(2n) { border-right:0; }.plan-verdict,.change-toolbar { align-items:flex-start; flex-direction:column; gap:1.25rem; }.change-filters { flex-wrap:wrap; }.plan-page-nav { gap:1rem; }.plan-page-nav span { display:none; } }
@media (prefers-reduced-motion:reduce) { .plan-results.revealed .plan-verdict,.plan-results.revealed .plan-metrics,.plan-results.revealed .change-toolbar,.plan-results.revealed .change-table-wrap { animation:none; }.plan-run span,.plan-drop { transition:none; } }
