:root{--navy:#09253d;--primary:#a3133f;--primary-soft:#faedf1;--sidebar:#6f0d2b;--sidebar-line:#98384f;--sidebar-muted:#f1c7d3;--sidebar-accent:#ffd6e3;--muted:#597083;--line:#dce3e8;--surface:#fff;--bg:#fff;--red:#b72b21;--green:#17733c}*{box-sizing:border-box}body{color:var(--navy);background:var(--bg);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-weight:600;text-decoration:none;display:inline-flex}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:not-allowed}.secondary{color:var(--primary);border-color:var(--line);background:#fff}a{color:var(--primary);text-underline-offset:3px}input,select,textarea{width:100%;min-height:44px;color:var(--navy);background:#fff;border:1px solid #b9c6d0;border-radius:6px;padding:10px 12px}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--primary)}textarea{resize:vertical;min-height:90px}label,.form-field{flex-direction:column;gap:7px;margin-bottom:16px;font-weight:600;display:flex}small{color:var(--muted);font-size:12px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.7px;margin-bottom:10px;font-size:29px;line-height:1.2}h2{margin:0;font-size:17px;font-weight:600}p{color:var(--muted)}:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar);color:#fff;z-index:30;flex-direction:column;width:220px;padding:28px 14px 16px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar :focus-visible{outline-color:#fff}.brand{text-align:center;flex-direction:column;align-items:center;gap:5px;margin-bottom:30px;display:flex}.brand svg{color:var(--sidebar-accent)}.event-logo{object-fit:contain;background:#fff;border-radius:9px;flex:none;width:42px;height:42px;padding:3px}.event-logo-thumb{object-fit:contain;background:#fff;border-radius:6px;width:36px;height:36px;padding:2px}.brand strong{font-size:26px;line-height:1.1}.brand span{margin-top:6px;font-size:12px}.sidebar nav{flex-direction:column;gap:9px;display:flex}.sidebar nav a{color:#fff;border-radius:6px;align-items:center;gap:13px;min-height:50px;padding:12px;text-decoration:none;display:flex}.sidebar nav a:hover,.sidebar nav a.selected{background:var(--primary)}.account{border-top:1px solid var(--sidebar-line);flex-direction:column;gap:5px;margin-top:auto;padding:18px 8px 0;display:flex}.account small{color:var(--sidebar-muted);font-size:10px}.account button{background:0 0;border:0;justify-content:flex-start;padding:8px 0}.main-shell{width:calc(100% - 220px);margin-left:220px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:24px;height:86px;padding:18px 30px;display:flex}.topbar>select{width:270px;font-size:16px;font-weight:600}.global-search{align-items:center;width:100%;max-width:410px;display:flex;position:relative}.global-search>svg{position:absolute;right:13px}.global-search input{padding-right:40px}.search-results{z-index:40;border:1px solid var(--line);background:#fff;max-height:400px;position:absolute;top:48px;left:0;right:0;overflow:auto;box-shadow:0 10px 25px #0002}.search-results a{border-bottom:1px solid var(--line);padding:12px;display:block}.search-results p{padding:12px}.mobile-menu{display:none}main{max-width:1800px;margin:auto;padding:28px 30px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.page-heading p{margin:0}.actions{flex-wrap:wrap;gap:10px;display:flex}.metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;min-height:165px;padding:20px 16px;display:flex}.metric>span{font-weight:600}.metric>strong{letter-spacing:-1px;margin:20px 0 10px;font-size:36px;line-height:1.3}.metric>small{color:var(--navy);margin-top:auto}.dashboard-grid{grid-template-columns:1.15fr 1fr;align-items:start;gap:20px;margin-top:20px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;margin-bottom:20px;overflow:hidden}.dashboard-grid>.panel{margin-bottom:0}.panel>header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px;display:flex}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}th{color:#19364c;white-space:nowrap;background:#f8fafb;font-size:12px;font-weight:600}td,th{vertical-align:middle;border-bottom:1px solid #e7ecef;padding:16px 15px}td{overflow-wrap:break-word;max-width:350px}td:has(button){white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfe}.status{white-space:nowrap;border-radius:4px;align-items:center;padding:4px 9px;font-size:11px;font-weight:600;display:inline-flex}.good{color:#156536;background:#e0f5e8}.warn{color:#955100;background:#fff0cd}.bad{color:#a9291d;background:#ffe5df}.info{color:#255882;background:#e6f0fa}.progress-row{align-items:center;gap:10px;min-width:100px;font-size:11px;display:flex}progress{appearance:none;background:#e9eef1;border:0;border-radius:4px;width:100%;min-width:55px;height:8px}progress::-webkit-progress-bar{background:#e9eef1;border-radius:4px}progress::-webkit-progress-value{background:var(--primary);border-radius:4px}progress::-moz-progress-bar{background:var(--primary);border-radius:4px}.panel-link{border-top:1px solid var(--line);padding:16px 20px;font-size:12px;font-weight:600;text-decoration:none;display:block}.chart{padding:22px}.chart>div{grid-template-columns:105px 1fr 70px;align-items:center;gap:12px;margin-bottom:20px;font-size:12px;display:grid}.chart>div:last-child{margin-bottom:0}.danger{color:var(--red)}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.toolbar>input,.toolbar>select{width:200px}.toolbar label{min-width:250px;margin:0}.tabs{border-bottom:1px solid var(--line);gap:24px;margin-bottom:24px;display:flex;overflow:auto}.tabs a{white-space:nowrap;color:var(--muted);border-bottom:3px solid #0000;padding:12px 0;text-decoration:none}.tabs a.active{border-color:var(--primary);color:var(--primary);font-weight:600}.alert{color:var(--navy);background:#edf6fa;border:1px solid #c3dce8;border-radius:6px;margin:16px 0;padding:14px 18px}.alert.error{color:#96281e;background:#fff0ed;border-color:#f2b8af}.alert.success{color:#176538;background:#eaf7ee;border-color:#b7d9c2}.loading,.empty{text-align:center;color:var(--muted);padding:40px}.pagination{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:15px;padding:15px;font-size:12px;display:flex}.pagination>span:first-child{margin-right:auto}.modal-backdrop{z-index:60;background:#06203399;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:100%;max-width:850px;max-height:92vh;padding:25px;overflow:auto;box-shadow:0 20px 80px #001a3340}.modal>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:0 22px;display:grid}.wide{grid-column:1/-1}.receipt-lines{margin-bottom:25px}.line{align-items:center;gap:12px;display:flex}.line>label:first-child{flex:2}.line>label:nth-child(2){flex:1}.line>button{margin-top:10px}.room-heading{padding:22px}.room-stats{align-items:center;gap:35px;margin:20px 0;display:flex}.room-heading .progress-row{max-width:450px}.quantity{text-align:center;width:80px;color:var(--primary);font-size:17px;font-weight:700}.distribution-submit{max-width:620px;padding:24px}.check{flex-direction:row;align-items:center;font-size:12px;font-weight:400;display:flex}.check input{flex-shrink:0}.distribution-submit button{width:100%;min-height:52px}.padded{padding:25px}.login{background:var(--sidebar);justify-content:center;align-items:center;max-width:none;min-height:100vh;display:flex}.login>section{background:#fff;border-radius:12px;width:100%;max-width:460px;padding:42px}.login h1{font-size:26px}.login form{margin-top:30px}.login button{width:100%;margin-bottom:20px}.brand-mark{background:var(--primary);color:#fff;border-radius:8px;place-items:center;width:48px;height:48px;margin-bottom:25px;font-size:28px;font-weight:700;display:grid}@media (min-width:1500px){main{padding:36px 45px}.metric{padding:24px}.metric>strong{font-size:42px}}@media (max-width:1200px){.metrics{grid-template-columns:repeat(3,1fr)}.metric{min-height:135px}.metric>strong{margin:10px 0}.dashboard-grid{grid-template-columns:1fr}.topbar{padding:16px 22px}main{padding:24px 22px}.page-heading{align-items:flex-start}h1{font-size:25px}}@media (max-width:760px){.sidebar{width:230px;transform:translate(-100%);box-shadow:10px 0 40px #001a3340}.sidebar.open{transform:translate(0)}.main-shell{width:100%;margin:0}.topbar{flex-wrap:wrap;gap:10px;height:auto;min-height:76px;padding:14px 16px}.mobile-menu{padding:9px;display:inline-flex}.topbar>select{width:calc(100% - 58px);font-size:14px}.global-search{max-width:none}.global-search input{min-height:40px}main{padding:24px 16px}.page-heading{margin-bottom:20px;display:block}.page-heading .actions{margin-top:15px}h1{font-size:25px}.metrics{grid-template-columns:repeat(2,1fr);gap:10px}.metric{min-height:135px;padding:15px}.metric>strong{font-size:31px}.metric>span{font-size:13px}.metric>small{font-size:11px}.dashboard-grid{gap:16px}.panel>header{padding:16px}th,td{padding:14px 11px}.toolbar>select,.toolbar>input{flex:1;width:auto;min-width:130px}.toolbar>label{width:100%}.toolbar>button,.toolbar>.button{flex:1}.form-grid{grid-template-columns:1fr}.modal-backdrop{padding:10px}.modal{max-height:96vh;padding:20px}.line{border-bottom:1px solid var(--line);flex-wrap:wrap;margin-bottom:15px}.line>button{margin-top:0;margin-bottom:12px}.room-stats{flex-wrap:wrap;gap:15px}.room-heading,.distribution-submit{padding:18px}.quantity{width:60px;padding:8px}.pagination{gap:8px}.pagination button{padding:8px}.chart{padding:18px}.chart>div{grid-template-columns:90px 1fr 65px}.login>section{padding:30px 24px}.tabs{gap:20px}.room-heading+section td,.room-heading+section th{padding:14px 8px;font-size:12px}}@media print{.sidebar,.topbar,.actions,.tabs,.toolbar,.no-print,.pagination,button{display:none!important}.main-shell{width:100%;margin:0}main{max-width:none;padding:0}.panel{break-inside:auto;border:0;overflow:visible}.table-wrap{overflow:visible}table{font-size:9px}th,td{padding:5px}tr{break-inside:avoid}body{background:#fff}.page-heading{margin:0 0 20px}a{color:inherit;text-decoration:none}}.progress-row>span{white-space:nowrap;flex-shrink:0}.progress-row progress{min-width:40px}.summary-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:14px 24px;margin-bottom:18px;padding:14px 0;font-size:12px;display:flex}.summary-strip strong{color:var(--navy);margin-right:4px}.admin-content .toolbar{gap:16px;margin:24px 0;display:flex}.admin-content .toolbar input{flex:1;min-width:0}.admin-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:260px;padding:12px;display:grid;overflow:auto}.admin-choices label{align-items:center;gap:10px;font-size:13px;display:flex}.admin-choices input{width:auto}.admin-content table{border-collapse:collapse;width:100%}.admin-content th,.admin-content td{text-align:left;border-bottom:1px solid #e4ebe8;padding:14px}.admin-content .table-wrap{background:#fff;border-radius:12px;margin:20px 0;overflow:auto}@media (max-width:700px){.admin-choices{grid-template-columns:1fr}}.admin-content .metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-top:28px;display:grid}.admin-content .card{background:#fff;border:1px solid #dce5e2;border-radius:12px;padding:22px}.admin-content .card h2{margin:8px 0;font-size:30px}.admin-content .toolbar{flex-wrap:wrap}.admin-content .toolbar select{flex:1;min-width:150px}.admin-content fieldset{border:1px solid #dce5e2;border-radius:8px;margin:12px 0}.accommodation-module{--bed-blue:#185cba;--bed-green:#167348;--bed-red:#b32d32}.hostel-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:22px 0;display:flex}.hostel-heading h2{font-size:23px}.hostel-heading p{margin:6px 0}.hostel-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px;display:grid}.hostel-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:24px}.hostel-title{color:var(--navy);align-items:center;gap:10px;text-decoration:none;display:flex}.hostel-title h3{flex:1;margin:0;font-size:20px}.hostel-card>p{margin:10px 0 25px;font-size:12px}.hostel-occupancy{flex-direction:column;margin-bottom:18px;display:flex}.hostel-occupancy strong{font-size:36px;line-height:1.25}.hostel-occupancy strong span{color:var(--muted);font-size:23px;font-weight:400}.hostel-occupancy>span{color:var(--muted)}.hostel-availability{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:18px 0;display:flex}.hostel-availability strong{color:#12633c;font-size:17px}.hostel-availability span{color:#962e32;font-size:12px}.hostel-card details{border-top:1px solid var(--line);padding-top:16px}summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}.hostel-link{min-height:44px;margin-top:16px;padding:10px 0 0;font-weight:700;display:block}.room-counts{grid-template-columns:1fr 1fr;gap:8px 18px;font-size:12px;display:grid}.room-counts div{justify-content:space-between;gap:8px;display:flex}.room-counts dd{margin:0;font-weight:700}.accommodation-metrics .metric{min-height:110px;padding:16px}.accommodation-metrics .metric>strong{margin:12px 0 0;font-size:30px}.room-filters{border:1px solid var(--line);background:#f7fafb;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));align-items:end;gap:12px;padding:18px;display:grid}.room-filters label{margin:0;font-size:12px}.room-legend{flex-wrap:wrap;gap:14px 22px;margin:24px 0;font-size:12px;display:flex}.room-legend>span{align-items:center;gap:7px;display:inline-flex}.legend-dot{border-radius:3px;width:14px;height:14px;display:inline-block}.bed-bar{background:#e3e8eb;border-radius:4px;gap:2px;width:100%;min-height:12px;display:flex;overflow:hidden}.bed-segment{min-width:2px}.blue{color:#fff;background:#185cba}.green{color:#fff;background:#167348}.red{color:#fff;background:#b32d32}.yellow{color:#4c3904;background:#f5cd57}.brown{color:#fff;background:#815536}.grey{color:#fff;background:#697681}.blue-green{color:#fff;background:linear-gradient(90deg,#185cba 50%,#167348 50%)}.red-green{color:#fff;background:linear-gradient(90deg,#b32d32 50%,#167348 50%)}.mixed{color:#fff;background:linear-gradient(90deg,#185cba 40%,#b32d32 40% 60%,#167348 60%)}.room-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:16px;margin:20px 0;display:grid}.room-card{text-align:center;aspect-ratio:1/1.12;color:var(--navy);border:2px solid #0000;border-radius:9px;flex-direction:column;justify-content:center;align-items:stretch;gap:8px;min-width:0;padding:17px 13px;text-decoration:none;display:flex}.room-card:hover{outline:2px solid var(--navy);outline-offset:2px}.room-card-top{justify-content:center;align-items:center;gap:8px;display:flex}.room-card-top strong{overflow-wrap:anywhere;font-size:17px}.room-card-count{margin:7px 0;font-size:23px;line-height:1.2}.room-card-count b{font-size:33px}.room-card-count>span{margin-top:3px;font-size:12px;display:block}.room-card .bed-bar{border:1px solid #fff8;min-height:10px}.room-card .room-available{font-size:13px}.room-state-text{letter-spacing:.4px;font-size:10px;font-weight:700}.room-card small{color:inherit;font-size:11px}.room-green{color:#104e32;background:#e5f6eb;border-color:#167348}.room-blue{color:#fff;background:#185cba;border-color:#185cba}.room-blue-green,.room-mixed{background:linear-gradient(115deg,#e7f0ff 52%,#e5f6eb 52%);border-color:#185cba}.room-red-green{background:linear-gradient(115deg,#fcebed 52%,#e5f6eb 52%);border-color:#b32d32}.room-red{color:#fff;background:#b32d32;border-color:#b32d32}.room-yellow{color:#443304;background:#f8da7e;border-color:#aa7b09}.room-brown{color:#fff;background:#815536;border-color:#815536}.room-grey{color:#36434f;background:#edf0f3;border-color:#697681}.room-state-badge{border-radius:5px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-block}.bed-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-bottom:20px;display:grid}.bed-card{border:1px solid var(--line);background:#fff;border-top-width:5px;border-radius:8px;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;display:flex}.bed-card h3{align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.bed-card .actions{margin-top:auto}.bed-card .actions button{padding:9px 12px;font-size:12px}.bed-available{background:#f3fbf6;border-top-color:#167348}.bed-occupied{background:#f3f7ff;border-top-color:#185cba}.bed-booked{background:#fff5f5;border-top-color:#b32d32}.bed-unavailable{background:#f4f6f7;border-top-color:#697681}.bed-card>a{font-weight:700}.resident-profile{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.resident-profile dt{color:var(--muted);font-size:12px}.resident-profile dd{overflow-wrap:anywhere;margin:4px 0 0}.preserve-text{white-space:pre-wrap}.selected-resident{background:#f2f7fa;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:22px;padding:16px;display:flex}.selected-resident h3,.selected-resident p{margin:0 0 5px}.resident-results{grid-template-columns:1fr;gap:10px;display:grid}.resident-result{text-align:left;flex-direction:column;align-items:flex-start}.resident-result span{font-size:12px;font-weight:400}.allocation-modes{border:1px solid var(--line);border-radius:6px;margin:0 0 20px;padding:12px 16px}.allocation-modes label{margin:8px 0}.allocation-modes input[type=radio]{width:20px;height:20px;min-height:20px}@media (max-width:760px){.hostel-grid{grid-template-columns:1fr}.hostel-card{padding:20px}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.room-card{aspect-ratio:1/1.25;padding:14px 10px}.room-card-top strong{font-size:16px}.room-card-count b{font-size:29px}.room-state-text{font-size:10px}.room-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.room-filters input,.room-filters select{min-width:0;font-size:13px}.room-legend{gap:12px}.bed-grid{grid-template-columns:1fr}.resident-profile{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:350px){.room-grid,.room-filters,.resident-profile{grid-template-columns:1fr}}@media print{.room-card,.bed-card{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media (max-width:760px){.sidebar:not(.open){visibility:hidden;pointer-events:none}}.main-shell>main{padding-top:24px}.topbar{height:auto;min-height:68px;padding-top:12px;padding-bottom:12px}.page-heading{margin-bottom:20px}.page-heading h1{font-size:27px}.module-navigation{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.module-navigation .tabs{border:0;flex:1;gap:6px;min-width:0;margin:0;overflow-x:auto}.module-navigation .tabs a{white-space:nowrap;padding:12px}.manage-menu{flex:none;position:relative}.manage-menu summary,.advanced-filters summary{cursor:pointer;border-radius:6px;min-height:44px;padding:12px;font-size:13px;font-weight:600}.manage-menu summary:hover,.advanced-filters summary:hover{background:var(--primary-soft)}.manage-menu>nav{z-index:20;border:1px solid var(--line);background:#fff;border-radius:8px;width:230px;padding:8px;display:grid;position:absolute;top:48px;right:0;box-shadow:0 8px 24px #17344220}.manage-menu nav a{color:var(--navy);border-radius:4px;padding:12px;font-size:14px}.manage-menu nav a:hover{background:var(--primary-soft)}.metric{min-height:120px;padding:20px}.metric>strong{margin:12px 0 8px;font-size:32px}.accommodation-metrics,.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:8px}.capacity-note{color:var(--muted);margin:10px 0 18px;font-size:13px}.admin-content{min-width:0}.admin-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px;display:grid}.admin-groups h2{margin:0 0 12px;font-size:17px}.admin-groups a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 0;font-size:14px;display:flex}.admin-groups a:last-child{border-bottom:0}.room-filters{grid-template-columns:minmax(140px,2fr) minmax(120px,1fr) auto;gap:12px;padding:12px}.room-filters>.check{align-items:center;min-height:44px}.advanced-filters{grid-column:1/-1}.advanced-filters summary{min-height:40px;padding:10px 0}.filter-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:8px 0;display:grid}.room-legend{gap:10px 16px;margin:16px 0}.stock-control>.tabs{flex-wrap:wrap}@media (max-width:700px){.main-shell>main{padding:18px 14px}.page-heading h1{font-size:23px}.module-navigation{gap:4px;margin-bottom:18px}.module-navigation .tabs a{padding:12px 9px;font-size:13px}.manage-menu summary{padding:12px 8px}.accommodation-metrics,.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.accommodation-metrics .metric,.admin-metrics .metric{min-height:85px;padding:10px}.accommodation-metrics .metric>strong,.admin-metrics .metric>strong{margin:8px 0 0;font-size:25px}.accommodation-metrics .metric>span,.admin-metrics .metric>span{font-size:11px}.admin-groups{grid-template-columns:1fr;gap:14px}.room-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.room-filters>.check{grid-column:1/-1}.filter-options{grid-template-columns:1fr}.room-legend{gap:8px 14px;font-size:11px}}@media print{.module-navigation,.manage-menu,.advanced-filters{display:none}}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.inventory-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filters{flex-basis:100%;order:2}.report-filters summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px}.report-filters .filter-options{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}@media (max-width:700px){.dashboard-metrics,.inventory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.mobile-search{display:none}.hostel-heading h1,.room-heading h1{margin:0 0 10px;font-size:26px}@media (max-width:760px){.topbar>select{flex:1;width:auto;min-width:0}.mobile-search{padding:10px;display:inline-flex}.global-search{display:none}.global-search.search-open{flex-basis:100%;display:flex}.page-heading{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.page-heading .actions{margin-top:0}.module-navigation{flex-wrap:wrap}.module-navigation .tabs{flex-wrap:wrap;flex:auto;overflow:visible}.module-navigation .tabs a{padding:12px 8px}.manage-menu{margin-left:auto}.hostel-heading h1,.room-heading h1{font-size:23px}}.guest-tags{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.guest-tag{color:var(--navy);cursor:pointer;background:#fff;border:1px solid;border-left-width:4px;border-radius:5px;padding:5px 8px;font-size:12px;text-decoration:none}.guest-tag:hover,.guest-tag:focus-visible{background:var(--primary-soft);text-decoration:underline}.guest-tools{margin:20px 0}.tag-choices{gap:8px;max-height:300px;padding:12px;display:grid;overflow:auto}.tag-choices label{align-items:center;gap:10px;min-height:40px;margin:0;display:flex}.tag-choices input{width:20px;min-height:20px}.tag-filter summary{cursor:pointer;min-height:44px;padding:12px}.structure-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:20px;margin-top:20px;display:grid}.floor-choice{gap:6px;margin-bottom:10px;display:flex}.floor-choice>button:first-child{text-align:left;flex:1}.structure-room{margin-bottom:12px}.structure-room summary{cursor:pointer;min-height:40px;font-weight:600}.amenity-summary>div{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;padding:8px 0;font-size:13px;display:grid}.room-preview{max-height:380px;margin:16px 0;overflow:auto}.room-preview>div{grid-template-columns:2fr 1fr;gap:12px;display:grid}@media (max-width:760px){.structure-layout{grid-template-columns:1fr}.amenity-summary>div{grid-template-columns:1fr 1fr}.amenity-summary button{grid-column:1/-1}}.lifecycle-metrics{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:end;gap:16px;display:grid}.item-lines{gap:12px;margin:20px 0;display:grid}.item-line{border:1px solid var(--border,#d6e0df);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));align-items:end;gap:12px;min-width:0;margin:12px 0;padding:16px;display:grid}.item-line legend{padding:0 6px;font-weight:650}.text-danger{color:#a51919}.supply-room-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:14px;padding:16px;display:grid}.supply-room-card{aspect-ratio:1;color:#17354a;background:#f2f8fb;border:2px solid #bccfd5;border-radius:12px;flex-direction:column;justify-content:center;gap:10px;min-height:230px;padding:18px;text-decoration:none;display:flex}.supply-room-card h2{margin:0;font-size:1.5rem}.supply-room-card.complete{background:#eff9f3;border-color:#65a783}.supply-room-card.partial{background:#fff9e8;border-color:#c9a650}.supply-room-card:hover,.supply-room-card:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.supply-room-card .progress-row{margin:0}.distribution-submit{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.distribution-submit .check,.distribution-submit .alert,.distribution-submit button{grid-column:1/-1}@media (max-width:600px){.filter-grid,.distribution-submit,.item-line{grid-template-columns:1fr}.supply-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px}.supply-room-card{aspect-ratio:auto;gap:9px;min-height:215px;padding:12px}.supply-room-card h2{font-size:1.25rem}.supply-room-card small{font-size:.75rem}.lifecycle-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:350px){.supply-room-grid{grid-template-columns:1fr}}@media print{.filter-grid,.item-lines,.supply-room-grid~.toolbar{display:none!important}.lifecycle-metrics{grid-template-columns:repeat(4,1fr)}}.operational-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px;margin:20px 0;display:grid}.operational-card{color:inherit;flex-direction:column;gap:10px;min-width:0;text-decoration:none;display:flex}.operational-card>strong{font-size:1.6rem}.operational-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:16px 0;display:grid}.operational-metrics>div{background:#f2f6f7;border-radius:10px;flex-direction:column;gap:8px;padding:14px;display:flex}.operational-metrics strong{font-size:1.6rem}.operational-metrics span{text-transform:capitalize;color:#3d5261;font-size:.88rem}.operational-metrics.compact{grid-template-columns:repeat(3,1fr)}.operational-metrics.compact>div{padding:8px}.work-room-choices{flex-wrap:wrap;gap:10px;max-height:280px;margin:16px 0;display:flex;overflow:auto}.work-room-choices label{border:1px solid #ccd5d9;border-radius:8px;flex-direction:row;align-items:center;gap:8px;padding:10px;display:flex}.work-room-choices input{width:auto}.form-field,.tag-select{min-width:0}.tag-select summary{cursor:pointer;border:1px solid #cbd5e1;border-radius:.4rem;padding:.7rem}.tag-menu{border:1px solid #cbd5e1;border-radius:.4rem;padding:.5rem}.tag-options{max-height:12rem;overflow-y:auto}.tag-options label{overflow-wrap:anywhere;flex-direction:row;align-items:center;gap:.6rem;padding:.5rem;display:flex}.tag-options input{flex-shrink:0;width:auto}.selected-tags{flex-wrap:wrap;gap:.35rem;margin-top:.4rem;display:flex}.selected-tags button{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%;padding:.3rem .5rem}.manager-workspace{gap:18px;min-width:0;display:grid}.manager-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;display:grid}.manager-cards h2{overflow-wrap:anywhere}.manager-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.manager-totals dt{color:var(--muted);font-size:.85rem}.manager-totals dd{margin:6px 0;font-size:1.7rem;font-weight:700}.manager-room-picker{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-height:220px;display:grid;overflow:auto}.manager-room-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:12px;margin:18px 0;display:grid}.manager-room{aspect-ratio:1.1;color:#243441;white-space:normal;background:#fff;border:2px solid #d5dce0;flex-direction:column;justify-content:center;gap:10px;display:flex}.manager-room.selected{color:#781331;background:#fff1f5;border-color:#a3133f}.manager-room strong{font-size:1.2rem}.manager-room span{font-size:.8rem}.manager-workspace .quantity-input{width:85px;min-height:44px}.manager-workspace summary{cursor:pointer;min-height:44px}.manager-item-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-bottom:16px;display:grid}.manager-stock-item,.manager-usage-item{overflow-wrap:anywhere;min-width:0}.manager-stock-item small{color:var(--muted)}.manager-usage-item{background:#f9fafb;border:1px solid #d5dce0;border-radius:8px;padding:16px}.manager-usage-item h4{margin:0 0 12px;font-size:1rem}.manager-usage-item .manager-totals{margin:12px 0}.manager-usage-item .manager-totals dd{font-size:1.3rem}.manager-usage-item input{min-height:48px}.receipt-card-list{gap:16px;margin:20px 0;display:grid}.receipt-card{min-width:0}.receipt-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.receipt-card-heading h3{overflow-wrap:anywhere;margin:0 0 5px}.receipt-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.receipt-facts dt{color:var(--muted,#566b80);font-size:12px}.receipt-facts dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:600}.receipt-items{padding:0;list-style:none}.receipt-items li{border-top:1px solid #e4e8ed;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.receipt-items small{color:#566b80;display:block}.receipt-inbox .check{align-items:center;gap:8px;display:flex}.receipt-inbox .check input{width:20px;min-width:20px;height:20px}.receipt-inbox .toolbar label{min-width:0}.receipt-inbox .tabs{flex-wrap:wrap}.correction-lines{gap:16px;margin:16px 0;display:grid}.correction-line{border:1px solid #dbe3ea;border-radius:8px;grid-template-columns:2fr 1fr;gap:12px;padding:12px;display:grid}.correction-line small{grid-column:1/-1}.correction-line label{min-width:0}.transfer-correction>label{margin:16px 0}@media (max-width:640px){.receipt-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.correction-line{grid-template-columns:1fr}.receipt-bulk{align-items:stretch}.receipt-card .toolbar{flex-wrap:wrap}}
