:root{--ink:#152b42;--soft:#61748b;--teal:#0d9488;--pale:#e9f7f5}body{background:linear-gradient(145deg,#edf5fb,#f6f8fc 50%,#eef4f7)}.shell{max-width:1480px}.planner-intro{background:#0c2034;color:white;border-radius:24px;padding:30px 34px;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:0 18px 45px #0c20341b}.planner-intro h1{margin:8px 0;font-size:clamp(30px,3.5vw,48px)}.planner-intro p{max-width:800px;margin:0;color:#c6dcf0}.planner-intro .eyebrow{color:#70f2dc}.local-badge{border:1px solid #53cbb899;background:#0d948833;color:#b5fae9;border-radius:99px;padding:10px 14px;white-space:nowrap}.privacy-note{margin:18px 0 22px;border:1px solid #bfddd9;background:#f0faf8;padding:14px 18px;border-radius:14px;color:#315166;line-height:1.65}.planner-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,360px);gap:18px;align-items:start}.planner-main,.planner-side{display:grid;gap:18px;min-width:0}.planner-panel{background:white;border:1px solid #dae5ee;border-radius:20px;padding:20px;box-shadow:0 8px 28px #12304b08}.planner-panel h2{margin:0 0 12px}.planner-panel h3{margin:0 0 10px}.planner-panel p{margin:8px 0}.setup-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.setup-actions,.toolstrip{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.setup-actions button,.setup-actions .button,.toolstrip button{font-size:13px;min-height:38px;padding:7px 11px}.toolstrip{margin:0 0 12px}.toolstrip button.active{background:#d9f4ef;border-color:#22a89b;color:#075c55;font-weight:700}.board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.board-head p{color:var(--soft);font-size:13px;margin:0 0 14px}.board-stage{position:relative;width:100%;aspect-ratio:var(--plan-aspect,1.6);min-height:280px;border-radius:16px;overflow:hidden;background:#0c1e32;border:1px solid #2c5571;touch-action:none;cursor:crosshair}.board-stage canvas{display:block;width:100%;height:100%}.board-stage.dragging{cursor:grabbing}.canvas-hint{font-size:12px;color:var(--soft);margin-top:10px}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric{padding:11px;border:1px solid #e1eaf1;border-radius:12px;background:#f7fafc}.metric strong{display:block;color:#0a7f77;font-size:21px}.metric span{font-size:12px;color:#61748b}.warning{border-left:3px solid #e8a23a;padding:8px 10px;background:#fff7e9;border-radius:5px;font-size:13px;line-height:1.5;margin-top:10px}.ok{border-left-color:#0ca985;background:#edfbf6}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-grid label.full{grid-column:1/-1}.detail-grid input,.detail-grid select{width:100%;min-width:0}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.detail-actions button{font-size:13px}.mini-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.mini-list li{border:1px solid #e1eaf1;border-radius:11px;padding:8px 10px;font-size:13px;line-height:1.4;display:flex;justify-content:space-between;gap:10px}.mini-list b{font-weight:650}.mini-list small{color:#687d92}.mini-list .bad{color:#b45309}.reference{font-size:13px;color:var(--soft)}.reference a{color:#1266aa}.status{min-height:1.5em}.canvas-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#61748b;margin-top:8px}.canvas-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.file-button input{cursor:pointer}.empty-hint{font-size:13px;color:#61748b}.actions-row{display:flex;gap:8px;flex-wrap:wrap}.actions-row button{font-size:13px}select,input[type=number]{min-width:0}@media(max-width:1040px){.planner-layout{grid-template-columns:1fr}.planner-side{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-side .wide{grid-column:1/-1}}@media(max-width:650px){.planner-intro{padding:24px;display:block}.local-badge{display:inline-block;margin-top:16px}.setup-fields,.planner-side{grid-template-columns:1fr}.planner-side .wide{grid-column:auto}.planner-panel{padding:16px}.detail-grid{grid-template-columns:1fr}.board-stage{min-height:230px}.toolstrip button{flex:1 1 auto}.metric strong{font-size:18px}}
.mini-list li,.mini-list b,.mini-list small{min-width:0}.mini-list b,.mini-list small{overflow-wrap:anywhere}
