.p2-app{min-height:100vh;display:grid;grid-template-columns:240px 1fr;background:#F8FAFC}
.p2-side{background:#fff;border-left:1px solid #E2E8F0;padding:14px 10px}
.p2-side .nav{padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:700;color:#334155;margin:4px 0;display:flex;justify-content:space-between;align-items:center}
.p2-side .nav:hover,.p2-side .nav.on{background:#FEF2F2;color:#8B0000}
.p2-side .soon{font-size:10px;color:#D97706;font-weight:800}
.p2-main{display:flex;flex-direction:column;min-width:0}
.p2-top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid #E2E8F0;gap:12px}
.p2-content{padding:16px}
.p2-grid-3{display:grid;grid-template-columns:300px 1fr 280px;gap:0;min-height:calc(100vh - 64px);background:#fff;border:1px solid #E2E8F0;border-radius:16px;overflow:hidden}
.p2-pane{display:flex;flex-direction:column;min-height:0;border-left:1px solid #E2E8F0}
.p2-pane-hd{padding:12px 14px;border-bottom:1px solid #E2E8F0;display:flex;justify-content:space-between;align-items:center;gap:8px}
.p2-pane-bd{flex:1;overflow:auto;padding:8px}
.chip{border:1px solid #E2E8F0;background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer}
.chip.on{background:#8B0000;color:#fff;border-color:#8B0000}
.conv{padding:12px;border-bottom:1px solid #E2E8F0;cursor:pointer}
.conv:hover,.conv.active{background:#F8FAFC}
.msg{max-width:85%;margin:8px 10px;padding:10px 12px;border-radius:14px;font-size:14px}
.msg.in{background:#F1F5F9;margin-inline-end:auto}
.msg.out{background:#FEF2F2;border:1px solid #FECACA;margin-inline-start:auto}
.composer{display:flex;gap:8px;padding:12px;border-top:1px solid #E2E8F0}
.composer input,.field input,.field select{width:100%;padding:11px;border-radius:12px;border:1px solid #E2E8F0}
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th,.table td{padding:12px;border-bottom:1px solid #E2E8F0;text-align:right}
.wizard{display:grid;gap:14px;max-width:720px}
.step{padding:16px;border:1px solid #E2E8F0;border-radius:14px;background:#fff}
.step.on{border-color:#8B0000;box-shadow:0 0 0 3px #FEF2F2}
.stat{padding:10px 12px;border:1px solid #E2E8F0;border-radius:12px;margin:8px 0}
.stat b{display:block;font-size:12px;color:#334155;margin-bottom:4px}
@media(max-width:1100px){.p2-app{grid-template-columns:1fr}.p2-grid-3{grid-template-columns:1fr}}