@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500&display=swap";:root{--bg: #f4f5f7;--panel: #ffffff;--ink: #14161f;--muted: #6b7280;--muted-soft: #9ca3af;--line: #e7e8ec;--line-soft: #f0f1f4;--brand: #14161f;--brand-soft: #1e2130;--accent: #5b5bf6;--accent-ink: #4341e8;--accent-soft: #edecff;--accent-soft-line: #dcdafc;--danger: #e0455a;--danger-soft: #fdecee;--ok: #16a37a;--ok-soft: #e4f7f0;--warn: #d9832a;--warn-soft: #fdf1e3;--info: #2f7de1;--info-soft: #eaf2fd;--radius: 14px;--radius-sm: 9px;--shadow-xs: 0 1px 2px rgba(20, 22, 31, .04);--shadow-sm: 0 1px 2px rgba(20, 22, 31, .04), 0 4px 12px rgba(20, 22, 31, .05);--shadow-md: 0 8px 24px rgba(20, 22, 31, .08), 0 2px 6px rgba(20, 22, 31, .04);--shadow-lg: 0 24px 48px rgba(20, 22, 31, .16), 0 4px 12px rgba(20, 22, 31, .06);--ease: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html{color-scheme:only light}html,body,#root{height:100%;margin:0}:root{color-scheme:only light}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased;letter-spacing:-.01em}code,.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;letter-spacing:0}svg.icon{display:inline-block;vertical-align:-3px}.app{display:flex;min-height:100vh}.sidebar{width:264px;background:var(--brand);color:#aeb1c4;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;border-right:1px solid rgba(255,255,255,.06);transition:width .18s var(--ease);flex-shrink:0}.sidebar.collapsed{width:76px}.sidebar .logo{padding:22px 22px 18px;color:#fff;font-size:16.5px;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:10px}.sidebar.collapsed .logo{justify-content:center;padding:20px 0}.sidebar .logo .mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#8b7bf7);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 14px #5b5bf666;flex-shrink:0}.sidebar .logo .txt-wrap{display:flex;flex-direction:column;line-height:1.25;white-space:nowrap}.sidebar .logo small{display:block;font-size:11px;font-weight:500;color:#767a91;letter-spacing:0;margin-top:1px}.nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:6px 14px 12px}.sidebar.collapsed .nav{padding:6px 12px 12px}.nav a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;color:#b2b4c8;text-decoration:none;margin-bottom:3px;font-weight:550;font-size:14.5px;transition:background .15s var(--ease),color .15s var(--ease);position:relative;white-space:nowrap}.sidebar.collapsed .nav a{justify-content:center;padding:12px}.nav a:hover{background:#ffffff12;color:#fff}.nav a.active{background:#5b5bf633;color:#fff}.nav a.active .ico{color:#a5a2ff;opacity:1}.nav a.active:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--accent);border-radius:0 3px 3px 0}.sidebar.collapsed .nav a.active:before{display:none}.nav a .ico{width:19px;flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.92}.nav .group-label{padding:18px 14px 7px;font-size:10.5px;text-transform:uppercase;color:#5c5f74;letter-spacing:.07em;font-weight:650}.sidebar-collapse-btn{display:flex;align-items:center;gap:10px;margin:6px 14px 14px;padding:14px 14px 10px;border:none;border-top:1px solid rgba(255,255,255,.07);background:transparent;color:#8386a0;font-family:inherit;font-size:13px;font-weight:550;cursor:pointer;border-radius:0;transition:color .15s var(--ease)}.sidebar-collapse-btn:hover{color:#fff}.sidebar.collapsed .sidebar-collapse-btn{justify-content:center;margin:6px 12px 14px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:64px;background:#f4f5f7d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.topbar h1{font-size:19px;margin:0;font-weight:700;letter-spacing:-.02em}.topbar-toggle{width:38px;height:38px;flex-shrink:0;border:1px solid var(--line);background:#fff;border-radius:10px;color:var(--ink, #14161f);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .12s}.topbar-toggle:hover{background:var(--accent-soft);border-color:var(--accent-soft-line);color:var(--accent)}.content{padding:26px 28px 40px;flex:1}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow-x:auto;-webkit-overflow-scrolling:touch}.panel-pad{padding:20px}.panel-head{padding:16px 20px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h2{margin:0;font-size:14.5px;font-weight:650;display:flex;align-items:center;gap:9px;letter-spacing:-.01em}.panel-head h2 .ico{color:var(--accent)}.grid{display:grid;gap:16px}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1100px){.cols-4,.cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}.sidebar,.sidebar.collapsed{width:64px}.sidebar .logo .txt-wrap,.nav a span.txt,.nav .group-label,.sidebar-collapse-btn{display:none}.sidebar .logo{justify-content:center;padding:18px 0}.topbar{height:auto;min-height:60px;padding:10px 16px;flex-wrap:nowrap;gap:10px}.topbar h1{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.topbar .flex{gap:10px!important;flex-shrink:0}.content{padding:14px 14px 32px}}@media(max-width:480px){.topbar>.flex>.small.muted{display:none}}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:box-shadow .2s var(--ease),transform .2s var(--ease)}.stat:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat .stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.stat .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.stat .stat-ico{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-ink)}.stat .value{font-size:27px;font-weight:750;letter-spacing:-.02em}.stat .sub{color:var(--muted-soft);font-size:12px;margin-top:3px}.quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.quick-action{display:flex;align-items:center;gap:11px;padding:13px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink);box-shadow:var(--shadow-sm);text-align:left;transition:transform .15s var(--ease),box-shadow .15s var(--ease),border-color .15s var(--ease);flex:1 1 160px;min-width:160px}.quick-action:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--accent-soft-line)}.quick-action:active{transform:translateY(0)}.quick-action-ico{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:7px;padding:8.5px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;font-size:13.5px;font-weight:550;transition:background .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),transform .05s var(--ease);font-family:inherit}.btn:hover{background:#f8f8fa;border-color:#d7d8de}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px #5b5bf647}.btn.primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn.danger{background:#fff;border-color:var(--line);color:var(--danger)}.btn.danger:hover{background:var(--danger-soft);border-color:#f3c6cc}.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn.ok:hover{filter:brightness(.95)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--line-soft)}.btn.sm{padding:5.5px 10px;font-size:12.5px;border-radius:7px}.btn.icon-only{padding:7px;width:32px;height:32px;justify-content:center}.btn.icon-only.sm{width:28px;height:28px;padding:5px}.btn:disabled{opacity:.5;cursor:not-allowed}label.field{display:block;margin-bottom:12px}label.field .lbl{display:block;font-size:12.5px;color:var(--muted);margin-bottom:5px;font-weight:550}input,select,textarea{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:13.5px;font-family:inherit;background:#fff;color:var(--ink);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3.5px var(--accent-soft)}input::placeholder,textarea::placeholder{color:var(--muted-soft)}input,select,textarea{color-scheme:only light}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55;padding:3px;border-radius:6px;transition:opacity .12s var(--ease),background .12s var(--ease)}input[type=date]:hover::-webkit-calendar-picker-indicator,input[type=time]:hover::-webkit-calendar-picker-indicator{opacity:1;background:var(--accent-soft)}input[type=color]{padding:4px;height:40px;cursor:pointer}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:6px}input[type=color]::-moz-color-swatch{border:none;border-radius:6px}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1;min-width:120px}.check{display:flex;align-items:center;gap:8px;font-weight:500}.check input{width:auto}table.tbl{width:100%;border-collapse:collapse}table.tbl th,table.tbl td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line-soft)}table.tbl th{font-size:11px;text-transform:uppercase;color:var(--muted-soft);letter-spacing:.05em;font-weight:650;background:#fbfbfc}table.tbl tbody tr{transition:background .12s var(--ease)}table.tbl tbody tr:hover{background:#fafafe}table.tbl tbody tr:last-child td{border-bottom:none}table.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.reservations-panel{overflow:auto}.reservations-table{min-width:1080px}.reservations-table th{padding-top:10px;padding-bottom:10px;background:#f8f8fb}.reservations-table td{vertical-align:middle}.reservations-table tbody tr{position:relative}.reservations-table tbody tr:hover{background:#f8f8ff}.reservations-table tbody tr.status-cancelled{background:#fcfafb}.reservations-table tbody tr.status-cancelled td{opacity:.72}.reservation-code code{color:var(--ink);font-size:12px;font-weight:700;background:transparent;padding:0}.guest-cell{display:flex;align-items:center;gap:9px;min-width:145px}.guest-cell strong{font-size:13px;font-weight:650}.guest-avatar{width:28px;height:28px;display:inline-flex;flex:0 0 28px;align-items:center;justify-content:center;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:750;letter-spacing:.02em}.room-cell-detail>strong{display:inline-flex;min-width:27px;align-items:center;justify-content:center;padding:2px 6px;border-radius:6px;background:#f1f2f7;color:var(--ink);font-size:12px}.period-cell{display:flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums;color:var(--ink)}.period-cell b{color:var(--muted-soft);font-weight:500}.source-pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--muted)}.source-pill i{width:7px;height:7px;display:inline-block;border-radius:99px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3.5px 10px;border-radius:999px;font-size:11.5px;font-weight:650;letter-spacing:.01em}.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:7px;font-size:12px;background:var(--line-soft);color:var(--muted);font-weight:550}.tag.gold{background:var(--warn-soft);color:#a05f13}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.toolbar .spacer,.modal-foot .spacer{flex:1}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f101780;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:100;overflow-y:auto;animation:fadeIn .15s var(--ease)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:16px;width:100%;max-width:640px;box-shadow:var(--shadow-lg);animation:modalIn .18s var(--ease);border:1px solid rgba(255,255,255,.1)}@keyframes modalIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.modal.lg{max-width:860px}.modal-head{padding:18px 22px;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center}.modal-head h3{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em}.modal-body{padding:22px}.form-section{padding-top:20px;margin-top:20px;border-top:1px solid var(--line-soft)}.form-section.first{padding-top:0;margin-top:0;border-top:none}.form-section-head{display:flex;align-items:center;gap:7px;margin-bottom:14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-soft)}.form-section-head .ico{color:var(--accent);flex-shrink:0}.form-section .field:last-child,.form-section .row:last-child{margin-bottom:0}.stepper{display:flex;align-items:center;margin-bottom:22px}.stepper-item{display:flex;align-items:center;gap:9px;background:none;border:none;cursor:pointer;font-family:inherit;padding:4px 2px;color:var(--muted-soft);font-size:13px;font-weight:650;white-space:nowrap}.stepper-num{width:24px;height:24px;border-radius:50%;background:var(--line-soft);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;flex-shrink:0;transition:background .15s var(--ease),color .15s var(--ease)}.stepper-item.active{color:var(--ink)}.stepper-item.active .stepper-num{background:var(--accent);color:#fff}.stepper-item.done .stepper-num{background:var(--ok-soft);color:#0f7d5c}.stepper-line{flex:1;height:1px;background:var(--line);margin:0 12px;min-width:16px}@media(max-width:480px){.stepper-label{display:none}.stepper-line{margin:0 6px}}.modal-foot{padding:16px 22px;border-top:1px solid var(--line-soft);display:flex;justify-content:flex-end;gap:10px}.x{border:none;background:var(--line-soft);color:var(--muted);cursor:pointer;line-height:1;width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .15s var(--ease),color .15s var(--ease)}.x:hover{background:var(--line);color:var(--ink)}.toasts{position:fixed;bottom:22px;right:22px;display:flex;flex-direction:column;gap:10px;z-index:200}.toast{background:var(--ink);color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow-lg);max-width:360px;font-size:13.5px;font-weight:500;animation:toastIn .2s var(--ease);display:flex;align-items:center;gap:9px}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast.err{background:var(--danger)}.toast.ok{background:var(--ok)}.cal-wrap{overflow:auto;max-height:calc(100vh - 308px);min-height:300px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}.cal{border-collapse:collapse;min-width:100%}.cal th,.cal td{border-right:1px solid #cfd3db;border-bottom:1px solid var(--line-soft);padding:0}.cal th:first-child,.cal td:first-child{border-left:1px solid #cfd3db}.cal td.cell.weekend{background:#fff8ef}.cal .room-cell{padding:7px 12px;font-weight:700;white-space:nowrap;position:sticky;left:0;background:#fff;z-index:2;font-size:15.5px;letter-spacing:-.01em}.cal thead th{position:sticky;top:0;z-index:4}.cal thead .room-cell{z-index:5}.cal .day-head{padding:7px 4px;font-size:11px;text-align:center;min-width:44px;color:var(--muted);background:#fbfbfc;font-weight:550}.cal .day-head.weekend{background:var(--warn-soft);color:#a05f13}.cal .day-head.today{background:#4341e8;color:#fff}.cal .cell{height:36px;min-width:44px;position:relative;transition:background .12s var(--ease)}.cal .cell:hover{background:var(--accent-soft);cursor:pointer}.cal .cell.today{background:#f3f3ff}.cal .cell.today:hover{background:var(--accent-soft)}.cal .cell.task-cleaning{background:#fff8ed;box-shadow:inset 0 2px #f4a340}.cal .cell.task-restock{background:#eef8ff;box-shadow:inset 0 2px #2996d6}.cal .cell.task-cleaning.task-restock{background:linear-gradient(135deg,#fff8ed 0,#fff8ed 50%,#eef8ff 50%,#eef8ff);box-shadow:inset 0 2px #7b74bf}.cal .cell.task-linen{background:#f3effc;box-shadow:inset 0 2px #6b46c1}.cal .hk-dot{display:inline-block;width:7px;height:7px;border-radius:999px;margin-right:6px;vertical-align:1px}.cal .res-bar{position:absolute;top:4px;bottom:4px;left:2px;right:2px;border-radius:6px;color:#fff;font-size:11px;padding:2px 7px;overflow:hidden;white-space:nowrap;cursor:pointer;display:flex;align-items:center;gap:4px;font-weight:550;box-shadow:0 1px 3px #00000026;transition:filter .12s var(--ease),transform .12s var(--ease)}.cal .res-bar:hover{filter:brightness(1.08);transform:translateY(-1px)}.cal .lock-bar{position:absolute;top:4px;bottom:4px;left:2px;right:2px;border-radius:6px;color:#e9eaf0;font-size:11px;padding:2px 7px;overflow:hidden;white-space:nowrap;cursor:pointer;display:flex;align-items:center;gap:4px;font-weight:600;background:#454a5a;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 5px,transparent 5px 10px);box-shadow:0 1px 3px #0003;transition:filter .12s var(--ease)}.cal .lock-bar:hover{filter:brightness(1.15)}.room-pick-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.room-pick-head .spacer{flex:1}.room-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;max-height:230px;overflow:auto;padding:4px}.room-pick{position:relative;display:flex;flex-direction:column;gap:3px;padding:9px 11px;cursor:pointer;border:1.5px solid var(--line);border-radius:10px;background:#fff;transition:border-color .12s var(--ease),background .12s var(--ease),box-shadow .12s var(--ease)}.room-pick:hover{border-color:#c7c4f7;box-shadow:var(--shadow-sm)}.room-pick.selected{border-color:var(--accent);background:var(--accent-soft)}.room-pick .rp-top{display:flex;align-items:center;gap:6px}.room-pick .rp-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.room-pick .rp-num{font-size:15px;font-weight:750;letter-spacing:-.01em}.room-pick .rp-type{font-size:10.5px;color:var(--muted);line-height:1.2}.room-pick .rp-check{position:absolute;top:7px;right:7px;width:16px;height:16px;border-radius:999px;background:var(--accent);color:#fff;display:none;align-items:center;justify-content:center}.room-pick.selected .rp-check{display:flex}.room-pick-empty{padding:24px;text-align:center;color:var(--muted);font-size:12.5px}.hk-rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.hk-rule{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:#fcfcfd}.hk-rule-title{display:flex;align-items:center;gap:7px;font-weight:650;font-size:13px;margin-bottom:10px}.res-timeline{display:flex;flex-direction:column;gap:0}.res-timeline-item{display:flex;gap:11px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.res-timeline-item:last-child{border-bottom:none}.res-timeline .rt-dot{width:9px;height:9px;border-radius:999px;margin-top:4px;flex-shrink:0;background:#94a3b8}.res-timeline .rt-dot.rt-created{background:#4341e8}.res-timeline .rt-dot.rt-room{background:#d9832a}.res-timeline .rt-dot.rt-dates{background:#2f7de1}.res-timeline .rt-dot.rt-status{background:#0f7d5c}.res-timeline .rt-dot.rt-cancelled{background:#e0455a}.res-timeline .rt-dot.rt-extra{background:#6b46c1}.res-timeline .rt-detail{font-size:13px;font-weight:550}.bar-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.bar-product{display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:9px 11px;cursor:pointer;border:1.5px solid var(--line);border-radius:10px;background:#fff;font:inherit;text-align:left;transition:border-color .12s var(--ease),box-shadow .12s var(--ease),transform .08s var(--ease)}.bar-product:hover{border-color:#c7c4f7;box-shadow:var(--shadow-sm)}.bar-product:active{transform:scale(.97)}.bar-product .bp-name{font-weight:650;font-size:13px}.bar-product .bp-price{font-size:12px;color:var(--muted)}.bar-cart{border-top:1px solid var(--line);padding:12px 16px;background:#fcfcfd;border-radius:0 0 var(--radius) var(--radius)}.bar-cart-row{display:flex;align-items:center;gap:10px;padding:5px 0}.bar-cart-row .bc-name{flex:1;font-size:13px;font-weight:550}.bar-cart-row .bc-sum{width:64px;text-align:right;font-weight:650;font-size:13px}.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden}.qty-stepper button{width:26px;height:26px;border:none;background:#fff;cursor:pointer;font-size:15px;color:var(--ink)}.qty-stepper button:hover{background:var(--line-soft)}.qty-stepper span{min-width:26px;text-align:center;font-size:13px;font-weight:650}.bar-note{width:100%;margin-top:8px}.bar-cart-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft);font-size:15px}.bar-tabs{display:flex;flex-direction:column;gap:8px}.bar-tab{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:border-color .12s var(--ease),background .12s var(--ease)}.bar-tab:hover{border-color:#c7c4f7;background:var(--accent-soft)}.bar-tab-total{font-weight:750;font-size:16px;color:var(--accent)}.input-with-icon{position:relative}.input-with-icon .in-ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.input-with-icon input{padding-left:30px;width:100%}.bar-room-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:210px;overflow:auto;padding:2px}.bar-room{position:relative;display:flex;align-items:baseline;gap:8px;padding:10px 12px;cursor:pointer;text-align:left;border:1.5px solid var(--line);border-radius:10px;background:#fff;font:inherit;transition:border-color .12s var(--ease),background .12s var(--ease),box-shadow .12s var(--ease)}.bar-room:hover{border-color:#c7c4f7;box-shadow:var(--shadow-sm)}.bar-room.selected{border-color:var(--accent);background:var(--accent-soft)}.bar-room .br-num{font-size:17px;font-weight:750;letter-spacing:-.01em}.bar-room .br-guest{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-room .br-check{position:absolute;top:8px;right:8px;color:var(--accent)}.bar-selected-note{margin:10px 0 2px;padding:8px 11px;border-radius:8px;background:var(--accent-soft);color:var(--accent-ink, #4341e8);font-size:12.5px;display:flex;align-items:center;gap:6px}.cal .res-bar.has-task-cleaning{box-shadow:inset 4px 0 #f4a340,0 1px 3px #00000026}.cal .res-bar.has-task-restock{box-shadow:inset 4px 0 #2996d6,0 1px 3px #00000026}.cal .res-bar.has-task-linen{box-shadow:inset 4px 0 #6b46c1,0 1px 3px #00000026}.cal .res-bar.has-task-cleaning.has-task-restock{box-shadow:inset 4px 0 #7b74bf,0 1px 3px #00000026}.cal .cal-tasks{position:absolute;right:2px;top:2px;z-index:3;display:flex;gap:2px;pointer-events:none}.cal .cal-task{width:16px;height:16px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 1px 3px #0f172a33}.cal .cal-task.cleaning{background:#e88922}.cal .cal-task.restock{background:#278ccc}.cal .cal-task.linen{background:#6b46c1}.cal-task-legend.cleaning{color:#a05f13}.cal-task-legend.restock{color:#277ab6}.cal-task-legend.linen{color:#6b46c1}.cal .floor-row td{background:#f6f6f9;font-weight:700;font-size:11.5px;padding:5px 12px;position:sticky;left:0;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.ctx-menu{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow-lg);padding:6px;min-width:220px;z-index:300;animation:modalIn .12s var(--ease)}.ctx-label{padding:7px 10px 5px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-soft);font-weight:650}.ctx-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:7px;cursor:pointer;font-size:13.5px;font-weight:500;color:var(--ink);transition:background .1s var(--ease)}.ctx-item:hover{background:var(--line-soft)}.ctx-item.danger{color:var(--danger)}.ctx-item.danger:hover{background:var(--danger-soft)}.ctx-item.disabled{opacity:.4;cursor:not-allowed}.ctx-divider{height:1px;background:var(--line-soft);margin:5px 4px}.segmented{display:inline-flex;background:var(--line-soft);border-radius:9px;padding:2px;gap:2px}.segmented button{border:none;background:transparent;padding:6px 12px;border-radius:7px;font-size:13px;font-weight:550;color:var(--muted);cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease);font-family:inherit}.segmented button.active{background:#fff;color:var(--ink);box-shadow:var(--shadow-xs)}.floor-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:12px 14px 12px 16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-xs)}.floor-panel-copy{display:flex;flex-direction:column;gap:2px;min-width:185px}.floor-panel-title{color:var(--ink);font-size:13px;font-weight:700}.floor-panel-subtitle{color:var(--muted-soft);font-size:11.5px}.floor-tabs{display:inline-flex;align-items:center;gap:3px;padding:3px;background:var(--line-soft);border-radius:9px}.floor-tabs button{border:none;background:transparent;padding:6px 9px;border-radius:7px;color:var(--muted);cursor:pointer;font:inherit;font-size:12px;font-weight:600;white-space:nowrap}.floor-tabs button.active{color:var(--ink);background:#fff;box-shadow:var(--shadow-xs)}.floor-tabs button span{display:inline-flex;margin-left:5px;min-width:16px;justify-content:center;border-radius:999px;padding:0 4px;color:var(--muted-soft);background:var(--line-soft);font-size:10px}.floor-tabs button.active span{background:var(--accent-soft);color:var(--accent)}@media(max-width:980px){.floor-panel{align-items:flex-start;flex-direction:column;gap:10px}.floor-tabs{max-width:100%;overflow-x:auto}}.rooms-floor{margin-bottom:24px}.rooms-floor:last-child{margin-bottom:4px}.rooms-floor-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.rooms-floor-head .label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);white-space:nowrap}.rooms-floor-head .count{font-size:12px;color:var(--muted-soft);white-space:nowrap}.rooms-floor-head .line{flex:1;height:1px;background:var(--line)}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px}.room-card{position:relative;border-radius:12px;padding:12px 14px 13px;cursor:pointer;border:1px solid var(--line);background:#fff;overflow:hidden;transition:transform .14s var(--ease),box-shadow .14s var(--ease),border-color .14s var(--ease)}.room-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--room-color, #94a3b8);opacity:.06;pointer-events:none}.room-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--room-color, #94a3b8)}.room-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--room-color, var(--line))}.room-card.inactive{opacity:.5}.room-card .room-number{font-size:18px;font-weight:750;letter-spacing:-.02em;display:block;position:relative}.room-card .room-type{font-size:11px;color:var(--muted);margin-top:4px;display:block;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-card .room-flag{position:absolute;top:9px;right:9px;width:17px;height:17px;border-radius:50%;background:var(--danger-soft);color:var(--danger);display:flex;align-items:center;justify-content:center}.type-row{display:flex;align-items:center;gap:12px;padding:11px 8px;border-radius:10px;transition:background .12s var(--ease)}.type-row:hover{background:var(--line-soft)}.type-swatch{width:30px;height:30px;border-radius:8px;flex-shrink:0}.type-row .name{font-weight:600;font-size:13.5px}.type-row .meta{font-size:12px;color:var(--muted);margin-top:1px}.stat.clickable{cursor:pointer;transition:box-shadow .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease)}.stat.clickable:hover{transform:translateY(-1px)}.stat.clickable.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.hk-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}.hk-board.single{grid-template-columns:minmax(0,1fr)}@media(max-width:1300px){.hk-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.hk-board{grid-template-columns:minmax(0,1fr)}}.hk-column{background:#f3f4f7;border-radius:var(--radius);padding:12px;min-height:90px}.hk-column-head{display:flex;align-items:center;gap:9px;padding:2px 4px 12px}.hk-column-head .hk-col-ico{width:27px;height:27px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hk-column-head .lbl{font-weight:650;font-size:13px;flex:1;letter-spacing:-.01em}.hk-column-head .count{font-size:12px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:1px 9px;font-weight:650}.hk-cards{display:flex;flex-direction:column;gap:10px}.hk-board.single .hk-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.hk-empty-col{padding:18px 8px;text-align:center;color:var(--muted-soft);font-size:12.5px}.hk-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 13px 13px 15px;box-shadow:var(--shadow-xs);position:relative;transition:box-shadow .15s var(--ease),transform .15s var(--ease)}.hk-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;border-radius:12px 0 0 12px;background:var(--room-color, #94a3b8)}.hk-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.hk-card.urgent{background:#fef4f4;border-color:#f3c6cc}.hk-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:9px}.hk-card-number{font-size:17px;font-weight:750;letter-spacing:-.02em;display:block}.hk-card-meta{font-size:11px;color:var(--muted);margin-top:1px}.hk-card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}.hk-card-tags:empty{display:none}.hk-card-last{font-size:11.5px;color:var(--muted-soft);margin-bottom:10px}.hk-card-last strong{color:var(--muted);font-weight:550}.hk-card-actions{display:flex;gap:6px}.hk-card-actions .btn.primary{flex:1}.hk-room-search{display:inline-flex;align-items:center;gap:7px;height:34px;min-width:220px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted)}.hk-room-search input{min-width:0;width:100%;height:30px;padding:0;border:0;background:transparent;box-shadow:none}.hk-room-search input:focus{outline:none}.hk-room-search button{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:5px;background:var(--line-soft);color:var(--muted);cursor:pointer}.hk-ready-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hk-ready-card{display:flex;align-items:center;gap:11px;min-height:62px;padding:11px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;font:inherit;box-shadow:var(--shadow-xs);transition:border-color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease)}.hk-ready-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.hk-ready-ico{display:inline-flex;width:31px;height:31px;align-items:center;justify-content:center;border-radius:9px;flex-shrink:0}.hk-ready-copy{display:flex;flex-direction:column;gap:1px;flex:1}.hk-ready-copy strong{font-size:13px;font-weight:650}.hk-ready-copy small{font-size:11px;color:var(--muted-soft)}.hk-ready-count{font-size:20px;font-weight:750;letter-spacing:-.03em}.hk-ready-search{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.hk-ready-search>div:first-child{display:flex;flex-direction:column;gap:1px}.hk-ready-search strong{font-size:13px}.hk-ready-search span{color:var(--muted-soft);font-size:11px}.hk-ready-results{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.hk-ready-results-label{margin:0 0 10px 2px;color:var(--muted);font-size:12px;font-weight:650}.rooms-grid.compact{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.room-card.sm{padding:8px 10px 9px;cursor:pointer}.room-card.sm .room-number{font-size:13.5px}.room-card.sm .room-type{font-size:10px}.hk-ooo-strip{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}.hk-ooo-card{flex:0 0 250px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--muted-soft);border-radius:11px;padding:12px 13px}.muted{color:var(--muted)}.small{font-size:12.5px}.right{text-align:right}.center{text-align:center}.nowrap{white-space:nowrap}.mb0{margin-bottom:0}.mt16{margin-top:16px}.flex{display:flex;gap:10px;align-items:center}.dot{width:10px;height:10px;border-radius:3px;display:inline-block;flex-shrink:0}.cal-legend{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:10px;padding:0 2px}.cal-legend .item{display:flex;gap:6px;align-items:center;font-size:11.5px;color:var(--muted-soft);font-weight:500}.empty{padding:48px;text-align:center;color:var(--muted-soft);font-size:13.5px}.empty .ico{display:block;margin:0 auto 10px;color:var(--muted-soft);opacity:.5}.callout{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:var(--radius);margin-bottom:16px;border:1px solid var(--warn-soft);background:var(--warn-soft);color:#8a5211;font-size:13.5px;line-height:1.5}.callout .ico{flex-shrink:0;margin-top:1px}.callout code{background:#0000000f;padding:1px 5px;border-radius:4px}.print-header{display:none}@media print{.sidebar,.topbar,.toolbar,.btn,.no-print{display:none!important}.content{padding:0}.panel{box-shadow:none;border:none}body{background:#fff}.print-header{display:block;font-size:13px;color:var(--muted);padding:0 0 14px;border-bottom:1px solid var(--line);margin-bottom:14px}table.tbl{font-size:12px}table.tbl th,table.tbl td{padding:6px 8px}}@media(max-width:700px){.modal-backdrop{padding:0;align-items:stretch;overflow:hidden}.modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;border:none;display:flex;flex-direction:column}.modal-head{flex-shrink:0;padding:16px}.modal-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px}.modal-foot{flex-shrink:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap}.modal-foot>*{flex:1}.panel{overflow-x:visible}table.tbl thead{display:none}table.tbl,table.tbl tbody,table.tbl tr,table.tbl td{display:block;width:100%}table.tbl tr{padding:12px 14px;border-bottom:1px solid var(--line-soft)}table.tbl tbody tr:last-child{border-bottom:none}table.tbl td{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:5px 0;border-bottom:none;text-align:right}table.tbl td:before{content:attr(data-label);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-soft);font-weight:650;text-align:left;flex-shrink:0}table.tbl td:empty{display:none}table.tbl td.actions-cell{justify-content:flex-end;padding-top:10px;margin-top:4px;border-top:1px dashed var(--line-soft)}table.tbl td.actions-cell:before{content:none}table.tbl td.stack-cell{align-items:flex-start}table.tbl td.stack-cell>*:first-child{text-align:right}}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid var(--line-soft)}.pager .btn.sm:disabled{opacity:.45;cursor:not-allowed}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-soft) 0%,#ffffff 60%,#f6f7fb 100%);padding:24px}.login-card{width:100%;max-width:400px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow-lg, 0 20px 50px -20px rgba(29,32,51,.25));display:flex;flex-direction:column;gap:14px}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:6px}.login-logo .mark{width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border-radius:12px}.login-logo h1{font-size:18px;margin:0}.btn.primary.lg{padding:11px 18px;font-size:15px}.user-menu{position:relative}.user-chip{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 5px;cursor:pointer;transition:all .15s var(--ease, ease)}.user-chip:hover{border-color:var(--accent-soft-line);background:var(--accent-soft)}.user-chip .avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;letter-spacing:.02em}.user-chip .nm{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.user-chip .nm strong{font-size:13px}.user-chip .nm small{font-size:11px}.user-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:60;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;min-width:220px;box-shadow:var(--shadow-lg, 0 14px 40px -14px rgba(29,32,51,.25));display:flex;flex-direction:column;gap:10px}.user-pop .pop-head{padding-bottom:10px;border-bottom:1px solid var(--line-soft)}.tag.info{background:var(--info-soft);color:#1f5a99}.profile-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}@media(max-width:820px){.profile-grid{grid-template-columns:1fr}}.profile-head{display:flex;align-items:center;gap:14px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line-soft)}.profile-avatar{width:54px;height:54px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;letter-spacing:.02em;flex-shrink:0}.price-cal-wrap{overflow-x:auto;border-radius:12px}.price-cal{border-collapse:separate;border-spacing:0;width:100%;font-size:15px}.price-cal th,.price-cal td{border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft)}.price-cal thead th{position:sticky;top:0;z-index:2;background:#f7f8fc;padding:12px 6px;text-align:center;font-weight:600;min-width:62px;border-bottom:2px solid var(--line)}.price-cal thead th.pc-weekend{background:#fff3e6}.pc-dow{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}.pc-date{font-size:18px;font-weight:750;line-height:1}.price-cal thead th.pc-weekend .pc-dow{color:#c2751a}.pc-corner,.pc-type{position:sticky;left:0;z-index:1;background:#fff;text-align:left}.pc-corner{z-index:3;min-width:210px;padding:12px 16px;background:#f7f8fc;border-bottom:2px solid var(--line);font-weight:600;color:var(--muted)}.pc-type{min-width:210px;padding:12px 16px}.pc-type .pc-type-inner{display:flex;align-items:center;gap:11px}.pc-type .pc-txt{display:flex;flex-direction:column;line-height:1.3}.pc-type strong{font-size:14.5px}.pc-type small{font-size:12px;color:var(--muted)}.pc-dot{width:12px;height:12px;border-radius:4px;flex-shrink:0}.price-cal tbody tr:nth-child(2n) td{background:#fcfcfe}.price-cal tbody tr:nth-child(2n) .pc-type{background:#fcfcfe}.pc-cell{text-align:center;cursor:pointer;padding:0;height:64px;transition:background .1s,box-shadow .1s;position:relative}.pc-cell:hover{background:var(--accent-soft)!important;box-shadow:inset 0 0 0 2px var(--accent-soft-line)}.pc-cell.weekend{background:#fffaf3}.pc-cell.custom{background:var(--accent-soft)!important;color:var(--accent-ink, #4341e8);box-shadow:inset 0 0 0 1.5px var(--accent-soft-line)}.pc-price{display:inline-flex;align-items:center;justify-content:center;padding:0 6px;width:100%;height:64px;font-weight:600}.pc-cell.custom .pc-price{font-weight:750}.pc-input{width:100%;height:64px;border:2px solid var(--accent);border-radius:0;text-align:center;font-weight:750;font-size:15px;padding:0 2px;background:#fff}.pc-cell.pc-ro{cursor:default}.pc-cell.pc-ro:hover{background:inherit;box-shadow:none}.pc-cell.pc-ro.weekend:hover{background:#fffaf3}.pc-prices{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;height:64px;line-height:1.25}.pc-prices .pc-bb{font-weight:700;color:var(--accent);font-size:14px}.pc-prices .pc-hb{font-weight:600;color:#64748b;font-size:12.5px}.pc-empty{color:var(--muted-soft)}.pc-legend{display:flex;gap:20px;flex-wrap:wrap;padding:14px 4px 2px;align-items:center}.pc-swatch{display:inline-block;width:13px;height:13px;border-radius:4px;margin-right:6px;vertical-align:-2px}.pc-swatch.base{border:1px solid var(--line);background:#fff}.pc-swatch.custom{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent-soft-line)}.pc-tips{margin-top:16px;gap:14px}.pc-tip{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.pc-tip-ico{width:38px;height:38px;flex-shrink:0;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.pc-tip strong{font-size:14px;display:block;margin-bottom:3px}.pc-tip p{margin:0;line-height:1.5}.reports-layout{display:grid;grid-template-columns:230px 1fr;gap:18px;align-items:start}@media(max-width:900px){.reports-layout{grid-template-columns:1fr}}.reports-menu{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;position:sticky;top:16px;display:flex;flex-direction:column;gap:4px}.rm-group{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.rm-group-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 10px 3px;font-weight:700}.rm-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 11px;border:none;background:none;border-radius:9px;font-size:13.5px;color:var(--ink, #14161f);cursor:pointer;transition:all .12s}.rm-item:hover{background:var(--accent-soft)}.rm-item.active{background:var(--accent);color:#fff;font-weight:600}.rm-item svg{flex-shrink:0;opacity:.85}.rev-bars{display:flex;align-items:flex-end;gap:10px;height:190px;padding-top:10px;overflow-x:auto}.rev-bar-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;flex:1;min-width:42px}.rev-bar{width:70%;max-width:46px;background:linear-gradient(180deg,var(--accent),#8b87f5);border-radius:6px 6px 0 0;min-height:2px;transition:height .3s}.rev-bar-val{font-size:11px;font-weight:700;color:var(--accent)}.rev-bar-lbl{font-size:11px;color:var(--muted);text-transform:capitalize}@media print{.reports-layout{grid-template-columns:1fr}.reports-menu{display:none}}.dateinput{position:relative;display:inline-block}.dateinput-field{display:inline-flex;align-items:center;gap:8px;width:100%;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:14px;color:var(--ink, #14161f);cursor:pointer;transition:border-color .12s,box-shadow .12s}.dateinput-field:hover{border-color:var(--accent-soft-line)}.dateinput-field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3.5px var(--accent-soft)}.dateinput-field .di-ico{color:var(--accent);flex-shrink:0}.dateinput-field .di-ph{color:var(--muted-soft)}.dateinput-pop{position:absolute;z-index:80;top:calc(100% + 6px);left:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg, 0 16px 44px -16px rgba(29,32,51,.28));padding:12px;width:268px}.di-head{display:flex;align-items:center;gap:4px;margin-bottom:8px}.di-title{flex:1;text-align:center;font-weight:650;font-size:13.5px;text-transform:capitalize}.di-nav{width:26px;height:26px;border:none;background:none;border-radius:7px;cursor:pointer;color:var(--muted);font-size:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:all .12s}.di-nav:hover{background:var(--accent-soft);color:var(--accent)}.di-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.di-dow{margin-bottom:4px}.di-dow-cell{text-align:center;font-size:10.5px;color:var(--muted);font-weight:600;padding:2px 0}.di-day{aspect-ratio:1;border:none;background:none;border-radius:8px;cursor:pointer;font-size:13px;color:var(--ink, #14161f);transition:all .1s;display:inline-flex;align-items:center;justify-content:center}.di-day:hover{background:var(--accent-soft)}.di-day.today{font-weight:750;color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent-soft-line)}.di-day.sel{background:var(--accent);color:#fff;font-weight:700}.di-day.disabled{color:var(--muted-soft);cursor:not-allowed;opacity:.4}.di-day.disabled:hover{background:none}.di-foot{display:flex;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--line-soft)}.di-link{border:none;background:none;color:var(--accent);font-size:12.5px;font-weight:600;cursor:pointer;padding:2px 4px}.di-link:hover{text-decoration:underline}.bulk-form{display:flex;flex-direction:column;gap:18px}.bulk-sec{display:flex;flex-direction:column;gap:10px}.bulk-sec-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650;color:var(--ink, #14161f)}.bulk-step{width:20px;height:20px;flex-shrink:0;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.bulk-presets{margin-left:auto;display:flex;gap:6px}.mini-btn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:3px 10px;font-size:12px;cursor:pointer;color:var(--muted);transition:all .12s}.mini-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.toggle-row{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.toggle-pill{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:10px 0;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .12s}.toggle-pill:hover{border-color:var(--accent-soft-line)}.toggle-pill.on{background:var(--accent);border-color:var(--accent);color:#fff}.type-list{display:flex;flex-direction:column;gap:8px}.type-row{display:flex;align-items:center;gap:11px;width:100%;border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:11px 14px;cursor:pointer;text-align:left;transition:all .12s}.type-row:hover{border-color:var(--accent-soft-line);background:#fafbff}.type-row.on{border-color:var(--accent);background:var(--accent-soft)}.type-check{width:20px;height:20px;flex-shrink:0;border-radius:6px;border:1.5px solid var(--line);background:#fff;color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:all .12s}.type-check.on{background:var(--accent);border-color:var(--accent)}.type-dot{width:11px;height:11px;border-radius:3px;flex-shrink:0}.type-name{font-size:14px;font-weight:600;flex:1}.type-base{font-size:12.5px}.input-suffix{position:relative;display:flex;align-items:center}.input-suffix input{width:100%;padding-right:36px}.input-suffix .suffix{position:absolute;right:12px;font-size:14px;font-weight:700;color:var(--muted);pointer-events:none}.bulk-summary{display:flex;align-items:flex-start;gap:9px;background:var(--accent-soft);color:var(--accent-ink, #4341e8);border-radius:10px;padding:11px 13px;font-size:13px;line-height:1.5}.bulk-summary svg{flex-shrink:0;margin-top:2px}
