*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f5f8fc;color:#14233f}a{text-decoration:none;color:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:linear-gradient(180deg,#071a36,#10294b);color:#fff;position:fixed;inset:0 auto 0 0;padding:18px 14px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:10px;align-items:center;padding:4px 5px 28px}.brand-mark{font-size:27px}.brand b{font-size:12px;display:block;letter-spacing:.2px}.brand small{display:block;color:#b7c4d8;font-size:10px;margin-top:3px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{padding:12px 13px;border-radius:9px;color:#d8e2f0;font-size:14px}.sidebar nav a.active,.sidebar nav a:hover{background:#1765b5;color:#fff}.sidebar-quote{margin-top:auto;border-radius:20px;padding:22px 10px;color:#fff;background:linear-gradient(180deg,rgba(5,21,45,.2),rgba(5,21,45,.9));font-size:20px;line-height:1.25}.sidebar-quote small{display:block;font-size:12px;color:#aebdd0;margin-top:18px}.main{margin-left:220px;width:calc(100% - 220px)}.topbar{height:56px;background:#fff;border-bottom:1px solid #e6edf5;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:4}.search{background:#f0f4f8;border:1px solid #e0e8f0;border-radius:10px;color:#8290a2;padding:9px 15px;width:50%;font-size:13px}.top-right{font-size:12px;color:#30425e;display:flex;gap:12px;align-items:center}.public-btn,.blue-btn{background:#087df0;color:#fff;border:0;border-radius:9px;padding:10px 15px;font-weight:700;display:inline-block}.public-btn{background:#079b67}.hero{margin:0;background:linear-gradient(90deg,#0d2748 0%,#143d68 58%,#1b4f7d 100%);min-height:250px;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:32px 42px;overflow:hidden}.hero h1{font-size:36px;line-height:1.08;margin:12px 0}.hero p{max-width:620px;color:#d4e1ef}.eyebrow{display:inline-block;background:#1c9a70;color:#fff;padding:7px 11px;border-radius:20px;font-size:11px;font-weight:800;letter-spacing:.5px}.eyebrow.blue{background:#e8f2ff;color:#0874df}.hero-photo{width:340px;height:180px;border-radius:18px;background:linear-gradient(135deg,#274967,#7b91a4);display:flex;align-items:flex-end;padding:20px;font-size:18px;font-weight:700;box-shadow:0 18px 40px rgba(0,0,0,.25)}.content{padding:25px}.section-head,.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.section-head h2,.page-title h1{margin:0 0 4px}.section-head p,.page-title p{margin:0;color:#7a8798;font-size:13px}.date-nav{display:flex;gap:8px;align-items:center}.date-nav a,.date-nav input{border:1px solid #dbe5ef;background:#fff;padding:9px 12px;border-radius:8px}.room-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.room-card{background:#fff;border:1px solid #e4ebf2;border-radius:13px;overflow:hidden;box-shadow:0 5px 18px rgba(28,54,84,.06)}.room-card>img{width:100%;height:125px;object-fit:cover;display:block}.room-body{padding:13px}.room-title{display:flex;justify-content:space-between;gap:8px;align-items:center}.room-title h3,.room-body h3{margin:0 0 7px;font-size:15px}.room-title span{font-size:11px;color:#65758a}.pill,.status,.mode,.role-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:20px;font-size:11px;font-weight:800}.pill i{width:8px;height:8px;border-radius:50%;background:currentColor}.available,.done{background:#dff8ed;color:#07875c}.live{background:#dcecff;color:#0572e6}.soon{background:#fff1d5;color:#d98900}.room-info{margin:9px 0;background:#f0fbf6;border-radius:9px;padding:9px;font-size:11px;color:#20364f;display:grid;gap:2px}.room-info strong{font-size:15px}.room-info small{color:#65758a}.room-info.empty{background:#f4f7fa}.outline-btn,.reset-btn{display:inline-block;border:1px solid #079b67;color:#087e5b;background:#fff;border-radius:8px;padding:8px 10px;font-weight:700;font-size:12px}.schedule-panel{background:#fff;border:1px solid #e3ebf3;border-radius:13px;padding:18px;margin-top:20px;box-shadow:0 5px 18px rgba(28,54,84,.05)}.timeline{display:grid}.timeline-row{display:grid;grid-template-columns:70px 16px 1fr auto;gap:12px;align-items:center;padding:10px;border-bottom:1px solid #edf1f5}.time{font-weight:800;font-size:12px;color:#0874df}.time small{display:block;color:#8190a0}.dot{width:10px;height:10px;border-radius:50%;background:#94a3b8}.dot.live{background:#087df0}.dot.done{background:#1bb87b}.dot.upcoming{background:#f4b000}.tl-main b{display:block;font-size:13px}.tl-main span{font-size:11px;color:#7b8998}.status.upcoming{background:#eef1f5;color:#566477}.schedule-page .page-title{align-items:flex-end}.view-tabs{display:flex;background:#edf3f8;border-radius:9px;padding:3px}.view-tabs a{padding:9px 13px;font-size:12px;border-radius:7px}.view-tabs a.active{background:#087df0;color:#fff}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0;padding:14px;background:#fff;border:1px solid #e2eaf2;border-radius:12px}.filters input,.filters select,.booking-form input,.booking-form select,.booking-form textarea,.login-card input{border:1px solid #d8e1eb;border-radius:8px;padding:10px;background:#fff;color:#1b2c44}.filters input[name=q]{min-width:280px;flex:1}.table-wrap{overflow:auto;background:#fff;border:1px solid #e0e8f0;border-radius:12px}.table-wrap table{width:100%;border-collapse:collapse;min-width:980px}.table-wrap th{background:#eef3f8;text-align:left;padding:12px;font-size:11px;text-transform:uppercase;letter-spacing:.3px}.table-wrap td{padding:12px;border-top:1px solid #edf1f5;font-size:12px;vertical-align:middle}.room-name{font-weight:800}.mode-list{display:flex;gap:4px;flex-wrap:wrap}.mode.audio{background:#ffe8ed;color:#c83d50}.mode.video{background:#e4f8ec;color:#15824f}.mode.online{background:#e5f0ff;color:#0b72df}.mode.none{background:#f1f3f5;color:#7c8793}.empty-cell{text-align:center!important;color:#8793a2}.form-card{background:#fff;border:1px solid #e0e8f0;border-radius:14px;padding:20px;max-width:1000px}.booking-form{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.booking-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.booking-form .wide{grid-column:1/-1}.booking-form textarea{min-height:90px;resize:vertical}.booking-form fieldset{border:1px solid #dfe7ef;border-radius:10px;padding:12px}.booking-form fieldset label{display:inline-flex;margin-right:20px;align-items:center}.check{display:inline-flex!important;grid-template-columns:auto auto!important}.alert,.success{padding:11px 14px;border-radius:9px;margin:10px 0}.alert{background:#ffe9ec;color:#b3253c}.success{background:#def8ec;color:#087c59}.danger-link{color:#d12d45;font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stats>div{background:#fff;border:1px solid #e1e9f1;border-radius:12px;padding:18px}.stats span{display:block;color:#7d8a9a;font-size:12px}.stats b{display:block;font-size:26px;margin-top:7px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.feature{background:#fff;border:1px solid #e1e9f1;padding:20px;border-radius:12px;display:grid;gap:8px}.feature span{color:#718095;font-size:13px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#071a36,#1765b5)}.login-card{background:#fff;padding:32px;border-radius:16px;width:min(390px,92vw);box-shadow:0 20px 60px rgba(0,0,0,.25)}.brand-center{text-align:center;margin-bottom:25px}.brand-center h1{font-size:22px;margin:8px 0 3px}.brand-center p{margin:0;color:#7b8796}.login-card form{display:grid;gap:15px}.login-card label{display:grid;gap:6px;font-size:12px;font-weight:700}.full{width:100%;cursor:pointer}.back-link{display:block;text-align:center;margin-top:18px;font-size:12px;color:#2472ba}.role-badge{background:#e8f2ff;color:#0874df}.admin-side{background:linear-gradient(180deg,#061a36,#0d315b)}@media(max-width:1200px){.room-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.sidebar{position:static;width:100%;height:auto}.layout{display:block}.main{margin-left:0;width:100%}.sidebar-quote{display:none}.room-grid,.stats,.feature-grid{grid-template-columns:1fr}.hero{padding:25px;display:block}.hero-photo{display:none}.topbar{height:auto;min-height:56px}.search{display:none}.booking-form{grid-template-columns:1fr}.content{padding:15px}.section-head,.page-title{align-items:flex-start;flex-direction:column}}

.copyright{padding:18px 25px 24px;text-align:center;color:#8794a5;font-size:11px}.copyright b{color:#53657a}

.search-form{width:50%}.search-form .search{width:100%;border:1px solid #e0e8f0}.hero-logo-box{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}.hero-logo-box img{max-width:110px;max-height:90px;object-fit:contain;background:rgba(255,255,255,.9);border-radius:12px;padding:8px}.password-wrap{position:relative}.password-wrap input{width:100%;padding-right:45px}.eye-btn{position:absolute;right:5px;top:5px;height:36px;width:38px;border:0;background:transparent;cursor:pointer;border-radius:7px}.eye-btn:hover{background:#eef3f8}.muted{color:#748297;font-size:13px}.logo-preview{background:#f3f7fb;border:1px solid #e0e8f0;border-radius:12px;padding:20px;margin:15px 0;text-align:center}.logo-preview img{max-width:240px;max-height:150px;object-fit:contain}
@media(max-width:800px){.search-form{display:none}}
.admin-form{margin-bottom:20px}.small-btn{padding:7px 10px!important;font-size:11px!important}.danger-btn{border:1px solid #e25568;color:#c52842;background:#fff;border-radius:8px;padding:8px 10px;font-weight:700;font-size:12px;cursor:pointer}.inactive-badge{background:#f0f1f3!important;color:#7a8491!important}.actions{white-space:nowrap}.actions form,.room-actions form{display:inline}.password-mask{letter-spacing:2px;color:#738196}.room-actions{display:flex;gap:7px;margin-top:12px}.current-photo{padding:10px;border:1px solid #e0e8f0;border-radius:10px;background:#f6f9fc}.current-photo img{display:block;max-width:260px;height:130px;object-fit:cover;border-radius:8px}.admin-room-grid{grid-template-columns:repeat(4,1fr)}.admin-room-card>img{height:150px}.admin-room-card .room-body p{color:#738196;font-size:12px}@media(max-width:1200px){.admin-room-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.admin-room-grid{grid-template-columns:1fr}}


.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fff;border:1px solid #e1e9f1;border-radius:12px;padding:12px;margin-bottom:15px}.calendar-tabs{display:flex;background:#eef3f8;padding:4px;border-radius:9px}.calendar-tabs a{padding:9px 15px;border-radius:7px;font-size:12px;font-weight:800;color:#5e6c7d}.calendar-tabs a.active{background:#087df0;color:#fff}.calendar-date{display:flex;gap:8px}.calendar-date input{border:1px solid #d8e1eb;border-radius:8px;padding:9px 10px}.filter-label{font-size:12px;color:#7b8796;margin-right:5px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0}.calendar-nav h2{margin:0;font-size:18px}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));background:#dfe7ef;border:1px solid #dfe7ef;border-radius:12px;overflow:hidden}.day-column{background:#fff;min-height:400px;border-right:1px solid #e4eaf0}.day-column:last-child{border-right:0}.day-head{padding:12px;background:#f4f7fa;border-bottom:1px solid #e4eaf0;text-align:center;display:grid;gap:3px}.day-head b{font-size:12px}.day-head span{font-size:11px;color:#7d8998}.calendar-event{display:block;margin:8px;border-left:4px solid var(--event-color);background:#f7faff;border-radius:8px;padding:8px;font-size:10px;line-height:1.35}.calendar-event b{display:block;color:#0874df}.calendar-event strong{display:block;font-size:11px;margin:2px 0}.calendar-event span,.calendar-event small{display:block;color:#68778a}.calendar-empty{text-align:center;color:#a0aab7;font-size:11px;padding:25px 8px}.month-calendar{background:#dfe7ef;border:1px solid #dfe7ef;border-radius:12px;overflow:hidden}.month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#eef3f8}.month-weekdays b{padding:10px;text-align:center;font-size:11px;text-transform:uppercase;color:#5f6f82}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.month-cell{background:#fff;min-height:125px;padding:8px}.muted-cell{background:#f3f6f9}.month-date{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.month-date b{font-size:13px}.month-date span{font-size:9px;color:#8490a0}.month-event{display:block;border-left:3px solid var(--event-color);background:#f6f9fc;border-radius:5px;padding:5px;margin:4px 0;font-size:9px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-event b{color:#0874df}.more-events{color:#6d7b8c;font-size:9px}.action-cell{white-space:nowrap}.inline-form{display:inline}.action-cell form{display:inline}.reset-btn{margin-left:5px}.inactive-badge{background:#f0f1f3!important;color:#7a8491!important}
@media(max-width:1000px){.week-calendar{overflow-x:auto;grid-template-columns:repeat(7,160px)}.month-calendar{overflow-x:auto}.month-weekdays,.month-grid{min-width:850px}.calendar-toolbar{align-items:flex-start;flex-direction:column}}

.service-portal{padding:22px 25px 4px}.service-head h2{margin:10px 0 4px;font-size:24px}.service-head p{margin:0;color:#7a8798;font-size:13px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:15px}.service-card{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e1e9f1;border-radius:16px;padding:20px;text-decoration:none;color:#14233f;box-shadow:0 7px 22px rgba(28,54,84,.06);transition:.18s transform,.18s box-shadow}.service-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(28,54,84,.1)}.service-card.meeting{border-left:5px solid #087df0}.service-card.driver{border-left:5px solid #079b67}.service-card.disabled{opacity:.72;cursor:not-allowed}.service-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:26px;background:#eef5ff;flex:0 0 52px}.driver .service-icon{background:#e9faf3}.service-copy{flex:1}.service-tag{font-size:10px;font-weight:900;letter-spacing:.7px;color:#0874df}.driver .service-tag{color:#07875c}.service-copy h3{margin:4px 0 5px;font-size:17px}.service-copy p{margin:0;color:#6e7c8e;font-size:12px;line-height:1.45}.service-copy small{display:block;color:#c47a00;margin-top:7px;font-size:11px;font-weight:700}.service-arrow{font-size:25px;color:#7c8da0}.driver .service-arrow{color:#079b67}@media(max-width:800px){.service-grid{grid-template-columns:1fr}.service-portal{padding:18px 15px 4px}}
.week-timeline{gap:12px}.week-day{border:1px solid #e4ebf2;border-radius:10px;overflow:hidden;background:#fff}.week-day-title{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f3f7fb;color:#203653;font-size:12px}.today-badge{background:#087df0;color:#fff;border-radius:20px;padding:4px 8px;font-size:10px;font-weight:800}.week-day .timeline-row{background:#fff}.empty-state.compact{padding:12px;color:#8793a2;font-size:12px}.more-day{display:inline-block;margin:0 12px 10px;color:#087df0;font-size:11px;font-weight:700}.week-day + .week-day{margin-top:0}@media(max-width:800px){.week-day-title{font-size:11px}.week-day .timeline-row{grid-template-columns:55px 12px 1fr;gap:8px}.week-day .timeline-row .status{grid-column:3;justify-self:start}.week-day .tl-main span{font-size:10px}}
/* Schedule view tabs / week / month / agenda */
.view-tabs{white-space:nowrap;flex-shrink:0}
.view-tabs a{cursor:pointer}
.view-tabs a:hover{background:#dce9f6}
.month-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.month-day-card{background:#fff;border:1px solid #e0e8f0;border-radius:12px;padding:13px;min-height:125px;box-shadow:0 5px 18px rgba(28,54,84,.04)}
.month-day-card.today{border:2px solid #087df0}
.month-day-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px;font-size:12px}
.month-day-head span{color:#7b8998;font-size:11px}
.month-event{display:grid;gap:3px;background:#eef6ff;border-left:3px solid #087df0;border-radius:7px;padding:7px 8px;margin-top:6px;font-size:11px}
.month-event span{color:#53677e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.month-empty{color:#98a4b1;font-size:11px;padding:8px 2px}
.view-help{margin-top:12px;padding:10px 13px;border:1px solid #dfe8f1;background:#fff;border-radius:9px;color:#66778a;font-size:12px}
@media(max-width:1100px){.month-summary{grid-template-columns:repeat(2,1fr)}.page-title{flex-wrap:wrap}.view-tabs{margin-left:auto}}
@media(max-width:700px){.month-summary{grid-template-columns:1fr}.view-tabs{width:100%;overflow:auto}.view-tabs a{display:inline-block}.schedule-page .page-title{align-items:flex-start}}
