
:root{--ink:#193b38;--muted:#6b7f7b;--line:#dce5df;--paper:#fff;--bg:#f4f6f2;--green:#245e51;--accent:#ceae68;--a:#d6ede4;--b:#f7e7c5;--c:#e5e0f3}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Tahoma,"Segoe UI",Arial,sans-serif;font-size:14px}button,select,input{font:inherit}button,select{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #16829b;outline-offset:2px}button{color:inherit}button:disabled{cursor:default;opacity:.5}button:hover:not(:disabled){filter:brightness(.97)}.topbar{background:#153c34;color:#fff;padding:20px 30px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:13px}.brandmark{width:40px;height:40px;border:1px solid #b99c60;border-radius:9px;display:grid;place-items:center;color:#e3c787;font-size:23px}.brand strong{font-size:18px;display:block}.brand small{color:#c1d3ca;display:block;margin-top:6px;font-size:11px}.toptools{display:flex;gap:12px;align-items:center}.pill{border:1px solid #7d9684;color:#e4ebe3;padding:7px 11px;border-radius:30px;font-size:11px}.role{background:#244d42;color:#fff;border:1px solid #577565;padding:9px;border-radius:7px}.notice{background:#fff6e6;color:#80622d;padding:10px 30px;font-size:12px;line-height:1.9;border-bottom:1px solid #eadbbe}.shell{max-width:1920px;margin:auto;padding:25px 28px 22px}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.eyebrow{font-size:11px;letter-spacing:.5px;color:var(--muted);margin-bottom:7px}h1{font-size:25px;margin:0;font-weight:700}h2{font-size:16px;margin:0}.subtitle{color:var(--muted);font-size:12px;margin:9px 0 0;line-height:1.8}.quiet-button{background:#fff;border:1px solid var(--line);border-radius:7px;padding:10px 15px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:17px 20px;position:relative}.stat.accent{background:#edf5ee;border-color:#c5dcca}.stat-label{color:var(--muted);font-size:12px}.stat-main{display:flex;align-items:baseline;gap:8px;margin-top:9px}.stat-main b{font-size:28px;line-height:1.2;letter-spacing:-1px}.stat-main span{font-size:12px;color:var(--muted)}.stat-note{font-size:11px;color:var(--muted);margin-top:7px}.toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px 16px;margin-bottom:17px}.field{display:flex;flex-direction:column;gap:7px;min-width:165px}.field label{font-size:11px;color:var(--muted)}select,input{border:1px solid #d1dcd4;background:#fff;color:var(--ink);border-radius:6px;padding:9px 11px;min-height:37px}select{padding-left:28px}.toolbar .spacer{flex:1}.segmented{display:flex;background:#f3f5f1;padding:3px;border-radius:7px;gap:2px}.segmented button{border:0;background:transparent;padding:9px 13px;border-radius:5px;font-size:12px;white-space:nowrap}.segmented button.active{background:#fff;box-shadow:0 1px 4px #173d341b;color:var(--green);font-weight:bold}.legend{display:flex;align-items:center;gap:15px;font-size:11px;color:var(--muted);flex-wrap:wrap}.dot{width:10px;height:10px;display:inline-block;border-radius:3px;border:1px solid #b8cabe;margin-left:5px;vertical-align:middle}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:17px;align-items:start}.plan{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.plan-head{padding:17px 17px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-head p{margin:6px 0 0;font-size:11px;color:var(--muted);line-height:1.8}.plan-badge{border:1px solid var(--line);background:#f7f9f6;border-radius:30px;padding:7px 11px;font-size:11px;white-space:nowrap}.grid-scroll{overflow:auto;max-height:720px;scrollbar-width:thin;scrollbar-color:#b9c9be #f1f4ef}.room-grid{width:100%;min-width:1210px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px}.room-grid th,.room-grid td{text-align:center;border-left:1px solid #dde5df;border-bottom:1px solid #dde5df;padding:0;height:43px}.room-grid thead th{background:#e9efea;color:#4c665c;font-weight:normal;height:35px;position:sticky;top:0;z-index:2;font-size:11px}.room-grid th.floor{width:105px;background:#f6f8f3;position:sticky;right:0;z-index:2;font-weight:normal;text-align:right;padding:0 11px;font-size:11px;white-space:nowrap}.room-grid th.floor small{display:block;color:#7e9185;font-size:9px;margin-top:5px}.room-grid thead th.floor{background:#e9efea;z-index:3}.room-grid tr:last-child td,.room-grid tr:last-child th{border-bottom:0}.room-grid td{background:#fff;position:relative}.room-grid td.outside{background:#f4f6f2;border-color:#edf0eb}.room{height:100%;width:100%;border:0;background:transparent;font-size:16px;font-weight:bold;display:grid;place-items:center;padding:0;position:relative;line-height:1;color:#213d35;transition:box-shadow .1s}.room.assigned-a{background:var(--a)}.room.assigned-b{background:var(--b);color:#75541c}.room.assigned-c{background:var(--c);color:#574979}.room.available{color:#4d6459}.room.selected{box-shadow:inset 0 0 0 2.5px #1b827f;background:#d8efec!important;color:#124e4d}.room.selected:after{content:"";position:absolute;bottom:3px;right:3px;width:4px;height:4px;border-radius:50%;background:#16756f}.room.filtered{visibility:hidden}.room-grid td.filtered-cell{background:#eef1ed}.plan-foot{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 17px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.8}.plan-foot b{color:var(--ink)}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;margin-bottom:13px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}.panel-title h2{font-size:14px}.step{width:22px;height:22px;border-radius:50%;background:#e9f2e9;display:grid;place-items:center;color:#547557;font-size:11px}.section-note{font-size:11px;line-height:1.9;color:var(--muted);margin:0 0 12px}.panel .field{min-width:0;width:100%;margin:13px 0}.selection-info{display:grid;grid-template-columns:1fr 1fr;background:#f4f7f2;border:1px solid #e2e9df;border-radius:8px;margin:13px 0;text-align:center}.selection-info>div{padding:12px 4px}.selection-info>div+div{border-right:1px solid #e2e9df}.selection-info b{font-size:23px;display:block}.selection-info small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.room-chips{display:flex;gap:5px;flex-wrap:wrap;max-height:150px;overflow:auto;min-height:34px;margin-bottom:12px;align-content:start}.chip{font-family:"Segoe UI",Arial,sans-serif;font-size:11px;padding:6px 7px;border:1px solid #c6dbcf;border-radius:5px;background:#f0f6ef;direction:ltr}.chip:hover{background:#dfece2}.empty-selection{font-size:11px;color:var(--muted);line-height:1.9}.primary{display:block;width:100%;background:var(--green);color:#fff;padding:11px;border:0;border-radius:7px;font-size:12px;font-weight:bold}.release{width:100%;border:1px solid #decabf;background:#fffaf6;color:#8d6044;padding:9px;border-radius:6px;font-size:11px;margin-top:8px}.text-action{border:0;background:none;color:var(--muted);font-size:11px;padding:8px 0;text-decoration:underline;text-underline-offset:3px}.focus-room{background:#f7f9f5;border:1px solid var(--line);padding:12px;border-radius:7px;margin-bottom:12px;font-size:11px;line-height:2}.focus-room b{display:block;color:var(--ink)}.focus-room code{direction:ltr;display:inline-block;font-size:13px;font-family:Arial,sans-serif;font-weight:bold}.company-row{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #eef1eb;font-size:11px}.company-row:last-child{border:0}.company-row span:last-child{color:var(--muted);font-size:10px}.panel-link{display:block;width:100%;background:#f4f7f1;border:1px solid var(--line);border-radius:6px;padding:9px;margin-top:10px;font-size:11px}.footer{display:flex;justify-content:space-between;font-size:10px;color:#829286;margin-top:17px;gap:12px;line-height:1.8}.tip{position:fixed;display:none;pointer-events:none;background:#163e34;color:#fff;padding:10px 13px;border-radius:8px;font-size:11px;z-index:30;box-shadow:0 5px 20px #183c3426;line-height:1.9;max-width:230px}.tip code{font-family:Arial,sans-serif;direction:ltr;display:inline-block;color:#e1d298;font-weight:bold}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#163e34;color:#fff;padding:13px 22px;border-radius:9px;box-shadow:0 7px 30px #14382c33;font-size:12px;z-index:50;display:none;max-width:90%;line-height:1.9}dialog{border:1px solid var(--line);border-radius:14px;padding:24px;max-width:560px;width:90%;color:var(--ink);box-shadow:0 20px 100px #12352b33}dialog::backdrop{background:#14312766}dialog h2{margin:0 0 12px}dialog p{font-size:12px;line-height:2;color:var(--muted)}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:19px}.dialog-actions button{width:auto;padding:10px 20px}.company-detail{background:#f5f8f1;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:12px;line-height:2;margin-top:10px}.company-detail code{font-family:Arial,sans-serif;direction:ltr;display:inline-block;font-size:11px;color:#536b5c}.selection-warning{font-size:11px;line-height:1.8;color:#8a6437;background:#fff4df;padding:9px;border-radius:5px;margin-bottom:12px}.reader-note{background:#f1f5ee;border-radius:8px;padding:13px;font-size:12px;line-height:2;color:#526b58}#readerPanel{display:none}.switch{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin-top:8px}.switch input{min-height:0;accent-color:var(--green)}[hidden]{display:none!important}
@media(min-width:1800px){.room-grid{min-width:0}.room-grid td{height:48px}.room{font-size:18px}}
@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr)}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px}.shell{padding:20px 16px}.topbar{padding:17px}.notice{padding:9px 17px}.legend{gap:10px}.stats{gap:9px}.stat{padding:14px}.plan-foot{align-items:start}}
@media(max-width:620px){.topbar{align-items:start}.toptools{flex-direction:column;align-items:end}.brand strong{font-size:15px}.brandmark{display:none}.pill{font-size:10px}.stats{grid-template-columns:1fr 1fr}.heading{align-items:start}.heading h1{font-size:22px}.toolbar{align-items:stretch}.toolbar .field{min-width:0;flex:1 0 42%}.segmented{width:100%}.segmented button{flex:1;padding:9px 7px;font-size:11px}.sidebar{display:block}.legend{font-size:10px}.plan-head{align-items:start}.plan-badge{display:none}.plan-foot{flex-direction:column;gap:5px}.footer{flex-direction:column}.quiet-button{padding:8px 9px}.notice{font-size:10px}.stat-main b{font-size:25px}}

.heading-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.inventory-open{background:var(--green);color:white;border:1px solid var(--green);padding:10px 15px;border-radius:7px;font-size:12px;font-weight:bold}
#inventoryDialog{width:min(1100px,95vw);max-width:1100px;max-height:92vh;padding:0;overflow:auto}.inventory-head{padding:23px 26px 15px;background:#f7faf4;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:start}.inventory-head h2{font-size:19px;margin:6px 0}.inventory-head p{margin:5px 0 0;font-size:12px;max-width:760px}.inventory-body{padding:20px 26px}.inventory-guide{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:11px;color:var(--muted);margin-bottom:17px}.inventory-guide code{padding:5px 9px;background:#f0f5ed;border:1px solid var(--line);border-radius:5px;color:var(--ink);direction:ltr;font-family:Arial,sans-serif}.inventory-scroll{overflow:auto}.inventory-table{width:100%;min-width:780px;border-collapse:collapse;table-layout:fixed}.inventory-table th{font-weight:normal;font-size:11px;color:var(--muted);text-align:right;background:#f2f6ee;padding:11px 10px;border-bottom:1px solid var(--line)}.inventory-table td{padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top}.inventory-table th:nth-child(1){width:90px}.inventory-table th:nth-child(2){width:112px}.inventory-table th:nth-child(4){width:140px}.inventory-table th:nth-child(5){width:155px}.inventory-table input{width:100%;min-width:0;font-size:12px}.inventory-table .floor-name{font-size:12px;font-weight:bold;line-height:2.8;white-space:nowrap}.range-field{display:flex;gap:6px;align-items:start}.range-field input{flex:1;direction:ltr;text-align:left;min-width:100px}.range-field button{border:1px solid #ccdacd;background:#edf4e9;border-radius:6px;padding:10px 7px;white-space:nowrap;font-size:10px}.inventory-floor-note{font-size:10px;color:var(--muted);line-height:1.7;margin-top:6px}.inventory-floor-note.error{color:#a34936}.bed-review-button{width:100%;background:#fff;border:1px solid #c6d8c7;border-radius:6px;font-size:11px;padding:10px 6px;color:#2b5e43}.inventory-table .active-floor td{background:#f5faf0}.inventory-table .active-floor .bed-review-button{background:#e2efda}.inventory-add{margin-top:12px;padding:9px 14px;font-size:11px;background:#fff;border:1px dashed #b7cbb5;border-radius:6px;color:#3e6850}.inventory-bed-section{margin-top:20px;border:1px solid #d5e0cf;background:#fafcf8;border-radius:10px;overflow:hidden}.inventory-bed-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid #e1e9da}.inventory-bed-head h3{font-size:13px;margin:0}.inventory-bed-head p{font-size:10px;margin:4px 0 0}.inventory-bed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:9px;padding:15px;max-height:285px;overflow:auto}.inventory-bed-card{background:#fff;border:1px solid var(--line);padding:9px;border-radius:6px;text-align:center}.inventory-bed-card code{display:block;font:11px Arial,sans-serif;direction:ltr;color:#4e6854;margin-bottom:7px}.inventory-bed-card input{width:100%;padding:7px 3px;font-size:20px;font-weight:bold;text-align:center;border-color:#c8d6c2}.inventory-bed-card small{display:block;font-size:9px;margin-top:7px;color:var(--muted)}.inventory-bed-card input:invalid{border-color:#ce805b}.inventory-summary{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#edf5e8;border:1px solid #d2e1c9;padding:14px 17px;border-radius:8px;margin-top:20px;font-size:12px}.inventory-summary strong{font-size:20px;margin-left:4px}.inventory-summary .inventory-change{color:#57714c;font-size:11px;margin-right:auto}.inventory-issues{padding:11px 14px;background:#fff5e5;color:#835d30;border:1px solid #ead8b4;border-radius:7px;font-size:11px;line-height:2;margin-top:12px;white-space:pre-line}.inventory-bottom{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:14px 26px;display:flex;justify-content:space-between;gap:15px;align-items:center;z-index:3}.inventory-bottom p{margin:0;font-size:10px}.inventory-bottom .dialog-actions{margin:0;white-space:nowrap}#confirmDialog{z-index:20}#toast{z-index:100}
@media(max-width:620px){.heading-actions{justify-content:flex-end}.inventory-open{font-size:10px;padding:9px}.heading{gap:8px}.heading h1{font-size:20px}.inventory-head{padding:15px}.inventory-head h2{font-size:16px}.inventory-head p{font-size:11px}.inventory-body{padding:14px}.inventory-bottom{padding:12px 14px;flex-direction:column;align-items:stretch}.inventory-bottom .dialog-actions{justify-content:stretch}.inventory-bottom button{flex:1}.inventory-summary{gap:12px}.inventory-summary .inventory-change{margin-right:0}.inventory-bed-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.inventory-scroll{overflow:visible}.inventory-table{display:block;min-width:0}.inventory-table thead{display:none}.inventory-table tbody{display:grid;gap:12px}.inventory-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#fafcf7;border:1px solid var(--line);border-radius:8px;padding:7px}.inventory-table td{display:block;border:0;padding:7px;min-width:0}.inventory-table td:first-child{grid-column:1/-1;order:0;border-bottom:1px solid var(--line);padding-top:0;padding-bottom:3px}.inventory-table td:nth-child(2){order:1}.inventory-table td:nth-child(4){order:2}.inventory-table td:nth-child(3){grid-column:1/-1;order:3}.inventory-table td:nth-child(5){grid-column:1/-1;order:4}.inventory-table td:nth-child(2)::before{content:'آخر رقم غرفة في الدور';display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.inventory-table td:nth-child(3)::before{content:'الغرف ضمن حصتنا';display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.inventory-table td:nth-child(4)::before{content:'أسرّة الغرفة الجديدة';display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.inventory-table .range-field input{min-width:0}.inventory-table .active-floor td{background:transparent}.inventory-table .active-floor{background:#f0f7e9}.inventory-bed-head{align-items:start}}

.management-open{font-weight:bold;border-color:#9db7a5;background:#f6faf3}.legend{max-height:76px;overflow:auto;max-width:570px}.legend>span{white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis}.company-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-row>span:last-child{flex-shrink:0}.room.assigned{background:var(--company-bg);color:var(--company-ink)}.room.selected{color:#124e4d!important}.quick-selection{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:15px 0}.quick-heading{font-size:12px;font-weight:bold;margin-bottom:7px}.quick-modes{display:flex;gap:3px;background:#f0f4ec;padding:3px;border-radius:6px}.quick-modes button{font-size:10px;padding:9px 4px;border:0;background:transparent;border-radius:4px;flex:1;white-space:nowrap}.quick-modes .active{background:#fff;box-shadow:0 1px 4px #143c3420;font-weight:bold}.quick-range{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-selection .field{margin:10px 0}.quick-selection input{width:100%;min-width:0;direction:ltr;text-align:right}.quick-hint{font-size:10px;line-height:1.8;color:var(--muted);margin:8px 0}.quick-result{font-size:10px;line-height:1.9;background:#eaf5e7;border:1px solid #d0e2c9;border-radius:6px;padding:8px;margin-top:9px;color:#476340;white-space:pre-line}.quick-result.error{background:#fff3e5;border-color:#ead1aa;color:#865d2e}.empty-plan{padding:40px!important;font-size:13px;height:170px!important;color:var(--muted);line-height:2;background:#f8faf5}.entity-empty{padding:20px;font-size:12px;line-height:2;text-align:center;border:1px dashed #cbd9c4;border-radius:8px;color:var(--muted)}
#managementDialog{max-width:1040px;width:min(1040px,95vw);padding:0;max-height:92vh;overflow:auto}.management-head{display:flex;justify-content:space-between;gap:15px;align-items:start;padding:23px 25px 15px;background:#f7faf4;border-bottom:1px solid var(--line)}.management-head h2{font-size:19px;margin:0 0 8px}.management-head p{margin:0;font-size:12px}.management-body{padding:20px 25px}.management-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:18px}.management-tabs button{padding:10px 21px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:12px}.management-tabs button.active{background:var(--green);color:#fff;border-color:var(--green)}.management-tabs small{display:inline-block;margin-right:7px;opacity:.75}.entity-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:19px;align-items:start}.entity-form{padding:18px;background:#f6f9f2;border:1px solid #d7e2d1;border-radius:9px}.entity-form h3{font-size:14px;margin:0 0 13px}.entity-form .field{min-width:0;margin:12px 0}.entity-form input{width:100%;min-width:0}.entity-form input[type=color]{height:40px;padding:4px;cursor:pointer}.entity-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px}.entity-help{font-size:10px!important;line-height:1.9!important;margin:10px 0 14px;color:var(--muted)}.entity-error{font-size:11px;color:#984934;background:#fff0e8;border-radius:5px;padding:9px;margin:10px 0;line-height:1.8}.entity-list{display:grid;gap:10px;max-height:590px;overflow:auto;padding-left:4px}.entity-card{border:1px solid var(--line);border-radius:9px;padding:15px;background:#fff}.entity-card-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:bold;line-height:1.8;overflow-wrap:anywhere}.entity-card-title .dot{flex-shrink:0;width:13px;height:13px}.entity-card p{font-size:11px;margin:6px 0 12px}.entity-card-actions{display:flex;gap:7px;flex-wrap:wrap}.entity-card-actions button{padding:7px 10px;border:1px solid #d2dfca;border-radius:5px;background:#f5f9f1;font-size:11px}.entity-card-actions .entity-delete{border-color:#e3cabd;color:#976249;background:#fff9f3}.management-footer{padding:12px 25px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);background:#fafbf8}.entity-error:empty{display:none}.entity-form .text-action{display:block}.quick-selection .panel-link{background:#e8f1e1;border-color:#c2d5b9;color:#31583a;font-weight:bold}#companySummary{max-height:280px;overflow:auto}.entity-note{font-size:11px;line-height:1.9;color:var(--muted)}
@media(max-width:800px){.entity-layout{grid-template-columns:1fr}.entity-list{max-height:none}.management-body{padding:15px}.management-head{padding:18px}.management-head h2{font-size:16px}.management-tabs button{flex:1;padding:10px}.management-footer{padding:12px 15px}.heading-actions .quiet-button{font-size:10px}.quick-modes button{font-size:11px}.legend{max-width:100%}}


:root{--brand:#4b2545;--brand-beige:#c9bab6;--brand-soft:#f2ecf0;--ink:#392c36;--muted:#756570;--line:#e5dee3;--paper:#fff;--bg:#f8f6f7;--green:var(--brand);--accent:var(--brand-beige)}
body{background:var(--bg);color:var(--ink)}
.topbar{background:var(--brand);padding:14px 28px;border-bottom:4px solid var(--brand-beige);gap:24px}
.brand{gap:17px;min-width:0}
.brandmark{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:82px;height:86px;padding:8px 10px;background:#fff;border:1px solid #e9e1e5;border-radius:12px}
.brandmark img{display:block;width:100%;height:100%;object-fit:contain}
.brand strong{font-size:20px;color:#fff;line-height:1.5}
.brand small{color:#e3d7d5;font-size:12px;margin-top:7px;line-height:1.7}
.toptools{gap:12px}
.pill{border-color:#99788f;color:#f5eef3;background:#ffffff08}
.role{background:#613a5a;border-color:#94758b;color:#fff}
.role option{background:#fff;color:var(--ink)}
button:focus-visible,select:focus-visible,input:focus-visible{outline-color:#88587b}
.topbar select:focus-visible{outline-color:#e5d5d1}
.notice{background:#f3eeeb;color:#695650;border-color:#e0d4cc}
h1{color:var(--brand)}
.eyebrow{color:#8a737f}
.heading-actions .management-open{background:#f2ecf0;border-color:#d3c0cf;color:var(--brand)}
.stat{box-shadow:0 3px 12px #4b254504}
.stat:not(.accent) .stat-main b{color:var(--brand)}
.stat.accent{background:#eef6f0;border-color:#cce0d1}
.stat.accent .stat-main b{color:#28604c}
.toolbar{box-shadow:0 3px 12px #4b254504}
select,input{border-color:#d8ccd4}
.segmented,.quick-modes{background:#f2edf0}
.segmented button.active,.quick-modes button.active{color:var(--brand);box-shadow:0 1px 4px #4b25451c}
.dot{border-color:#c9c0c7}
.plan-head{background:#fff}
.plan-badge{background:#f7f3f5;border-color:#e3d9df;color:#705969}
.grid-scroll{scrollbar-color:#c6b7c1 #f5f1f4}
.room-grid th,.room-grid td{border-color:#e5dfe3}
.room-grid thead th,.room-grid thead th.floor{background:#eee6ec;color:#69435f}
.room-grid th.floor{background:#f8f4f7;color:#61425a}
.room-grid th.floor small{color:#897783}
.room-grid td.outside{background:#f4f2f4;border-color:#ebe7eb}
.room-grid td.filtered-cell{background:#f0edf0}
.room.available{color:#4e454d}
.room.selected{box-shadow:inset 0 0 0 3px #30122b;background:var(--brand)!important;color:#fff!important}
.room.selected:after{width:5px;height:5px;background:#e4d8d4}
.panel-title h2{color:var(--brand)}
.step{background:#eee4eb;color:var(--brand)}
.selection-info{background:#f6f1f5;border-color:#e4d7e0}
.selection-info>div+div{border-color:#e4d7e0}
.selection-info b{color:var(--brand)}
.chip{border-color:#dac7d5;background:#f5eef3;color:var(--brand)}
.chip:hover{background:#ebdce6}
.focus-room{background:#f9f6f8}
.company-row{border-bottom-color:#eee8ec}
.panel-link{background:#f8f4f7;color:var(--brand)}
.quick-selection .panel-link{background:#eee3eb;border-color:#d7bfd0;color:var(--brand)}
.quick-result:not(.error){background:#eef6ee;color:#3c633f;border-color:#d1e1ce}
.footer{color:#877480}
.tip,.toast{background:var(--brand);box-shadow:0 7px 25px #4b25452b}
.tip code{color:#e7d8d4}
dialog{box-shadow:0 20px 100px #35132d33}
dialog::backdrop{background:#2e1c2c66}
.company-detail,.reader-note{background:#f7f2f6}
.company-detail code,.reader-note{color:#695064}
.inventory-head,.management-head{background:#f8f3f7}
.inventory-head h2,.management-head h2{color:var(--brand)}
.inventory-guide code{background:#f5eef3}
.inventory-table th{background:#f4edf2}
.range-field button{border-color:#dbcbd5;background:#f2eaf0;color:var(--brand)}
.bed-review-button{border-color:#d9c7d4;color:var(--brand)}
.inventory-table .active-floor td{background:#f7f0f5}
.inventory-table .active-floor .bed-review-button{background:#eadce6}
.inventory-add{border-color:#c7aabe;color:var(--brand)}
.inventory-bed-section{border-color:#e0d2db;background:#fcf9fb}
.inventory-bed-head{border-color:#e9dfe5}
.inventory-bed-card code{color:#76536c}
.inventory-bed-card input{border-color:#d9c5d3}
.inventory-summary{background:#f1e7ee;border-color:#dfced9;color:var(--brand)}
.inventory-summary .inventory-change{color:#7a5a70}
.entity-form{background:#f8f3f7;border-color:#e4d7df}
.entity-card-actions button:not(.entity-delete){border-color:#e0d2dc;background:#f7f1f5;color:var(--brand)}
.management-footer{background:#fcfafb}
.empty-plan{background:#faf7f9}
.entity-empty{border-color:#d7c5d1}
@media(max-width:1000px){.topbar{padding:14px 17px}}
@media(max-width:620px){
 .topbar{flex-wrap:wrap;align-items:center;gap:15px;padding:14px 16px}
 .brand{width:100%;gap:14px}
 .brandmark{display:flex;width:66px;height:74px;padding:7px 8px;border-radius:10px}
 .brand strong{font-size:19px}
 .brand small{font-size:11px;margin-top:5px}
 .toptools{width:100%;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding-top:12px;border-top:1px solid #795970}
 .pill{font-size:10px;padding:7px 9px}
 .role{font-size:11px;padding:8px 9px;min-width:0}
 .inventory-table tr{background:#fcf9fb}
 .inventory-table .active-floor{background:#f4eaf1}
 .inventory-table .active-floor td{background:transparent}
}

body.auth-mode .shell,body.auth-mode .connection-bar,body.auth-mode .toptools{display:none!important}
.auth-screen{min-height:calc(100vh - 120px);padding:36px 18px;display:grid;place-items:center;background:radial-gradient(ellipse at top,#ede3ea,transparent 65%)}
.auth-card{width:min(440px,100%);padding:30px 32px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 65px #4b254510}
.auth-logo{display:block;object-fit:contain;margin:0 auto 20px}
.auth-card h1{text-align:center;font-size:25px;line-height:1.6}
.auth-card>p{text-align:center;line-height:1.9;color:var(--muted)}
.auth-card .field,dialog form .field{min-width:0;margin:17px 0}
.auth-card label,dialog form label{font-size:13px}
.auth-card input,dialog form input,dialog form select{width:100%;font-size:14px;min-width:0}
.auth-card .primary,dialog form .primary{font-size:14px;min-height:42px;margin-top:18px}
.form-help{font-size:12px;line-height:1.9;color:var(--muted)}
.form-error{background:#fff0ee;border:1px solid #edc4bd;color:#923f33;border-radius:7px;padding:10px 12px;font-size:13px;line-height:1.8}
.connection-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 28px;background:#f1edf0;border-bottom:1px solid var(--line);color:#63525e;font-size:12px;line-height:1.8}
.connection-bar[data-status=error]{background:#fff0ec;color:#943f31}
.connection-bar[data-status=warning]{background:#fff6df;color:#795522}
.connection-bar .text-action{padding:2px;white-space:nowrap;color:inherit}
.toptools{flex-wrap:wrap;justify-content:flex-end}
.toptools button{color:#fff;border:1px solid #94758b;background:#613a5a;padding:9px 11px;border-radius:7px;font-size:12px}
.session-user{font-size:13px;color:#fff;display:flex;flex-direction:column;gap:4px;line-height:1.5}
.session-user small{font-size:11px;color:#e3d7d5}
.dialog-top{display:flex;justify-content:space-between;gap:14px;align-items:start;margin-bottom:15px}
.dialog-top h2{margin:0;color:var(--brand)}
.dialog-top p{margin-bottom:0}
.dialog-top button{white-space:nowrap}
#usersDialog{width:min(960px,95vw);max-width:960px;max-height:90vh;overflow:auto}
.users-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px}
.user-card{border:1px solid var(--line);border-radius:9px;padding:15px;font-size:13px}
.user-card strong{display:block;margin-bottom:6px;overflow-wrap:anywhere}
.user-card p{margin:5px 0 10px}
.user-card .inactive{color:#97493a}
.user-card .quiet-button{font-size:12px}
#backupDialog,#accountDialog{max-height:90vh;overflow:auto}
.restore-details{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}
.restore-details summary{cursor:pointer;color:var(--brand);font-weight:bold;font-size:13px;line-height:1.8}
#busyDialog{width:360px;text-align:center}
#busyDialog::backdrop{background:#2e1c2c55}
dialog .switch input{width:auto;min-height:0}
@media(max-width:850px){.topbar{flex-wrap:wrap}.toptools{justify-content:flex-start;width:100%}.users-layout{grid-template-columns:1fr}.connection-bar{padding:8px 16px}}
@media(max-width:620px){.auth-card{padding:25px 22px}.auth-screen{padding:24px 16px}.toptools{flex-wrap:wrap}.toptools button{font-size:11px;padding:8px}.session-user{width:100%;flex-direction:row;gap:8px;align-items:center}dialog{padding:18px}.connection-bar{font-size:11px;align-items:start}}

#printDialog{max-width:590px;max-height:92vh;overflow:auto}
.print-preview-mode>header,.print-preview-mode>.shell,.print-preview-mode>.connection-bar,.print-preview-mode>#tooltip,.print-preview-mode>#toast{display:none!important}
#printPreview{background:#e9e4e7;min-height:100vh}
.print-preview-tools{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;background:#fff;border-bottom:1px solid #d4c8d0;box-shadow:0 2px 14px #4b254510}
.print-preview-tools strong{color:#4b2545;font-size:17px}
.print-preview-tools p{font-size:12px;line-height:1.9;margin:5px 0 0;color:#73636d;max-width:740px}
.print-preview-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
.print-preview-actions button{white-space:nowrap;width:auto;font-size:13px;min-height:42px}
.print-pages{padding:24px;overflow-x:auto}
.report-sheet{width:297mm;min-height:209.5mm;box-sizing:border-box;padding:10mm;margin:0 auto 24px;background:#fff;color:#322831;font-family:Tahoma,Arial,sans-serif;direction:rtl;display:flex;flex-direction:column;gap:3mm;box-shadow:0 3px 22px #4b254518;font-size:10pt;line-height:1.5}
.report-sheet *{box-sizing:border-box;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
.report-header{display:flex;gap:5mm;align-items:center;border-bottom:1.2mm solid #c9bab6;padding-bottom:3mm;margin-bottom:3mm}
.report-logo{width:17mm;height:20mm;object-fit:contain;flex-shrink:0}
.report-heading{flex:1;min-width:0}
.report-heading .report-brand{font-size:10pt;color:#4b2545;margin-bottom:1mm}
.report-heading h1{font-size:17pt;line-height:1.45;color:#4b2545;overflow-wrap:anywhere;margin:0}
.report-heading p{margin:1mm 0 0;font-size:11pt;line-height:1.5;overflow-wrap:anywhere}
.report-issued{font-size:8pt;color:#72606b;text-align:left;white-space:nowrap;align-self:flex-start;padding-top:1mm}
.report-issued span{display:block;margin-top:1mm}
.report-stats{display:flex;flex-wrap:wrap;gap:2mm;margin:0 0 3mm}
.report-stat{flex:1;min-width:45mm;padding:2mm 3mm;border:0.25mm solid #e0d5dc;border-radius:1.5mm;background:#f7f3f6}
.report-stat span{font-size:8pt;color:#725c6b;display:block}
.report-stat strong{font-size:11pt;color:#4b2545;line-height:1.6}
.report-stat small{font-size:8pt;margin-right:2mm;color:#725c6b}
.report-scope{font-size:8pt;color:#6a5864;margin:0 0 2mm;line-height:1.65}
.report-grid{width:100%;border-collapse:collapse;table-layout:fixed;border:0.3mm solid #a99aa5;font-size:9pt;margin:0}
.report-grid col.report-floor-col{width:27mm}
.report-grid th,.report-grid td{border:0.2mm solid #c9bec6;text-align:center;height:7.5mm;padding:0.5mm 0;vertical-align:middle}
.report-grid thead th{height:7mm;background:#ede5eb;color:#4b2545;font-weight:bold;font-size:8pt}
.report-grid th.report-floor{background:#f7f3f6;text-align:right;padding:0.4mm 1mm;font-weight:normal;font-size:8pt;line-height:1.25}
.report-grid th.report-floor small{display:block;font-size:6.5pt;color:#73616d;margin-top:0.3mm}
.report-grid td.report-room{font-size:10pt;font-weight:bold;color:#443840}
.report-grid td.report-empty{background:#eeeef0;color:transparent}
.report-grid td.report-free{background:#fff;color:#443840}
.report-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5mm 3mm;margin-top:3mm}
.report-legend-item{display:flex;align-items:flex-start;gap:2mm;font-size:8pt;line-height:1.5;break-inside:avoid;min-width:0}
.report-swatch{display:inline-block;width:4mm;height:4mm;flex-shrink:0;border:0.25mm solid #8c7b87;border-radius:0.6mm;margin-top:0.4mm}
.report-legend-item strong{font-size:8pt;font-weight:normal;overflow-wrap:anywhere;display:block}
.report-legend-item small{font-size:7pt;color:#786672;display:block}
.report-key{display:flex;align-items:center;gap:5mm;font-size:8pt;color:#75626f;margin-top:3mm;flex-wrap:wrap}
.report-key span{display:flex;align-items:center;gap:1.5mm}
.report-footer{margin-top:auto;border-top:0.25mm solid #ddd3da;padding-top:2mm;display:flex;gap:5mm;justify-content:space-between;font-size:7pt;color:#7b6875}
.report-footer .report-page-number{white-space:nowrap}
@media(max-width:760px){.print-preview-tools{position:static;flex-wrap:wrap;padding:16px}.print-preview-actions{width:100%}.print-pages{padding:12px}.heading-actions{flex-wrap:wrap}}
@page{size:A4 landscape;margin:0}
@media print{
  html:has(body.print-preview-mode),body.print-preview-mode{margin:0!important;padding:0!important;background:#fff!important}
  body.print-preview-mode>*:not(#printPreview){display:none!important}
  body.print-preview-mode #printPreview{display:block!important;background:#fff;min-height:0}
  .print-preview-tools{display:none!important}
  .print-pages{padding:0;overflow:visible}
  .report-sheet{box-shadow:none;margin:0;break-after:page;break-inside:avoid}
  .report-sheet:last-child{break-after:auto}
  .report-grid thead{display:table-header-group}
  .report-grid tr{break-inside:avoid}
}
