:root{color:#17201e;background:#eef3f1;font-family:Pretendard,Noto Sans KR,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #17201e;--muted: #66736f;--line: #dce5e1;--soft-line: #e9efec;--surface: #ffffff;--surface-soft: #f6f9f8;--green-950: #0e302a;--green-900: #123d35;--green-800: #185146;--green-700: #1f6959;--green-100: #dff2ea;--green-50: #eef9f4;--red-700: #ad292e;--red-100: #f9dfe0;--red-50: #fff3f3;--amber-800: #805210;--amber-100: #f7e8bf;--amber-50: #fff9e9;--blue-700: #17678d;--blue-50: #eff8fc;--shadow: 0 14px 36px rgba(19, 56, 48, .08);--shadow-high: 0 24px 70px rgba(10, 37, 31, .24)}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 90% 0,rgba(40,129,107,.11),transparent 32rem),#eef3f1}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid rgba(38,139,112,.38);outline-offset:2px}h1,h2,h3,p{margin-top:0}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;width:248px;flex-direction:column;padding:24px 18px;color:#fff;background:linear-gradient(180deg,var(--green-950),#0b2823)}.sidebar__brand{display:flex;align-items:center;gap:12px;padding:0 8px 25px;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar__brand strong,.sidebar__brand span{display:block}.sidebar__brand strong{font-size:16px}.sidebar__brand span{margin-top:3px;color:#a9c9c0;font-size:12px;font-weight:700}.sidebar nav{display:grid;gap:7px;margin-top:23px}.sidebar nav button{display:flex;min-height:48px;align-items:center;gap:13px;padding:0 14px;border:0;border-radius:14px;color:#d8e9e4;background:transparent;font-size:14px;font-weight:800;text-align:left}.sidebar nav button span{display:grid;width:25px;height:25px;place-items:center;border-radius:8px;background:#ffffff14;font-size:17px}.sidebar nav button:hover,.sidebar nav button.is-active{color:#10352e;background:#f2fbf7}.sidebar nav button.is-active span{color:#fff;background:var(--green-700)}.sidebar__account{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:auto;padding:18px 8px 4px;border-top:1px solid rgba(255,255,255,.12)}.sidebar__account strong{display:block;max-width:132px;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.sidebar__account .text-button{color:#c9ded8}.main-area{min-height:100vh;margin-left:248px;padding:34px clamp(24px,3vw,48px) 36px}.page-header{display:flex;max-width:1450px;align-items:flex-start;justify-content:space-between;gap:28px;margin:0 auto 20px}.page-header h1{margin:5px 0 6px;font-size:clamp(27px,3vw,38px);letter-spacing:-.04em}.page-header p:last-child{margin:0;color:var(--muted);font-size:14px;font-weight:650}.page-header__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;padding-top:8px}.eyebrow{margin:0;color:var(--green-700);font-size:10px;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.content-area,.environment-banner,.control-bar,.profile-warning,.system-footer{max-width:1450px;margin-right:auto;margin-left:auto}.brand-mark{display:grid;width:54px;height:54px;place-items:center;border-radius:17px;color:#fff;background:var(--green-800);box-shadow:0 9px 20px #18514638;font-size:13px;font-weight:950;letter-spacing:.06em}.brand-mark--small{width:42px;height:42px;flex:0 0 auto;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:#ffffff1a;box-shadow:none;font-size:11px}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:7px;padding:0 17px;border:1px solid transparent;border-radius:13px;font-size:13px;font-weight:850;transition:transform .15s ease,background .15s ease,border-color .15s ease}.button:not(:disabled):active{transform:translateY(1px)}.button--primary{color:#fff;background:var(--green-900)}.button--primary:hover{background:var(--green-800)}.button--secondary{color:#27332f;border-color:var(--line);background:#fff}.button--secondary:hover{border-color:#b9c9c3;background:var(--surface-soft)}.button--danger{color:#fff;background:var(--red-700)}.button--ghost-danger{color:var(--red-700);border-color:#efcbcd;background:var(--red-50)}.button--full{width:100%}.button--small{min-height:36px;padding:0 12px;border-radius:10px;font-size:12px}.text-button{padding:3px 0;border:0;color:var(--green-700);background:transparent;font-size:12px;font-weight:850}.text-button--danger{color:var(--red-700)}.icon-button{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;padding:0;border:0;border-radius:8px;color:inherit;background:#0000000d;font-size:18px}.environment-banner{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:20px;padding:13px 18px;border:1px solid;border-radius:18px;box-shadow:0 7px 20px #11322b0d}.environment-banner--test{border-color:#efdca9;color:#6d460a;background:linear-gradient(135deg,#fff9e8,#fffdf7)}.environment-banner--real{border-color:#efc5c7;color:#862127;background:linear-gradient(135deg,#fff0f1,#fff9f9)}.environment-banner--loading{border-color:var(--line);color:var(--muted);background:#fff}.environment-banner__main strong,.environment-banner__main span{display:block}.environment-banner__main strong{margin-bottom:3px;font-size:14px}.environment-banner__main span{font-size:12px;font-weight:700}.environment-banner__meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.environment-banner__meta>span{padding:6px 9px;border-radius:999px;background:#ffffffb8;font-size:10px;font-weight:900;white-space:nowrap}.status-dot:before{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#9caaa5;content:""}.status-dot--ok:before{background:#25a673}.status-dot--bad:before{background:#d8464e}.profile-warning{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:11px 14px;border:1px solid #efdbac;border-radius:13px;color:#71490c;background:var(--amber-50);font-size:12px;font-weight:700}.control-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#ffffffdb;box-shadow:0 7px 22px #11322b0b;backdrop-filter:blur(12px)}.control-bar--compact{justify-content:flex-start}.location-control{min-width:220px}.location-control>span{display:block;margin:0 0 5px 3px;color:var(--muted);font-size:10px;font-weight:900}.date-control{display:flex;align-items:stretch;gap:7px}.date-control button,.date-control__picker{min-height:45px;border:1px solid var(--line);border-radius:12px;background:#fff}.date-control__arrow{width:45px;padding:0;color:var(--green-900);font-size:25px}.date-control__today{padding:0 14px;color:var(--green-800);font-size:12px;font-weight:900}.date-control__picker{position:relative;display:grid;min-width:170px;place-items:center;padding:0 17px;color:var(--ink);font-size:13px;font-weight:900;overflow:hidden}.date-control__picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.content-area{padding-top:20px}.view-stack,.dashboard-content{display:grid;gap:27px}.system-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;margin-top:34px;padding:15px 2px 0;border-top:1px solid #d6e0dc;color:#7a8783;font-size:10px;font-weight:750}.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:11px}.summary-card{position:relative;min-height:135px;padding:17px;border:1px solid var(--line);border-radius:20px;color:var(--ink);background:#fff;box-shadow:0 8px 24px #123d350e;text-align:left;overflow:hidden}.summary-card:after{position:absolute;right:-25px;bottom:-35px;width:90px;height:90px;border-radius:50%;background:#1b705d12;content:""}.summary-card>span{display:block;color:#4d5d58;font-size:12px;font-weight:900}.summary-card>strong{display:block;margin:13px 0 7px;font-size:32px;line-height:1;letter-spacing:-.04em}.summary-card>strong small{margin-left:3px;font-size:12px;letter-spacing:0}.summary-card>em{color:#82908c;font-size:10px;font-style:normal;font-weight:750}.summary-card--attention{border-color:#efced0;background:var(--red-50)}.summary-card--checkin{border-color:#c9e7db;background:var(--green-50)}.summary-card--checkout{border-color:#d6ddf1;background:#f4f6fd}.summary-card--staying{border-color:#cde6f1;background:var(--blue-50)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}.section-heading h2{margin:0 0 4px;font-size:21px;letter-spacing:-.03em}.section-heading p{margin:0;color:var(--muted);font-size:11px;font-weight:700;line-height:1.5}.section-heading__aside{display:flex;align-items:center;gap:9px}.count-badge,.attention-pill,.connection-badge{display:inline-flex;min-height:26px;align-items:center;padding:0 10px;border-radius:999px;color:#4f5f5a;background:#fff;box-shadow:0 3px 10px #14342d0f;font-size:10px;font-weight:900;white-space:nowrap}.scroll-target{scroll-margin-top:16px}.candidate-panel{padding:18px;border:1px solid #ead699;border-radius:21px;background:var(--amber-50);box-shadow:0 8px 24px #65440c0d}.candidate-list{display:grid;gap:8px}.candidate-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px;border:1px solid #efe1b9;border-radius:14px;background:#fff}.candidate-row__main strong,.candidate-row__main span,.candidate-row__main small{display:block}.candidate-row__main strong{font-size:13px}.candidate-row__main span{margin-top:4px;color:#596762;font-size:11px;font-weight:750}.candidate-row__main small{margin-top:4px;color:var(--amber-800);font-size:10px;font-weight:850}.candidate-row__actions{display:flex;flex:0 0 auto;gap:6px}.role-note{color:var(--muted);font-size:10px;font-weight:800}.attention-list{display:grid;gap:7px}.attention-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:12px 14px;border:1px solid var(--line);border-left-width:4px;border-radius:13px;background:#fff}.attention-row--critical{border-left-color:#d54248}.attention-row--warning{border-left-color:#d99b2d}.attention-row--info{border-left-color:#398cae}.attention-row strong,.attention-row span{display:block}.attention-row strong{font-size:12px}.attention-row div>span{margin-top:3px;color:var(--muted);font-size:10px;font-weight:750}.attention-row p{margin:6px 0 0;color:#485550;font-size:11px;line-height:1.55}.attention-row__severity{flex:0 0 auto;padding:5px 8px;border-radius:999px;color:var(--red-700);background:var(--red-50);font-size:9px!important;font-weight:900!important}.room-grid,.configuration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.room-card,.configuration-card{min-width:0;padding:17px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.room-card--attention{border-color:#ecc7c9;box-shadow:0 14px 34px #ae292e12}.room-card__header,.configuration-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.room-card__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.room-card h3,.configuration-card h3{margin:0;font-size:17px;letter-spacing:-.025em}.room-card__header>div>p,.configuration-card header p{margin:5px 0 0;color:var(--muted);font-size:10px;font-weight:750}.status-chip,.turnover-badge{display:inline-flex;min-height:22px;align-items:center;padding:0 8px;border-radius:999px;font-size:9px;font-weight:900}.status-chip--checkin{color:#1a725d;background:var(--green-100)}.status-chip--checkout{color:#53649a;background:#e8ecfa}.status-chip--turnover{color:#7d4f0c;background:var(--amber-100)}.status-chip--staying{color:var(--blue-700);background:#dff1f8}.status-chip--vacant{color:#5c6864;background:#eef2f0}.status-chip--attention{color:var(--red-700);background:var(--red-100)}.turnover-badge{color:#fff;background:var(--green-800)}.room-card__facts{display:grid;gap:7px;margin:14px 0;padding:11px 12px;border-radius:13px;background:var(--surface-soft)}.room-card__facts>div{display:flex;align-items:center;justify-content:space-between;gap:13px;font-size:10px}.room-card__facts span{color:var(--muted);font-weight:750}.room-card__facts strong{max-width:72%;font-weight:850;text-align:right}.turnover-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:7px;margin:14px 0;padding:11px;border:1px solid #e8d398;border-radius:14px;background:var(--amber-50)}.turnover-flow div{min-width:0}.turnover-flow div span,.turnover-flow div strong{display:block}.turnover-flow div span{color:var(--amber-800);font-size:8px;font-weight:900}.turnover-flow div strong{margin-top:4px;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.turnover-flow__arrow{color:#b28b3d;font-size:12px}.turnover-flow p{grid-column:1 / -1;margin:4px 0 0;padding-top:7px;border-top:1px solid #ead9ad;color:#725014;font-size:9px;font-weight:800}.partial-alert{margin:0 0 10px;padding:8px 10px;border-radius:10px;color:var(--red-700);background:var(--red-50);font-size:10px;font-weight:850}.room-card__actions{display:flex;justify-content:flex-end;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid var(--soft-line)}.lock-list{display:grid;gap:7px}.lock-row{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--soft-line);border-radius:11px}.lock-row__name{display:flex;min-width:0;align-items:center;gap:8px}.connection-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#9aa7a3}.connection-dot--ok{background:#29a878;box-shadow:0 0 0 3px #29a8781f}.connection-dot--bad{background:#d5434a;box-shadow:0 0 0 3px #d5434a1a}.lock-row__name strong,.lock-row__name span{display:block}.lock-row__name strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.lock-row__name span{margin-top:2px;color:var(--muted);font-size:8px;font-weight:750}.lock-row__result{display:flex;flex:0 0 auto;align-items:center;gap:6px;color:var(--muted);font-size:8px;font-weight:800}.lock-result{display:inline-flex;min-height:20px;align-items:center;padding:0 7px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap}.lock-result--success{color:#116b53;background:var(--green-100)}.lock-result--failed{color:var(--red-700);background:var(--red-100)}.lock-result--pending{color:var(--amber-800);background:var(--amber-100)}.lock-result--simulated{color:var(--blue-700);background:#dff1f8}.lock-result--unknown{color:#66736f;background:#eef2f0}.muted-text{color:var(--muted);font-size:11px}.state-panel{display:grid;min-height:150px;place-items:center;align-content:center;gap:9px;padding:26px;border:1px dashed #cbd8d3;border-radius:18px;color:var(--muted);background:#ffffffab;text-align:center}.state-panel strong{color:#4c5a55;font-size:12px}.state-panel p{max-width:520px;margin:0;font-size:11px;line-height:1.6}.state-panel--error{border-style:solid;border-color:#efc9cb;color:var(--red-700);background:var(--red-50)}.spinner{width:25px;height:25px;border:3px solid #c7d8d2;border-top-color:var(--green-700);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.schedule-list{display:grid;gap:12px}.schedule-day{padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 22px #123d350b}.schedule-day>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.schedule-day h3{margin:0;font-size:15px}.schedule-day header p{margin:4px 0 0;color:var(--muted);font-size:10px;font-weight:750}.schedule-room-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.schedule-room{padding:10px 11px;border:1px solid var(--soft-line);border-radius:11px;background:var(--surface-soft)}.schedule-room>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.schedule-room strong{font-size:11px}.schedule-room p{margin:6px 0 0;color:var(--muted);font-size:9px;font-weight:750}.configuration-card--warning{border-color:#ead49b}.connection-badge--ok{color:#126b53;background:var(--green-100)}.connection-badge--bad{color:var(--amber-800);background:var(--amber-100)}.configuration-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.configuration-facts>div{padding:9px 10px;border-radius:10px;background:var(--surface-soft)}.configuration-facts dt{color:var(--muted);font-size:8px;font-weight:800}.configuration-facts dd{margin:4px 0 0;overflow:hidden;font-size:9px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.configuration-locks{display:grid;gap:6px;padding:11px;border:1px solid var(--soft-line);border-radius:12px}.configuration-locks>strong{margin-bottom:2px;font-size:10px}.configuration-locks>div{display:flex;justify-content:space-between;gap:10px;font-size:9px;font-weight:800}.configuration-locks small{color:var(--muted)}.configuration-card footer{margin-top:12px}.log-list{display:grid;gap:0}.log-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px}.log-row__rail{display:flex;align-items:center;flex-direction:column}.log-row__rail>span:last-child{width:1px;min-height:30px;flex:1;background:#d4dfdb}.log-row:last-child .log-row__rail>span:last-child{display:none}.log-dot{width:11px;height:11px;flex:0 0 auto;margin-top:20px;border:3px solid #eef3f1;border-radius:50%;background:#80908a;box-shadow:0 0 0 1px #c1cdc9}.log-dot--success{background:#28a878}.log-dot--failed{background:#d64249}.log-dot--partial{background:#dc9f31}.log-dot--simulated{background:#3a8eaf}.log-row__body{margin-bottom:9px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff}.log-row__body>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.log-row__body header strong,.log-row__body header div span{display:block}.log-row__body header strong{font-size:12px}.log-row__body header div span{margin-top:3px;color:var(--muted);font-size:9px;font-weight:750}.log-row__body>p{margin:8px 0;color:#47534f;font-size:11px;line-height:1.55}.log-row__meta{display:flex;flex-wrap:wrap;gap:5px 13px;color:#84908c;font-size:8px;font-weight:750}.outcome-badge{padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap}.outcome-badge--success{color:#126b53;background:var(--green-100)}.outcome-badge--failed{color:var(--red-700);background:var(--red-100)}.outcome-badge--partial{color:var(--amber-800);background:var(--amber-100)}.outcome-badge--simulated{color:var(--blue-700);background:#dff1f8}.outcome-badge--info{color:#596661;background:#edf2ef}.log-lock-results{display:grid;gap:4px;margin-top:9px;padding-top:9px;border-top:1px solid var(--soft-line)}.log-lock-results>div{display:flex;justify-content:space-between;gap:10px;font-size:9px}.log-lock-results span{color:var(--muted)}.input,.select,.textarea{width:100%;border:1px solid #cfdad6;border-radius:12px;color:var(--ink);background:#fff;font-size:13px;font-weight:750;outline:none}.input,.select{min-height:45px;padding:0 12px}.textarea{min-height:91px;padding:11px 12px;line-height:1.55;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:#3b9a83;box-shadow:0 0 0 3px #268b701c}.input:disabled{color:#6f7c77;background:#f1f5f3}.input--pin{font-size:20px;letter-spacing:.24em}.select--compact{min-width:130px;min-height:38px;font-size:11px}.field{display:block;margin-top:14px}.field__label,.field__hint,.field__error{display:block}.field__label{margin:0 0 6px 2px;color:#35423e;font-size:11px;font-weight:900}.field__hint{margin:-3px 0 6px 2px;color:#7a8783;font-size:9px;font-weight:700}.field__error,.form-error{color:var(--red-700);font-size:10px;font-weight:850}.form-error{margin:12px 0 0;padding:9px 10px;border-radius:10px;background:var(--red-50)}.form-grid{display:grid;gap:0 12px}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-section{margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:16px}.form-section>h3,.form-section__heading h3{margin:0;font-size:14px}.form-section__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.form-section__heading p{margin:4px 0 0;color:var(--muted);font-size:9px;font-weight:700}.notice{margin:13px 0;padding:10px 12px;border:1px solid;border-radius:11px;font-size:10px;font-weight:750;line-height:1.55}.notice--warning{border-color:#ecdba9;color:#754c0f;background:var(--amber-50)}.notice--danger{border-color:#edc7c9;color:var(--red-700);background:var(--red-50)}.notice--info{border-color:#cce1e9;color:#245f78;background:var(--blue-50)}.info-card{padding:12px;border-radius:13px;background:var(--surface-soft)}.info-card dl{display:grid;gap:7px;margin:0}.info-card dl div{display:flex;justify-content:space-between;gap:12px}.info-card dt{color:var(--muted);font-size:10px;font-weight:750}.info-card dd{margin:0;font-size:10px;font-weight:850;text-align:right}.toggle-row,.confirm-real{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}.toggle-row span strong,.toggle-row span small,.confirm-real span strong,.confirm-real span small{display:block}.toggle-row strong,.confirm-real strong{font-size:11px}.toggle-row small,.confirm-real small{margin-top:3px;color:var(--muted);font-size:9px;font-weight:700}.toggle-row input,.confirm-real input,.check-row input,.inline-check input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--green-700)}.confirm-real{border-color:#efc7c9;color:var(--red-700);background:var(--red-50)}.plan-preview{margin-top:14px;padding:13px;border:1px solid #cfe4dc;border-radius:13px;background:var(--green-50)}.plan-preview ol{display:grid;gap:8px;margin:10px 0 0;padding-left:20px}.plan-preview li{padding-left:3px;font-size:10px}.plan-preview li strong,.plan-preview li span{display:block}.plan-preview li span{margin-top:2px;color:#4f625b;font-weight:750}.check-group,.segmented-field{margin:14px 0 0;padding:0;border:0}.check-group legend,.segmented-field legend{margin-bottom:6px;color:#35423e;font-size:11px;font-weight:900}.check-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--soft-line);border-radius:10px}.check-row+.check-row{margin-top:6px}.check-row span strong,.check-row span small{display:block}.check-row strong{font-size:10px}.check-row small{margin-top:2px;color:var(--muted);font-size:8px}.segmented-field>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.segmented-field label{display:flex;min-height:64px;align-items:center;flex-wrap:wrap;gap:3px 8px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}.segmented-field label.is-selected{border-color:var(--green-700);background:var(--green-50);box-shadow:0 0 0 2px #1f695914}.segmented-field label input{accent-color:var(--green-700)}.segmented-field label strong{font-size:10px}.segmented-field label small{width:100%;margin-left:22px;color:var(--muted);font-size:8px}.lock-editor-list{display:grid;gap:9px;margin:12px 0}.lock-editor{padding:12px;border:1px solid var(--soft-line);border-radius:13px;background:var(--surface-soft)}.lock-editor>header{display:flex;align-items:center;justify-content:space-between}.lock-editor>header strong{font-size:11px}.inline-check{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:9px;font-weight:800}.connection-result{margin-top:10px;padding:11px;border:1px solid;border-radius:11px;font-size:9px}.connection-result--ok{border-color:#c7e4d8;color:#17634f;background:var(--green-50)}.connection-result--bad{border-color:#e9d39b;color:#7a500f;background:var(--amber-50)}.connection-result strong{display:block;margin-bottom:5px;font-size:10px}.connection-result p{margin:3px 0 0}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:#05191491;backdrop-filter:blur(5px)}.modal-panel{width:min(100%,540px);max-height:calc(100dvh - 40px);border-radius:22px;background:#fff;box-shadow:var(--shadow-high);overflow:hidden}.modal-panel--wide{width:min(100%,820px)}.modal-header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px 20px 14px;border-bottom:1px solid var(--soft-line);background:#fffffff5;backdrop-filter:blur(10px)}.modal-header h2{margin:4px 0 0;font-size:20px;letter-spacing:-.03em}.close-button{min-height:36px;padding:0 11px;border:0;border-radius:10px;color:#52605b;background:#edf2ef;font-size:11px;font-weight:850}.modal-body{max-height:calc(100dvh - 125px);padding:3px 20px 20px;overflow-y:auto;overscroll-behavior:contain}.modal-actions{position:sticky;bottom:-20px;display:flex;justify-content:flex-end;gap:8px;margin:18px -20px -20px;padding:13px 20px calc(13px + env(safe-area-inset-bottom));border-top:1px solid var(--soft-line);background:#fffffff5;backdrop-filter:blur(10px)}.receipt{margin:15px 0;padding:14px;border:1px solid;border-radius:15px}.receipt--success{border-color:#c7e4d8;background:var(--green-50)}.receipt--partial{border-color:#eccdce;background:var(--red-50)}.receipt__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.receipt__header h3{margin:4px 0 0;font-size:14px}.receipt__count{flex:0 0 auto;padding:5px 8px;border-radius:999px;color:#17634f;background:#fff;font-size:9px;font-weight:900}.receipt__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}.receipt__meta>div{padding:8px;border-radius:9px;background:#ffffffbf}.receipt__meta dt{color:var(--muted);font-size:8px;font-weight:750}.receipt__meta dd{margin:3px 0 0;overflow:hidden;font-size:8px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.receipt__locks{display:grid;gap:6px}.receipt__locks>div{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px;border-radius:9px;background:#fff}.receipt__locks strong{font-size:9px}.receipt__locks p{grid-column:1/-1;margin:0;color:var(--muted);font-size:8px}.receipt__request{margin:9px 0 0;color:var(--muted);font-size:8px;word-break:break-all}.toast-host{position:fixed;top:18px;right:18px;z-index:200;display:grid;width:min(380px,calc(100vw - 36px));gap:8px}.toast{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px;border:1px solid;border-radius:14px;background:#fff;box-shadow:var(--shadow-high)}.toast strong{font-size:11px}.toast p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.45}.toast--success{border-color:#bcded2}.toast--error{border-color:#eabfc1}.toast--info{border-color:#c4dfea}.role-badge{display:inline-flex;min-height:19px;align-items:center;margin-top:6px;padding:0 7px;border-radius:999px;font-size:8px;font-weight:900}.role-badge--admin{color:#5a3b08;background:#f3dda4}.role-badge--operator{color:#bfe2d7;background:#2f957c47}.role-badge--viewer{color:#d2ddd9;background:#ffffff1a}.login-page{display:grid;min-height:100vh;place-items:center;padding:22px;background:radial-gradient(circle at 20% 10%,rgba(64,158,132,.22),transparent 27rem),linear-gradient(145deg,#0d2e28,#164a40)}.login-card{width:min(100%,430px);padding:32px;border:1px solid rgba(255,255,255,.56);border-radius:26px;background:#fffffff7;box-shadow:0 32px 90px #00140f47}.login-card .brand-mark{margin-bottom:21px}.login-card h1{margin:7px 0 8px;font-size:28px;letter-spacing:-.045em}.login-card__description{color:var(--muted);font-size:12px;font-weight:700}.login-form{display:grid;gap:13px;margin-top:25px}.login-form label>span{display:block;margin:0 0 6px 2px;font-size:10px;font-weight:900}.login-card__security{margin:17px 0 0;padding-top:15px;border-top:1px solid var(--soft-line);color:#7a8783;font-size:9px;font-weight:700;line-height:1.55}.login-card--error ul{margin:18px 0;padding:12px 12px 12px 28px;border-radius:12px;color:var(--red-700);background:var(--red-50);font-size:11px;font-weight:800;line-height:1.7}.mobile-nav{display:none}@media(max-width:1100px){.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-card{min-height:120px}.summary-card:nth-child(4),.summary-card:nth-child(5){grid-column:span 1}.turnover-flow{grid-template-columns:1fr auto 1fr}.turnover-flow>div:nth-of-type(3),.turnover-flow>.turnover-flow__arrow:nth-of-type(2){display:none}}@media(max-width:900px){.sidebar{display:none}.main-area{margin-left:0;padding:22px 18px calc(94px + env(safe-area-inset-bottom))}.mobile-nav{position:fixed;right:12px;bottom:max(10px,env(safe-area-inset-bottom));left:12px;z-index:50;display:grid;grid-template-columns:repeat(4,1fr);padding:6px;border:1px solid rgba(255,255,255,.62);border-radius:18px;background:#0d2f28f0;box-shadow:0 16px 44px #041b1547;backdrop-filter:blur(14px)}.mobile-nav button{display:grid;min-height:50px;place-items:center;align-content:center;gap:2px;padding:0;border:0;border-radius:12px;color:#b8d2cb;background:transparent}.mobile-nav button span{font-size:17px}.mobile-nav button small{font-size:9px;font-weight:850}.mobile-nav button.is-active{color:#133a32;background:#eff9f5}}@media(max-width:700px){.main-area{padding:19px 13px calc(92px + env(safe-area-inset-bottom))}.page-header{align-items:flex-end;gap:14px}.page-header h1{font-size:26px}.page-header p:last-child{display:none}.page-header__actions{flex-direction:column;align-items:stretch;padding:0}.page-header__actions .button{min-height:39px;padding:0 12px;font-size:11px}.environment-banner{align-items:flex-start;flex-direction:column;gap:9px}.environment-banner__meta{justify-content:flex-start}.control-bar{align-items:stretch;flex-direction:column;gap:9px;padding:9px}.location-control{min-width:0}.date-control{width:100%}.date-control__picker{min-width:0;flex:1;padding:0 8px}.date-control__today{padding:0 9px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.summary-card{min-height:108px;padding:13px;border-radius:16px}.summary-card:first-child{grid-column:1/-1;min-height:92px}.summary-card>strong{margin:10px 0 5px;font-size:27px}.section-heading{align-items:flex-start}.section-heading h2{font-size:18px}.candidate-panel{padding:13px}.candidate-row{align-items:stretch;flex-direction:column}.candidate-row__actions .button{flex:1}.room-grid,.configuration-grid,.schedule-room-list{grid-template-columns:1fr}.turnover-flow{grid-template-columns:1fr auto 1fr auto 1fr}.turnover-flow>div:nth-of-type(3),.turnover-flow>.turnover-flow__arrow:nth-of-type(2){display:block}.form-grid--two{grid-template-columns:1fr}.form-grid--two>div:empty{display:none}.receipt__meta{grid-template-columns:1fr}.profile-warning{align-items:flex-start;flex-direction:column}.system-footer{justify-content:flex-start}.modal-backdrop{align-items:flex-end;padding:0}.modal-panel,.modal-panel--wide{width:100%;max-height:calc(100dvh - 10px);border-radius:23px 23px 0 0}.modal-header{padding:15px 16px 13px}.modal-body{max-height:calc(100dvh - 83px);padding:2px 16px 16px}.modal-actions{bottom:-16px;margin:17px -16px -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.modal-actions .button{flex:1}.login-card{padding:25px 21px}}@media(max-width:420px){.page-header__actions .button--secondary{display:none}.date-control__arrow{width:39px}.date-control__picker span{font-size:11px}.turnover-flow{grid-template-columns:1fr auto 1fr}.turnover-flow>div:nth-of-type(3),.turnover-flow>.turnover-flow__arrow:nth-of-type(2){display:none}.room-card__actions{align-items:stretch;flex-direction:column}.configuration-facts{grid-template-columns:1fr}}.notice--success{border-color:#b7ddcf;color:#145d4d;background:#effaf6}.staff-create-card,.staff-card,.setup-code-panel{border:1px solid var(--separator);border-radius:20px;background:#fff;box-shadow:var(--shadow-card)}.staff-create-card{padding:20px}.staff-create-card h3{margin:0 0 14px;font-size:18px}.staff-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:10px;align-items:end}.staff-create-form label{display:grid;gap:7px;font-size:12px;font-weight:800}.staff-create-form .button{min-height:44px}.setup-code-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;margin-top:16px;padding:16px;border-color:#b7ddcf;background:#effaf6}.setup-code-panel strong,.setup-code-panel p{grid-column:1 / -1;margin:0}.setup-code-panel code{padding:10px 12px;border-radius:12px;color:#123f35;background:#fff;font-size:17px;font-weight:900;letter-spacing:.08em;word-break:break-all}.setup-code-panel p{color:#55615e;font-size:12px}.staff-list{display:grid;gap:12px;margin-top:16px}.staff-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:18px}.staff-card h3{margin:0 0 4px;font-size:17px}.staff-card p{margin:0;color:#646b68;font-size:13px}.staff-card__status,.staff-card__actions{display:flex;gap:8px;align-items:center}.staff-card__actions{flex-wrap:wrap;justify-content:flex-end}@media(max-width:900px){.mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.staff-create-form{grid-template-columns:1fr}.staff-card{grid-template-columns:1fr;align-items:start}.staff-card__actions{justify-content:flex-start}}@media(max-width:520px){.setup-code-panel{grid-template-columns:1fr}.setup-code-panel code,.setup-code-panel .button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--content-max: 1240px;--surface-page: #f5f5f7;--separator: rgba(60, 60, 67, .16);--shadow-card: 0 1px 2px rgba(0, 0, 0, .03), 0 10px 28px rgba(20, 48, 41, .07)}body{color:#1d1d1f;background:radial-gradient(circle at 90% 0,rgba(40,129,107,.08),transparent 30rem),var(--surface-page);font-size:15px}.main-area{padding-top:30px}.page-header,.content-area,.environment-banner,.control-bar,.profile-warning,.system-footer{max-width:var(--content-max)}.page-header h1{color:#111412;font-weight:900}.eyebrow{font-size:12px;letter-spacing:.14em}.button--small{min-height:44px;padding:0 14px}.icon-button{width:44px;height:44px;border-radius:12px}.close-button{min-width:44px;min-height:44px;border-radius:12px}.date-control button,.date-control__picker{min-height:48px}.date-control__picker{display:flex;min-width:190px;align-items:center;justify-content:center;gap:8px;padding:0 16px}.date-control__picker strong{font-size:13px}.date-control__native{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.room-grid,.configuration-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}.room-card,.configuration-card,.log-row__body,.summary-card{border-color:var(--separator);box-shadow:var(--shadow-card)}.configuration-card footer{margin-top:14px}.configuration-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.offset-control{display:grid;grid-template-columns:repeat(3,auto) minmax(110px,1fr);gap:8px}.offset-control .input{min-width:0}.time-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;padding:10px;border:1px solid var(--separator);border-radius:16px;background:#f7f8f8}.time-preview>div{padding:10px 12px;border-radius:12px;background:#fff;text-align:center}.time-preview span,.time-preview strong{display:block}.time-preview span{color:#6e6e73;font-size:12px;font-weight:750}.time-preview strong{margin-top:5px;font-size:18px}.pin-reveal-card{display:grid;place-items:center;gap:12px;margin:16px 0;padding:24px 18px;border:1px solid #b9d9ce;border-radius:18px;background:#f2faf7}.pin-reveal-card>span{color:#56625e;font-size:13px;font-weight:800}.pin-reveal-card>strong{font-size:clamp(30px,8vw,44px);letter-spacing:.16em}.pin-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.pin-comparison>div{padding:12px;border-radius:13px;background:#f3f5f4}.pin-comparison dt{color:#6e6e73;font-size:12px;font-weight:750}.pin-comparison dd{margin:5px 0 0;font-size:13px;font-weight:850;word-break:break-word}.text-danger{color:var(--red-700)}.text-success{color:var(--green-700)}.room-card__header>div>p,.configuration-card header p,.room-card__facts>div,.configuration-facts dt,.configuration-facts dd,.configuration-locks>strong,.configuration-locks>div,.log-row__body header div span,.log-row__body>p,.log-row__meta,.outcome-badge,.log-lock-results>div,.field__label,.field__hint,.field__error,.form-error,.form-section__heading p,.notice,.info-card dt,.info-card dd,.toggle-row strong,.confirm-real strong,.toggle-row small,.confirm-real small,.check-group legend,.segmented-field legend,.check-row strong,.check-row small,.connection-result,.toast strong,.toast p,.role-badge,.system-footer{font-size:12px}@media(max-width:900px){.main-area{padding-top:20px}.mobile-nav{right:0;bottom:0;left:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--separator);border-radius:0;background:#f9f9f9f0;box-shadow:0 -8px 28px #00000014;backdrop-filter:blur(20px) saturate(180%)}.mobile-nav button{min-height:52px;color:#6e6e73;border-radius:11px}.mobile-nav button span{font-size:19px}.mobile-nav button small{font-size:11px}.mobile-nav button.is-active{color:var(--green-800);background:#1f69591a}}@media(max-width:700px){.page-header{align-items:flex-start;flex-direction:column}.page-header p:last-child{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.page-header__actions{width:100%;flex-direction:row;justify-content:flex-start}.page-header__actions .button{min-height:44px}.date-control{display:grid;grid-template-columns:44px minmax(0,1fr) 44px}.date-control__picker{min-width:0}.date-control__today{grid-column:1 / -1;grid-row:2}.offset-control{grid-template-columns:repeat(3,minmax(0,1fr))}.offset-control .input{grid-column:1 / -1}.time-preview,.configuration-card__actions{grid-template-columns:1fr}}@media(max-width:420px){.page-header__actions .button--secondary{display:inline-flex}.pin-comparison{grid-template-columns:1fr}}
