﻿:root{--navy:#071d3b;--ink:#0a1a2f;--muted:#607086;--line:#dce6ef;--blue:#0f72e5;--teal:#0ca7a0;--green:#12a66b;--gold:#d8a84e;--orange:#f08a00;--red:#ef4657;--purple:#7b61ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#eef4f8}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(216,168,78,.34);outline-offset:2px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:276px minmax(0,1fr)}.sidebar{min-height:100vh;padding:22px 14px;display:flex;flex-direction:column;gap:16px;color:#f7fbff;background:radial-gradient(circle at 18% 0%,rgba(216,168,78,.28),transparent 28%),linear-gradient(180deg,#0a315d,#071d3b 68%,#031426)}
.brand{display:flex;align-items:center;gap:12px;padding:0 6px 8px}.brand-mark{width:46px;height:46px;border-radius:999px;display:grid;place-items:center;color:#071d3b;background:linear-gradient(135deg,#edca82,#d8a84e);font-size:25px;font-weight:950}.brand strong{font-size:31px}.property-select{border:1px solid rgba(226,241,255,.22);border-radius:8px;padding:11px 12px;display:grid;gap:8px;background:rgba(255,255,255,.06)}.property-select span{font-size:13px;font-weight:800}.property-select select{border:0;outline:0;color:#e4f0ff;background:transparent}
.nav{display:grid;gap:7px}.nav-item,.sub-nav{min-height:44px;border:0;border-radius:8px;padding:0 14px;display:flex;align-items:center;gap:12px;color:#c7d7e7;background:transparent;font-weight:740;text-align:left}.nav-item i{width:24px;height:24px;border:1px solid rgba(220,238,255,.38);border-radius:7px;display:grid;place-items:center;color:#e5c27a;font-size:10px;font-style:normal}.nav-item b{margin-left:auto;min-width:28px;height:23px;border-radius:999px;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:12px}.nav-item.active,.nav-item:hover{color:#fff;background:linear-gradient(135deg,#0f72e5,#0b4f9f)}.sub-nav{margin-left:42px;min-height:30px;border-left:1px solid rgba(220,238,255,.25);color:#bfd2e5}.sub-nav.active{color:var(--gold)}
.summary-card,.user-card{border:1px solid rgba(226,241,255,.2);border-radius:8px;background:rgba(255,255,255,.06)}.summary-card{margin-top:auto;padding:16px}.summary-card p{margin:0 0 8px}.summary-card strong{display:block;font-size:30px}.summary-card small{color:#afc2d5}.spark{height:58px;margin:10px 0;border-radius:8px;background:linear-gradient(135deg,transparent,rgba(216,168,78,.22)),repeating-linear-gradient(135deg,#d8a84e 0 3px,transparent 3px 22px)}.target{height:8px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}.target i{display:block;height:100%;background:linear-gradient(90deg,#0f72e5,#d8a84e)}.summary-card button{width:100%;height:40px;margin-top:14px;border:1px solid var(--gold);border-radius:8px;color:#fff;background:transparent}.user-card{display:flex;gap:12px;align-items:center;padding:12px}.user-card span{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;color:#071d3b;background:#f5e8cf;font-weight:900}.user-card small{display:block;color:#bdd0e6}
.workspace{min-width:0;overflow-x:auto}.topbar{min-height:76px;padding:15px 24px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20}.title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.demo-badge{border:1px solid rgba(216,168,78,.32);border-radius:999px;padding:5px 10px;color:#7e5b12;background:#fff6df;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.demo-strip{margin:14px 24px 0;border:1px solid rgba(216,168,78,.28);border-radius:8px;padding:12px 14px;color:#6c4e10;background:linear-gradient(135deg,#fff6df,#fffdf7);font-weight:750}.topbar h1{margin:0;font-size:25px}.topbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.top-select{margin-left:auto}.top-select select,.date-btn,.icon-btn{height:40px;border:1px solid #cbd8e5;border-radius:8px;background:#fff;color:var(--ink)}.top-select select{min-width:190px;padding:0 12px}.date-btn{padding:0 18px}.icon-btn{width:42px;font-weight:850}.alert{color:var(--red)}
.view{display:none;padding:20px 24px}.view.active{display:block}.panel,.kpi-card,.flow-section,.metric-card{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.98);box-shadow:0 14px 32px rgba(25,46,72,.06)}.panel{padding:16px;min-width:0}.panel h2{margin:0 0 14px;font-size:16px}
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:14px}.kpi-card{min-height:98px;padding:15px;display:flex;align-items:center;gap:16px}.kpi-icon{width:64px;height:64px;border-radius:15px;display:grid;place-items:center;color:#fff;font-size:24px;font-weight:950}.blue{background:linear-gradient(135deg,#1786ff,#045fd0)}.green{background:linear-gradient(135deg,#33c388,#078a5b)}.gold{background:linear-gradient(135deg,#edca82,#d8a84e);color:#071d3b}.red{background:linear-gradient(135deg,#ff7d88,#ef4657)}.purple{background:linear-gradient(135deg,#8c7cff,#6354df)}.kpi-card p{margin:0;color:var(--muted);font-weight:760}.kpi-card strong{display:block;color:var(--ink);font-size:30px;line-height:1.1;margin:4px 0}.kpi-card small{color:var(--muted);font-size:12px}
.dashboard-grid{margin-top:14px;display:grid;grid-template-columns:1.45fr .72fr .78fr;gap:14px}.calendar-panel{grid-row:span 2}.calendar-grid{display:grid;grid-template-columns:72px repeat(7,1fr);grid-auto-rows:48px;gap:6px;align-items:center;font-size:12px}.calendar-grid b{color:var(--muted)}.calendar-grid strong{color:var(--ink)}.calendar-grid i{height:32px;border-radius:7px;background:#f7fafc;border:1px solid #e8eef4}.booking{height:32px;border-radius:7px;display:flex;align-items:center;padding:0 12px;font-style:normal;font-weight:750;white-space:nowrap}.blue-booking{background:#e2efff;color:#0a5fca}.green-booking{background:#dff8e9;color:#087545}.orange-booking{background:#fff0df;color:#b45700}.purple-booking{background:#f0ebff;color:#6d35c9}.red-booking{background:#ffe5e5;color:#d82929}.wide{grid-column:span 3}.wider{grid-column:span 4}.full{grid-column:span 5}
.room-status-panel{display:grid;gap:12px}.room-status-panel button{height:54px;border:1px solid #e7eef5;border-radius:8px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;background:#fff}.room-status-panel button:nth-of-type(1){background:#f6fffc}.room-status-panel button:nth-of-type(2){background:#fff7ea}.room-status-panel button:nth-of-type(3){background:#ffe5e5}.room-status-panel button:nth-of-type(4){background:#e2efff}.room-status-panel strong{font-size:22px}.donut{width:178px;height:178px;margin:16px auto;border-radius:999px;background:conic-gradient(var(--blue) 0 42%,var(--green) 42% 70%,var(--gold) 70% 91%,#e8eef4 91%);display:grid;place-items:center}.donut span{width:112px;height:112px;border-radius:999px;background:#fff;display:grid;place-items:center;color:var(--ink);font-size:28px;font-weight:850}.donut small{display:block;font-size:12px;color:var(--muted);font-weight:500}.channel-panel p{color:var(--muted);font-size:13px}
table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:10px 8px;border-bottom:1px solid #ebf1f6;text-align:left;vertical-align:middle}th{color:var(--muted);font-weight:780}.tag{padding:4px 8px;border-radius:7px;font-size:11px;white-space:nowrap}.green-tag{color:#087545;background:#dff8e9}.blue-tag{color:#0a5fca;background:#e2efff}.orange-tag{color:#b45700;background:#fff0df}.red-tag{color:#d82929;background:#ffe5e5}.revenue-panel svg{width:100%;height:156px}.revenue-panel polyline{fill:none;stroke:var(--teal);stroke-width:4}.revenue-panel polygon{fill:rgba(12,167,160,.12)}.revenue-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.revenue-summary span{border:1px solid #e7eef5;border-radius:8px;padding:12px;color:var(--muted)}.revenue-summary b{display:block;color:var(--ink);font-size:18px;margin-top:4px}
.reservation-layout{display:grid;grid-template-columns:318px minmax(620px,1fr) 318px;gap:14px}.reservation-list-panel,.reservation-main,.reservation-side{border:1px solid var(--line);border-radius:8px;background:#fff}.reservation-list-panel{padding:14px}.search-box{height:42px;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:1fr 58px;align-items:center;overflow:hidden}.search-box input{border:0;outline:0;padding-left:12px}.search-box span{height:100%;display:grid;place-items:center;color:var(--muted);border-left:1px solid var(--line);font-size:12px}.reservation-list{display:grid;gap:10px;margin-top:18px}.reservation-card{min-height:116px;border:1px solid var(--line);border-radius:8px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:6px;background:#fff;text-align:left}.reservation-card.active{border-color:var(--blue);background:#f3f8ff}.reservation-card span,.reservation-card small,.reservation-card b{grid-column:1/-1}.reservation-card span{font-size:17px;font-weight:850}.reservation-card b,.reservation-card small{color:var(--muted);font-weight:500}.reservation-card em{padding:4px 8px;border-radius:7px;font-style:normal;font-size:11px}.green-status{color:#087545!important;background:#dff8e9!important}.orange-status{color:#b45700!important;background:#fff0df!important}.new-reservation{width:100%;height:50px;margin-top:14px;border:1px solid var(--line);border-radius:8px;color:#334155;background:#fff}
.reservation-head{min-height:76px;padding:14px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.reservation-head h1{margin:0;font-size:25px}.reservation-head small{color:var(--muted)}.reservation-head button{margin-left:auto;height:40px;border:1px solid #ccd8e5;border-radius:8px;background:#fff;padding:0 14px}.reservation-head button+button{margin-left:0}.blue-btn{color:#fff!important;border:0!important;background:var(--blue)!important}.green-btn{color:#fff!important;border:0!important;background:var(--green)!important}.reservation-grid{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.hero-reservation{grid-column:1/-1;background:#f6fffc;border-color:#bfece1;position:relative}.hero-reservation h2{font-size:27px}.hero-reservation p{color:var(--muted)}.hero-reservation .tag{position:absolute;right:18px;top:26px}.info-card p{font-size:17px;font-weight:850;margin:0 0 8px}.info-card small{color:var(--muted)}.room-assign-card,.fee-card{grid-column:1/-1}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.room-grid button{height:70px;border:1px solid #dce6ef;border-radius:8px;font-size:20px;font-weight:850}.room-grid small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.ready{background:#dff8e9;color:#087545}.clean{background:#fff0df;color:#b45700}.busy{background:#e2efff;color:#0a5fca}.primary-action{width:100%;height:44px;margin-top:12px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-weight:850}.fee-card strong{display:block;margin-top:14px;color:var(--blue);font-size:18px}.reservation-side{padding:12px;display:grid;gap:12px;align-content:start}.chat{min-height:224px;padding:18px;border-radius:8px;background:#f5efe9}.chat p{width:fit-content;max-width:88%;padding:12px 14px;border-radius:8px;background:#fff;line-height:1.45}.chat small{display:block;margin-top:8px;color:var(--muted);text-align:right}.outgoing{margin-left:auto;background:#dcf8c6!important}.payment-card strong{display:block;color:var(--blue);font-size:36px}.payment-card small{color:var(--muted)}.payment-card button{width:100%;height:48px;margin-top:12px;border:1px solid #ffc174;border-radius:8px;color:#b45700;background:#fff7ea;font-weight:850}
.automation-layout{display:grid;grid-template-columns:minmax(870px,1fr) 356px;gap:14px}.flow-section{padding:14px}.rule-head{min-height:64px;margin-bottom:12px;display:flex;align-items:center;gap:12px}.rule-head div{margin-right:auto}.rule-head h1{margin:0 0 8px;font-size:20px}.rule-head h2{margin:0;font-size:18px}.rule-head h2 span{margin-left:12px;padding:4px 10px;border-radius:999px;color:#087545;background:#dff8e9;font-size:12px}.rule-head button{height:38px;min-width:92px;border:1px solid #ccd8e5;border-radius:8px;background:#fff}.publish-btn{color:#fff!important;border:0!important;background:linear-gradient(135deg,#0bb58a,#079c8f)!important}.flow-canvas{height:558px;border:1px solid var(--line);border-radius:8px;position:relative;overflow:hidden;background-image:radial-gradient(#dce7ef 1px,transparent 1px);background-size:14px 14px}.flow-canvas:before{content:"";position:absolute;left:155px;right:110px;top:118px;height:2px;background:#0b2447}.flow-canvas:after{content:"";position:absolute;left:230px;right:80px;top:318px;height:2px;background:#0b2447}.toolbox{position:absolute;left:10px;top:10px;width:42px;display:grid;gap:6px;padding:6px;border:1px solid var(--line);border-radius:8px;background:#fff;z-index:2}.toolbox button{height:30px;border:0;background:transparent;font-size:10px}.node{position:absolute;min-width:118px;min-height:72px;border:1px solid #91d8bd;border-radius:8px;padding:10px;display:grid;place-items:center;background:#f8fffc;color:#172033;font-weight:800;text-align:center;box-shadow:0 10px 24px rgba(14,42,70,.06)}.node.blue{border-color:#7eb6f4;background:#f4f9ff}.node.purple{border-color:#b5a4f5;background:#fbf8ff}.node.green{border-color:#8bd8bd;background:#f6fffb}.node.orange{border-color:#ffc174;background:#fffaf2}.node.red{border-color:#ff9d9d;background:#fff8f8}.decision{min-width:92px;min-height:92px;transform:rotate(45deg);border-color:#ffa826;color:#b45700;background:#fffaf0}.decision span{transform:rotate(-45deg);display:block}.n1{left:48px;top:82px}.n2{left:230px;top:82px}.n3{left:450px;top:82px}.d1{left:660px;top:72px}.n4{right:70px;top:84px}.n5{right:70px;top:230px}.n6{left:180px;top:280px}.n7{left:430px;top:280px}.n8{right:70px;top:280px}.n9{right:70px;top:430px}.automation-side{display:grid;gap:12px;align-content:start}.preview-message{border:1px solid var(--line);border-radius:8px;padding:14px;color:#334155;background:#dcf8c6;line-height:1.45}.preview-message small{display:block;margin-top:8px;color:var(--muted);text-align:right}.variables p{display:grid;grid-template-columns:1fr 1fr;padding:8px 0;margin:0;border-bottom:1px solid #edf2f7;color:var(--teal);font-weight:850}.variables span{color:var(--muted);font-weight:500}.failed-wa h2 b{float:right;width:26px;height:26px;border-radius:999px;display:inline-grid;place-items:center;color:var(--red);background:#ffe2e2;font-size:12px}.automation-bottom{margin-top:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric-card{min-height:118px;padding:16px}.metric-card small,.metric-card span{color:var(--muted)}.metric-card strong{display:block;margin:10px 0;font-size:34px}
.selected{outline:2px solid rgba(15,116,232,.34)!important;outline-offset:-2px}tbody tr,.kpi-card,.node,.metric-card,.room-status-panel button{cursor:pointer}tbody tr:hover,.kpi-card:hover,.node:hover,.metric-card:hover,.reservation-card:hover,.room-status-panel button:hover{outline:2px solid rgba(8,168,153,.22);outline-offset:-2px}.toast{position:fixed;right:22px;bottom:22px;padding:14px 18px;border-radius:8px;color:#fff;background:#061f3f;box-shadow:0 18px 36px rgba(0,0,0,.22);opacity:0;transform:translateY(18px);pointer-events:none;transition:.2s;z-index:50}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1350px){.app-shell{grid-template-columns:230px 1fr}.kpi-grid,.dashboard-grid,.reservation-layout,.automation-layout,.automation-bottom{grid-template-columns:1fr}.flow-canvas{min-width:980px}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.topbar{flex-wrap:wrap}.top-select{margin-left:0;width:100%}.top-select select{width:100%}.reservation-grid,.revenue-summary,.room-grid{grid-template-columns:1fr}.hero-reservation,.room-assign-card,.fee-card{grid-column:auto}}
