:root{--dark:#202020;--blue:#4b80e8;--link:#477cff;--line:#c9ced9;--muted:#8a8f99;--soft:#f3f5f9;--danger:#df5754;--ok:#7edb60;--warn:#f3d55b;--purple:#24135f;--green:#5cc36d}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#111;background:#eef1f7}button,input,select,textarea{font:inherit}a,.link{color:var(--link);cursor:pointer;text-decoration:none}.topbar{height:58px;background:#1f1f1f;color:#fff;display:flex;align-items:stretch;gap:0;position:sticky;top:0;z-index:20}.brand{font-weight:800;padding:18px 22px;border-right:1px solid #444;white-space:nowrap}.nav{display:flex}.navitem{padding:18px 22px;border-right:1px solid #444;position:relative;cursor:pointer}.navitem:hover,.navitem.active{background:#fff;color:#111}.dropdown{display:none;position:absolute;top:58px;left:0;background:#fff;color:#111;min-width:245px;box-shadow:0 8px 24px #0003;padding:12px 0;z-index:99}.navitem:hover .dropdown,.dropdown:hover{display:block}.dropitem{padding:10px 18px;color:#4976d8;display:block;white-space:nowrap}.dropitem:hover{background:#eef3ff}.topright{margin-left:auto;display:flex;align-items:center;gap:18px;padding:0 18px}.roomSearch{width:110px;background:#aaa;border:0;padding:10px}.propbar{background:#fff;padding:18px 24px;font-size:22px;border-bottom:1px solid #ddd}.container{padding:24px}.page{background:white;border:1px solid #d2d2d2;border-radius:8px;padding:28px;min-height:620px}.title{font-size:56px;font-weight:300;text-align:center;margin:10px 0 28px}.sectionTitle{font-size:32px;font-weight:300;margin:22px 0 12px}.grid{display:grid;gap:18px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid #d7dbe7;border-radius:10px;padding:18px;box-shadow:0 2px 8px #0000000a}.tilegrid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin:0 -28px 22px}.tile{background:#4b82ed;color:white;min-height:90px;border:1px solid #70a0ff;padding:22px;font-size:19px;display:flex;align-items:center;gap:14px;cursor:pointer}.tile:hover{filter:brightness(1.08)}.tile .ico{font-size:36px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi{background:#2d2d2d;color:#fff;padding:24px;border-radius:4px}.kpi .num{font-size:44px;font-weight:300}.table{width:100%;border-collapse:collapse}.table th{background:#f0f2f7;text-align:left;padding:12px;border-bottom:1px solid #ccc}.table td{padding:11px;border-bottom:1px solid #eee}.table tr:nth-child(even) td{background:#f7f7f7}.btn{background:var(--blue);border:0;color:#fff;padding:11px 22px;border-radius:4px;letter-spacing:1px;font-weight:700;cursor:pointer}.btn.secondary{background:#aaa}.btn.green{background:#6bcf64}.btn.red{background:#df5754}.btn.small{padding:6px 10px;font-size:13px}.form{max-width:980px;margin:0 auto}.row{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:12px;margin:9px 0}.row input,.row select,.row textarea,.input{padding:8px;border:1px solid #999;background:#fff;width:100%}.required:before{content:'* ';color:#d64b3f}.sideLayout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px}.side{border-left:1px solid #c9ced9;padding-left:24px}.tabs{display:flex;gap:8px;margin:10px 0 18px;flex-wrap:wrap}.tab{border:1px solid #c4cadb;background:linear-gradient(#f7f9ff,#dfe5f2);padding:12px 22px;border-radius:10px 10px 0 0;cursor:pointer}.tab.active{background:#fff;border-bottom-color:#fff}.pill{display:inline-block;border-radius:18px;padding:5px 10px;font-size:12px;font-weight:700}.dirty,.ooo{background:#df5754;color:#fff}.clean,.ready,.ok{background:#82dc65}.reserved{background:#7199ea;color:#fff}.due{background:repeating-linear-gradient(45deg,#222 0 5px,#fff 5px 10px);color:#111;border:1px solid #999}.work{background:#f7e15d}.muted{color:#8a8f99}.modalWrap{position:fixed;inset:0;background:#0008;display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:#fff;border-radius:8px;width:min(900px,92vw);max-height:88vh;overflow:auto;padding:26px;box-shadow:0 12px 60px #0006}.close{float:right;border:1px solid #aaa;background:#fff;padding:2px 8px;cursor:pointer}.loginWrap{min-height:100vh;background:#fff}.loginTop{height:72px;background:#222;color:#fff;padding:18px 26px;font-size:22px;font-weight:bold}.loginBox{text-align:center;margin:65px auto;max-width:720px}.loginTitle{font-size:54px;font-weight:300;margin-bottom:22px}.loginForm{display:inline-block;text-align:right}.msg{background:#eef5ff;border-left:4px solid #4b80e8;padding:10px;margin:12px 0}.warnbox{background:#fff8e5;border-left:4px solid #e5a300;padding:12px;margin:12px 0}.aibox{background:#f3f0ff;border-left:4px solid #6b54ef;padding:14px;margin:14px 0}.tape{overflow:auto;border:1px solid #ccc;max-height:620px}.tapeTable{min-width:1450px}.bar{height:28px;border-radius:15px;background:#df5754;color:#fff;text-align:center}.calendarGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.dayCard{background:#ddd;border:1px solid #aaa;padding:8px;min-height:150px}.rateInput{width:74px;padding:4px}.statusDot{display:inline-block;width:13px;height:13px;border-radius:3px;margin-right:6px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.reportTree{columns:3 260px}.reportGroup{break-inside:avoid;margin-bottom:20px}.reportGroup h3{font-weight:300;border-bottom:1px dashed #999;margin-bottom:8px}.reportLink{display:block;margin:8px 0;color:#5980ff}.badge{background:#e9eefc;border:1px solid #b9c7f5;border-radius:99px;padding:4px 9px} @media(max-width:900px){.grid2,.grid3,.grid4,.kpis,.sideLayout{grid-template-columns:1fr}.tilegrid{grid-template-columns:1fr 1fr}.title{font-size:40px}.navitem{padding:18px 10px}.reportTree{columns:1}.topright{display:none}}

/* v12.2: long menu usability fix */
.dropdown{max-height:calc(100vh - 86px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;}
.navitem{user-select:none}.dropitem{min-height:38px}.dropitem.groupTitle{font-weight:800;color:#222;background:#f4f6fb;border-top:1px solid #e3e6ef;cursor:default}.dropitem.groupTitle:hover{background:#f4f6fb}.moduleRibbon{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}.moduleRibbon .chip{background:#eef3ff;border:1px solid #c7d6ff;border-radius:999px;padding:8px 12px;cursor:pointer}.reviewScore{font-size:58px;font-weight:300}.riskHigh{background:#ffe8e8;border-left:5px solid #df5754}.riskMed{background:#fff8de;border-left:5px solid #e5a300}.riskLow{background:#eaffea;border-left:5px solid #5cc36d}.actionbar{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.splitMenu{columns:2 220px;min-width:520px}.topbar{z-index:300}.dropdown{z-index:350}
