.typms-roadmap{max-width:1680px;margin:0 auto;padding:28px 22px 56px;color:#172033;font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-sizing:border-box}.typms-roadmap *{box-sizing:border-box}.typms-roadmap-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.typms-roadmap-head h1{font-size:30px;line-height:1.2;margin:2px 0 7px}.typms-roadmap-head p{margin:0;color:#64748b}.typms-roadmap .eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:#2563eb}.typms-roadmap .safety{min-width:175px;padding:11px 14px;border:1px solid #c7d2fe;border-radius:12px;background:#eef2ff;color:#4338ca;text-align:right}.typms-roadmap .safety form{display:grid;justify-items:end;gap:3px}.typms-roadmap .safety span,.typms-roadmap .safety small{font-size:10px}.typms-roadmap .safety strong{font-size:18px}.typms-roadmap .safety button{min-height:30px;margin-top:5px;padding:5px 10px;border-color:#4338ca;background:#4338ca;color:#fff;font-size:11px}.typms-roadmap .notice-ok{margin:12px 0;padding:10px 14px;border:1px solid #86efac;border-radius:10px;background:#f0fdf4;color:#166534}.typms-roadmap-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.typms-roadmap-kpis article{padding:14px 16px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 4px 18px rgba(15,23,42,.04)}.typms-roadmap-kpis span{display:block;color:#64748b;font-size:12px}.typms-roadmap-kpis strong{display:block;margin-top:2px;font-size:25px}.typms-roadmap-kpis .is-alert{border-color:#fecaca;background:#fff7f7;color:#b91c1c}.typms-roadmap-card{margin-bottom:14px;padding:18px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 5px 22px rgba(15,23,42,.04)}.typms-roadmap .section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:14px}.typms-roadmap h2{margin:0 0 3px;font-size:18px}.typms-roadmap h3{margin:0 0 10px;font-size:15px}.typms-roadmap h3 small{margin-left:8px;color:#64748b;font-size:11px;font-weight:500}.typms-roadmap .section-head p,.typms-roadmap .muted{margin:0;color:#64748b;font-size:12px}.typms-roadmap .filters{display:flex;gap:8px;flex-wrap:wrap}.typms-roadmap select,.typms-roadmap input{min-height:38px;padding:7px 9px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#172033}.typms-roadmap button{min-height:38px;padding:8px 14px;border:1px solid #334155;border-radius:8px;background:#fff;color:#172033;font-weight:700;cursor:pointer}.typms-roadmap button.primary{border-color:#2563eb;background:#2563eb;color:#fff}.timeline-wrap{max-width:100%;overflow:auto;border:1px solid #e2e8f0;border-radius:10px}.timeline{min-width:1180px;width:100%;border-collapse:separate;border-spacing:0;font-size:11px}.timeline th,.timeline td{height:34px;min-width:31px;border-right:1px solid #edf2f7;border-bottom:1px solid #edf2f7;text-align:center}.timeline thead th{position:sticky;top:0;z-index:2;background:#f8fafc;color:#475569}.timeline .resource{position:sticky;left:0;z-index:3;width:210px;min-width:210px;padding:6px 10px;background:#fff;text-align:left;font-weight:700}.timeline thead .resource{z-index:4;background:#f8fafc}.timeline .resource span{display:block;color:#64748b;font-size:10px;font-weight:500}.timeline td.occupied{background:#dbeafe;color:#1d4ed8}.timeline td.occupied span{display:block;height:100%;padding:8px 2px;overflow:hidden}.typms-roadmap-columns{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(520px,1.2fr);gap:14px}.mobile-list,.mapping-list{display:grid;gap:9px}.mobile-list article,.mapping-list article{padding:12px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc}.mobile-list article{display:grid;gap:3px}.mobile-list article span{color:#64748b}.mobile-list article em{font-style:normal;color:#b91c1c;font-weight:700}.empty{color:#64748b}.mapping-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:560px;overflow:auto;padding-right:3px}.mapping-list article{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mapping-list h3{grid-column:1/-1}.mapping-list label{color:#64748b;font-size:11px}.mapping-list input,.mapping-list select{width:100%;margin-top:4px}.mapping-list .filters{grid-column:1/-1;align-items:center}.mapping-list .filters label{display:inline-flex;align-items:center;gap:4px;color:#334155;font-size:12px}.typms-roadmap input[type=checkbox]{width:18px!important;height:18px;min-height:0;padding:0;margin:0 4px 0 0;vertical-align:middle}.typms-roadmap-empty{margin:40px auto;max-width:720px;padding:24px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.room-master-summary{margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0}.room-master-summary .mobile-list{grid-template-columns:repeat(2,minmax(0,1fr))}.room-edit-link{justify-self:start;color:#2563eb;font-size:12px;font-weight:700;text-decoration:none}.room-edit-link:hover{text-decoration:underline}.timeline td.occupied{padding:0}.timeline .typms-calendar-booking{display:grid;align-content:center;height:100%;min-width:92px;padding:3px 7px;border-radius:6px;background:#dbeafe;color:#1e40af;font-size:10px;font-weight:800;line-height:1.15;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline .typms-calendar-booking:hover,.timeline .typms-calendar-booking:focus{background:#1d4ed8;color:#fff;outline:2px solid #93c5fd;outline-offset:-2px}.timeline .typms-calendar-booking small{display:block;color:inherit;font-size:8px;font-weight:600;opacity:.75}.typms-booking-dialog{position:fixed;inset:0;z-index:2500;display:none;align-items:flex-start;justify-content:center;padding:5vh 18px;overflow:auto}.typms-booking-dialog:target{display:flex}.typms-booking-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.62);backdrop-filter:blur(3px)}.typms-booking-dialog>article{position:relative;z-index:1;width:min(760px,100%);max-height:90vh;overflow:auto;border-radius:18px;background:#fff;box-shadow:0 30px 80px rgba(15,23,42,.32)}.typms-booking-dialog header{display:flex;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid #e2e8f0}.typms-booking-dialog header h2{margin:2px 0 4px;font-size:24px}.typms-booking-dialog header span{color:#64748b;font-size:12px}.typms-booking-close{display:grid;place-items:center;width:38px;height:38px;border-radius:99px;background:#f1f5f9;color:#0f172a;font-size:24px;text-decoration:none}.typms-booking-summary{display:flex;flex-wrap:wrap;gap:8px 18px;padding:16px 24px;background:#f8fafc;color:#475569}.typms-booking-summary strong{color:#0f172a}.typms-booking-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#e2e8f0;border-block:1px solid #e2e8f0}.typms-booking-detail-grid dl{margin:0;padding:14px 18px;background:#fff}.typms-booking-detail-grid dt{margin-bottom:4px;color:#64748b;font-size:11px;font-weight:800}.typms-booking-detail-grid dd{margin:0;color:#0f172a;font-weight:700;overflow-wrap:anywhere}.typms-booking-notes{padding:18px 24px}.typms-booking-notes h3{margin:0 0 7px}.typms-booking-notes p{margin:0;color:#475569}.typms-booking-dialog footer{display:flex;flex-wrap:wrap;gap:9px;padding:16px 24px 22px}.typms-booking-dialog footer a{padding:9px 12px;border-radius:9px;background:#111827;color:#fff;font-weight:750;text-decoration:none}.typms-roadmap.is-legacy .typms-roadmap-kpis,.typms-roadmap.is-legacy .typms-roadmap-columns{display:none}.typms-calendar-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:12px;border:1px solid #dbe3ef;border-radius:14px;background:#fff}.typms-calendar-actions>button{white-space:nowrap}.typms-calendar-actions .is-alert{border-color:#ef4444;color:#b91c1c;background:#fff7f7}.typms-date-range{display:flex;align-items:flex-end;gap:7px;flex:1;min-width:410px}.typms-date-range label{display:grid;gap:3px;color:#64748b;font-size:10px;font-weight:800}.typms-date-range input{min-width:142px}.notice-error{margin:12px 0;padding:10px 14px;border:1px solid #fca5a5;border-radius:10px;background:#fef2f2;color:#991b1b}.typms-action-dialog{width:min(720px,calc(100vw - 30px));max-height:90vh;padding:24px;border:0;border-radius:18px;color:#172033;box-shadow:0 28px 80px rgba(15,23,42,.3);overflow:auto}.typms-action-dialog::backdrop{background:rgba(15,23,42,.62);backdrop-filter:blur(3px)}.typms-action-dialog h2{margin:2px 0 18px;font-size:23px}.typms-action-dialog h3{margin:0 0 14px;font-size:17px}.typms-dialog-close{position:absolute;top:15px;right:15px;width:38px;min-height:38px!important;padding:0!important;border:0!important;border-radius:99px!important;background:#f1f5f9!important;font-size:24px}.typms-action-dialog form,.typms-wizard-step{display:grid;gap:13px}.typms-action-dialog label{display:grid;gap:5px;color:#475569;font-size:12px;font-weight:750}.typms-action-dialog label>span{color:#dc2626}.typms-action-dialog input:not([type=checkbox]),.typms-action-dialog select,.typms-action-dialog textarea{width:100%;min-height:42px;padding:9px 10px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033}.typms-action-dialog textarea{resize:vertical}.typms-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.typms-action-dialog footer{display:flex;justify-content:flex-end;gap:8px;align-items:center;margin-top:8px}.typms-action-dialog footer a{margin-right:auto;color:#2563eb;font-weight:750}.typms-check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;justify-content:flex-start}.typms-wizard-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:0 0 20px;padding:0;list-style:none}.typms-wizard-progress li{display:grid;place-items:center;gap:4px;padding:7px 4px;border-radius:9px;background:#f1f5f9;color:#64748b;font-weight:800}.typms-wizard-progress li span{font-size:9px}.typms-wizard-progress li.is-current{background:#dbeafe;color:#1d4ed8}.typms-wizard-progress li.is-complete{background:#dcfce7;color:#166534}.typms-wizard-step{display:none}.typms-wizard-step.is-current{display:grid}.typms-booking-preview{padding:14px;border:1px solid #dbe3ef;border-radius:12px;background:#f8fafc}.typms-booking-preview dl{display:grid;grid-template-columns:110px 1fr;gap:7px 12px;margin:0}.typms-booking-preview dt{color:#64748b;font-size:11px;font-weight:800}.typms-booking-preview dd{margin:0;font-weight:700}.typms-problem-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.typms-problem-tabs button{text-align:left}.typms-problem-tabs button.is-current{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.typms-problem-tabs small{float:right;padding:2px 5px;border-radius:5px;background:#fef3c7;color:#92400e;font-size:9px}.typms-problem-panel[hidden]{display:none}.typms-problem-panel .mobile-list{max-height:420px;overflow:auto}.typms-block-label{display:grid;height:100%;place-items:center;background:#fee2e2;color:#991b1b;font-size:9px;font-weight:900}.timeline td.is-blocked{padding:0;background:#fee2e2}@media(max-width:600px){.typms-calendar-actions{align-items:stretch}.typms-calendar-actions>button{width:100%}.typms-date-range{display:grid;grid-template-columns:1fr auto 1fr;min-width:0;width:100%}.typms-date-range button{grid-column:1/-1}.typms-date-range input{min-width:0}.typms-action-dialog{width:calc(100vw - 18px);padding:18px}.typms-field-grid{grid-template-columns:1fr}.typms-wizard-progress li span{display:none}.typms-problem-tabs{grid-template-columns:1fr}.typms-booking-preview dl{grid-template-columns:1fr}.typms-booking-dialog{padding:12px}.typms-booking-dialog>article{max-height:calc(100vh - 24px);border-radius:14px}.typms-booking-dialog header,.typms-booking-summary,.typms-booking-notes,.typms-booking-dialog footer{padding-left:16px;padding-right:16px}.typms-booking-detail-grid{grid-template-columns:1fr}}
@media(max-width:980px){.typms-roadmap-columns{grid-template-columns:1fr}.mapping-list{grid-template-columns:1fr 1fr}.typms-roadmap-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.typms-roadmap{padding:18px 12px 40px}.typms-roadmap-head{display:block}.typms-roadmap-head h1{font-size:24px}.typms-roadmap .safety{margin-top:12px;text-align:left}.typms-roadmap-kpis{gap:8px}.typms-roadmap-kpis article{padding:11px 12px}.typms-roadmap-kpis strong{font-size:21px}.typms-roadmap-card{padding:13px;border-radius:12px}.typms-roadmap .section-head{display:block}.typms-roadmap .filters{margin-top:10px}.typms-roadmap .filters select,.typms-roadmap .filters input{width:100%;flex:1 1 100%}.typms-roadmap .filters input[type=checkbox]{width:18px;flex:0 0 18px}.mapping-list{grid-template-columns:1fr;max-height:none}.mapping-list article{grid-template-columns:1fr}.timeline .resource{width:150px;min-width:150px}.typms-roadmap .muted{display:block;margin-top:8px}.room-master-summary .mobile-list{grid-template-columns:1fr}}
