:root{--night:#0d0a12;--night-2:#1a1222;--wood-1:#3a2316;--wood-2:#2c1a10;--wood-3:#4a2e1c;--wood-edge:#1a0f08;--paper:#f2e4c4;--paper-2:#e8d6ad;--paper-line:#7896be59;--paper-margin:#c8323273;--ink:#2a1f17;--ink-soft:#6b5a48;--ink-red:#a3201f;--ink-blue:#1f3f7a;--ink-green:#2f6b2f;--neon-pink:#ff4f7b;--neon-red:#ff3131;--neon-green:#46ff9a;--neon-amber:#ffb547;--brass:#c9a24a;--brass-dark:#8a6a24;--enamel-red:#8e1b1b;--enamel-red-hover:#a82323;--enamel-teal:#2c6e68;--bg:var(--wood-2);--surface:var(--paper);--text:var(--ink);--muted:var(--ink-soft);--border:#2a1f1738;--primary:var(--enamel-red);--primary-hover:var(--enamel-red-hover);--danger:#6e0f0f;--success-bg:#dfe8c8;--success-text:var(--ink-green);--error-bg:#f1c9bd;--error-text:#7d1414;--info-bg:#d9e2e6;--info-text:var(--ink-blue);--warning-bg:#f3d68e;--radius:3px;--font-sign:"Bebas Neue", "Oswald", Impact, sans-serif;--font-script:"Yellowtail", "Brush Script MT", cursive;--font-type:"Special Elite", "Courier New", monospace;--font-mono:"Courier Prime", "Courier New", monospace;font-family:var(--font-mono);color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;line-height:1.45}*{box-sizing:border-box}body{background-color:var(--wood-2);background-image:radial-gradient(ellipse at 50% 0%, #ffb54724, transparent 60%), radial-gradient(ellipse at 50% 120%, #0009, transparent 60%), repeating-linear-gradient(90deg, transparent 0 118px, var(--wood-edge) 118px 121px, transparent 121px 122px), repeating-linear-gradient(90deg, #ffffff05 0 3px, transparent 3px 9px, #0000000f 9px 11px, transparent 11px 19px), linear-gradient(90deg, var(--wood-1), var(--wood-3) 30%, var(--wood-1) 55%, var(--wood-3) 80%, var(--wood-1));background-attachment:fixed;min-height:100vh;margin:0}::selection{background:var(--neon-pink);color:var(--night)}h1{font-family:var(--font-sign);letter-spacing:.06em;color:var(--paper);text-shadow:0 2px 0 var(--wood-edge), 0 0 18px #ffb54740;margin:0;font-size:2.6rem;font-weight:400;line-height:1}h2{font-family:var(--font-sign);letter-spacing:.06em;margin:0;font-size:1.6rem;font-weight:400}.muted{color:var(--muted)}.small{font-size:.8rem}.num{text-align:right;font-variant-numeric:tabular-nums}.neon-sign{background:linear-gradient(#17101d,#0a070d);border:3px solid #2d2433;border-radius:10px;align-items:center;gap:1rem;padding:.5rem 1.1rem;display:inline-flex;position:relative;box-shadow:inset 0 0 0 2px #000,inset 0 0 22px #ff4f7b26,0 8px 22px #0000008c}.brand{white-space:nowrap;align-items:baseline;gap:.35rem;display:inline-flex}.brand-hotel{font-family:var(--font-sign);letter-spacing:.22em;color:#fff0c9;text-shadow:0 0 2px #fff, 0 0 6px var(--neon-amber), 0 0 14px var(--neon-amber), 0 0 26px #ffb54799;font-size:1.35rem}.brand-california{font-family:var(--font-script);color:#ffe1ea;text-shadow:0 0 2px #fff, 0 0 6px var(--neon-pink), 0 0 14px var(--neon-pink), 0 0 30px var(--neon-pink), 0 0 48px #ff4f7b80;font-size:2rem;line-height:1}.flicker{animation:6s step-end infinite flicker}.flicker-slow{animation:11s step-end 2s infinite flicker}@keyframes flicker{0%,18%,22%,25%,53%,57%,to{opacity:1}20%,24%,55%{opacity:.25;text-shadow:none}}.vacancy{font-family:var(--font-sign);letter-spacing:.16em;color:#d8ffe9;text-shadow:0 0 4px var(--neon-green), 0 0 12px var(--neon-green);white-space:nowrap;border:2px solid #46ff9a8c;border-radius:4px;padding:.15rem .5rem;font-size:.95rem;box-shadow:0 0 10px #46ff9a40,inset 0 0 8px #46ff9a33}.vacancy-no{color:#3a1a1a;text-shadow:none;animation:14s infinite no-vacancy}@keyframes no-vacancy{0%,88%,to{color:#3a1a1a;text-shadow:none}89%,91%,93%{color:#ffd6d6;text-shadow:0 0 4px var(--neon-red), 0 0 14px var(--neon-red)}90%,92%{color:#3a1a1a;text-shadow:none}}.neon-arrow{display:none}.neon-sign-large{border-width:4px;flex-direction:column;gap:.6rem;padding:1.4rem 2.4rem 1.2rem}.neon-sign-large .brand{flex-direction:column;align-items:center;gap:0}.neon-sign-large .brand-hotel{letter-spacing:.5em;margin-right:-.5em;font-size:2.4rem}.neon-sign-large .brand-california{margin-top:-.2em;font-size:4.2rem}.neon-sign-large .vacancy{padding:.2rem .8rem;font-size:1.4rem}.neon-sign-large .neon-arrow{border:3px solid var(--neon-amber);width:70px;height:22px;box-shadow:0 0 8px var(--neon-amber), inset 0 0 6px var(--neon-amber);border-left:none;border-radius:0 4px 4px 0;animation:1.6s step-end infinite arrow-chase;display:block;position:absolute;bottom:18px;right:-46px}.neon-sign-large .neon-arrow:after{content:"";border-left:3px solid var(--neon-amber);border-bottom:3px solid var(--neon-amber);width:16px;height:16px;filter:drop-shadow(0 0 4px var(--neon-amber));position:absolute;top:50%;left:-14px;transform:translateY(-50%)rotate(45deg)}@keyframes arrow-chase{0%,to{opacity:1}50%{opacity:.35}}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:radial-gradient(1px 1px at 12% 30%, #fff8 50%, transparent 51%), radial-gradient(1px 1px at 37% 70%, #fff6 50%, transparent 51%), radial-gradient(1.5px 1.5px at 58% 25%, #fff9 50%, transparent 51%), radial-gradient(1px 1px at 74% 60%, #fff5 50%, transparent 51%), radial-gradient(1px 1px at 91% 35%, #fff7 50%, transparent 51%), linear-gradient(180deg, var(--night), var(--night-2));z-index:10;border-bottom:3px solid #000;align-items:center;gap:1.5rem;padding:.7rem 1.5rem;display:flex;position:sticky;top:0}.topbar:after{content:"";background:repeating-linear-gradient(90deg, var(--enamel-red) 0 28px, var(--paper) 28px 56px);pointer-events:none;height:14px;position:absolute;top:100%;left:0;right:0;-webkit-mask:radial-gradient(circle at 14px 0,#000 13.5px,#0000 14px) 0 0/28px 14px repeat-x;mask:radial-gradient(circle at 14px 0,#000 13.5px,#0000 14px) 0 0/28px 14px repeat-x}.nav{flex:1;gap:.6rem;display:flex}.nav a{background:linear-gradient(180deg, #e7c871, var(--brass) 45%, var(--brass-dark));color:#2a1d06;font-family:var(--font-sign);letter-spacing:.1em;opacity:.6;border:1px solid #5a4416;border-radius:4px;align-items:center;gap:.55rem;padding:.35rem .9rem .35rem .55rem;font-size:1.15rem;text-decoration:none;transition:opacity .15s,transform .15s;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff73,0 2px 4px #00000080}.nav a:before{content:attr(data-room);color:#e7c871;letter-spacing:.05em;background:#2a1d06;border-radius:2px;padding:0 .35rem;font-size:.85rem}.nav a:hover{opacity:.85}.nav a.active{opacity:1;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff8c,0 0 14px #ffb54773,0 2px 4px #00000080}.topbar-user{color:var(--paper-2);align-items:center;gap:.75rem;display:flex}.desk-plate{font-family:var(--font-type);flex-direction:column;align-items:flex-end;font-size:.9rem;line-height:1.1;display:inline-flex}.desk-plate:before{content:"Gerente de plantão";font-family:var(--font-sign);letter-spacing:.2em;color:var(--neon-amber);opacity:.8;font-size:.7rem}.content{flex:1;width:100%;max-width:1140px;margin:0 auto;padding:2rem 1.5rem}.page-header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.page-kicker{font-family:var(--font-script);color:var(--neon-pink);text-shadow:0 0 8px #ff4f7b99;margin-bottom:-.2rem;font-size:1.5rem;display:block}.page-status{text-align:center;font-family:var(--font-type);color:var(--paper-2);margin-top:3rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.toolbar input[type=search]{flex:280px}.motel-footer{font-family:var(--font-sign);letter-spacing:.25em;color:#f2e4c466;background:#00000059;border-top:1px solid #0009;justify-content:center;gap:1rem;padding:1rem;font-size:.9rem;display:flex}input:not([type=checkbox]){border-radius:var(--radius);width:100%;color:var(--ink);font-family:var(--font-type);letter-spacing:normal;background:#fbf4e2;border:1px solid #2a1f1773;padding:.55rem .75rem;font-size:.95rem;box-shadow:inset 0 2px 3px #0000001f}input::placeholder{color:#a08f78}.toolbar input[type=search]{border-color:#000;box-shadow:0 2px 6px #00000073,inset 0 2px 3px #0000001a}input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--enamel-red)}input:focus-visible,.btn:focus-visible,.tab:focus-visible,.nav a:focus-visible,.picker-list button:focus-visible{outline:2px solid var(--neon-amber);outline-offset:2px}.btn{border:1px solid var(--ink);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-family:var(--font-sign);letter-spacing:.1em;cursor:pointer;box-shadow:0 2px 0 var(--ink);padding:.5rem 1rem;font-size:1.05rem;line-height:1.1;transition:transform 80ms,box-shadow 80ms,background .15s}.btn:hover:not(:disabled){background:#fff6de}.btn:active:not(:disabled){box-shadow:0 0 0 var(--ink);transform:translateY(2px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg, var(--enamel-red-hover), var(--enamel-red));color:#fff1d6;text-shadow:0 1px #0006;border-color:#3d0808;box-shadow:0 2px #3d0808,inset 0 1px #fff3}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg, #c02a2a, var(--enamel-red-hover))}.btn-primary:active:not(:disabled){box-shadow:0 0 #3d0808}.btn-danger{color:#ff9c9c;text-shadow:0 0 6px #ff313199;background:#1b1b1b;border-color:#000;box-shadow:0 2px #000}.btn-danger:hover:not(:disabled){background:#2a0d0d}.btn-ghost{box-shadow:none;color:inherit;opacity:.8;background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){opacity:1;background:#ffffff14}.btn-small{padding:.3rem .65rem;font-size:.9rem}.tabs{flex-wrap:wrap;gap:.45rem;display:flex}.tab{background:linear-gradient(180deg, #5d7f7a, var(--enamel-teal));color:#e9f3ef;font-family:var(--font-sign);letter-spacing:.08em;cursor:pointer;border:1px solid #000000b3;border-radius:4px 999px 999px 4px;padding:.35rem .85rem .35rem 1.45rem;font-size:1rem;transition:transform .15s;position:relative;box-shadow:0 2px 4px #00000073}.tab:before{content:"";background:var(--wood-2);border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:50%;left:.5rem;transform:translateY(-50%);box-shadow:inset 0 1px 2px #000}.tab:hover{transform:rotate(-2deg)}.tab.active{background:linear-gradient(180deg, #e7c871, var(--brass) 50%, var(--brass-dark));color:#2a1d06;transform:rotate(-3deg);box-shadow:0 0 12px #ffb54766,0 2px 4px #00000073}.card{background:var(--paper);border-radius:var(--radius);border:1px solid #000;box-shadow:0 1px #d8c69c,0 2px #cdb98c,0 3px #c2ad7f,0 14px 28px #0000008c}.table-card{background-color:var(--paper);background-image:radial-gradient(at 85% 10%,#9664281f,#0000 40%),radial-gradient(at 10% 90%,#9664281a,#0000 45%);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-family:var(--font-mono)}.table th,.table td{text-align:left;border-bottom:1px solid var(--paper-line);vertical-align:middle;padding:.7rem .9rem}.table th:first-child,.table td:first-child{border-right:2px double var(--paper-margin)}.table th.num,.table td.num{text-align:right}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:#ffb54724}.table tbody tr:last-child td{border-bottom:none}.table th{font-family:var(--font-sign);letter-spacing:.12em;color:var(--ink-red);background:var(--paper-2);border-bottom:2px solid var(--ink-red);font-size:1rem;font-weight:400}.table td:first-child{font-family:var(--font-type);color:var(--ink-red)}.table-compact th,.table-compact td{padding:.4rem .6rem}.empty{font-family:var(--font-type);text-align:center!important;color:var(--muted)!important;border-right:none!important;padding:2.5rem 1rem!important}.actions{white-space:nowrap;text-align:right!important}.actions .btn+.btn{margin-left:.4rem}.pagination{font-family:var(--font-type);color:var(--paper);justify-content:center;align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.badge{font-family:var(--font-type);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);opacity:.9;mix-blend-mode:multiply;white-space:nowrap;background:0 0;border:2px solid;border-radius:4px;padding:.1rem .5rem;font-size:.78rem;display:inline-block;transform:rotate(-3deg);box-shadow:inset 0 0 0 1px #f2e4c499}.badge-reserved{color:var(--ink-blue)}.badge-checked-in{color:var(--ink-green);transform:rotate(2deg)}.badge-checked-out{color:var(--ink-soft);transform:rotate(-1deg)}.badge-canceled{color:var(--ink-red);border-style:double;border-width:3px;transform:rotate(-6deg)}.alert{border-radius:var(--radius);font-family:var(--font-type);border-left:5px solid;margin:0 0 1rem;padding:.65rem .9rem .65rem 1rem;box-shadow:0 4px 10px #00000059}.alert-success{background:var(--success-bg);color:var(--success-text)}.alert-error{background:var(--error-bg);color:var(--error-text)}.alert-info{background:var(--info-bg);color:var(--info-text)}.modal .alert,.login-card .alert{box-shadow:none}.field-error{font-family:var(--font-type);color:var(--ink-red);margin-top:.25rem;font-size:.85rem;display:block}.form{flex-direction:column;gap:1rem;display:flex}.form label,.form .field,.login-card label{font-family:var(--font-sign);letter-spacing:.1em;color:var(--ink-red);flex-direction:column;gap:.3rem;font-size:1rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form label.checkbox{color:var(--ink);flex-direction:row;align-items:center;gap:.5rem}.form-actions{justify-content:flex-end;gap:.5rem;display:flex}.picked{border:1px dashed var(--ink-soft);border-radius:var(--radius);font-family:var(--font-mono);color:var(--ink);letter-spacing:0;background:#fbf4e2;justify-content:space-between;align-items:center;padding:.5rem .7rem;display:flex}.picker-list{border:1px solid var(--border);border-radius:var(--radius);max-height:220px;font-family:var(--font-mono);letter-spacing:0;color:var(--ink);background:#fbf4e2;margin:.4rem 0 0;padding:0;list-style:none;overflow-y:auto}.picker-list li+li{border-top:1px solid var(--paper-line)}.picker-list button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;padding:.5rem .7rem;display:flex}.picker-list button:hover{background:#ffb54733}.picker-empty{padding:.6rem .7rem;font-size:.9rem}.login-page{background:radial-gradient(1px 1px at 8% 12%,#fff9 50%,#0000 51%),radial-gradient(1px 1px at 22% 32%,#fff7 50%,#0000 51%),radial-gradient(1.5px 1.5px at 35% 8%,#fffa 50%,#0000 51%),radial-gradient(1px 1px at 63% 18%,#fff8 50%,#0000 51%),radial-gradient(1px 1px at 78% 6%,#fff6 50%,#0000 51%),radial-gradient(1.5px 1.5px at 90% 26%,#fff9 50%,#0000 51%),radial-gradient(circle at 82% 14%,#f6eccf 0 26px,#f6eccf1f 27px 60px,#0000 61px),radial-gradient(at 50% 38%,#ff4f7b29,#0000 55%),linear-gradient(#07050b 0%,#160f22 55%,#2a1a1d 82%,#110b08 100%);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:100vh;padding:2rem 1rem;display:flex;position:relative;overflow:hidden}.login-page:after{content:"";pointer-events:none;background:linear-gradient(#0000,#00000080),radial-gradient(60% 100% at 20% 100%,#1d1210 60%,#0000 61%),radial-gradient(70% 90% at 80% 100%,#170e0c 60%,#0000 61%);height:18vh;position:absolute;bottom:0;left:0;right:0}.rain{pointer-events:none;background-image:repeating-linear-gradient(100deg,#0000 0 18px,#c8d2ff17 18px 19px,#0000 19px 41px);animation:.6s linear infinite rain;position:absolute;inset:-50% 0 0}@keyframes rain{0%{transform:translate(0)}to{transform:translate(-12px,64px)}}.login-page .neon-sign,.login-page .lyric,.login-card{z-index:1;position:relative}.lyric{text-align:center;max-width:34rem;font-family:var(--font-type);color:#f2e4c4a6;margin:0;font-size:.95rem}.login-card{background-image:repeating-linear-gradient(180deg, transparent 0 27px, var(--paper-line) 27px 28px);flex-direction:column;gap:1rem;width:100%;max-width:380px;padding:2.4rem 2rem 1.4rem;display:flex;transform:rotate(-1deg)}.card-ribbon{text-align:center;font-family:var(--font-sign);letter-spacing:.3em;color:var(--paper);background:var(--enamel-red);padding:.25rem;font-size:.85rem;position:absolute;top:0;left:0;right:0}.login-card h1{color:var(--ink);text-shadow:none;font-size:2.2rem}.login-card p{margin:0}.card-footnote{font-family:var(--font-type);text-align:center;color:var(--ink-soft);font-size:.75rem}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:radial-gradient(at 50% 40%,#0d0a128c,#0d0a12e0);place-items:center;padding:1rem;animation:.15s ease-out fade-in;display:grid;position:fixed;inset:0}.modal{background-color:var(--paper);border-radius:var(--radius);width:100%;max-width:500px;max-height:90vh;box-shadow:0 0 0 6px var(--paper), 0 0 0 7px var(--ink-red), 0 24px 60px #000000b3;background-image:radial-gradient(at 90% 0,#96642824,#0000 45%);border:1px solid #000;flex-direction:column;animation:.22s ease-out slide-card;display:flex}.modal-wide{max-width:660px}@keyframes fade-in{0%{opacity:0}}@keyframes slide-card{0%{opacity:0;transform:translateY(24px)rotate(-2deg)}}.modal-header{border-bottom:2px solid var(--ink-red);justify-content:space-between;align-items:center;padding:.9rem 1.25rem;display:flex}.modal-header h2{color:var(--ink-red)}.modal-header .btn-ghost{color:var(--ink)}.modal-body{padding:1.25rem;overflow-y:auto}.modal-body p:first-child{margin-top:0}.modal-body>p{font-family:var(--font-type)}.modal-footer{border-top:1px dashed var(--ink-soft);justify-content:flex-end;gap:.5rem;padding:.9rem 1.25rem;display:flex}.bill-guest{margin-bottom:1rem}.bill-summary{font-family:var(--font-mono);margin:1rem 0 0}.bill-summary>div{border-bottom:1px dotted var(--ink-soft);justify-content:space-between;gap:1rem;padding:.4rem 0;display:flex}.bill-summary dt,.bill-summary dd{margin:0}.bill-summary dd{font-variant-numeric:tabular-nums}.bill-warning{background:var(--warning-bg);border-radius:var(--radius);padding:.4rem .6rem!important}.bill-total{border-top:3px double var(--ink);font-family:var(--font-sign);letter-spacing:.06em;color:var(--ink-red);margin-top:.4rem;font-size:1.6rem;border-bottom:none!important;padding-top:.75rem!important}@media (width<=760px){.topbar{flex-wrap:wrap;gap:.6rem;padding:.6rem 1rem;position:relative}.neon-sign-small .vacancy{display:none}.nav{flex-basis:100%;order:3}.topbar-user{margin-left:auto}.content{padding:1.25rem 1rem}h1{font-size:2.1rem}.page-header{flex-wrap:wrap}.form-row{grid-template-columns:1fr}.neon-sign-large{padding:1rem 1.2rem}.neon-sign-large .brand-hotel{font-size:1.7rem}.neon-sign-large .brand-california{font-size:3rem}.neon-sign-large .neon-arrow{display:none}.motel-footer{letter-spacing:.15em;gap:.5rem;font-size:.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
