*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#172033;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.top{background:#fff;border-bottom:1px solid #e5eaf1;padding:15px 22px;display:flex;justify-content:space-between;align-items:center}.brand{font-size:21px;font-weight:850;color:#172033;text-decoration:none}.brand span{color:#356bd8}.sub{font-size:12px;color:#7a8699;margin-top:2px}.badge,.pill{background:#eef4ff;color:#356bd8;border-radius:999px;padding:8px 11px;font-weight:750;font-size:12px}.wrap{max-width:1180px;margin:auto;padding:20px}.nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:20px}.nav a{text-align:center;text-decoration:none;padding:10px;border-radius:10px;background:#fff;color:#354157;font-weight:700;font-size:13px}.nav a.active{background:#356bd8;color:#fff}.grid{display:grid;gap:14px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 8px 28px #2636500f}.kicker{font-size:12px;color:#78849a;font-weight:800;text-transform:uppercase}.big{font-size:29px;font-weight:900;margin-top:5px}.muted{color:#7a8699}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 10px}.section-title h2{margin:0;font-size:20px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 15px;border:0;border-radius:10px;background:#356bd8;color:#fff;text-decoration:none;font-weight:800;cursor:pointer}.btn.secondary{background:#edf2f8;color:#354157}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 10px;border-bottom:1px solid #edf0f5;text-align:left;font-size:14px}.table th{font-size:12px;text-transform:uppercase;color:#7a8699}.state{display:inline-block;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800}.green{background:#e8f8ef;color:#16834f}.red{background:#fdeeee;color:#b33d3d}.orange{background:#fff4df;color:#a76b13}.gray{background:#edf0f4;color:#667085}.unit-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.unit{background:#fff;border:1px solid #e7ebf2;border-radius:14px;padding:14px;text-decoration:none;color:#172033}.unit strong{font-size:17px}.unit .meta{font-size:12px;color:#7a8699;margin:7px 0}.unit .price{font-size:16px;font-weight:850}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{padding:8px 11px;border-radius:999px;background:#fff;border:1px solid #e3e7ef;color:#4a5568;text-decoration:none;font-size:13px;font-weight:750}.filter.active{background:#172033;color:#fff;border-color:#172033}.notice{padding:12px 14px;background:#fff7dc;border-radius:12px;color:#735714;font-size:13px;margin-bottom:14px}.empty{padding:35px;text-align:center;color:#7a8699}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label{font-size:13px;font-weight:750}input,select,textarea{width:100%;margin-top:6px;border:1px solid #dce2eb;border-radius:10px;padding:11px;font:inherit;background:#fff}textarea{min-height:100px}@media(max-width:800px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nav{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.wrap{padding:13px}.top{padding:12px 14px}.badge{display:none}.stats{grid-template-columns:1fr 1fr}.unit-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.table{display:block;overflow-x:auto}.nav a{font-size:11px;padding:9px 4px}}
.plan{display:flex;flex-wrap:wrap;gap:10px;padding:18px;background:#eef2f7;border-radius:14px}.unit{min-width:110px;min-height:74px;padding:14px;border-radius:10px;font-weight:800;text-align:center;display:flex;flex-direction:column;justify-content:center}.unit small{font-weight:600}.unit.free{background:#e7f8ed;border:2px solid #53ad70}.unit.rented{background:#fdeaea;border:2px solid #ce6262}.unit.reserved{background:#fff3df;border:2px solid #df9b3d}.secondary{background:#172033}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media(max-width:650px){.grid{grid-template-columns:1fr}.unit{min-width:calc(50% - 5px)}}

.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{text-align:left;padding:13px;border-bottom:1px solid #e7ebf2;white-space:nowrap}.table-wrap th{font-size:12px;color:#758198;text-transform:uppercase}.ghost{background:#eef2f8;color:#354157}.small{padding:8px 11px}.full{width:100%}.modal{border:0;padding:0;border-radius:18px;max-width:460px;width:calc(100% - 28px);box-shadow:0 28px 80px #17203338}.modal::backdrop{background:#17203388}.modal-card{padding:22px}.modal-card label{display:block;font-weight:700;margin:12px 0}.modal-card input,.modal-card select{margin-top:6px}.x{background:transparent;color:#647087;font-size:28px;padding:0 8px}.center{text-align:center}

/* Landing y portales */
.landing{background:#f4f7fb}.landing-wrap{padding-top:34px}.hero-box{background:linear-gradient(135deg,#122b3a,#244b5b);border-radius:24px;padding:44px;color:#fff;margin-bottom:24px}.hero-box h1{font-size:clamp(36px,6vw,64px);line-height:1.02;margin:12px 0 18px;max-width:900px}.hero-box .muted{color:#dbe6eb;font-size:18px;max-width:780px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.secondary-btn{background:#fff;color:#173142;border:1px solid #dfe6ec}.auth{max-width:460px;margin:48px auto;padding:18px}.auth .box{background:#fff;border-radius:18px;padding:24px;box-shadow:0 12px 34px rgba(20,43,58,.08)}.auth h1{margin-top:20px}.notice{background:#edf5ff;border:1px solid #d3e5fb;padding:12px 14px;border-radius:10px;margin:16px 0}@media(max-width:650px){.hero-box{padding:28px 22px}.hero-actions .btn{width:100%}.auth{margin:20px auto;padding:14px}}

/* Acceso empresas */
.login-page{margin:0;min-height:100vh;background:#f4f7f8;color:#172033;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)}.login-visual{position:relative;min-height:100vh;background:url('https://horecabot.es/assets/trasteros-card.jpg') center/cover no-repeat;display:flex;align-items:flex-end;overflow:hidden}.login-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,26,36,.12) 0%,rgba(10,26,36,.38) 45%,rgba(10,26,36,.92) 100%)}.login-brand{position:relative;z-index:2;color:#fff;padding:64px;max-width:760px}.login-brand-name,.login-mobile-brand{font-weight:900;letter-spacing:-.04em;text-decoration:none}.login-brand-name{color:#fff;font-size:30px}.login-brand-name span,.login-mobile-brand span{color:#d8b765}.login-kicker{margin-top:34px;font-size:12px;font-weight:900;letter-spacing:.16em;color:#d8c08a}.login-brand h1{font-size:clamp(46px,5vw,72px);line-height:.98;letter-spacing:-.045em;margin:16px 0 22px;max-width:700px}.login-brand p{font-size:20px;line-height:1.55;color:#e3edf0;max-width:650px}.login-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.login-pills span{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-size:13px;font-weight:800;backdrop-filter:blur(7px)}
.login-panel{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:42px 8vw;background:linear-gradient(180deg,#fff 0%,#f5f7f9 100%)}.login-card{width:100%;max-width:520px;margin:auto}.login-mobile-brand{display:none;color:#132532;font-size:26px}.login-label{font-size:12px;font-weight:900;letter-spacing:.15em;color:#5b7f57;margin-bottom:13px}.login-card h2{font-size:44px;line-height:1.05;letter-spacing:-.035em;margin:0 0 12px;color:#132532}.login-intro{color:#738093;font-size:17px;margin:0 0 30px}.login-form label{display:block;font-weight:750;font-size:14px;color:#344054;margin:17px 0}.field-wrap{position:relative;margin-top:8px}.field-wrap input{width:100%;border:1px solid #d9e0e7;border-radius:14px;background:#fff;padding:15px 16px 15px 48px;font-size:16px;outline:none;box-shadow:0 5px 18px rgba(20,35,45,.04);transition:.18s}.field-wrap input:focus{border-color:#6c8d86;box-shadow:0 0 0 4px rgba(74,111,103,.10)}.field-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:21px;height:21px;border-radius:7px;display:grid;place-items:center;background:#edf3f1;color:#315d55;font-size:12px;font-weight:900}.login-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 20px}.remember{display:flex!important;align-items:center;gap:8px;margin:0!important;font-weight:600!important;color:#667085!important}.remember input{width:16px;height:16px}.login-link{font-size:13px;font-weight:750;color:#315d55;text-decoration:none}.login-submit,.login-secondary{width:100%;min-height:54px;border-radius:14px;font-weight:850;font-size:16px;display:flex;align-items:center;justify-content:center;text-decoration:none}.login-submit{border:0;background:#132532;color:#fff;cursor:pointer;padding:0 18px;box-shadow:0 12px 25px rgba(19,37,50,.18)}.login-submit span{margin-left:auto;font-size:22px}.login-submit:hover{background:#1d3949}.login-separator{display:flex;align-items:center;gap:14px;color:#98a2b3;margin:24px 0}.login-separator:before,.login-separator:after{content:"";height:1px;background:#e3e7eb;flex:1}.login-separator span{font-size:13px}.login-secondary{border:1px solid #dce3e8;color:#243746;background:#fff}.login-help{text-align:center;color:#778395;font-size:13px;line-height:1.5;margin:22px 0 0}.login-help a{color:#315d55;font-weight:800;text-decoration:none}.login-footer{text-align:center;color:#98a2b3;font-size:12px;margin-top:28px}
@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-visual{min-height:330px}.login-brand{padding:34px 28px}.login-brand-name{display:none}.login-kicker{margin-top:0}.login-brand h1{font-size:42px;max-width:600px}.login-brand p{font-size:17px}.login-panel{min-height:auto;padding:34px 22px 28px}.login-card{max-width:600px}.login-mobile-brand{display:block;margin-bottom:34px}}
@media(max-width:560px){.login-visual{min-height:260px;background-position:center}.login-brand{padding:26px 20px}.login-brand h1{font-size:34px;margin-bottom:12px}.login-brand p{display:none}.login-pills{margin-top:17px}.login-pills span{font-size:11px;padding:7px 9px}.login-panel{padding:26px 18px 22px}.login-mobile-brand{font-size:23px;margin-bottom:28px}.login-card h2{font-size:36px}.login-intro{font-size:15px;margin-bottom:24px}.login-row{align-items:flex-start;flex-direction:column;gap:10px}.login-link{align-self:flex-end}.login-footer{margin-top:22px}}

/* Portada HorecaBot Trasteros v2 */
.storage-home{background:#f3f5f6;color:#132532}.storage-header{height:78px;padding:0 max(22px,calc((100vw - 1180px)/2 + 22px));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e6ebee;position:sticky;top:0;z-index:20}.storage-logo{text-decoration:none;display:flex;align-items:baseline;gap:8px}.storage-logo strong{font-size:27px;letter-spacing:-.04em;color:#132532}.storage-logo strong span{color:#d2a94c}.storage-logo b{font-size:18px;color:#356bd8}.storage-login{display:inline-flex;align-items:center;gap:12px;padding:11px 16px;border-radius:12px;background:#132532;color:#fff;text-decoration:none;font-weight:850}.storage-login span{font-size:20px}.storage-hero{position:relative;min-height:670px;background:url('https://horecabot.es/assets/trasteros-card.jpg') center/cover no-repeat;display:flex;align-items:center;overflow:hidden}.storage-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,23,31,.92) 0%,rgba(8,23,31,.75) 44%,rgba(8,23,31,.28) 72%,rgba(8,23,31,.08) 100%)}.storage-hero-content{position:relative;z-index:2;width:min(1180px,100%);margin:auto;padding:80px 22px 140px;color:#fff}.storage-eyebrow{font-size:12px;font-weight:950;letter-spacing:.16em;color:#d8bd7b}.storage-hero h1{font-size:clamp(52px,7vw,88px);line-height:.94;letter-spacing:-.05em;margin:17px 0 24px;max-width:850px}.storage-hero h1 em{font-style:normal;color:#d8bd7b}.storage-hero p{font-size:21px;line-height:1.55;color:#e6eef1;max-width:650px}.storage-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.storage-primary,.storage-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 20px;border-radius:13px;font-weight:850;text-decoration:none}.storage-primary{background:#fff;color:#132532}.storage-ghost{border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(8px)}.storage-mini-panel{position:absolute;z-index:3;left:50%;bottom:28px;transform:translateX(-50%);width:min(1136px,calc(100% - 44px));display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.2);border-radius:18px;overflow:hidden;background:rgba(12,32,42,.78);backdrop-filter:blur(12px)}.storage-mini-panel>div{padding:18px 22px;border-right:1px solid rgba(255,255,255,.15)}.storage-mini-panel>div:last-child{border-right:0}.storage-mini-panel small{display:block;font-size:10px;letter-spacing:.14em;font-weight:900;color:#aebdc5}.storage-mini-panel strong{display:block;font-size:20px;color:#fff;margin-top:5px}.storage-intro{max-width:1180px;margin:auto;padding:96px 22px}.storage-intro-copy{max-width:800px}.storage-eyebrow.dark{color:#517066}.storage-intro h2,.storage-cta h2{font-size:clamp(38px,5vw,62px);line-height:1;letter-spacing:-.045em;margin:15px 0 22px}.storage-intro-copy>p{font-size:19px;line-height:1.65;color:#687585;max-width:760px}.storage-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:48px}.storage-feature-grid article{background:#fff;border:1px solid #e6eaed;border-radius:20px;padding:24px;min-height:225px;box-shadow:0 12px 30px rgba(17,37,50,.05)}.feature-no{font-size:12px;font-weight:950;color:#7d998f}.storage-feature-grid h3{font-size:22px;margin:30px 0 9px;color:#132532}.storage-feature-grid p{color:#738091;line-height:1.55;margin:0}.storage-cta{max-width:1180px;margin:0 auto 70px;border-radius:26px;padding:50px;background:#132532;color:#fff;display:flex;align-items:end;justify-content:space-between;gap:30px}.storage-cta h2{color:#fff;margin-bottom:0}.storage-eyebrow.light{color:#d8bd7b}.storage-cta>a{flex:0 0 auto;background:#d8bd7b;color:#132532;text-decoration:none;font-weight:900;padding:16px 20px;border-radius:13px}.storage-footer{max-width:1180px;margin:auto;padding:0 22px 35px;display:flex;justify-content:space-between;color:#7b8792;font-size:13px}.storage-footer a{color:inherit;text-decoration:none}
@media(max-width:820px){.storage-feature-grid{grid-template-columns:1fr 1fr}.storage-cta{margin-left:18px;margin-right:18px}.storage-mini-panel{grid-template-columns:1fr 1fr 1fr}.storage-mini-panel strong{font-size:16px}}
@media(max-width:560px){.storage-header{height:68px;padding:0 16px}.storage-logo{gap:5px;align-items:center}.storage-logo strong{font-size:22px}.storage-logo b{font-size:15px}.storage-login{padding:10px 13px;font-size:14px}.storage-login span{display:none}.storage-hero{min-height:650px;background-position:56% center}.storage-hero-shade{background:linear-gradient(180deg,rgba(8,23,31,.72) 0%,rgba(8,23,31,.84) 58%,rgba(8,23,31,.96) 100%)}.storage-hero-content{padding:62px 20px 190px}.storage-hero h1{font-size:52px;max-width:100%}.storage-hero p{font-size:18px}.storage-actions{display:grid}.storage-primary,.storage-ghost{width:100%}.storage-mini-panel{bottom:20px;width:calc(100% - 32px);grid-template-columns:1fr}.storage-mini-panel>div{padding:12px 16px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13);display:flex;align-items:center;justify-content:space-between}.storage-mini-panel>div:last-child{border-bottom:0}.storage-mini-panel strong{margin-top:0;font-size:15px}.storage-intro{padding:68px 18px}.storage-intro h2{font-size:42px}.storage-intro-copy>p{font-size:17px}.storage-feature-grid{grid-template-columns:1fr;margin-top:34px}.storage-feature-grid article{min-height:0}.storage-feature-grid h3{margin-top:22px}.storage-cta{padding:30px 24px;display:block;margin-bottom:40px}.storage-cta h2{font-size:40px;margin-bottom:25px}.storage-cta>a{display:flex;justify-content:center}.storage-footer{padding:0 18px 28px}}


/* ===== HorecaBot Trasteros · Aplicación final ===== */
:root{--tr-navy:#132532;--tr-blue:#346bd9;--tr-green:#2e7d5b;--tr-bg:#f4f6f9;--tr-line:#e5e9ef;--tr-muted:#748094;--tr-red:#b54747;--tr-orange:#a86712;--tr-radius:18px}
.app-body{background:var(--tr-bg);color:#172033;min-height:100vh}.app-top{height:72px;background:#fff;border-bottom:1px solid var(--tr-line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.app-brand{font-size:23px;font-weight:900;letter-spacing:-.035em;color:var(--tr-navy);text-decoration:none}.app-brand span{color:var(--tr-blue)}.app-user{display:flex;align-items:center;gap:16px;font-size:13px}.app-user span{font-weight:800}.app-user a{color:var(--tr-muted);text-decoration:none}.app-shell{display:grid;grid-template-columns:190px 1fr;max-width:1440px;margin:auto;min-height:calc(100vh - 72px)}.side{padding:24px 14px;border-right:1px solid var(--tr-line);background:#fff}.side nav{position:sticky;top:96px;display:flex;flex-direction:column;gap:5px}.side a{padding:12px 14px;border-radius:11px;color:#465165;text-decoration:none;font-weight:750;font-size:14px}.side a:hover{background:#f5f7fa}.side a.active{background:var(--tr-navy);color:#fff}.app-main{padding:34px 36px 70px;min-width:0}.mobile-nav{display:none}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px}.page-head>div:first-child{max-width:760px}.page-head>div>span,.page-head>span:first-child{display:block;font-size:11px;font-weight:900;letter-spacing:.14em;color:#758198;margin-bottom:8px}.page-head h1{font-size:clamp(31px,4vw,47px);line-height:1.02;letter-spacing:-.04em;margin:0;color:var(--tr-navy)}.page-head p{margin:10px 0 0;color:var(--tr-muted);font-size:16px}.page-head>.state{align-self:center}.panel{background:#fff;border:1px solid var(--tr-line);border-radius:var(--tr-radius);padding:22px;box-shadow:0 8px 26px rgba(28,45,61,.04)}.panel h2{font-size:19px;margin:0 0 18px;color:var(--tr-navy)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-gap{margin-top:20px}.dash-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dash-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{display:flex;flex-direction:column;background:#fff;border:1px solid var(--tr-line);border-radius:18px;padding:20px;color:inherit;text-decoration:none;min-height:132px;box-shadow:0 8px 24px rgba(28,45,61,.04)}.metric small{font-size:11px;font-weight:900;letter-spacing:.09em;color:#8590a1}.metric strong{font-size:30px;letter-spacing:-.04em;color:var(--tr-navy);margin:9px 0 3px}.metric span{font-size:13px;color:var(--tr-muted);margin-top:auto}.metric.warn{border-color:#f1d2ce;background:#fffafa}.metric.warn strong{color:var(--tr-red)}.home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.home-actions a,.more-grid a{background:#fff;border:1px solid var(--tr-line);border-radius:18px;padding:24px;text-decoration:none;display:flex;flex-direction:column;color:inherit;transition:.16s}.home-actions a:hover,.more-grid a:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(28,45,61,.07)}.home-actions b,.more-grid strong{font-size:20px;color:var(--tr-navy);margin-bottom:5px}.home-actions span,.more-grid span{color:var(--tr-muted);font-size:14px}.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.btn{border:0;border-radius:11px;background:var(--tr-blue);color:#fff;padding:12px 17px;font-weight:850;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px}.btn:hover{filter:brightness(.96)}.btn.ghost,.ghost{background:#eef2f7;color:#364153}.btn.danger,.danger{background:#a84444;color:#fff}.btn.small{padding:8px 11px;font-size:12px}.full{width:100%}.alert{border-radius:12px;padding:13px 15px;margin:0 0 18px;font-size:14px}.alert.good{background:#eaf7ef;color:#226747;border:1px solid #cfe9d9}.alert.bad{background:#fff0ef;color:#8c3232;border:1px solid #f0d2cf}.form-card label,.stack label{display:block;font-size:13px;font-weight:750;color:#3d4859;margin:0 0 14px}.form-card input,.form-card select,.form-card textarea,.stack input,.stack select,.danger-zone input{width:100%;border:1px solid #d9e0e8;border-radius:11px;background:#fff;padding:12px;font:inherit;margin-top:6px;outline:none}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:#7094dc;box-shadow:0 0 0 3px rgba(52,107,217,.1)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.advanced{border-top:1px solid var(--tr-line);margin-top:18px;padding-top:15px}.advanced summary{font-weight:800;color:#566273;cursor:pointer}.inline-link{display:inline-block;margin-top:7px;font-size:12px;color:var(--tr-blue);text-decoration:none;font-weight:800}.auto-summary{display:flex;gap:8px;background:#eef5ff;border-radius:12px;padding:13px 15px;margin-top:12px;font-size:13px;color:#41506a}.auto-summary span{color:#66758a}.details{display:grid;gap:0;margin:0}.details>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #edf0f3}.details>div:last-child{border-bottom:0}.details dt{font-size:13px;color:var(--tr-muted)}.details dd{margin:0;text-align:right;font-weight:800;color:#263244}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.list-panel{padding:6px 18px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 4px;border-bottom:1px solid #edf0f4;text-decoration:none;color:inherit}.list-row:last-child{border-bottom:0}.list-row>div:first-child{display:flex;flex-direction:column;min-width:0}.list-row strong{font-size:15px;color:#263244}.list-row span:not(.state){font-size:12px;color:var(--tr-muted);margin-top:4px}.row-end{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;white-space:nowrap}.row-end b{font-size:14px}.empty{padding:34px 10px;text-align:center;color:var(--tr-muted);font-size:13px}.empty strong{display:block;color:#4d596a;font-size:15px;margin-bottom:5px}.small-empty{padding:18px}.searchbar{display:flex;gap:8px;margin-bottom:16px}.searchbar input{flex:1;margin:0;border:1px solid #d9e0e8;border-radius:12px;padding:12px 14px;font:inherit}.searchbar button{border:0;border-radius:11px;background:var(--tr-navy);color:#fff;padding:0 18px;font-weight:800}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter{padding:8px 12px;border:1px solid #dde3ea;border-radius:999px;background:#fff;color:#667285;text-decoration:none;font-size:12px;font-weight:800}.filter.active{background:var(--tr-navy);border-color:var(--tr-navy);color:#fff}.legend{display:flex;gap:18px;flex-wrap:wrap;margin:-8px 0 16px;font-size:12px;color:#657183}.legend span{display:flex;align-items:center;gap:6px}.dot{display:block;width:9px;height:9px;border-radius:50%}.dot.free{background:#3da86c}.dot.reserved{background:#d59232}.dot.rented{background:#c65353}.dot.maintenance{background:#8893a1}.floor-canvas{position:relative;width:100%;aspect-ratio:16/9;min-height:430px;background:#e9edf2;border:2px solid #dce2e9;border-radius:22px;overflow:hidden;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:25px 25px}.floor-unit{position:absolute;border:2px solid;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px;text-decoration:none;color:#263244;overflow:hidden;box-shadow:0 3px 10px rgba(26,39,50,.08)}.floor-unit strong{font-size:15px}.floor-unit span{font-size:11px;margin:2px 0}.floor-unit b{font-size:10px}.floor-unit.free{background:#e5f7ec;border-color:#52ad72}.floor-unit.rented{background:#fde9e8;border-color:#ca6260}.floor-unit.reserved{background:#fff2dc;border-color:#d69b43}.floor-unit.maintenance{background:#e6e9ed;border-color:#8c96a2}.lock-card{background:#f4f7fa;border-radius:15px;padding:22px;text-align:center;display:grid;gap:5px}.lock-card strong{font-size:34px;color:var(--tr-navy)}.lock-card span,.lock-card small{color:var(--tr-muted);font-size:12px}.lock-card b{font-size:22px;letter-spacing:.1em}.danger-zone{margin-top:20px;background:#fff7f6;border:1px solid #efd5d2;border-radius:18px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:18px}.danger-zone>div{display:flex;flex-direction:column}.danger-zone span{font-size:12px;color:#8c6a67;margin-top:4px}.danger-zone form{display:flex;align-items:center;gap:8px}.danger-zone input{width:auto;margin:0}.money-big{font-size:42px;font-weight:900;color:var(--tr-navy);letter-spacing:-.04em;margin:10px 0 18px}.mini-action{margin-top:12px}.icon-btn{border:0;background:#eef2f6;color:#596576;border-radius:9px;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer}.toggle-list{display:grid;gap:10px}.toggle-list label{display:flex;align-items:center;gap:9px;margin:0}.toggle-list input{width:17px;height:17px;margin:0}.public-url{margin-top:18px;background:#f3f6f9;border-radius:11px;padding:12px;font-size:13px}.public-url a{font-weight:800;color:var(--tr-blue)}.compliance{background:#f8fafb}.compliance p{color:var(--tr-muted);font-size:13px;line-height:1.6}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:13px 12px;border-bottom:1px solid #edf0f3;text-align:left;white-space:nowrap}.table-wrap th{font-size:11px;color:#7d8999;text-transform:uppercase}.table-wrap tr:last-child td{border-bottom:0}.more-grid{margin-top:4px}.impersonation{background:#ffeebc;color:#6c5413;text-align:center;padding:8px 14px;font-size:12px;font-weight:700}.impersonation a{margin-left:10px;color:#4d3b0b;font-weight:900}

/* Superadmin */
.sa-body{margin:0;background:#f4f6f9;color:#172033;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.sa-top{height:72px;background:#fff;border-bottom:1px solid var(--tr-line);display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1180px)/2));gap:20px}.sa-top>div{display:flex;align-items:center;gap:14px;font-size:13px}.sa-top a{text-decoration:none;color:#637083}.sa-wrap{max-width:1180px;margin:auto;padding:36px 22px 70px}.sa-company{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 4px;border-bottom:1px solid #edf0f4}.sa-company:last-child{border-bottom:0}.sa-company>div:first-child{display:flex;flex-direction:column}.sa-company>div:first-child strong{font-size:16px;color:var(--tr-navy)}.sa-company>div:first-child span{font-size:12px;color:var(--tr-muted);margin-top:4px}.sa-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.sa-actions form{margin:0}.sa-actions>span:not(.state){font-size:12px;color:#657183}.credentials{background:#eef8f1;border:1px solid #cee8d6;border-radius:15px;padding:17px;margin-bottom:18px;display:grid;gap:6px;color:#315a40}.credentials code{font-size:17px;background:#fff;padding:8px;border-radius:8px;width:max-content}.credentials small{color:#6c8174}

/* Web pública de cada empresa */
.public-body{margin:0;background:#fff;color:#172033;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.public-top{max-width:1180px;margin:auto;height:78px;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.public-logo{font-size:22px;font-weight:900;color:var(--tr-navy);text-decoration:none;letter-spacing:-.03em}.public-top nav{display:flex;align-items:center;gap:18px}.public-top nav a{text-decoration:none;color:#4d596a;font-weight:750;font-size:14px}.public-top .public-login{background:var(--tr-navy);color:#fff;padding:10px 14px;border-radius:10px}.public-hero{max-width:1180px;margin:0 auto 30px;border-radius:30px;min-height:560px;position:relative;overflow:hidden;display:flex;align-items:flex-end}.public-hero-image{position:absolute;inset:0;background:url('https://horecabot.es/assets/trasteros-card.jpg') center/cover no-repeat;transform:scale(1.01)}.public-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,19,27,.05) 15%,rgba(7,19,27,.88) 100%)}.public-hero-copy{position:relative;z-index:2;color:#fff;padding:58px;max-width:760px}.public-hero-copy>span,.public-section-head>span{font-size:11px;letter-spacing:.15em;font-weight:900;color:#d6bd7e}.public-hero-copy h1{font-size:clamp(43px,6vw,72px);line-height:.98;letter-spacing:-.045em;margin:13px 0 20px}.public-hero-copy p{font-size:19px;line-height:1.55;color:#e8eff2;max-width:640px}.public-cta{display:inline-flex;background:#fff;color:var(--tr-navy);padding:14px 18px;border-radius:11px;font-weight:900;text-decoration:none;margin-top:12px}.public-section{max-width:1180px;margin:auto;padding:70px 24px}.public-section-head{max-width:700px;margin-bottom:32px}.public-section-head>span{color:#657d58}.public-section-head h2{font-size:clamp(33px,5vw,53px);letter-spacing:-.04em;line-height:1.03;color:var(--tr-navy);margin:10px 0}.public-unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.public-unit{border:1px solid var(--tr-line);border-radius:20px;padding:22px;display:grid;grid-template-columns:1fr auto;gap:14px;background:#fff;box-shadow:0 8px 24px rgba(28,45,61,.04)}.public-unit small{color:#7a8697;font-weight:750}.public-unit h3{font-size:34px;color:var(--tr-navy);margin:6px 0 0}.public-unit p{color:#8a94a2;margin:3px 0}.public-price{text-align:right}.public-price strong{font-size:22px;color:var(--tr-navy)}.public-price span{display:block;color:#8a94a2;font-size:11px}.public-unit>a,.public-reserved{grid-column:1/-1;border-radius:10px;text-align:center;padding:11px;text-decoration:none;font-weight:850;font-size:13px}.public-unit>a{background:var(--tr-blue);color:#fff}.public-reserved{background:#f1f2f4;color:#7c8796}.public-no-units{background:#f5f7f9;border-radius:18px;padding:28px;display:flex;flex-direction:column}.public-no-units span{color:#748094;margin-top:5px}.public-how{max-width:1180px;margin:20px auto 70px;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.public-how>div{background:var(--tr-navy);color:#fff;border-radius:18px;padding:24px;display:flex;flex-direction:column}.public-how b{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--tr-navy);margin-bottom:25px}.public-how strong{font-size:20px}.public-how span{color:#cbd6dc;font-size:13px;margin-top:5px}.public-footer{background:#f4f6f8;padding:38px max(24px,calc((100vw - 1132px)/2));display:flex;gap:18px;align-items:center;flex-wrap:wrap;color:#697587;font-size:13px}.public-footer strong{color:var(--tr-navy);font-size:17px;margin-right:auto}.public-footer small{width:100%;color:#9aa3af}.public-empty{max-width:560px;margin:15vh auto;padding:24px;text-align:center}.public-empty a{color:var(--tr-blue)}

/* Reserva online */
.booking-body{margin:0;background:#f3f5f8;color:#172033;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.booking-top{height:70px;background:#fff;border-bottom:1px solid var(--tr-line);display:flex;align-items:center;padding:0 max(20px,calc((100vw - 1000px)/2));}.booking-top a{text-decoration:none;font-weight:850;color:var(--tr-navy)}.booking-wrap{max-width:1000px;margin:50px auto;padding:0 20px}.booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;align-items:start}.booking-card,.booking-unit{background:#fff;border-radius:22px;padding:28px;border:1px solid var(--tr-line);box-shadow:0 10px 30px rgba(28,45,61,.05)}.booking-card.narrow{max-width:520px;margin:auto}.booking-card>span,.booking-unit>span{font-size:11px;letter-spacing:.13em;font-weight:900;color:#788496}.booking-card h1,.booking-card h2,.booking-unit h1{color:var(--tr-navy);letter-spacing:-.035em}.booking-card h1{font-size:35px}.booking-card h2{font-size:30px;margin:8px 0}.booking-card>p{color:var(--tr-muted);line-height:1.5}.booking-card label{display:block;font-size:13px;font-weight:750;margin:14px 0}.booking-card input{width:100%;border:1px solid #d9e0e8;border-radius:11px;padding:12px;font:inherit;margin-top:6px}.booking-unit{background:var(--tr-navy);color:#fff;position:sticky;top:90px}.booking-unit>span{color:#aebdc5}.booking-unit h1{font-size:58px;color:#fff;margin:14px 0 4px}.booking-unit p{color:#c6d1d7}.booking-unit>strong{display:block;font-size:30px;margin-top:40px}.booking-unit>strong small{font-size:13px;font-weight:600}.booking-unit em{display:block;margin-top:10px;color:#c6d1d7;font-style:normal}.success-card{max-width:560px;margin:auto;text-align:center}.success-icon{width:68px;height:68px;border-radius:50%;background:#e7f6ec;color:#2d7c51;display:grid;place-items:center;font-size:34px;font-weight:900;margin:auto}.reservation-summary{display:flex;justify-content:space-between;background:#f5f7f9;border-radius:12px;padding:14px;margin:20px 0}.reservation-summary strong{color:var(--tr-navy)}

/* Área de cliente */
.client-body{margin:0;background:#f4f6f9;color:#172033;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.client-top{height:72px;background:#fff;border-bottom:1px solid var(--tr-line);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 980px)/2));}.client-top a{text-decoration:none;font-weight:850;color:var(--tr-navy)}.client-wrap{max-width:980px;margin:auto;padding:44px 20px 70px}.client-login{max-width:480px;margin:5vh auto;background:#fff;border:1px solid var(--tr-line);border-radius:22px;padding:30px}.client-login>span,.client-welcome>span{font-size:11px;font-weight:900;letter-spacing:.14em;color:#6d835e}.client-login h1,.client-welcome h1{color:var(--tr-navy);letter-spacing:-.04em}.client-login h1{font-size:38px}.client-login p{color:var(--tr-muted)}.client-login label{display:block;font-size:13px;font-weight:750;margin:14px 0}.client-login input{width:100%;border:1px solid #d9e0e8;border-radius:11px;padding:12px;margin-top:6px;font:inherit}.client-welcome{margin-bottom:25px}.client-welcome h1{font-size:44px;margin:8px 0}.client-welcome p{color:var(--tr-muted)}.client-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.client-card{background:#fff;border:1px solid var(--tr-line);border-radius:19px;padding:22px}.client-card h2{color:var(--tr-navy);margin:0 0 16px;font-size:19px}.client-rental{border-bottom:1px solid #edf0f3;padding:13px 0}.client-rental:last-child{border-bottom:0}.client-rental>div:first-child{display:flex;flex-direction:column}.client-rental>div:first-child span{font-size:12px;color:var(--tr-muted);margin-top:4px}.client-rental>.state{float:right;margin-top:-32px}.client-lock{margin-top:12px;background:#f2f6f7;border-radius:10px;padding:10px 12px;display:flex;justify-content:space-between!important;flex-direction:row!important}.client-lock span{color:#60707b!important}.client-lock strong{font-size:13px}

@media(max-width:980px){.app-shell{grid-template-columns:1fr}.side{display:none}.app-main{padding:24px 20px 70px}.mobile-nav{display:flex;overflow-x:auto;gap:5px;margin:-7px -20px 25px;padding:0 20px 9px;border-bottom:1px solid var(--tr-line)}.mobile-nav a{white-space:nowrap;background:#fff;border:1px solid #e1e6ec;border-radius:999px;padding:8px 11px;text-decoration:none;color:#586477;font-size:11px;font-weight:800}.mobile-nav a.active{background:var(--tr-navy);color:#fff;border-color:var(--tr-navy)}.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-hero{margin-left:18px;margin-right:18px}.public-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.app-top{height:64px;padding:0 16px}.app-brand{font-size:20px}.app-user span{display:none}.app-main{padding:20px 14px 60px}.mobile-nav{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:34px}.page-head>.btn,.page-head>button{width:100%}.dash-grid,.dash-grid.three,.home-actions,.more-grid,.detail-grid,.client-grid{grid-template-columns:1fr}.metric{min-height:112px}.metric strong{font-size:27px}.form-grid{grid-template-columns:1fr}.floor-canvas{min-height:520px;aspect-ratio:auto}.floor-unit strong{font-size:12px}.floor-unit b{display:none}.danger-zone{align-items:flex-start;flex-direction:column}.danger-zone form{width:100%;flex-wrap:wrap}.danger-zone input,.danger-zone button{flex:1}.list-row{gap:10px}.row-end{align-items:flex-end!important;flex-direction:column!important;gap:5px}.sa-company{align-items:flex-start;flex-direction:column}.sa-actions{width:100%}.public-top{height:68px;padding:0 18px}.public-top nav>a:first-child{display:none}.public-hero{min-height:520px;margin:0 12px 20px;border-radius:22px}.public-hero-copy{padding:30px 24px}.public-hero-copy h1{font-size:43px}.public-hero-copy p{font-size:16px}.public-section{padding:52px 18px}.public-unit-grid,.public-how{grid-template-columns:1fr}.public-how{padding:0 18px;margin-bottom:50px}.public-footer{align-items:flex-start;flex-direction:column}.booking-wrap{margin-top:25px}.booking-grid{grid-template-columns:1fr}.booking-unit{position:static}.booking-unit h1{font-size:46px}.client-wrap{padding:30px 15px 60px}.client-welcome h1{font-size:36px}.client-login{padding:22px}.sa-wrap{padding:26px 14px 60px}.sa-top{padding:0 15px}}

.account-link{font-weight:800!important;color:var(--tr-navy)!important}.company-name{text-decoration:none;color:inherit}.client-doc{display:inline-flex;margin-top:10px;font-size:12px;font-weight:850;color:var(--tr-blue);text-decoration:none}.client-doc:hover{text-decoration:underline}

.site-switch select{border:1px solid #dfe4ea;background:#f7f9fb;border-radius:9px;padding:7px 9px;font:inherit;font-size:12px;font-weight:800;color:#465165}.site-name{font-size:12px!important;color:#6f7a8b;font-weight:800!important}

.head-actions{display:flex;gap:9px;flex-wrap:wrap}.editor-canvas{touch-action:none}.draggable{cursor:grab;user-select:none;touch-action:none}.draggable:active{cursor:grabbing;box-shadow:0 8px 22px rgba(20,35,50,.2);z-index:3}.plan-help{font-size:13px;color:#6d7888;margin:-8px 0 14px}.save-msg{text-align:right;font-size:13px;font-weight:800;color:#2e7d5b;margin-top:10px}@media(max-width:700px){.head-actions{width:100%}.head-actions .btn,.head-actions button{flex:1}.editor-canvas{min-height:620px}}
/* Onboarding */
.onboard-body{min-height:100vh;margin:0;background:linear-gradient(180deg,#eef4f5,#f8fafb);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033}.onboard-shell{max-width:560px;margin:auto;padding:42px 20px}.onboard-shell.wide{max-width:820px}.onboard-brand{display:block;text-align:center;font-weight:900;font-size:27px;color:#132532;text-decoration:none;margin:8px 0 28px}.onboard-brand span{color:#356bd8}.onboard-card{background:#fff;border-radius:24px;padding:30px;box-shadow:0 18px 55px rgba(19,37,50,.10)}.onboard-card>span{display:block;color:#5f7c74;font-size:12px;font-weight:900;letter-spacing:.14em;margin-bottom:10px}.onboard-card h1{font-size:38px;line-height:1.05;margin:0 0 12px;color:#132532;letter-spacing:-.03em}.onboard-card>p{color:#748092;font-size:16px;line-height:1.55;margin-bottom:25px}.onboard-card label{display:block;margin:15px 0}.onboard-card small{display:block;color:#98a2b3;margin-top:5px;font-weight:500}.success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e8f8ef;color:#16834f;font-size:30px;font-weight:900;margin-bottom:18px}@media(max-width:600px){.onboard-shell{padding:24px 14px}.onboard-card{padding:24px 20px}.onboard-card h1{font-size:32px}}
