/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.start\!{inset-inline-start:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.end\!{inset-inline-end:var(--spacing)!important}.hidden{display:none}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}.topbar{background:var(--navy);color:#fff;align-items:center;gap:46px;height:78px;padding:0 max(28px,50vw - 620px);display:flex;box-shadow:0 3px 14px #062d3e30}.brand{align-items:center;gap:11px;margin-right:auto;display:flex}.brandmark{color:#25d2b5;border:2px solid #25d2b5;border-radius:50%;place-items:center;width:42px;height:42px;font-size:24px;font-weight:900;display:grid}.brand strong{letter-spacing:2.3px;font-size:16px;display:block}.brand span,.user span{color:#a7bdc5;margin-top:2px;font-size:11px;display:block}.topbar nav{align-self:stretch;display:flex}.topbar nav button{color:#a9bdc4;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:0 22px}.topbar nav button.active{color:#fff;border-color:#19c3a6}.user{text-align:right;align-items:center;gap:12px;display:flex}.user strong{font-size:13px}.avatar{color:#087665;background:#d7f3ed;border-radius:50%;place-items:center;width:39px;height:39px;font-size:12px;font-weight:700;display:grid}.hero{color:#fff;background:linear-gradient(120deg,#062d3e 0%,#0a4252 68%,#0b5360);justify-content:space-between;align-items:center;min-height:280px;padding:42px max(28px,50vw - 620px);display:flex;position:relative;overflow:hidden}.hero:after{content:"";border:1px solid #ffffff14;border-radius:50%;width:380px;height:380px;position:absolute;top:-210px;right:5%;box-shadow:0 0 0 70px #ffffff05,0 0 0 140px #ffffff04}.eyebrow{color:var(--teal);letter-spacing:1.7px;margin:0 0 10px;font-size:11px;font-weight:800}.hero h1{letter-spacing:-1.2px;margin:0 0 14px;font-size:38px;line-height:1.12}.hero>div>p:last-child{color:#bdd0d6}.hero-stat{z-index:1;background:#ffffff0d;border:1px solid #ffffff21;border-radius:14px;width:220px;padding:23px 28px}.hero-stat>span{letter-spacing:1.5px;color:#9fb7bf;font-size:10px}.hero-stat strong{margin:7px 0 -3px;font-size:46px;display:block}.hero-stat p{color:#e4edef;margin:0}.hero-stat small{color:#b6c8ce;border-top:1px solid #ffffff1d;margin-top:18px;padding-top:13px;display:block}.hero-stat b{background:#16cf9c;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.content{max-width:1240px;margin:auto;padding:28px}.filters{border:1px solid var(--line);z-index:2;background:#fff;border-radius:13px;grid-template-columns:1fr 220px 1.2fr;gap:18px;margin-top:-52px;padding:20px;display:grid;position:relative;box-shadow:0 7px 22px #16343c0b}.filters label,.modal label,.panel>label{flex-direction:column;gap:7px;display:flex}.filters label span,.modal label>span,.panel label>span{color:#587078;font-size:11px;font-weight:700}input,select{height:44px;color:var(--ink);background:#fff;border:1px solid #cfdadc;border-radius:7px;outline:none;padding:0 12px}input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #00a78d15}.room-info{border-left:1px solid var(--line);align-items:center;gap:13px;padding-left:20px;display:flex}.room-thumb{color:#fff;border-radius:9px;place-items:center;width:64px;height:55px;font-size:25px;display:grid}.blue{background:linear-gradient(135deg,#17657a,#0c3b4a)}.green{background:linear-gradient(135deg,#27a88b,#096456)}.orange{background:linear-gradient(135deg,#e79f45,#a95922)}.room-info strong,.room-info span{display:block}.room-info strong{margin-bottom:6px;font-size:14px}.room-info span{color:var(--muted);margin:3px 0;font-size:11px}.schedule-head{justify-content:space-between;align-items:end;margin:34px 0 17px;display:flex}.schedule-head h2{margin:0;font-size:24px}.legend{color:var(--muted);gap:18px;font-size:11px;display:flex}.dot{border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.free{background:#fff;border:1px solid #aababc}.occupied{background:#d8e0e1}.booking-layout{grid-template-columns:1fr 285px;gap:18px;display:grid}.slots-card,.summary,.panel{border:1px solid var(--line);background:#fff;border-radius:12px;box-shadow:0 5px 18px #173a4308}.slots-card{padding:23px}.period{align-items:center;gap:10px;margin:4px 0 12px;display:flex}.period b{color:#496168;font-size:11px}.period span{color:#98a6aa;font-size:10px}.slot-grid{grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:24px;display:grid}.slot-grid button{cursor:pointer;color:#31505a;background:#fff;border:1px solid #ccd9db;border-radius:7px;height:50px;font-size:13px;font-weight:700}.slot-grid button:hover:not(:disabled){border-color:var(--teal);color:#008874}.slot-grid button:disabled{color:#aeb9bc;cursor:not-allowed;background:#edf1f1;border-color:#e2e8e9}.slot-grid button small{margin-top:2px;font-size:8px;font-weight:400;display:block}.slot-grid button.selected{background:var(--teal);border-color:var(--teal);color:#fff}.summary{text-align:center;padding:24px}.summary-icon{background:var(--mint);width:42px;height:42px;color:var(--teal);border-radius:50%;place-items:center;margin:0 auto 16px;font-weight:700;display:grid}.summary h3{margin:4px 0 8px;font-size:17px}.summary>p:not(.eyebrow){color:var(--muted);margin-bottom:20px;font-size:12px;line-height:1.5}.primary,.secondary{cursor:pointer;border:0;border-radius:7px;height:44px;padding:0 18px;font-size:12px;font-weight:700}.primary{background:var(--teal);color:#fff;width:100%}.primary:disabled{cursor:not-allowed;background:#cdd7d7}.primary.auto{width:auto}.primary.right{float:right}.summary hr,.panel hr{border:0;border-top:1px solid var(--line);margin:22px 0}.summary h4{text-align:left;font-size:12px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips span{color:#456268;background:#eff6f5;border-radius:4px;padding:6px 8px;font-size:9px}.summary .chips span{flex:1 0 42%}.modal-backdrop{z-index:20;background:#031e2bb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:15px;width:min(470px,100%);padding:32px;position:relative}.modal h2{margin:0 0 7px}.muted{color:var(--muted);font-size:13px}.close{color:#718489;cursor:pointer;background:0 0;border:0;font-size:25px;position:absolute;top:15px;right:18px}.reserve-summary{border-left:3px solid var(--teal);background:#eef8f6;margin:20px 0;padding:13px}.reserve-summary strong,.reserve-summary span{display:block}.reserve-summary span{color:var(--muted);margin-top:4px;font-size:12px}.modal form{gap:14px;display:grid}.check{color:#546b72;align-items:center;font-size:11px;flex-direction:row!important;display:flex!important}.check input{height:auto}.toast{color:#fff;z-index:30;background:#073847;border-radius:9px;padding:15px 20px;font-size:13px;position:fixed;bottom:28px;right:28px;box-shadow:0 9px 30px #0004}.toast b{color:#2ed4ac;margin-right:10px}.admin{padding-top:40px}.admin-title{justify-content:space-between;align-items:center;display:flex}.admin-title h1{margin:0;font-size:31px}.admin-title>div>p:last-child{color:var(--muted)}.admin-tabs{border-bottom:1px solid var(--line);margin:25px 0 20px;display:flex}.admin-tabs button{color:#718389;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:14px 20px}.admin-tabs button.active{border-color:var(--teal);color:#087c6b;font-weight:700}.space-list{gap:12px;display:grid}.space-list article{border:1px solid var(--line);background:#fff;border-radius:10px;padding:13px;display:flex}.room-photo{color:#fff;border-radius:8px;place-items:center;width:145px;min-height:105px;font-size:35px;display:grid}.space-main{flex:1;padding:6px 14px;position:relative}.space-main h3{margin:5px 0;font-size:17px}.space-main p{color:var(--muted);margin:0 0 12px;font-size:11px}.status,.role{color:#07806a;background:#e1f7ee;border-radius:10px;padding:4px 8px;font-size:8px;font-weight:700}.more{color:#77898e;cursor:pointer;background:0 0;border:0;position:absolute;top:4px;right:5px}.panel{padding:22px}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:17px;display:flex}.panel h3{margin:0 0 7px}.panel p{color:var(--muted);font-size:12px}.user-row{border-bottom:1px solid #edf1f2;grid-template-columns:42px 1fr auto 40px;align-items:center;gap:12px;padding:15px 5px;display:grid}.avatar.small{width:36px;height:36px}.user-row strong,.user-row span{display:block}.user-row div span{color:var(--muted);margin-top:3px;font-size:11px}.dots{background:0 0;border:0}.settings-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.week{gap:7px;margin:17px 0 28px;display:flex}.week label{border:1px solid var(--line);color:#809096;border-radius:7px;place-items:center;width:50px;height:48px;font-size:11px;display:grid}.week label.on{color:#087c6b;background:#e5f7f2;border-color:#9cddce;font-weight:700}.week input{display:none}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.two label{flex-direction:column;gap:7px;font-size:11px;display:flex}.panel>.check{margin:18px 0}.history-row{border-bottom:1px solid #edf1f2;grid-template-columns:55px 1.5fr 1fr auto;align-items:center;gap:15px;padding:14px 0;display:grid}.history-row strong,.history-row span{display:block}.history-row>div>span{color:var(--muted);margin-top:4px;font-size:10px}.date-box{color:#087c6b;background:#eef8f6;border-radius:7px;align-content:center;place-items:center;width:45px;height:45px;display:grid}.date-box b{font-size:16px}.date-box span{font-size:8px!important}@media (max-width:800px){.topbar{padding:0 16px}.topbar nav button{padding:0 12px;font-size:0}.topbar nav button:first-letter{font-size:18px}.user>div:first-child{display:none}.hero{padding:36px 22px}.hero h1{font-size:30px}.hero-stat{display:none}.filters{grid-template-columns:1fr;margin-top:-30px}.room-info{border-left:0;border-top:1px solid var(--line);padding:14px 0 0}.booking-layout,.settings-grid{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(4,1fr)}.schedule-head{flex-direction:column;align-items:start;gap:15px}.room-photo{width:90px}.history-row{grid-template-columns:50px 1fr auto}.history-row>div:nth-child(3){display:none}}@media (max-width:520px){.brand span{display:none}.content{padding:20px 14px}.slot-grid{grid-template-columns:repeat(3,1fr)}.legend{gap:9px}.admin-title{align-items:start}.admin-title .primary{width:44px;font-size:0}.admin-title .primary:first-letter{font-size:18px}.admin-tabs{overflow:auto}.admin-tabs button{white-space:nowrap;padding:12px 10px;font-size:11px}.room-photo{display:none}.week{flex-wrap:wrap}.hero h1{font-size:27px}}:root{--navy:#073b67;--teal:#12a879;--mint:#e2f7f1;--ink:#17324d;--muted:#64748b;--line:#cfe4ed;--bg:#eff8fb}.topbar{background:linear-gradient(115deg,#073f68 0%,#0874a1 68%,#29a9c7 100%)}.hero{background:linear-gradient(118deg,#06365f 0%,#075889 48%,#0786ad 100%)}.login-page{background:#f4fbff;grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-brand{color:#fff;background:linear-gradient(125deg,#06365f,#075889 58%,#0786ad);place-items:center;padding:50px;display:grid;position:relative;overflow:hidden}.login-brand:after{content:"";border:1px solid #ffffff20;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-310px;left:-240px;box-shadow:0 0 0 80px #ffffff08,0 0 0 160px #ffffff05}.login-inner{z-index:1;max-width:480px;position:relative}.club-seal{color:#59dac5;border:3px solid #59dac5;border-radius:50%;place-items:center;width:68px;height:68px;margin-bottom:45px;font-size:38px;font-weight:900;display:grid}.eyebrow.light{color:#72e1cf}.login-brand h1{letter-spacing:-2px;margin:0 0 24px;font-size:58px;line-height:.98}.login-brand p:not(.eyebrow){color:#cce0e9;max-width:420px;font-size:17px;line-height:1.6}.login-benefits{color:#eefcff;gap:12px;margin-top:36px;font-size:13px;display:grid}.login-benefits span{background:#ffffff0b;border:1px solid #ffffff20;border-radius:9px;padding:11px 14px}.login-form-wrap{place-items:center;padding:35px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:20px;width:min(410px,100%);padding:38px;box-shadow:0 24px 60px #174f7215}.login-card h2{margin:0 0 8px;font-size:30px}.login-card>p:not(.eyebrow){color:var(--muted);margin-bottom:28px;font-size:13px}.login-card label,.edit-form label{flex-direction:column;gap:7px;margin:14px 0;display:flex}.login-card label span,.edit-form label>span{color:#526d7e;font-size:11px;font-weight:700}.login-card .primary{margin-top:12px}.login-card small{text-align:center;color:#83959e;margin-top:20px;display:block}.login-error{color:#b43445;background:#fff0f2;border-radius:8px;padding:10px 12px;font-size:12px}.logout{color:#fff;cursor:pointer;background:#ffffff10;border:1px solid #ffffff40;border-radius:7px;padding:7px 10px;font-size:11px}.edit{position:absolute;top:10px;right:8px}.row-actions{gap:6px;display:flex}.row-actions button{color:#075f89;cursor:pointer;background:#e9f4f8;border:0;border-radius:6px;padding:7px 9px;font-size:10px}.row-actions .danger-text{color:#b73445;background:#fff0f2}.status.off{color:#77838a;background:#eff1f3}.edit-form fieldset{border:1px solid var(--line);border-radius:9px;margin:15px 0;padding:14px}.edit-form legend{color:#526d7e;padding:0 5px;font-size:11px;font-weight:700}.check-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.check-grid label{color:#526d7e;flex-direction:row;align-items:center;margin:0;font-size:11px;display:flex}.check-grid input{height:auto}.modal .edit-form{display:block}.modal .edit-form>.primary{margin-top:10px}.space-main .edit{width:auto;height:34px}.user-row{grid-template-columns:42px 1fr auto auto}@media (max-width:800px){.login-page{grid-template-columns:1fr}.login-brand{min-height:270px;padding:35px}.login-brand h1{font-size:40px}.login-brand p:not(.eyebrow),.login-benefits{display:none}.club-seal{margin-bottom:25px}.login-form-wrap{padding:24px}.login-card{padding:28px}.logout{padding:8px;font-size:0}.logout:after{content:"↪";font-size:17px}}.photo-preview{object-fit:cover;object-position:center;border:1px solid var(--line);background:#eff6f8;border-radius:9px;width:100%;height:190px;margin-bottom:12px;display:block}.edit-form input[type=file]{height:auto;padding:10px}.ctg-login{color:#f5fbff;background:radial-gradient(circle at 20% 10%,#0786ad47,#0000 30rem),radial-gradient(circle at 90% 90%,#45c7d826,#0000 30rem),linear-gradient(145deg,#07131d,#0b1f2d 55%,#061018);place-items:center;min-height:100vh;font-family:Segoe UI,system-ui,sans-serif;display:grid}.ctg-login-shell{width:min(92vw,430px);padding:24px 0}.ctg-login-card{background:linear-gradient(145deg,#162d3df7,#0b1e2bfa);border:1px solid #ffffff1f;border-radius:20px;padding:34px 32px 30px;position:relative;overflow:hidden;box-shadow:0 28px 65px #0000006b}.ctg-login-card:before{content:"";background:linear-gradient(90deg,#087fb2,#45c7d8,#16a879);height:4px;position:absolute;inset:0 0 auto}.ctg-login-brand{text-align:center;margin-bottom:28px}.ctg-login-brand img{object-fit:contain;filter:drop-shadow(0 8px 14px #00000052);width:auto;height:112px}.ctg-login-brand h1{letter-spacing:-.02em;margin:14px 0 5px;font-size:1.65rem}.ctg-login-brand p{color:#b9cfdd;margin:0;font-size:.94rem}.ctg-field{margin-bottom:17px}.ctg-field label{color:#c6d8e4;margin:0 0 7px;font-size:.78rem;font-weight:650;display:block}.ctg-field input{color:#fff;background:#fff1;border:1px solid #fff3;border-radius:11px;outline:none;width:100%;height:auto;padding:13px 14px}.ctg-field input:focus{border-color:#45c7d8;box-shadow:0 0 0 3px #45c7d82e}.ctg-login-button{color:#03283e;cursor:pointer;background:linear-gradient(105deg,#72c9f1,#62e0ca);border:0;border-radius:11px;width:100%;margin-top:4px;padding:14px;font-weight:700;box-shadow:0 9px 22px #087fb233}.ctg-secure{color:#8faab9;justify-content:center;margin-top:17px;font-size:.76rem;display:flex}.ctg-footer{text-align:center;color:#7f9bab;margin-top:20px;font-size:.76rem}.ctg-login .login-error{text-align:center;color:#ffb7b7;background:0 0;margin:0 0 12px}.topbar{height:auto;min-height:102px;padding-top:11px;padding-bottom:11px;box-shadow:0 12px 30px #073b673d}.brand .header-logo{object-fit:contain;filter:drop-shadow(0 5px 8px #00000038);width:58px;height:76px}.brand strong{letter-spacing:0;font-size:20px}.brand span{font-size:12px}.slots-card,.summary,.panel,.filters,.space-list article{border-radius:16px;box-shadow:0 16px 38px #134d6c14}.primary{color:#063653;background:linear-gradient(90deg,#65c4e9,#59dac5)}.admin-tabs button{background:#f3f8fa;border-radius:12px 12px 0 0;margin-right:7px}.admin-tabs button.active{background:#fff;border-color:#48d1ad}.filters{background:#fffffff0}@media (max-width:480px){.ctg-login-card{padding:28px 22px 24px}.ctg-login-brand img{height:92px}.topbar{min-height:82px}.brand .header-logo{width:42px;height:58px}}.selection-guide{color:var(--muted);align-items:center;gap:8px;margin-top:13px;font-size:11px;display:flex}.selection-guide b{color:#087454;background:#dcebea;border-radius:50%;place-items:center;width:23px;height:23px;display:grid}.selection-guide b.pulse{color:#fff;background:#12a879;box-shadow:0 0 0 5px #12a87924}.selection-guide i{color:#8ba0aa;font-style:normal}.analytics-kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.analytics-kpis>div{border:1px solid var(--line);background:linear-gradient(135deg,#fff,#eaf8f8);border-radius:16px;min-height:92px;padding:17px 19px}.analytics-kpis strong{color:#073b67;white-space:nowrap;text-overflow:ellipsis;font-size:19px;display:block;overflow:hidden}.analytics-kpis span{color:var(--muted);margin-top:7px;font-size:11px;display:block}.charts-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px;display:grid}.chart-card{border:1px solid var(--line);background:#fffffff0;border-radius:18px;padding:20px;box-shadow:0 16px 38px #134d6c14}.chart-card h3{margin:0 0 19px;font-size:15px}.bar-row{margin:13px 0}.bar-row>div:first-child{color:#4d6877;justify-content:space-between;gap:10px;margin-bottom:5px;font-size:10px;display:flex}.bar-row>div:first-child span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bar-track{background:#e8f1f3;border-radius:8px;height:9px;overflow:hidden}.bar-track i{background:linear-gradient(90deg,#087fb2,#45c7d8,#16a879);border-radius:8px;height:100%;display:block}.reservations-panel{padding:0;overflow:hidden}.reservations-panel .panel-head{padding:19px 22px}.reservations-panel .history-row{padding:14px 22px}.cancel-button{color:#b52d40;cursor:pointer;background:#fff0f2;border:0;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:700}.cancel-button:hover{background:#ffe1e5}.history-row{grid-template-columns:55px 1.5fr 1fr auto}@media (max-width:900px){.analytics-kpis{grid-template-columns:1fr 1fr}.charts-grid{grid-template-columns:1fr}.selection-guide{flex-wrap:wrap}}@media (max-width:520px){.analytics-kpis{grid-template-columns:1fr}.reservations-panel .history-row{grid-template-columns:48px 1fr auto}.reservations-panel .history-row>div:nth-child(3){display:none}}.primary,.slot-grid button.selected{color:#fff;background:linear-gradient(118deg,#06365f 0%,#075889 55%,#0786ad 100%);border-color:#075889}.primary:hover{background:linear-gradient(118deg,#052f53,#064d79 55%,#066f92)}.secondary{color:#075889;background:#e2f1f7}.slot-grid button.in-range{color:#075889;background:#dceef6;border-color:#7cb9d1}.chosen{background:#0786ad}.selection-guide b.pulse{background:#0786ad;box-shadow:0 0 0 5px #0786ad24}.week-calendar{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:28px;overflow:hidden;box-shadow:0 16px 38px #134d6c14}.week-calendar-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.week-calendar-head h2{margin:0;font-size:18px}.week-nav{gap:7px;display:flex}.week-nav button{color:#075889;cursor:pointer;background:#eef7fb;border:1px solid #bcd9e6;border-radius:8px;padding:8px 11px;font-size:10px;font-weight:700}.week-columns{grid-template-columns:repeat(7,1fr);min-height:174px;display:grid}.week-day{-webkit-appearance:none;appearance:none;text-align:left;cursor:pointer;color:var(--ink);background:#fff;border:0;border-right:1px solid #e1edf2;min-width:0;padding:0}.week-day:last-child{border-right:0}.week-day:hover,.week-day.active{background:#edf7fb}.week-day.active header{color:#fff;background:linear-gradient(118deg,#06365f,#0786ad)}.week-day header{border-bottom:1px solid #e1edf2;justify-content:space-between;align-items:center;height:57px;padding:10px 12px;display:flex}.week-day header span{letter-spacing:1px;font-size:9px;font-weight:800}.week-events{gap:6px;padding:9px;display:grid}.week-events>small{color:#9aabb3;text-align:center;margin-top:22px;font-size:10px}.week-event{color:#31586b;white-space:nowrap;text-overflow:ellipsis;background:#e4f2f8;border-left:3px solid #0786ad;border-radius:5px;padding:7px;font-size:9px;display:block;overflow:hidden}.week-event b{color:#075889;margin-bottom:3px;font-size:9px;display:block}@media (max-width:800px){.week-calendar{overflow-x:auto}.week-calendar-head,.week-columns{min-width:760px}.week-nav button{padding:7px}.week-calendar-head{align-items:flex-end}}.schedule-head,.booking-layout{display:none}.week-calendar{overflow:visible}.week-calendar-head small{color:var(--muted);margin-top:6px;font-size:10px;display:block}.week-day{min-height:190px;position:relative}.quick-booking{z-index:12;width:310px;color:var(--ink);background:#fff;border:1px solid #a9d0e1;border-radius:12px;grid-template-columns:1fr 1fr;gap:9px;padding:15px;display:grid;position:absolute;top:58px;left:10px;box-shadow:0 18px 45px #05304f40}.week-day:nth-last-child(-n+2) .quick-booking{left:auto;right:10px}.quick-booking>strong,.quick-wide,.quick-actions{grid-column:1/-1}.quick-booking label{color:#526d7e;gap:4px;font-size:9px;font-weight:700;display:grid}.quick-booking input,.quick-booking select{width:100%;height:35px;font-size:11px}.quick-actions{justify-content:flex-end;gap:7px;display:flex}.quick-actions button{cursor:pointer;border:0;border-radius:7px;height:35px;padding:0 12px;font-size:10px;font-weight:700}.quick-actions .primary{width:auto}.closing-slot{color:#075889!important;background:#eef7fb!important;border-color:#78b8d2!important}@media (max-width:800px){.week-calendar{overflow-x:auto}.quick-booking{width:min(90vw,340px);position:fixed;top:50%;transform:translate(-50%,-50%);left:50%!important;right:auto!important}}.quick-hint{color:#527083;background:#edf7fb;border-radius:7px;grid-column:1/-1;padding:8px;font-size:9px}.admin,.admin h1,.admin h2,.admin h3,.admin label,.admin .panel,.admin-tabs button{color:#075889}.admin .panel p,.admin .panel span{color:#526f85}.settings-grid>.panel:last-child{padding-bottom:92px;position:relative}.settings-grid .primary.right{float:none;width:auto;height:48px;position:absolute;bottom:22px;left:22px;right:22px}.room-tech-summary{border:1px solid var(--line);background:linear-gradient(135deg,#fff,#edf8fc);border-radius:14px;align-items:center;gap:18px;margin-top:16px;padding:17px 20px;display:flex;box-shadow:0 10px 28px #134d6c12}.room-tech-summary>div:first-child{flex:1}.room-tech-summary h3{color:#073b67;margin:0 0 4px;font-size:15px}.room-tech-summary p{color:var(--muted);margin:0;font-size:10px}.room-tech-summary .tech-list{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.room-tech-summary .tech-list span{color:#075889;background:#dff0f7;border-radius:8px;padding:8px 11px;font-size:10px;font-weight:700}@media (max-width:700px){.room-tech-summary{flex-direction:column;align-items:flex-start}.room-tech-summary .tech-list{justify-content:flex-start}}@media (min-width:1000px) and (max-height:1000px){.topbar{height:82px;min-height:82px;padding-top:6px;padding-bottom:6px}.brand .header-logo{width:48px;height:64px}.brand strong{font-size:18px}.hero{align-items:flex-start;min-height:215px;padding-top:24px;padding-bottom:42px}.hero h1{margin-bottom:10px;font-size:32px;line-height:1.05}.hero>div>p:last-child{margin:0;font-size:14px}.hero-stat{width:195px;padding:16px 22px}.hero-stat strong{font-size:38px}.hero-stat small{margin-top:12px;padding-top:10px}.content{padding-top:16px;padding-bottom:12px}.filters{align-items:center;min-height:92px;margin-top:-54px;padding:14px 18px}.filters input,.filters select{height:42px}.room-thumb{height:50px}.week-calendar{margin-top:14px}.week-calendar-head{padding:13px 18px}.week-calendar-head h2{font-size:16px}.week-nav button{padding:7px 10px}.week-columns,.week-day{min-height:142px}.week-day header{height:48px}.week-events{padding:7px}.week-event{padding:5px 7px}.room-tech-summary{min-height:58px;margin-top:10px;padding:11px 16px}.room-tech-summary .tech-list span{padding:6px 9px}.quick-booking{top:48px}}@media (min-width:1000px) and (max-height:760px){.topbar{height:70px;min-height:70px}.brand .header-logo{height:55px}.hero{min-height:175px;padding-top:18px}.hero h1{font-size:27px}.hero-stat{padding:11px 18px}.filters{min-height:78px;padding:10px 16px}.week-calendar-head{padding:9px 16px}.week-day,.week-columns{min-height:118px}.week-day header{height:42px}.room-tech-summary{padding:8px 14px}}.hero-stat{border-radius:12px;width:168px;padding:13px 18px}.hero-stat strong{margin:4px 0;font-size:34px}.hero-stat p{font-size:13px}.hero-stat small{margin-top:10px;padding-top:9px;font-size:10px}@media (max-width:800px){body{overflow-x:hidden}.topbar{flex-wrap:wrap;gap:8px 12px;height:auto;min-height:118px;padding:8px 14px 0;display:flex}.brand{order:1}.brand .header-logo{width:38px;height:52px}.brand strong{font-size:14px}.brand span{font-size:9px}.user{order:2;margin-left:auto}.user .avatar,.logout{width:34px;height:34px}.topbar nav{order:3;justify-content:stretch;width:100%;height:48px}.topbar nav button{flex:1;padding:0 8px;font-size:12px}.topbar nav button:first-letter{font-size:inherit}.hero{min-height:190px;padding:25px 18px 48px}.hero h1{font-size:27px;line-height:1.08}.hero>div>p:last-child{font-size:13px;line-height:1.45}.hero-stat{display:none}.content{width:100%;padding:14px 12px 24px}.filters{border-radius:13px;grid-template-columns:1fr;gap:11px;margin-top:-42px;padding:13px}.filters label,.filters input,.filters select{width:100%}.room-info{border-left:0;border-top:1px solid var(--line);padding:11px 0 0}.room-info strong{font-size:12px}.room-thumb{width:50px;height:46px}.week-calendar{margin-top:12px;overflow:hidden}.week-calendar-head{min-width:0;padding:14px;display:block}.week-calendar-head h2{font-size:18px}.week-nav{grid-template-columns:1fr auto 1fr;margin-top:12px;display:grid}.week-nav button{padding:9px 5px;font-size:9px}.week-columns{scroll-snap-type:x mandatory;scrollbar-width:thin;min-width:0;min-height:178px;display:flex;overflow-x:auto}.week-day{scroll-snap-align:center;border-right:1px solid var(--line);flex:0 0 84%;min-height:178px}.week-day header{height:50px}.week-events{padding:9px}.room-tech-summary{margin-top:10px;padding:14px;display:block}.room-tech-summary h3{font-size:14px}.room-tech-summary .tech-list{grid-template-columns:1fr 1fr;margin-top:12px;display:grid}.room-tech-summary .tech-list span{text-align:center}.admin{padding:24px 12px}.admin-title{display:block}.admin-title .primary{width:100%;margin-top:12px;font-size:11px}.admin-title .primary:first-letter{font-size:inherit}.admin-tabs{margin:18px 0 14px;overflow-x:auto}.admin-tabs button{white-space:nowrap;flex:none}.settings-grid{grid-template-columns:1fr}.settings-grid>.panel:last-child{padding-bottom:88px}.week{gap:6px}.week label{width:42px;height:43px}.space-list article{display:block}.room-photo{width:100%;height:140px;min-height:0;display:grid}.space-main{padding:13px 2px}.space-main .edit{margin:6px 0 10px;position:static}.user-row{grid-template-columns:38px 1fr;gap:8px}.user-row .role,.row-actions{grid-column:2}.row-actions{justify-content:flex-start}.history-row,.reservations-panel .history-row{grid-template-columns:42px 1fr!important;padding:12px!important}.history-row>div:nth-child(3){display:none}.cancel-button{grid-column:2;width:100%}.analytics-kpis,.charts-grid{grid-template-columns:1fr}.modal{max-height:92vh;padding:24px 18px;overflow:auto}.two{grid-template-columns:1fr}.toast{text-align:center;bottom:14px;left:14px;right:14px}}@media (max-width:420px){.brand span{display:none}.topbar nav button{font-size:10px}.hero h1{font-size:24px}.week-day{flex-basis:91%}.check-grid,.room-tech-summary .tech-list{grid-template-columns:1fr}.ctg-login-shell{padding:12px 0}}.modal{max-height:calc(100vh - 40px);overflow-y:auto}.room-photo-button{cursor:pointer;border:0;flex:0 0 64px;padding:0;overflow:hidden}.room-thumb-image,.room-photo-image{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.room-photo{overflow:hidden}.auth-two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-links{justify-content:space-between;gap:12px;margin:14px 0 4px;display:flex}.auth-links button,.auth-link{color:#76cfea;font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0}.auth-link{margin:14px auto 0;display:block}.auth-help{color:#abc1d0;line-height:1.4}.user-profile{color:inherit;text-align:right;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;display:flex}.user-profile span{display:block}@media (max-width:600px){.auth-two{grid-template-columns:1fr}.auth-links{flex-direction:column;align-items:center}}.recovery-code-input{letter-spacing:7px;visibility:visible!important;min-height:58px!important;font-size:20px!important;display:block!important}.admin-password-reset{border-top:1px solid #d6e4eb;margin-top:24px;padding-top:20px}.admin-password-reset h3{color:#075889;margin:0 0 6px}.admin-password-reset p{color:#5b7080;margin:0 0 14px}.admin-password-reset .secondary{color:#075889;cursor:pointer;background:#e8f4f9;border:1px solid #b9dcea;border-radius:10px;width:100%;padding:14px;font-weight:700}.reset-message{color:#087e63!important;margin-top:12px!important;font-weight:600!important}.view-room-photo{color:#087c9f;cursor:pointer;background:0 0;border:0;padding:4px 0 0;font-size:11px;font-weight:700;text-decoration:underline}.room-photo-large{object-fit:contain;background:#eff6f8;border-radius:10px;width:100%;max-height:70vh;margin-top:18px;display:block}.smtp-test{margin-top:16px}.smtp-status{font-weight:600;color:#087c6b!important;margin:9px 0 0!important}@media (min-width:801px){.content{padding-top:0}.filters,.week-calendar{margin-top:18px}}.week-event small{color:#55758a;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:8px;display:block;overflow:hidden}.quick-booking select{-webkit-appearance:auto;appearance:auto;color:#17324d;background:#fff}.quick-booking select option{color:#17324d;background:#fff}.settings-wrap{gap:16px;display:grid}.settings-wrap .settings-grid>.panel:last-child{padding-bottom:22px}.copy-rooms{gap:8px;margin:10px 0;display:grid}.copy-rooms label{color:#075889;background:#f5fafc;border:1px solid #d7e8ef;border-radius:8px;align-items:center;gap:9px;padding:10px;font-size:11px;display:flex}.copy-rooms input{width:16px;height:16px}.settings-save{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:15px 18px;display:flex;box-shadow:0 10px 28px #134d6c12}.settings-save span{color:#526f85;font-size:11px}.settings-save .primary{min-width:250px;height:48px}.week-calendar-head h2{font-size:20px}.week-calendar-head small{font-size:12px}.week-day header span{font-size:11px}.week-day header b{font-size:21px}.week-events>small{font-size:12px}.week-event{font-size:11px;line-height:1.35}.week-event b{font-size:11px}.week-event small{font-size:9px}.room-tech-summary h3{font-size:18px}.room-tech-summary p{font-size:12px}.room-tech-summary .tech-list span{font-size:11px}@media (min-width:801px){.topbar{gap:28px;height:76px;min-height:76px;padding-top:4px;padding-bottom:4px}.brand .header-logo{width:42px;height:58px}.brand strong{font-size:17px}.brand span{font-size:10px}.topbar nav button{padding:0 16px}.user{gap:9px}.user strong{font-size:12px}.avatar{width:34px;height:34px}.logout{padding:6px 9px}}.my-reservations{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:16px;padding:18px 20px;box-shadow:0 10px 28px #134d6c12}.my-reservations h3{color:#073b67;margin:0;font-size:17px}.my-reservation-list{gap:8px;margin-top:13px;display:grid}.my-reservation-list article{border-top:1px solid #e6eff3;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;display:flex}.my-reservation-list strong,.my-reservation-list span{display:block}.my-reservation-list strong{color:#17324d;font-size:13px}.my-reservation-list span{color:#587083;margin-top:4px;font-size:11px}.my-reservation-list button{color:#b52d40;cursor:pointer;background:#fff0f2;border:0;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:700}.my-reservation-list button:hover{background:#ffe1e5}.week-event{text-align:left;cursor:pointer;border:0;width:100%;font-family:inherit}.week-event:hover{background:#cfe9f4;box-shadow:inset 0 0 0 1px #67b5d4}.reservation-details{gap:10px;margin:20px 0;display:grid}.reservation-details p{color:#486779;background:#f2f8fb;border-radius:8px;gap:3px;margin:0;padding:11px;font-size:13px;display:grid}.reservation-details b{color:#075889;text-transform:uppercase;letter-spacing:.06em;font-size:10px}.cancel-own{color:#b52d40;cursor:pointer;background:#fff0f2;border:0;border-radius:8px;width:100%;height:44px;font-weight:700}@media (max-width:700px){.my-reservations{padding:14px}.my-reservation-list article{flex-direction:column;align-items:stretch}.my-reservation-list button{width:100%}.settings-save{flex-direction:column;align-items:stretch}.settings-save .primary{width:100%;min-width:0}}.custom-tech-list{gap:8px;margin:12px 0;display:grid}.custom-tech-row{align-items:center;gap:8px;display:flex}.custom-tech-row label{flex:1;align-items:center;flex-direction:row!important;gap:8px!important;margin:0!important;display:flex!important}.custom-tech-row label input[type=checkbox]{height:auto}.custom-tech-row label input:not([type]){flex:1;height:36px}.custom-tech-row button{color:#b73445;cursor:pointer;background:#fff0f2;border:0;border-radius:6px;padding:9px 10px;font-size:11px}.custom-tech-add{gap:8px;margin-top:12px;display:flex}.custom-tech-add input{flex:1}.custom-tech-add .secondary{white-space:nowrap;height:44px}.tech-help{color:#718389;margin-top:10px;font-size:10px;line-height:1.4;display:block}.reservation-detail-actions{grid-template-columns:1fr;gap:10px;margin-top:20px;display:grid}.reservation-edit-button{border-radius:8px;width:100%;height:44px;font-weight:700}.reservation-detail-actions .cancel-own{margin:0}.history-actions{align-items:center;gap:8px;display:flex}.history-actions .secondary,.history-actions .cancel-button{white-space:nowrap;height:36px}.copy-explainer{line-height:1.5;margin:0 0 14px!important;font-size:12px!important}.copy-recipient{background:#eef8f6;border:1px solid #bce3d9;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 13px;padding:12px 14px;display:flex}.copy-recipient span{color:#587078;letter-spacing:.6px;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.copy-recipient strong{color:#075889;margin-top:3px;display:block}.copy-remove{color:#b52d40;cursor:pointer;white-space:nowrap;background:#fff0f2;border:0;border-radius:7px;padding:9px 12px;font-size:11px;font-weight:700}.copy-empty,.copy-summary{background:#f5f8f9;border-radius:7px;padding:10px 12px;line-height:1.45;color:#536d7e!important;margin:12px 0!important;font-size:11px!important}.copy-summary{background:#edf8f6;color:#315b68!important}@media (max-width:520px){.copy-recipient{flex-direction:column;align-items:flex-start}.copy-remove{width:100%}}.ctg-login-brand img{margin-left:auto!important;margin-right:auto!important;display:block!important}.ctg-login-card h2{letter-spacing:0;margin:0 0 16px;font-family:inherit;font-size:20px;font-weight:600;line-height:1.4}.ctg-login-card .auth-help{margin:0 0 20px;font-size:14px;line-height:1.55}.ctg-login .auth-confirmed{color:#75e5bc;margin:16px 0 24px;font-size:14px;line-height:1.6}.user-row small{overflow-wrap:anywhere;margin-top:4px;font-size:12px;line-height:1.45;display:block}
