:root{--navy:#12365f;--navy2:#1d4f85;--sky:#dfeeff;--amber:#ffb45c;--amber2:#fff0dc;--bg:#f3f6fa;--card:#fff;--ink:#17283a;--muted:#657586;--line:#dce3eb;--green:#17835f;--red:#b94b47;--shadow:0 16px 40px rgba(24,51,79,.10);--radius:22px}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.45}button,input,select,textarea{font:inherit}.app{min-height:100vh}.topbar{height:78px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,52px)}.brand{display:flex;align-items:center;gap:12px;background:none;border:0;color:#fff;text-align:left;cursor:pointer}.logo{width:46px;height:46px;border-radius:15px;background:var(--amber);color:var(--navy);display:grid;place-items:center;font-weight:900;font-size:18px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}.brand b{font-size:21px;display:block}.brand small{display:block;color:#cbd9e8;font-size:13px;margin-top:1px}.top-actions{display:flex;align-items:center;gap:12px}.demo-label{font-size:12px;font-weight:900;letter-spacing:.13em;color:#ffdaa8}.nav{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 16px;position:sticky;top:0;z-index:10}.nav-btn{height:50px;border:0;background:transparent;color:#607184;border-radius:14px;padding:0 17px;display:flex;align-items:center;gap:8px;font-weight:800;cursor:pointer}.nav-btn span{font-size:21px}.nav-btn.active{background:var(--sky);color:var(--navy)}main{max-width:1280px;margin:auto;padding:30px clamp(16px,4vw,44px) 50px}.view{display:none}.view.active{display:block}.page-head{margin-bottom:22px}.page-head h1{font-size:clamp(30px,4vw,47px);line-height:1.05;letter-spacing:-.035em;margin:0 0 8px}.page-head p{margin:0;color:var(--muted);font-size:17px}.page-head .kicker{font-size:12px}.compact-head,.action-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.kicker{color:var(--navy2)!important;font-weight:900;letter-spacing:.14em;margin:0 0 8px!important}.availability-key{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 14px;display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:14px}.availability-key i{width:11px;height:11px;border-radius:50%}.free{background:#53b58e}.busy{background:#d6dce4}.booking-layout{display:grid;grid-template-columns:1.5fr .68fr;gap:20px}.calendar-card,.price-card,.panel,.lookup-card,.timeline-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.calendar-card{padding:24px}.calendar-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-title div{text-align:center}.calendar-title b,.calendar-title small{display:block}.calendar-title b{font-size:21px}.calendar-title small{color:var(--muted);margin-top:3px}.icon-btn{width:44px;height:44px;border-radius:13px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:28px;cursor:pointer}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.day{min-height:112px;border:2px solid var(--line);border-radius:16px;background:#fff;padding:12px 8px;text-align:center;cursor:pointer}.day b,.day small,.day em{display:block}.day small{font-size:12px;color:var(--muted);font-weight:800}.day b{font-size:25px;margin:6px 0}.day em{font-size:12px;font-style:normal;color:var(--green);font-weight:800}.day.busy-day{background:#f3f4f6;color:#8995a1;cursor:not-allowed}.day.busy-day em{color:#8a96a3}.day.selected{border-color:var(--navy2);background:var(--sky);box-shadow:0 0 0 3px rgba(29,79,133,.1)}.space-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.space-btn{min-height:74px;border:2px solid var(--line);background:#fff;border-radius:16px;padding:12px;text-align:left;cursor:pointer}.space-btn b,.space-btn small{display:block}.space-btn b{font-size:17px}.space-btn small{color:var(--muted);margin-top:3px}.space-btn.active{border-color:var(--navy2);background:#f2f7ff}.price-card{padding:27px;display:flex;flex-direction:column}.price-card h2{font-size:28px;margin:18px 0}.badge{font-size:11px;font-weight:900;letter-spacing:.1em;padding:7px 10px;border-radius:999px;align-self:flex-start}.amber{background:var(--amber2);color:#985b12}.blue{background:var(--sky);color:var(--navy2)}.price-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.price-row b{font-size:19px}.rule{display:flex;gap:10px;background:#eef8f4;color:#315e50;padding:13px;border-radius:14px;margin:17px 0 auto}.rule span{color:var(--green);font-weight:900}.rule p{font-size:14px;margin:0}.btn{min-height:46px;border:0;border-radius:13px;padding:0 17px;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--navy2);color:white}.btn.primary:hover{background:var(--navy)}.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn.ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.28)}.btn.danger{background:#fff0ef;color:#983d39;border:1px solid #efc9c6}.wide{width:100%}.tall{min-height:55px;font-size:17px}.text-btn,.sample-link{border:0;background:none;color:var(--navy2);font-weight:800;padding:13px;cursor:pointer}.lookup-card{max-width:760px;padding:30px}.lookup-card label{font-weight:800}.lookup-line{display:flex;gap:10px;margin-top:8px}.lookup-line input{flex:1;text-transform:uppercase;font-weight:850;letter-spacing:.08em}.sample-link{padding-left:0}.lookup-result{margin-top:18px;border:1px solid var(--line);border-radius:18px;padding:20px}.lookup-result.empty{text-align:center;color:var(--muted)}.lookup-result.empty>span{font-size:35px}.lookup-result h2{margin:0 0 6px}.lookup-result p{margin:5px 0;color:var(--muted)}.lookup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.lookup-grid div{background:#f5f8fb;border-radius:13px;padding:12px}.lookup-grid small,.lookup-grid b{display:block}.lookup-grid small{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;align-items:center;gap:13px}.stat-icon{width:43px;height:43px;border-radius:13px;background:var(--sky);display:grid;place-items:center;color:var(--navy2);font-size:20px}.stat b{display:block;font-size:26px;line-height:1}.stat small{color:var(--muted);font-size:13px}.board-layout{display:grid;grid-template-columns:1.45fr .82fr;gap:16px}.panel{padding:21px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-head h2{margin:0;font-size:21px}.panel-head p{margin:3px 0 0;color:var(--muted);font-size:14px}.filters{display:flex;gap:5px;background:#f1f4f7;padding:4px;border-radius:12px}.filter{border:0;background:none;border-radius:9px;padding:8px 9px;color:var(--muted);font-size:13px;font-weight:800;cursor:pointer}.filter.active{background:#fff;color:var(--navy);box-shadow:0 2px 9px rgba(0,0,0,.07)}.reservation-list{display:flex;flex-direction:column}.reservation-row{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;border-top:1px solid #edf0f4;padding:13px 2px;cursor:pointer}.reservation-row:hover,.reservation-row.selected{background:#f6f9fd}.date-box{background:var(--sky);border-radius:13px;text-align:center;padding:8px;color:var(--navy)}.date-box b,.date-box small{display:block}.date-box b{font-size:21px}.reservation-main b,.reservation-main small{display:block}.reservation-main small{color:var(--muted);margin-top:3px}.status{padding:7px 9px;border-radius:999px;font-size:12px;font-weight:850;white-space:nowrap}.status.requested{background:#fff1dc;color:#9a5a0d}.status.approved{background:#e3f4ed;color:#167254}.status.delivered{background:#e6eeff;color:#345e9d}.status.completed{background:#edf0f3;color:#5e6b78}.status.rejected{background:#fde9e8;color:#9d4541}.detail-panel{min-height:430px}.empty-detail{text-align:center;color:var(--muted);padding:70px 20px}.empty-detail span{font-size:42px}.empty-detail h3{color:var(--ink);margin:10px 0 3px}.detail-top{display:flex;justify-content:space-between;gap:10px}.detail-top h2{margin:0}.code{color:var(--muted);font-weight:800}.detail-data{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:17px 0}.detail-data div{background:#f5f8fb;border-radius:12px;padding:11px}.detail-data small,.detail-data b{display:block}.detail-data small{color:var(--muted);font-size:12px}.payment-box{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:12px}.payment-line{display:flex;align-items:center;justify-content:space-between;padding:7px 0}.paid{color:var(--green);font-weight:850}.pending{color:#a56518;font-weight:850}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-actions .wide-action{grid-column:1/-1}.handover-layout{display:grid;grid-template-columns:1.25fr .65fr;gap:18px}.select-label{font-weight:850}.select-label select{margin-top:7px}.handover-summary{background:#f3f7fc;border-radius:15px;padding:14px;margin:14px 0}.handover-summary b,.handover-summary small{display:block}.handover-summary small{color:var(--muted);margin-top:3px}.step-tabs{display:grid;grid-template-columns:1fr 1fr;background:#eef2f6;padding:4px;border-radius:13px;margin:14px 0}.step-tab{border:0;background:none;border-radius:10px;padding:11px;font-weight:850;color:var(--muted);cursor:pointer}.step-tab.active{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(0,0,0,.08)}.handover-form label{font-weight:750}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.check-grid label,.member-check{background:#f5f8fb;border-radius:12px;padding:11px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:11px 0}input,select,textarea{width:100%;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--navy2)}textarea{min-height:82px;resize:vertical}.upload-box{display:block;border:2px dashed #aebdcd;background:#f7faff;border-radius:14px;padding:17px;text-align:center;margin:14px 0;cursor:pointer}.upload-box input{display:none}.upload-box span{display:block;color:var(--muted);font-weight:600;margin-top:3px}.return-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.hidden{display:none!important}.timeline-card{padding:23px}.timeline-card h2{margin-top:0}.timeline-item{display:flex;gap:12px;position:relative;padding-bottom:22px}.timeline-item:not(:last-child):before{content:"";position:absolute;left:15px;top:31px;bottom:0;width:2px;background:var(--line)}.timeline-dot{width:31px;height:31px;border-radius:50%;background:#e8edf2;color:#74818e;display:grid;place-items:center;flex:0 0 auto;font-weight:900}.timeline-item.done .timeline-dot{background:var(--green);color:#fff}.timeline-item b,.timeline-item small{display:block}.timeline-item small{color:var(--muted);margin-top:2px}.money-stats .stat:first-child .stat-icon{background:#e3f4ed;color:var(--green)}.finance-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}.transaction{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:11px;padding:13px 0;border-top:1px solid #edf0f4}.transaction-icon{width:42px;height:42px;border-radius:12px;background:#e8f2ff;display:grid;place-items:center}.transaction b,.transaction small{display:block}.transaction small{color:var(--muted)}.transaction .amount{color:var(--green);font-size:18px}.destination-card{display:flex;flex-direction:column}.destination-card h2{font-size:28px;margin:18px 0 7px}.destination-card p{color:var(--muted)}.goal{margin-top:20px}.goal div{height:14px;background:#e7edf3;border-radius:999px;overflow:hidden}.goal i{height:100%;display:block;background:linear-gradient(90deg,var(--amber),#ffca88);border-radius:999px}.goal b{display:block;margin-top:8px}.transparency-note{margin-top:auto;background:var(--navy);color:#fff;border-radius:15px;padding:15px;display:flex;gap:10px}.transparency-note p{color:#dbe6f1;margin:0;font-size:14px}.dialog{border:0;border-radius:24px;padding:0;width:min(680px,calc(100% - 24px));max-height:94vh;box-shadow:0 28px 90px rgba(0,0,0,.32)}.dialog::backdrop{background:rgba(9,26,44,.64)}.dialog-shell{padding:28px;position:relative}.dialog-shell h2{font-size:30px;margin:0 0 8px}.dialog-close{position:absolute;right:18px;top:16px;width:42px;height:42px;border:0;border-radius:50%;background:#eef2f5;font-size:26px;cursor:pointer}.safe-note{background:#eef7f3;color:#315d50;padding:10px 12px;border-radius:11px}.dialog label{font-weight:800}.dialog fieldset{border:1px solid var(--line);border-radius:14px;padding:12px;margin:12px 0;display:flex;gap:14px;flex-wrap:wrap}.dialog fieldset label{background:#f4f7fa;border-radius:10px;padding:9px}.dialog input[type=checkbox]{width:auto;margin-right:6px}.quote{background:var(--navy);color:white;border-radius:15px;padding:15px;margin:13px 0;display:grid;grid-template-columns:1fr auto}.quote b{font-size:22px}.quote small{grid-column:1/-1;color:#d9e4ef}.form-error{display:none;background:#fff0ef;color:#9c3d38;padding:10px;border-radius:10px;font-weight:750}.small-dialog{width:min(520px,calc(100% - 24px))}.rules{padding-left:22px;line-height:1.7}.toast{position:fixed;right:20px;bottom:20px;background:#102d4c;color:#fff;padding:14px 18px;border-radius:14px;box-shadow:0 15px 45px rgba(0,0,0,.25);font-weight:800;transform:translateY(130%);opacity:0;transition:.25s;z-index:30;max-width:370px}.toast.show{transform:none;opacity:1}@media(max-width:950px){.booking-layout,.board-layout,.handover-layout,.finance-layout{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.detail-panel{min-height:0}.price-card .rule{margin-bottom:18px}.nav{justify-content:flex-start;overflow-x:auto}.nav-btn{white-space:nowrap}.days{grid-template-columns:repeat(4,1fr)}.day{min-height:95px}.timeline-card{order:-1}}@media(max-width:620px){.topbar{height:72px;padding:0 13px}.brand small{font-size:11px}.logo{width:42px;height:42px}.demo-label{display:none}.reset-btn{font-size:0;width:46px;padding:0}.reset-btn span{font-size:22px}.nav{height:67px;padding:7px 8px}.nav-btn{min-width:82px;height:52px;padding:4px 8px;flex-direction:column;gap:0;font-size:11px}.nav-btn span{font-size:18px}main{padding:21px 13px 88px}.compact-head,.action-head{align-items:flex-start;display:block}.availability-key,.action-head>.btn{margin-top:13px}.page-head h1{font-size:32px}.calendar-card,.price-card,.panel,.lookup-card,.timeline-card{padding:18px;border-radius:18px}.days{grid-template-columns:repeat(3,1fr)}.space-switch,.field-grid,.check-grid,.return-actions,.detail-actions{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:12px;gap:8px}.stat b{font-size:22px}.stat small{font-size:11px}.stat-icon{width:36px;height:36px}.panel-head{align-items:flex-start;display:block}.filters{margin-top:12px;overflow-x:auto}.reservation-row{grid-template-columns:52px 1fr}.reservation-row>.status{grid-column:2}.detail-data,.lookup-grid{grid-template-columns:1fr}.lookup-line{display:grid}.dialog-shell{padding:23px 17px}.dialog-shell h2{font-size:26px;padding-right:38px}.toast{left:13px;right:13px;bottom:14px}}
@media print{.topbar,.nav,.action-head>.btn,.filters,.detail-panel,.destination-card,.toast{display:none!important}body{background:#fff}main{padding:0}.view{display:none!important}#view-caja{display:block!important}.panel,.stat{box-shadow:none}.finance-layout{grid-template-columns:1fr}}
