.phase2-page{margin:0;background:linear-gradient(135deg,#eef6ff,#f8fbff);min-height:100vh}.phase2-shell{max-width:900px;margin:auto;padding:32px 18px}.phase2-shell.wide{max-width:1400px}.phase2-back{display:inline-block;margin-bottom:16px}.phase2-card{background:white;border:1px solid #cbd9e8;border-radius:20px;padding:28px;box-shadow:0 18px 50px rgba(30,55,90,.1)}.phase2-tabs,.phase2-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.phase2-tabs button.active{font-weight:800;outline:3px solid rgba(27,94,170,.2)}.phase2-panel{display:grid;gap:14px;max-width:560px}.phase2-panel label,.phase2-card label{display:grid;gap:6px;font-weight:700}.phase2-panel input,.phase2-card input{padding:12px;border:1px solid #9eb2c7;border-radius:10px;font:inherit}.phase2-output{min-height:24px;margin:12px 0;padding:10px;border-radius:10px;background:#eef6ff}.phase2-output.error{background:#ffecec}.phase2-recovery{margin-top:20px;padding:18px;border:2px solid #d18c00;border-radius:14px;background:#fff8df}.phase2-recovery code{display:block;padding:14px;margin:12px 0;word-break:break-all;font-size:1.05rem}.phase2-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:20px 0}.phase2-metrics article{padding:16px;border:1px solid #cad7e6;border-radius:14px;background:#f8fbff}.phase2-metrics strong{display:block;font-size:1.5rem}.phase2-metrics span{display:block;margin-top:4px}.phase2-table-wrap{overflow:auto}.phase2-table-wrap table{width:100%;border-collapse:collapse}.phase2-table-wrap th,.phase2-table-wrap td{padding:10px;border-bottom:1px solid #dce5ef;text-align:left;vertical-align:top}.phase2-table-wrap .ops{min-width:260px}.phase2-table-wrap .ops button{margin:2px;padding:5px 8px}.phase2-note{margin-top:24px;padding:14px;border-left:4px solid #1b5eaa;background:#eef6ff}@media(max-width:600px){.phase2-card{padding:18px}.phase2-shell{padding:16px 10px}}
.phase2-alerts{display:grid;gap:.6rem;margin-bottom:1rem}.phase2-alert{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem;border:1px solid rgba(255,255,255,.15);border-radius:.75rem}.phase2-alert button{flex:0 0 auto}
