@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700&display=swap";:root{--ink: #18211e;--muted: #6e7874;--forest: #173d32;--forest-2: #245445;--lime: #d9ef83;--cream: #f4f2ea;--paper: #fffefa;--line: #e7e5dc;--danger: #b94a48;--warning: #b87916;--success: #277757;--info: #3b6d9d;font-family:Roboto,Arial,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{width:248px;background:var(--forest);color:#fff;padding:26px 18px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 26px}.brand-mark{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:var(--lime);color:var(--forest);font:700 23px Roboto,Arial,sans-serif}.brand-mark-image{width:100%;height:100%;display:block;object-fit:contain}.brand strong{display:block;letter-spacing:.13em;font-size:15px}.brand span{display:block;opacity:.64;font-size:12px;margin-top:2px}.sidebar nav{display:grid;align-content:start;grid-auto-rows:44px;gap:5px;flex:1;min-height:0}.sidebar nav a{width:100%;height:44px;min-height:44px;max-height:44px;display:flex;align-items:center;gap:12px;padding:10px 13px;border-radius:10px;color:#d6e1dd;text-decoration:none;font-size:14px;line-height:1.25;overflow:hidden}.sidebar nav a svg{flex:0 0 auto}.sidebar nav a span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar nav a:hover{background:#ffffff12;color:#fff}.sidebar nav a.router-link-exact-active{background:var(--lime);color:var(--forest);font-weight:700}.sidebar-footer{border-top:1px solid rgba(255,255,255,.12);padding:18px 4px 0;display:flex;gap:10px;align-items:center}.user-avatar{width:36px;height:36px;border-radius:50%;background:#5d7e70;display:grid;place-items:center;font-weight:700}.user-summary{min-width:0;flex:1}.user-summary strong,.user-summary span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.user-summary strong{font-size:13px}.user-summary span{color:#aabcb5;font-size:11px;text-transform:capitalize;margin-top:2px}.main-area{margin-left:248px;width:calc(100% - 248px);min-height:100vh}.page{padding:34px 38px 48px;max-width:1600px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{margin:0 0 6px;color:var(--success);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}h1,h2,h3,p{margin-top:0}.page-head h1{font:700 32px/1.1 Roboto,Arial,sans-serif;margin-bottom:4px}.page-head .subtitle{margin:0;color:var(--muted);font-size:14px}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:0;border-radius:9px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:13px;transition:.15s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--forest);color:#fff}.btn-accent{background:var(--lime);color:var(--forest)}.btn-secondary{border:1px solid var(--line);color:var(--ink);background:var(--paper)}.btn-danger{background:#fbe9e7;color:var(--danger)}.btn-sm{padding:7px 10px;font-size:12px}.icon-btn{display:grid;place-items:center;background:transparent;border:0;border-radius:8px;padding:7px;color:inherit}.icon-btn:hover{background:#0000000f}.icon-btn.dark:hover{background:#ffffff1a}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 18px #202f2909}.stat-card{padding:18px 19px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:56px;height:56px;border-radius:50%;background:var(--lime);opacity:.27;right:-17px;top:-18px}.stat-card .label{color:var(--muted);font-size:12px;margin-bottom:10px}.stat-card .value{font-size:24px;font-weight:700;letter-spacing:-.03em}.stat-card .hint{color:var(--muted);font-size:11px;margin-top:5px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:18px;margin-bottom:18px}.panel{padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.panel-head h2{font:600 18px Roboto,Arial,sans-serif;margin:0}.panel-head a{color:var(--success);font-size:12px;text-decoration:none;font-weight:600}.dashboard-grid.single-panel{grid-template-columns:minmax(0,1fr)}.room-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.room-summary div{padding:14px;border-radius:10px;background:#f5f5ef}.room-summary strong{display:block;font-size:22px}.room-summary span{color:var(--muted);font-size:11px}.occupancy-ring{width:122px;height:122px;border-radius:50%;display:grid;place-items:center;margin:4px auto 18px;position:relative;background:conic-gradient(var(--forest) calc(var(--rate) * 1%),#e8e9e2 0)}.occupancy-ring:before{content:"";position:absolute;inset:13px;background:var(--paper);border-radius:50%}.occupancy-ring div{position:relative;text-align:center}.occupancy-ring strong{display:block;font-size:24px}.occupancy-ring span{color:var(--muted);font-size:10px}.chart{height:190px;display:flex;align-items:end;gap:14px;border-bottom:1px solid var(--line);padding:12px 8px 0}.bar-col{flex:1;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:end;gap:6px}.bar-col .bar{background:var(--forest);border-radius:7px 7px 2px 2px;min-height:3px;transition:.2s;position:relative}.bar-col:hover .bar{background:var(--forest-2)}.bar-col span{font-size:10px;color:var(--muted);padding-bottom:7px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:220px}.search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}.search-box input{padding-left:39px}.field,.search-box input,.toolbar select{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:10px 11px;outline:none;color:var(--ink)}.field:focus,.search-box input:focus,.toolbar select:focus{border-color:#7da591;box-shadow:0 0 0 3px #3977571a}.toolbar select{width:auto;min-width:150px}.table-wrap{overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:13px}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:12px 15px;background:#f8f7f2;border-bottom:1px solid var(--line)}.data-table td{padding:13px 15px;font-size:13px;border-bottom:1px solid #eeece5;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfbf7}.table-primary{font-weight:600}.table-secondary{font-size:11px;color:var(--muted);margin-top:3px}.table-actions{display:flex;gap:4px;justify-content:flex-end}.badge{display:inline-flex;border-radius:100px;padding:5px 9px;font-size:10px;font-weight:700;white-space:nowrap;background:#ecece7;color:#555}.badge-available,.badge-confirmed,.badge-paid,.badge-done,.badge-verified,.badge-active{background:#e2f3e9;color:#246847}.badge-occupied,.badge-checked_in,.badge-open,.badge-in_progress{background:#e6eff8;color:#365f87}.badge-pending,.badge-cleaning,.badge-served,.badge-normal{background:#fff0d5;color:#9a6817}.badge-maintenance,.badge-out_of_service,.badge-cancelled,.badge-no_show,.badge-urgent,.badge-high{background:#f9e4e1;color:#9d413f}.badge-checked_out,.badge-todo,.badge-low{background:#ecece7;color:#606965}.modal-open{overflow:hidden}.modal-backdrop{position:fixed;inset:0;background:#0d1f198a;display:grid;place-items:center;padding:clamp(10px,2.5vw,28px);z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:min(640px,100%);max-width:calc(100vw - clamp(20px,5vw,56px));max-height:calc(100dvh - clamp(20px,5vw,56px));display:flex;flex-direction:column;overflow:hidden;background:var(--paper);border-radius:15px;box-shadow:0 25px 60px #0003}.modal-sm{width:min(480px,100%)}.modal-md{width:min(640px,100%)}.modal-lg,.modal.wide{width:min(920px,100%)}.modal-xl{width:min(1180px,100%)}.modal:has(.orders-table-wrap){width:min(1180px,100%)}.modal header{flex:0 0 auto;padding:17px clamp(16px,2.5vw,24px);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:0;background:var(--paper);z-index:6}.modal h2{margin:0;font:600 clamp(17px,2vw,21px) "Roboto",Arial,sans-serif;line-height:1.25}.modal-close{flex:0 0 auto;border:0;background:transparent;font-size:25px;color:var(--muted)}.modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding:clamp(16px,2.5vw,24px)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group{display:grid;gap:6px}.form-group.full{grid-column:1 / -1}.form-group label{font-size:11px;color:var(--muted);font-weight:600}.form-group textarea{min-height:76px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:18px;grid-column:1 / -1}.error-box{padding:10px 12px;border-radius:8px;background:#fbe6e3;color:var(--danger);font-size:12px;margin-bottom:14px}.success-box{padding:10px 12px;border-radius:8px;background:#e4f4e9;color:var(--success);font-size:12px;margin-bottom:14px}.empty-state{padding:40px 20px;text-align:center;color:#9aa19e}.empty-state p{margin:8px 0 0;font-size:13px}.loading{display:grid;place-items:center;padding:55px;color:var(--muted)}.spinner{width:25px;height:25px;border:3px solid #dcded7;border-top-color:var(--forest);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mobile-header,.mobile-only,.mobile-overlay{display:none}.login-page{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:var(--paper)}.login-visual{background:var(--forest);color:#fff;padding:55px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.login-visual:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(217,239,131,.19);border-radius:50%;right:-190px;bottom:-210px;box-shadow:0 0 0 80px #d9ef8309,0 0 0 160px #d9ef8306}.login-quote{max-width:540px;position:relative;z-index:1}.login-quote h1{font:600 clamp(40px,5vw,68px)/1.05 "Roboto",Arial,sans-serif;margin:0 0 23px}.login-quote h1 em{color:var(--lime);font-style:normal}.login-quote p{color:#bcd0c8;line-height:1.65;max-width:440px}.login-form-wrap{display:grid;place-items:center;padding:35px}.login-form{width:min(380px,100%)}.login-form h2{font:700 31px Roboto,Arial,sans-serif;margin-bottom:8px}.login-form>p{color:var(--muted);font-size:13px;margin-bottom:27px}.login-form .form-group{margin-bottom:15px}.login-form .btn{width:100%;padding:12px;margin-top:8px}.login-hint{margin-top:20px;padding:12px;border:1px dashed #cfd5ce;border-radius:9px;color:var(--muted);font-size:11px;line-height:1.6}.pos-layout{display:grid;grid-template-columns:minmax(0,1.5fr) 390px;gap:18px;align-items:stretch;height:calc(100dvh - 186px);min-height:500px;overflow:hidden}.pos-products-panel{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.pos-products-panel>.toolbar{flex:0 0 auto}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:11px;align-content:start;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 8px 16px 1px;scrollbar-width:thin;scrollbar-color:#8faa9d transparent}.product-grid::-webkit-scrollbar,.cart-items-scroll::-webkit-scrollbar{width:7px}.product-grid::-webkit-scrollbar-track,.cart-items-scroll::-webkit-scrollbar-track{background:transparent}.product-grid::-webkit-scrollbar-thumb{background:#8faa9d;border-radius:999px}.cart-items-scroll::-webkit-scrollbar-thumb{background:var(--accent);border-radius:999px}.product-tile{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px;text-align:left;min-height:112px;display:flex;flex-direction:column;justify-content:space-between}.product-tile:hover{border-color:#8faa9d;transform:translateY(-1px)}.product-tile small{color:var(--muted)}.product-tile strong{font-size:14px}.product-tile .price{color:var(--success);font-weight:700;font-size:13px}.cart{position:sticky;top:82px;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}.cart .panel-head,.cart-table-field,.cart-totals,.cart>.error-box,.cart-submit{flex:0 0 auto}.cart-table-field{margin-bottom:8px}.cart-items-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;padding-right:5px}.cart-empty{min-height:100%;display:grid;place-content:center}.cart-submit{width:100%}.cart-line{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.cart-line strong{font-size:13px}.cart-line small{display:block;color:var(--muted);margin-top:3px}.qty{display:flex;align-items:center;gap:7px}.qty button{width:24px;height:24px;border-radius:7px;border:1px solid var(--line);background:#fff}.cart-totals{padding:15px 0;display:grid;gap:9px}.cart-total-line{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.cart-total-line.grand{color:var(--ink);font-size:18px;font-weight:700;border-top:1px dashed var(--line);padding-top:12px}.segmented{display:inline-flex;background:#e8e8e1;border-radius:9px;padding:3px}.segmented button{border:0;background:transparent;padding:7px 12px;border-radius:7px;font-size:12px;color:var(--muted)}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 2px 5px #0000000f}.report-split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.metric-list{display:grid;gap:0}.metric-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.metric-row:last-child{border:0}.metric-row span{color:var(--muted)}.metric-row strong.positive{color:var(--success)}.metric-row strong.negative{color:var(--danger)}.room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.room-card{padding:17px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.room-card-head{display:flex;justify-content:space-between;align-items:start}.room-number{font:700 25px Roboto,Arial,sans-serif}.room-card p{font-size:12px;color:var(--muted);margin:13px 0}.room-card-footer{display:flex;justify-content:space-between;align-items:end}.room-card-footer strong{font-size:12px}.room-card-footer span{color:var(--muted);font-size:10px}.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;align-items:start}.kanban-column{background:#ebeae3;padding:12px;border-radius:12px;min-height:250px}.kanban-head{display:flex;justify-content:space-between;padding:4px 3px 12px;font-size:12px;font-weight:700}.kanban-count{background:#d6d5ce;border-radius:100px;padding:2px 7px}.task-card{background:var(--paper);padding:13px;border-radius:9px;margin-bottom:9px;border:1px solid #dfded7}.task-card h3{font-size:13px;margin-bottom:7px}.task-card p{color:var(--muted);font-size:11px;margin:5px 0}.task-card-actions{display:flex;gap:5px;margin-top:10px}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.room-grid{grid-template-columns:repeat(3,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.pos-layout{grid-template-columns:1fr 340px}}@media(max-width:820px){.sidebar{transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:translate(0)}.mobile-overlay{display:block;position:fixed;inset:0;background:#0006;z-index:20}.main-area{margin-left:0;width:100%}.mobile-header{height:58px;padding:0 16px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:15}.mobile-header span{font-size:11px;color:var(--muted)}.mobile-only{display:grid;margin-left:auto}.page{padding:25px 18px 40px}.dashboard-grid,.report-split,.pos-layout{grid-template-columns:1fr}.pos-layout{height:auto;min-height:0;overflow:visible}.pos-products-panel{overflow:visible}.pos-products-panel>.product-grid{max-height:55dvh}.cart{position:static;height:auto;max-height:none}.cart-items-scroll{max-height:42dvh}.room-grid{grid-template-columns:repeat(2,1fr)}.login-page{grid-template-columns:1fr}.login-visual{display:none}.kanban{grid-template-columns:1fr}}@media(max-width:540px){.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:28px}.page-head .actions,.page-head .btn{width:100%}.cards,.form-grid{grid-template-columns:1fr}.form-group.full{grid-column:1}.room-grid,.product-grid{grid-template-columns:1fr 1fr}.modal-backdrop{padding:8px}.modal{max-height:calc(100vh - 16px)}.login-form-wrap{padding:24px}}:root{--ink: #14221d;--muted: #68756f;--forest: #123e2d;--forest-2: #1e5a42;--lime: #dbe9a1;--accent: #d2a84a;--accent-soft: #f2d98e;--cream: #f2f5f1;--paper: #ffffff;--line: #dde5df;--danger: #b64c48;--warning: #a96d12;--success: #267653}body{background:var(--cream)}.sidebar{width:270px;padding:24px 18px 18px;background:linear-gradient(180deg,#123e2d,#0b3023);box-shadow:8px 0 30px #0e2e2214}.brand{padding-bottom:24px}.brand-mark{width:42px;height:42px;flex:0 0 42px;padding:7px;overflow:hidden;background:linear-gradient(145deg,#fffdf5,#f0dda0);color:var(--forest);box-shadow:0 8px 20px #00000024}.brand strong{font-size:14px;letter-spacing:.1em}.brand span{font-size:11px;letter-spacing:.02em}.sidebar nav{overflow-y:auto;overflow-x:hidden;padding-right:3px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.sidebar nav a.router-link-exact-active{background:linear-gradient(135deg,#f1dda0,#d9bd67);color:var(--forest);box-shadow:0 7px 18px #0000001f}.main-area{margin-left:270px;width:calc(100% - 270px)}.desktop-topbar{height:64px;padding:0 34px;background:#ffffffe0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:18;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.property-context,.topbar-right,.today-label,.system-status{display:flex;align-items:center;gap:8px}.property-context{font-size:12px;color:var(--muted)}.property-context strong{color:var(--ink)}.context-separator{width:1px;height:18px;background:var(--line);margin:0 3px}.topbar-right{gap:18px;font-size:11px;color:var(--muted)}.system-status{color:var(--success);padding:7px 10px;background:#e9f5ee;border-radius:100px;font-weight:600}.page{padding:30px 34px 48px;max-width:1580px}.page-head h1{font-size:33px;letter-spacing:-.02em;margin-bottom:6px}.page-head .subtitle{font-size:13px}.eyebrow{display:flex;align-items:center;gap:6px}.btn-primary{background:linear-gradient(135deg,var(--forest),var(--forest-2));box-shadow:0 7px 16px #123e2d29}.btn-accent{background:var(--accent)}.btn-light{background:#fff;color:var(--forest);text-decoration:none}.btn-glass{background:#ffffff21;color:#fff;border:1px solid rgba(255,255,255,.25);text-decoration:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stat-card,.panel{border-color:var(--line);border-radius:16px;box-shadow:0 8px 26px #19362a0b}.stat-card{padding:19px 20px;transition:transform .18s,box-shadow .18s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px #19362a14}.stat-card:after{width:62px;height:62px;background:var(--accent-soft);opacity:.23}.table-wrap{border-radius:15px;scrollbar-width:thin;scrollbar-color:#bdc9c1 transparent}.data-table th{padding:13px 15px;background:#f6f8f5}.data-table td{padding:14px 15px;border-color:#e9eeea}.data-table tbody tr:hover{background:#f8fbf8}.field,.search-box input,.toolbar select{min-height:42px;border-radius:10px}.field:focus,.search-box input:focus,.toolbar select:focus{border-color:#6d9a82;box-shadow:0 0 0 4px #2676531a}.search-box{position:relative}.search-box input{padding-left:42px;padding-right:13px}.search-box svg{left:14px;width:17px;height:17px;z-index:2;pointer-events:none;color:#718079;stroke-width:2}.modal{border-radius:18px}.product-tile,.room-card{border-radius:15px}.product-tile{transition:transform .16s,border-color .16s,box-shadow .16s}.product-tile:hover{box-shadow:0 10px 24px #19362a14}.resort-banner{min-height:190px;margin-bottom:20px;padding:28px 30px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;position:relative;overflow:hidden;border-radius:18px;color:#fff;background:linear-gradient(100deg,#07271beb,#07271bb3,#07271b40),url(/static/assets/green-park-01-WlZOkBKd.jpg) center 47%/cover;box-shadow:0 16px 38px #10362729}.resort-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(5,29,20,.28));pointer-events:none}.resort-banner-content,.resort-banner-actions{position:relative;z-index:1}.resort-banner-kicker{display:flex;align-items:center;gap:6px;color:var(--accent-soft);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700}.resort-banner h2{font:600 29px Roboto,Arial,sans-serif;margin:8px 0 6px}.resort-banner p{margin:0;color:#ffffffc7;font-size:13px}.resort-banner-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.login-page{grid-template-columns:minmax(520px,1.1fr) minmax(420px,.9fr)}.login-visual{isolation:isolate;background:url(/static/assets/green-park-04-Bvkxzo-s.jpg) center/cover;padding:48px 54px}.login-visual:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,#052d1ff0,#073022c7 52%,#0722196b)}.login-visual:after{z-index:-1;border-color:#f2d98e33}.login-brand .brand-mark{width:54px;height:54px;flex-basis:54px;padding:8px;border-radius:15px}.login-brand strong{font-size:16px}.login-quote h1{font-size:clamp(42px,4.4vw,65px);text-shadow:0 2px 24px rgba(0,0,0,.18)}.login-quote h1 em{color:var(--accent-soft)}.login-quote p{color:#ffffffc7}.login-location{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:9px 12px;border:1px solid rgba(255,255,255,.2);background:#0000001f;border-radius:100px;font-size:11px;color:#ffffffdb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.photo-credit{color:#ffffffa8;position:relative;z-index:1}.login-form-wrap{background:#fbfcfa}.login-form{width:min(400px,100%)}.login-form h2{font-size:35px}.login-mobile-brand{display:none}.login-form .eyebrow{color:var(--success)}.mobile-brand-mark{width:32px;height:32px;padding:5px;overflow:hidden;border-radius:9px;background:linear-gradient(145deg,#fffdf5,#f0dda0);color:var(--forest);display:grid;place-items:center;box-shadow:0 4px 12px #123e2d1c}@media(max-width:1180px){.desktop-topbar{padding-inline:26px}.today-label{display:none}.page{padding-inline:26px}.resort-banner{align-items:flex-start;flex-direction:column}.resort-banner-actions{justify-content:flex-start}}@media(max-width:900px){.sidebar{width:min(82vw,300px);padding:20px 15px 15px;transform:translate(-100%);transition:transform .22s ease}.sidebar.open{transform:translate(0)}.sidebar .brand{padding:0 7px 20px}.sidebar nav{grid-auto-rows:46px}.sidebar nav a{height:46px;min-height:46px;max-height:46px;padding:11px 12px;border-radius:11px}.sidebar-footer{margin-top:14px;padding-top:14px}.mobile-overlay{display:block;position:fixed;inset:0;background:#041b1285;z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.main-area{margin-left:0;width:100%}.desktop-topbar{display:none}.mobile-header{min-height:62px;padding:0 16px;background:#fffffff0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:15;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-header>div:last-child{min-width:0}.mobile-header strong,.mobile-header span{display:block}.mobile-header strong{font-size:12px;letter-spacing:.08em}.mobile-header span{font-size:10px;color:var(--muted);margin-top:2px}.mobile-only{display:grid;margin-left:auto}.page{padding:24px 18px 40px}.dashboard-grid,.report-split,.pos-layout{grid-template-columns:1fr}.pos-layout{height:auto;min-height:0;overflow:visible}.pos-products-panel{overflow:visible}.pos-products-panel>.product-grid{max-height:55dvh}.cart{position:static;height:auto;max-height:none}.cart-items-scroll{max-height:42dvh}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:36px}.login-mobile-brand strong,.login-mobile-brand span{display:block}.login-mobile-brand strong{font-size:14px;letter-spacing:.09em}.login-mobile-brand span{font-size:10px;color:var(--muted);margin-top:2px}.kanban{grid-template-columns:1fr}.resort-banner{min-height:205px;padding:24px}}@media(max-width:600px){.page{padding-inline:15px}.page-head{align-items:flex-start;flex-direction:column;margin-bottom:21px}.page-head h1{font-size:29px}.page-head>.btn{width:100%}.page-head .actions{width:100%;flex-wrap:nowrap;overflow-x:auto;padding:1px 1px 6px;scrollbar-width:none}.page-head .actions .btn{width:auto;flex:0 0 auto}.toolbar{align-items:stretch}.toolbar .search-box{flex-basis:100%}.toolbar select{flex:1;min-width:0}.cards{gap:10px}.stat-card{padding:16px}.stat-card .value{font-size:22px}.resort-banner{margin-inline:-3px;min-height:255px;background-position:58% center}.resort-banner-actions{width:100%;display:grid;grid-template-columns:1fr}.resort-banner-actions .btn{width:100%}.table-wrap{margin-inline:-15px;border-radius:0;border-left:0;border-right:0;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.data-table th:first-child,.data-table td:first-child{position:sticky;left:0;z-index:2;background:var(--paper);box-shadow:7px 0 12px #14221d09}.data-table th:first-child{background:#f6f8f5}.product-grid{grid-template-columns:1fr 1fr;gap:8px}.product-tile{min-height:105px;padding:12px}.room-grid{grid-template-columns:1fr}.form-actions{position:sticky;bottom:-23px;margin:0 -22px -23px;padding:13px 22px;background:#fffffff5;border-top:1px solid var(--line);z-index:4}.form-actions .btn{flex:1}.modal-backdrop{padding:8px;align-items:end}.modal{width:100%;max-height:calc(100vh - 16px);border-radius:18px 18px 8px 8px}.login-form-wrap{padding:52px 22px 26px;align-items:start}.login-mobile-brand{margin-bottom:46px}}@media(max-width:390px){.product-grid{grid-template-columns:1fr}.segmented{width:100%;overflow-x:auto}.segmented button{flex:1 0 auto}.login-form h2{font-size:31px}}.language-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(18,62,45,.08);border-radius:11px;background:#edf1ed;box-shadow:inset 0 1px 2px #123e2d0a}.language-switch button{min-width:34px;min-height:28px;border:0;background:transparent;color:var(--muted);padding:5px 8px;border-radius:8px;font-size:10px;font-weight:800;letter-spacing:.03em;transition:background .18s,color .18s,box-shadow .18s,transform .18s}.language-switch button:hover{color:var(--forest);background:#ffffffb3}.language-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.language-switch button.active{color:#fff;background:linear-gradient(135deg,var(--forest),var(--forest-2));box-shadow:0 3px 8px #123e2d3d}.language-switch button.active:hover{color:#fff;transform:translateY(-1px)}.mobile-language{margin-left:auto}.login-language{width:max-content;margin:0 0 22px auto}.reservation-guest-picker{position:relative;display:flex;align-items:center;gap:7px;color:var(--muted)}.reservation-guest-picker>svg{position:absolute;left:13px;z-index:2}.reservation-guest-picker>input{padding-left:40px}.reservation-guest-picker>.icon-btn{position:absolute;right:7px}.reservation-guest-results{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:255px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 18px 40px #10362729}.reservation-guest-results button{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 11px;display:flex;align-items:center;gap:9px;text-align:left}.reservation-guest-results button:hover{background:#f5f8f4}.reservation-guest-results button>span:last-child{display:grid;gap:2px}.reservation-guest-results small,.selected-customer-note{color:var(--muted);font-size:10px}.customer-avatar{width:30px;height:30px;flex:0 0 30px;border-radius:8px;background:var(--accent-soft);color:var(--forest);display:grid;place-items:center;font-size:9px;font-weight:800}.reservation-guest-results .create-from-search{justify-content:center;color:var(--forest);font-weight:700}.invoice-after-reservation{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #b9d7c7;border-radius:10px;background:#eff7f2;color:var(--forest)}.invoice-after-reservation input{accent-color:var(--forest)}.invoice-after-reservation span{display:grid;gap:2px}.invoice-after-reservation small{color:var(--muted);font-size:10px}.invoice-stats{grid-template-columns:repeat(3,1fr)}.invoice-sheet{width:100%;background:#fff;padding:18px;color:var(--ink);overflow-wrap:anywhere}.invoice-brand,.invoice-parties{display:flex;justify-content:space-between;gap:25px}.invoice-brand{align-items:flex-start;padding-bottom:20px;border-bottom:2px solid var(--forest)}.invoice-company{min-width:0;display:flex;align-items:center;gap:16px}.invoice-logo{width:92px;height:92px;flex:0 0 92px;display:block;object-fit:cover;border-radius:10px;box-shadow:0 5px 16px #123e2d1f}.invoice-company-details{min-width:0}.invoice-company-details p{margin:3px 0}.invoice-brand h2{color:var(--forest);font:700 25px Roboto,Arial,sans-serif;letter-spacing:.08em;margin:0}.invoice-brand p,.invoice-brand span{color:var(--muted);font-size:11px}.invoice-number{display:grid;justify-items:end;gap:6px}.invoice-number strong{font-size:16px}.invoice-parties{margin:25px 0}.invoice-parties>div:first-child{display:grid;gap:5px}.invoice-parties small,.invoice-parties span{color:var(--muted);font-size:11px}.invoice-parties p{display:flex;justify-content:space-between;gap:30px;margin:0 0 7px;font-size:11px}.invoice-lines{width:100%;border-collapse:collapse}.invoice-lines th{color:var(--muted);background:#f4f7f4;font-size:10px;text-align:left;text-transform:uppercase;padding:10px}.invoice-lines td{padding:12px 10px;border-bottom:1px solid var(--line);font-size:12px}.invoice-lines th:not(:first-child),.invoice-lines td:not(:first-child){text-align:right}.invoice-summary{width:min(330px,100%);margin:20px 0 20px auto}.invoice-summary p{display:flex;justify-content:space-between;margin:0;padding:7px 9px;font-size:12px}.invoice-summary .grand{border-top:1px solid var(--line);font-size:14px}.invoice-summary .due{color:#fff;background:var(--forest);border-radius:7px;font-size:14px}.invoice-profit-bar{max-width:760px;margin:14px auto 0;padding:13px 15px;display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:12px;align-items:center;border:1px solid #b9d8c7;border-radius:12px;background:#eef8f2;color:var(--forest);box-shadow:0 6px 18px #123e2d14}.invoice-profit-bar span{display:grid;gap:3px}.invoice-profit-bar small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em}.invoice-profit-bar strong{font-size:18px}.invoice-profit-bar em{grid-column:1/-1;color:var(--muted);font-size:9px;font-style:normal}.invoice-profit-bar.profit-negative{border-color:#ecc3bd;background:#fff1ef;color:var(--danger)}.invoice-notes{padding:12px;border-radius:8px;background:#f5f6f2;font-size:11px}.invoice-sheet footer{text-align:center;color:var(--muted);border-top:1px solid var(--line);margin-top:28px;padding-top:15px;font-size:10px}.invoice-modal-head .actions{display:flex;align-items:center;gap:9px}.badge-not_sent{background:#ecece7;color:#606965}.badge-accepted{background:#e2f3e9;color:#246847}.badge-failed{background:#f9e4e1;color:#9d413f}.obr-manual-note{padding:12px;margin-bottom:14px;border-left:3px solid var(--accent);border-radius:8px;background:#fff7df;color:#75581c;font-size:11px;line-height:1.55}.invoice-obr{display:flex;gap:12px;flex-wrap:wrap;padding:10px 12px;margin-top:15px;background:#f5f7f4;border-radius:8px;color:var(--muted);font-size:10px}.invoice-obr strong{color:var(--ink)}.print-formats{display:flex;padding:3px;border-radius:8px;background:#eef1ed}.print-formats button{border:0;background:transparent;padding:6px 8px;border-radius:6px;color:var(--muted);font-size:9px;font-weight:700}.print-formats button.active{background:#fff;color:var(--forest);box-shadow:0 2px 5px #00000012}.invoice-sheet.invoice-format-80{max-width:80mm;margin:auto;padding:6mm}.invoice-sheet.invoice-format-58{max-width:58mm;margin:auto;padding:4mm}.invoice-format-80 .invoice-brand,.invoice-format-58 .invoice-brand,.invoice-format-80 .invoice-parties,.invoice-format-58 .invoice-parties{flex-direction:column;gap:12px}.invoice-format-80 .invoice-company,.invoice-format-58 .invoice-company{width:100%;flex-direction:column;align-items:center;text-align:center;gap:8px}.invoice-format-80 .invoice-logo{width:74px;height:74px;flex-basis:74px}.invoice-format-58 .invoice-logo{width:62px;height:62px;flex-basis:62px}.invoice-format-80 .invoice-number,.invoice-format-58 .invoice-number{width:100%;justify-items:start}.invoice-format-80 .invoice-lines,.invoice-format-58 .invoice-lines{font-size:8px;table-layout:fixed}.invoice-format-80 .invoice-lines th,.invoice-format-80 .invoice-lines td,.invoice-format-58 .invoice-lines th,.invoice-format-58 .invoice-lines td{padding:6px 3px}.invoice-format-58 .invoice-lines th:nth-child(3),.invoice-format-58 .invoice-lines td:nth-child(3){display:none}.invoice-format-80 .invoice-summary,.invoice-format-58 .invoice-summary{width:100%}.badge-create{background:#e2f3e9;color:#246847}.badge-update{background:#e6eff8;color:#365f87}.badge-delete{background:#f9e4e1;color:#9d413f}.badge-action{background:#fff0d5;color:#9a6817}.audit-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.audit-detail-grid>div{display:grid;gap:4px;padding:12px;background:#f5f7f4;border-radius:9px}.audit-detail-grid small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.audit-detail-grid strong{font-size:12px}.audit-changes-title{margin:20px 0 9px;font-size:13px}.audit-json{max-height:330px;overflow:auto;padding:14px;border-radius:10px;background:#14221d;color:#d9eadf;font:11px/1.6 Consolas,monospace;white-space:pre-wrap;word-break:break-word}@media(max-width:600px){.audit-detail-grid{grid-template-columns:1fr}}@media(max-width:600px){.invoice-stats{grid-template-columns:1fr}.invoice-brand,.invoice-parties{flex-direction:column}.invoice-number{justify-items:start}.invoice-sheet.invoice-format-a4 .invoice-company{align-items:flex-start}.invoice-sheet.invoice-format-a4 .invoice-lines{min-width:0;table-layout:fixed}.invoice-sheet.invoice-format-a4 .invoice-lines th,.invoice-sheet.invoice-format-a4 .invoice-lines td{padding:8px 4px;font-size:9px}.invoice-sheet.invoice-format-a4 .invoice-logo{width:76px;height:76px;flex-basis:76px}.invoice-modal .modal-body{padding:12px}}@media print{body *{visibility:hidden!important}.invoice-modal,.invoice-modal *,.invoice-sheet,.invoice-sheet *{visibility:visible!important}.invoice-modal{position:absolute;inset:0;display:block;padding:0;background:#fff}.invoice-modal .modal{width:100%;max-height:none;box-shadow:none;overflow:visible}.invoice-modal-head{display:none!important}.invoice-profit-bar{display:none!important;visibility:hidden!important}.invoice-sheet{padding:20mm 15mm}.invoice-logo{box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}.invoice-sheet.invoice-format-80{width:80mm;padding:4mm}.invoice-sheet.invoice-format-58{width:58mm;padding:3mm}.invoice-sheet.invoice-format-a4{width:210mm;min-height:297mm}}.accounting-clarity{margin:0 0 18px;padding:18px;border:1px solid #bcd8ca;border-radius:15px;background:linear-gradient(120deg,#f4faf6,#fff)}.accounting-explainer strong{font-size:13px;color:var(--forest)}.accounting-explainer p{margin:6px 0 15px;color:var(--muted);font-size:11px;line-height:1.55}.accounting-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr 1fr;gap:10px;align-items:center}.accounting-equation>span{display:grid;gap:3px;padding:11px;background:#fff;border:1px solid var(--line);border-radius:9px}.accounting-equation small{color:var(--muted);font-size:9px;text-transform:uppercase}.accounting-equation strong{font-size:14px}.accounting-equation .receivable{background:#fff6dd;border-color:#ead18b}.outstanding-panel{margin-top:18px}.outstanding-panel .panel-head>span{color:var(--warning);font-size:11px;font-weight:700}@media(max-width:800px){.accounting-equation{grid-template-columns:1fr 1fr}.accounting-equation>b{display:none}}.automatic-invoice-note{grid-column:1/-1;padding:11px 13px;border-left:3px solid var(--success);border-radius:8px;background:#edf7f1;color:var(--success);font-size:11px}.readonly-indicator{display:inline-flex;align-items:center;padding:7px 10px;border-radius:99px;background:#eef1ee;color:var(--muted);font-size:10px;font-weight:700}.fiscal-warning{width:100%;margin:-5px 0 18px;padding:13px 15px;border:1px solid #e4c877;border-radius:11px;background:#fff7df;color:#76591a;display:flex;align-items:center;gap:10px;text-align:left}.fiscal-warning span{display:grid;gap:2px}.fiscal-warning small{font-size:10px;color:#95752c}.obr-send-button{color:var(--success)!important}.obr-send-button:disabled{opacity:.35;cursor:not-allowed}.obr-security-note{padding:11px 13px;margin-bottom:15px;border-left:3px solid var(--success);border-radius:8px;background:#edf7f1;color:#346c52;font-size:10px;line-height:1.55}.form-section-title{grid-column:1/-1;padding:8px 0 4px;border-bottom:1px solid var(--line);color:var(--forest);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.invoice-sheet .invoice-obr{display:none}.action-menu{position:relative;display:inline-flex;justify-content:flex-end}.action-menu-trigger{width:34px;height:34px;display:grid;place-items:center;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted)}.action-menu-trigger:hover,.action-menu-trigger[aria-expanded=true]{color:var(--forest);border-color:var(--line);background:#f5f8f5}.action-menu-popover{position:fixed;z-index:180;min-width:190px;padding:6px;border:1px solid rgba(18,62,45,.12);border-radius:12px;background:#fff;box-shadow:0 14px 34px #122e2429,0 3px 8px #122e240f}.action-menu-popover button{width:100%;min-height:36px;padding:8px 10px;display:flex;align-items:center;gap:9px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;font-size:12px}.action-menu-popover button:hover{background:#f1f6f2;color:var(--forest)}.action-menu-popover button.danger{color:var(--danger)}.action-menu-popover button.danger:hover{background:#fff0ee}.action-menu-popover button:disabled{opacity:.45;cursor:not-allowed}.packaging-note{padding:11px 12px;border:1px solid #c7ddcf;border-radius:10px;background:#f1f8f3;color:var(--forest);font-size:11px;line-height:1.5}.calculated-cost-field{min-height:39px;padding:10px 12px;border:1px dashed #b9ccbf;border-radius:9px;background:#f5f8f5;color:var(--forest);font-weight:700}.password-change-page{min-height:100vh;padding:28px;display:grid;place-items:center;background:radial-gradient(circle at 15% 10%,rgba(210,168,74,.18),transparent 32%),linear-gradient(145deg,#eef5f0,#f9faf8)}.password-change-card{width:min(480px,100%);padding:34px;border:1px solid rgba(18,62,45,.12);border-radius:20px;background:#fff;box-shadow:0 24px 60px #123e2d21}.password-change-brand{display:flex;align-items:center;gap:11px;margin-bottom:28px}.password-change-brand>div:last-child{display:grid}.password-change-brand strong{color:var(--forest);letter-spacing:.06em}.password-change-brand span{color:var(--muted);font-size:10px}.password-change-icon{width:58px;height:58px;margin-bottom:18px;display:grid;place-items:center;border-radius:16px;background:var(--accent-soft);color:var(--forest)}.password-change-card h1{margin:7px 0 8px;font-size:26px}.password-change-card>p:not(.eyebrow){margin:0 0 22px;color:var(--muted);line-height:1.55}.password-change-form{margin-top:18px}.password-change-form small{color:var(--muted);font-size:9px}.password-change-logout{width:100%;margin-top:12px;border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:700}@media(max-width:600px){.password-change-page{padding:14px}.password-change-card{padding:24px 18px;border-radius:16px}}@media(max-width:600px){.invoice-profit-bar{grid-template-columns:1fr 1fr}.invoice-profit-bar span:first-child{grid-column:1/-1}}.stock-quantity{display:flex;align-items:baseline;gap:5px}.stock-quantity small{color:var(--muted);font-weight:500}.task-card-heading-actions{display:flex;align-items:flex-start;gap:6px}@media(max-width:600px){.action-menu-popover{min-width:210px;max-width:calc(100vw - 16px)}}@media(max-width:760px){.responsive-table-wrap:not(.orders-table-wrap){margin-inline:0!important;padding:0;border:0!important;border-radius:0!important;background:transparent;overflow:visible;box-shadow:none;scroll-snap-type:none}.responsive-data-table:not(.orders-table){display:block;width:100%;min-width:0!important;border-collapse:separate}.responsive-data-table:not(.orders-table) thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.responsive-data-table:not(.orders-table) tbody{display:grid;grid-template-columns:1fr;gap:12px;width:100%}.responsive-data-table:not(.orders-table) tbody tr{display:grid;width:100%;padding:5px 15px;border:1px solid var(--line);border-radius:15px;background:var(--paper);box-shadow:0 8px 22px #123e2d0e;overflow:hidden}.responsive-data-table:not(.orders-table) tbody tr:hover{background:var(--paper)}.responsive-data-table:not(.orders-table) tbody td{position:static!important;left:auto!important;z-index:auto!important;display:grid;grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr);align-items:start;gap:12px;width:100%;min-width:0!important;padding:11px 0!important;border:0!important;border-bottom:1px solid #edf1ed!important;background:transparent!important;box-shadow:none!important;text-align:right!important;white-space:normal;overflow-wrap:anywhere}.responsive-data-table:not(.orders-table) tbody td:last-child{border-bottom:0!important}.responsive-data-table:not(.orders-table) tbody td:before{content:attr(data-label);min-width:0;color:var(--muted);font-size:9px;font-weight:800;line-height:1.4;letter-spacing:.07em;text-align:left;text-transform:uppercase;overflow-wrap:anywhere}.responsive-data-table:not(.orders-table) tbody td:empty{display:none}.responsive-data-table:not(.orders-table) tbody td>*,.responsive-data-table:not(.orders-table) tbody td>div{min-width:0;max-width:100%}.responsive-data-table:not(.orders-table) tbody td .table-secondary{margin-top:4px;white-space:normal}.responsive-data-table:not(.orders-table) tbody td .badge{justify-self:end;max-width:100%;white-space:normal;text-align:center}.responsive-data-table:not(.orders-table) tbody td .action-menu{justify-self:end}.responsive-data-table:not(.orders-table) tbody td .action-menu-trigger{width:42px;height:38px;border-color:var(--line);background:#f5f8f5;color:var(--forest)}.responsive-data-table:not(.orders-table) tbody td .btn{justify-self:end;max-width:100%;white-space:normal}.responsive-data-table:not(.orders-table) tbody td.positive,.responsive-data-table:not(.orders-table) tbody td.negative{font-weight:700}.panel>.responsive-table-wrap:not(.orders-table-wrap),.dashboard-grid .responsive-table-wrap:not(.orders-table-wrap){margin-inline:-5px!important}}@media(max-width:420px){.responsive-data-table:not(.orders-table) tbody tr{padding-inline:13px;border-radius:13px}.responsive-data-table:not(.orders-table) tbody td{grid-template-columns:minmax(88px,.75fr) minmax(0,1.25fr);gap:9px;font-size:12px}}.orders-table th:last-child,.orders-table td:last-child{min-width:145px;text-align:right}.order-items-detail{max-width:270px;white-space:normal;line-height:1.45}.order-row-closed{background:#fafbf9}.order-row-closed:hover{background:#f7f9f6!important}.order-closed-label{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 9px;border-radius:99px;background:#e8f3ec;color:var(--success);font-size:9px;font-weight:700;white-space:nowrap}.order-closed-label.cancelled{background:#f7e9e7;color:var(--danger)}.order-cancel-reason{max-width:290px;margin-top:7px;padding:7px 9px;border-left:3px solid var(--danger);border-radius:6px;background:#fff1ef;color:#87423e;font-size:10px;line-height:1.45;white-space:normal}.cancel-order-warning{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 13px;border:1px solid #efc5c0;border-radius:10px;background:#fff3f1;color:var(--danger)}.cancel-order-warning svg{flex:0 0 auto;margin-top:1px}.cancel-order-warning span{display:grid;gap:3px}.cancel-order-warning small{color:#855d59;font-size:10px;line-height:1.45}.field-help{color:var(--muted);font-size:9px;text-align:right}.pending-orders-button>span{min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:99px;background:var(--forest);color:#fff;font-size:10px}.order-history-filters{display:flex;gap:7px;margin-bottom:14px;padding-bottom:3px;overflow-x:auto;scrollbar-width:thin}.order-history-filters button{flex:0 0 auto;display:flex;align-items:center;gap:7px;min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:11px;font-weight:600}.order-history-filters button b{min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:99px;background:#edf1ed;color:var(--forest);font-size:9px}.order-history-filters button.active{border-color:var(--forest);background:var(--forest);color:#fff;box-shadow:0 4px 12px #123e2d24}.order-history-filters button.active b{background:var(--accent-soft)}.order-timeline{min-width:190px;display:grid;gap:7px}.order-timeline>span{position:relative;display:grid;grid-template-columns:10px 46px 1fr;gap:5px;align-items:center}.order-timeline i{width:8px;height:8px;border-radius:50%;background:#91a09a}.order-timeline i.served{background:var(--info)}.order-timeline i.paid{background:var(--success)}.order-timeline .cancelled i{background:var(--danger)}.order-timeline small{color:var(--muted);font-size:9px}.order-timeline span strong{font-size:9px;font-weight:600;white-space:nowrap}.order-timeline .order-cancel-reason{margin-top:2px}@media(max-width:600px){.orders-table{min-width:820px}.orders-table-wrap{max-height:62vh}.orders-table th:last-child,.orders-table td:last-child{position:sticky;right:0;background:var(--paper);box-shadow:-7px 0 12px #14221d0a}.orders-table .order-row-closed td:last-child{background:#fafbf9}}@media(max-width:700px){.pending-orders-button{width:100%;min-height:48px;justify-content:space-between;padding-inline:16px;border-color:#cbd8d1;background:linear-gradient(135deg,#fff,#f4f8f5);box-shadow:0 8px 20px #123e2d12}.pending-orders-button>span{min-width:28px;height:28px;font-size:11px}.modal:has(.orders-table-wrap) .modal-body{display:flex;flex-direction:column;overflow:hidden;padding:13px}.order-history-filters{flex:0 0 auto;margin:0 -2px 12px;padding:2px 2px 8px;scroll-snap-type:x mandatory;scrollbar-width:none}.order-history-filters::-webkit-scrollbar{display:none}.order-history-filters button{min-height:42px;padding:8px 12px;scroll-snap-align:start;border-radius:11px}.orders-table-wrap{flex:1;min-height:0;max-height:none!important;margin:0!important;padding:1px 2px 12px;overflow-x:hidden;overflow-y:auto;border:0!important;border-radius:0!important;background:transparent}.orders-table{display:block;min-width:0!important;width:100%}.orders-table thead{display:none}.orders-table tbody{display:grid;gap:12px}.orders-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 14px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 8px 22px #123e2d0e}.orders-table tbody tr.order-row-closed{background:#fafbf9}.orders-table tbody td{display:block;min-width:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;text-align:left!important}.orders-table tbody td:before{display:block;margin-bottom:4px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.orders-table tbody td:nth-child(1){grid-column:1;grid-row:1;padding-right:8px!important;color:var(--forest);font-size:14px}.orders-table tbody td:nth-child(1):before{content:"Référence"}html[lang=en] .orders-table tbody td:nth-child(1):before{content:"Reference"}.orders-table tbody td:nth-child(5){grid-column:2;grid-row:1;align-self:center}.orders-table tbody td:nth-child(5):before{display:none}.orders-table tbody td:nth-child(2){grid-column:1;grid-row:2;margin-top:15px;padding:11px 12px!important;border-radius:10px!important;background:#f5f8f5!important;font-weight:700}.orders-table tbody td:nth-child(2):before{content:"Table / comptoir"}html[lang=en] .orders-table tbody td:nth-child(2):before{content:"Table / counter"}.orders-table tbody td:nth-child(4){grid-column:2;grid-row:2;margin-top:15px;padding:11px 12px!important;border-radius:10px!important;background:#f5f8f5!important;text-align:right!important;font-weight:800}.orders-table tbody td:nth-child(4):before{content:"Total / solde";text-align:right}html[lang=en] .orders-table tbody td:nth-child(4):before{content:"Total / balance"}.orders-table tbody td:nth-child(3){grid-column:1/-1;grid-row:3;margin-top:13px;padding-bottom:13px!important;border-bottom:1px solid var(--line)!important}.orders-table tbody td:nth-child(3):before{content:"Détails de la commande"}html[lang=en] .orders-table tbody td:nth-child(3):before{content:"Order details"}.order-items-detail{max-width:none;margin-top:5px;font-size:11px;line-height:1.55}.orders-table tbody td:nth-child(6){grid-column:1/-1;grid-row:4;padding:13px 0!important}.orders-table tbody td:nth-child(6):before{content:"Historique"}html[lang=en] .orders-table tbody td:nth-child(6):before{content:"History"}.order-timeline{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.order-timeline>span{grid-template-columns:10px 42px minmax(0,1fr);padding:8px;border-radius:9px;background:#f7f9f7}.order-timeline span strong{white-space:normal;text-align:right}.order-timeline .order-cancel-reason{grid-column:1/-1;max-width:none}.orders-table tbody td:nth-child(7){grid-column:1/-1;grid-row:5;padding-top:3px!important}.orders-table tbody td:nth-child(7):before{content:"Actions"}.orders-table tbody td:nth-child(7) .action-menu-trigger{width:100%;height:42px;border-color:var(--line);background:#f5f8f5;color:var(--forest)}.orders-table tbody td:nth-child(7) .order-closed-label{width:100%;min-height:40px}}@media(max-width:820px){.modal-backdrop{padding:12px}.modal{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.modal header{padding:15px 17px}.modal-body{padding:17px}.invoice-modal-head{align-items:flex-start}.invoice-modal-head .actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:600px){.modal-backdrop{padding:8px;align-items:end}.modal{width:100%;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:18px 18px 8px 8px}.modal header{padding:14px 15px}.modal-body{padding:15px}.modal .form-grid{grid-template-columns:1fr}.modal .form-group.full{grid-column:1}.modal .form-actions{margin-inline:-15px;padding-inline:15px}.invoice-modal-head .actions{width:100%;justify-content:space-between}.invoice-modal-head{flex-wrap:wrap}.print-formats{order:2}.orders-table-wrap{margin-inline:0;border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:12px}}.reset-filters{flex:0 0 auto;white-space:nowrap;padding:9px 12px;color:var(--forest)}@media(max-width:600px){.toolbar .reset-filters{flex:1 1 auto}.toolbar .reset-filters svg{flex:0 0 auto}}.access-denied-page{min-height:calc(100dvh - 64px);display:grid;place-items:center}.access-denied-card{width:min(620px,100%);padding:clamp(28px,5vw,52px);border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 20px 60px #123e2d14;text-align:center}.access-denied-icon{width:68px;height:68px;margin:0 auto 20px;display:grid;place-items:center;border-radius:20px;background:#fff1ef;color:var(--danger)}.access-denied-card h1{font:700 clamp(25px,4vw,38px)/1.15 "Roboto",Arial,sans-serif;margin-bottom:14px}.access-denied-card>p:not(.eyebrow){color:var(--muted);line-height:1.65}.access-denied-card>small{display:block;padding:12px;border-radius:10px;background:#f4f7f4;color:var(--muted);line-height:1.55}.access-denied-actions{display:flex;justify-content:center;gap:9px;margin-top:22px}.access-denied-actions a{text-decoration:none}.app-notice{position:fixed;z-index:250;top:18px;right:18px;width:min(390px,calc(100vw - 30px));display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid #ebc7c2;border-radius:13px;background:#fff;color:var(--danger);box-shadow:0 18px 45px #192d252e}.app-notice.kitchen{border-color:#d9c378;background:#fffaf0;color:var(--forest)}.app-notice>svg{flex:0 0 auto}.app-notice>span{flex:1;display:grid;gap:3px}.app-notice small{color:var(--muted);font-size:11px;line-height:1.4}.app-notice>button{border:0;background:transparent;color:var(--muted);font-size:19px;line-height:1}.notice-enter-active,.notice-leave-active{transition:.2s ease}.notice-enter-from,.notice-leave-to{opacity:0;transform:translateY(-10px)}.kitchen-bell{position:relative;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--forest);text-decoration:none}.kitchen-bell b{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border:2px solid #fff;border-radius:99px;background:var(--danger);color:#fff;font-size:8px}.mobile-kitchen-bell{margin-left:auto}.mobile-kitchen-bell+.mobile-language{margin-left:0}.kitchen-stats{grid-template-columns:repeat(2,minmax(180px,260px))}.kitchen-order-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:14px}.kitchen-order-card{display:flex;flex-direction:column;min-height:300px;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--paper);box-shadow:0 8px 24px #123e2d0b}.kitchen-order-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:13px;border-bottom:1px solid var(--line)}.kitchen-order-card h2{font-size:22px;margin:5px 0 0}.kitchen-order-code{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.05em}.kitchen-wait{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:99px;background:#fff2d2;color:#825f17;font-size:10px;font-weight:700}.kitchen-items{flex:1;display:grid;align-content:start;gap:0;padding:10px 0}.kitchen-items>div{display:grid;grid-template-columns:38px 1fr;gap:8px;padding:10px 2px;border-bottom:1px dashed var(--line);font-size:13px}.kitchen-items b{color:var(--forest);font-size:15px}.kitchen-note{display:flex;align-items:flex-start;gap:7px;padding:9px;border-radius:8px;background:#fff7df;color:#76591a;font-size:10px;line-height:1.45}.spinning{animation:spin .8s linear infinite}.report-pdf-note{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;padding:12px 14px;border:1px solid #c5d9ce;border-radius:11px;background:#f1f8f4;color:var(--forest)}.report-pdf-note>span{display:grid;gap:3px}.report-pdf-note small{color:var(--muted);font-size:10px;line-height:1.45}@media(max-width:1100px){.kitchen-order-grid{grid-template-columns:repeat(2,minmax(230px,1fr))}}@media(max-width:600px){.access-denied-actions{flex-direction:column}.kitchen-stats,.kitchen-order-grid{grid-template-columns:1fr}.app-notice{top:10px;right:10px}.report-pdf-note{margin-top:-5px}}.bulk-import-intro{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid #c5d9ce;border-radius:11px;background:#f1f8f4;color:var(--forest)}.bulk-import-intro>svg{flex:0 0 auto}.bulk-import-intro>span{display:grid;gap:4px}.bulk-import-intro small{color:var(--muted);font-size:10px;line-height:1.5}.import-actions{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}.import-file-button{position:relative;overflow:hidden}.import-file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.import-errors{max-height:280px;overflow:auto;margin-top:12px;padding:12px;border:1px solid #efc5c0;border-radius:10px;background:#fff7f5}.import-errors>strong{display:block;margin-bottom:8px;color:var(--danger);font-size:12px}.import-errors>div{display:grid;grid-template-columns:150px 1fr;gap:9px;padding:7px 4px;border-top:1px solid #f2d8d4;font-size:10px}.import-errors b{color:#79423e}.import-errors span{color:var(--muted)}@media(max-width:600px){.import-actions,.import-actions .btn{width:100%}.import-errors>div{grid-template-columns:1fr;gap:3px}}
