@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--ink:#183247;--muted:#758796;--line:#e3eaee;--bg:#f5f8f9;--teal:#0f8b8d;--gold:#d49b48;--red:#c95b5b;--green:#3fa776}*{box-sizing:border-box}body.role-cleaning .stats,body.role-cleaning .hero,body.role-cleaning .quick,body.role-cleaning .global-search{display:none}.cleaning-tasks{margin-top:22px}.cleaning-status-form{display:flex;align-items:center;gap:7px}.cleaning-status-form select{border:1px solid #d5e0e5;border-radius:5px;padding:7px;background:#fff;color:var(--ink);font:inherit}.cleaning-status-form .small-btn{background:var(--teal);color:#fff;border:0;border-radius:5px;padding:7px 9px}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,.primary{border:0;border-radius:7px;background:var(--teal);color:#fff;padding:11px 17px;font:600 13px inherit;cursor:pointer;display:inline-block}.primary:hover{background:#0b7072}.danger{background:#b74b52;color:#fff;border:0;border-radius:6px;padding:9px 13px;cursor:pointer;font:600 12px inherit}.danger-form{display:flex;gap:10px;align-items:center;margin-top:18px}.danger-form input{border:1px solid #e1c5c5;border-radius:6px;padding:9px}.small-btn{padding:6px 9px}.shell{display:flex;min-height:100vh}aside{background:#173a4e;color:#d9e7ed;width:245px;padding:25px 18px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;letter-spacing:2px;font-weight:700;font-size:13px;margin:0 8px 42px}.brand img{width:82px;height:82px;object-fit:contain;border-radius:8px}.sidebar-brand{justify-content:center;margin-bottom:34px}.login-brand img{width:230px;height:auto;border-radius:0}.login-brand{margin-bottom:28px}.brand small{font-size:9px;letter-spacing:3px;color:#a8c3cc}nav{display:grid;gap:5px}nav a{padding:13px 14px;border-radius:7px;color:#b9ced6;font-weight:500}nav a:hover{background:#245269;color:#fff}.user{margin-top:auto;border-top:1px solid #315367;padding:18px 10px 0;display:grid;gap:4px}.user small{color:#9db5bd}.user a{margin-top:9px;color:#e6bc78;font-size:12px}main{flex:1;padding:30px 38px;min-width:0}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px}h1,h2{margin:4px 0 0;font-family:'Playfair Display',serif;color:var(--ink)}h1{font-size:31px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:700}.global-search{display:flex;background:white;border:1px solid var(--line);border-radius:7px;padding:3px}.global-search input{border:0;padding:8px;width:265px;outline:0}.global-search button{padding:8px 13px}.alert{padding:13px 16px;border-radius:7px;margin-bottom:20px}.alert.success{background:#dff3e9;color:#176844}.alert.error{background:#fae3e3;color:#9c3030}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.stats>div,.quick a,.form-card,.hero{background:#fff;border:1px solid var(--line);border-radius:10px;padding:21px}.stats span{display:block;color:var(--muted);font-size:10px;letter-spacing:1px}.stats strong{display:block;font-size:26px;margin-top:11px}.hero{background:#e2f0ef;display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;min-height:170px}.hero h2{font-size:28px}.hero p{color:#52717a}.hero-art{background:#f1c886;color:#895d2b;border-radius:50%;width:115px;height:115px;display:grid;place-content:center;text-align:center;font-size:23px;transform:rotate(8deg)}.hero-art b{font-size:14px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:23px 0 14px}.muted,small{color:var(--muted)}.calendar-months{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.month-calendar{background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px}.month-calendar h3{font-family:'Playfair Display',serif;margin:0 0 12px;font-size:19px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:10px;font-weight:700;padding-bottom:5px}.calendar-day,.calendar-empty{min-height:34px;border:1px solid transparent;border-radius:5px}.calendar-day{position:relative;background:#f8fafb;color:var(--ink);font:600 12px inherit;padding:7px 3px;cursor:pointer}.calendar-day:hover{border-color:var(--teal);transform:translateY(-1px)}.calendar-entry{background:#dff3e9}.calendar-exit{background:#f8dddd}.calendar-both{background:linear-gradient(90deg,#dff3e9 0 50%,#f8dddd 50%)}.day-dot{position:absolute;width:5px;height:5px;border-radius:50%;bottom:4px}.entry-dot{background:var(--green);left:5px}.exit-dot{background:var(--red);right:5px}.calendar-legend{display:flex;gap:12px;color:var(--muted);font-size:11px}.calendar-legend span{display:flex;gap:5px;align-items:center}.calendar-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.legend-entry{background:#bfe8d3}.legend-exit{background:#f0bcbc}.legend-both{background:linear-gradient(90deg,#bfe8d3 0 50%,#f0bcbc 50%)}.calendar-details{background:#fff;border:1px solid var(--line);border-radius:9px;padding:17px;margin-top:16px}.calendar-details[hidden]{display:none}.calendar-details .section-head{margin:0 0 10px}.calendar-close{background:transparent;color:var(--muted);font-size:22px;padding:0}.calendar-reservation{border-left:4px solid var(--teal);background:#f7fafb;border-radius:5px;padding:10px;margin:7px 0;display:grid;gap:4px}.calendar-reservation span{font-size:11px;color:var(--muted)}.calendar-address{font-size:12px;color:var(--ink);font-weight:600}.calendar-movement{font-size:10px;text-transform:uppercase;letter-spacing:.5px}.calendar-movement.entry{color:var(--green)}.calendar-movement.exit{color:var(--red)}.calendar-movement.both{color:var(--teal)}.calendar-reservation a{color:var(--teal);font-size:11px;font-weight:700}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quick a{font-weight:700;color:var(--teal)}.quick small{font-weight:400;display:block;margin-top:8px}.filters{display:flex;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);padding:16px;border-radius:9px;margin-bottom:17px;flex-wrap:wrap}.filters label{min-width:125px}.filters button{height:39px}.filters .check{min-width:auto;display:flex;align-items:center;gap:6px;padding:10px 7px;white-space:nowrap}.filters .check input{width:auto;margin:0}.filters input,.filters select,.form-card input,.form-card select,.form-card textarea,.login-card input{display:block;width:100%;border:1px solid #d5e0e5;border-radius:6px;padding:10px;margin-top:5px;background:#fff;color:var(--ink);font:inherit}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:9px}table{border-collapse:collapse;width:100%;min-width:950px}th{text-align:left;background:#f8fafb;color:var(--muted);font-size:10px;letter-spacing:.7px;text-transform:uppercase}th,td{padding:14px 13px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}.status,.tag,.features span{display:inline-block;border-radius:4px;padding:5px 7px;font-size:10px;font-weight:700;letter-spacing:.3px}.libre{background:#dff3e9;color:#147449}.reservado,.ocupado,.finalizada{background:#f8dddd;color:#a63333}.bloqueado{background:#e5e9eb;color:#586b73}.temporal{background:#fff0c9;color:#976b19}.resthome{background:#cfe5ff;color:#145a9c}.parcial{background:#fff0b8;color:#8a6500}.pendiente,.en_curso,.media{background:#fff0c9;color:#976b19}.alta{background:#f8dddd;color:#a63333}.baja{background:#dff3e9;color:#147449}.cancelada{background:#eceff1;color:#68777c}.summary{background:#dff0ef;color:#126d70}.features{margin-top:6px;display:flex;gap:4px;flex-wrap:wrap}.features span{background:#eef5f5;color:#4d7177;font-weight:500}.tag{background:#edf3f4;color:#507078}.icon-link{color:var(--teal);font-weight:700;white-space:nowrap}.edit-button{display:inline-block;background:var(--teal);color:#fff;border-radius:6px;padding:9px 12px;margin-right:8px;font-weight:700;font-size:12px;white-space:nowrap}.edit-button:hover{background:#0b7072}.table-wrap td:last-child{white-space:nowrap;vertical-align:middle}.table-wrap td:last-child form{display:inline-block;vertical-align:middle}.rate-setup{margin:25px 0}.rate-setup>label{display:block;max-width:220px;font-weight:600;color:#48616e;margin-bottom:12px}.rate-setup .table-wrap{max-width:100%;}.rate-setup table{min-width:1450px}.rate-setup th,.rate-setup td{padding:9px 7px}.rate-setup input,.rate-setup select{width:100%;min-width:88px;border:1px solid #d5e0e5;border-radius:5px;padding:7px;background:#fff;color:var(--ink);font:inherit}.rate-setup td select{width:130px;min-width:130px}.rate-setup input[readonly]{background:#f1f7f7;color:#177879;font-weight:700}.inline-action{display:inline-block;margin-top:6px;color:var(--teal);font-size:12px;font-weight:700}.form-card{max-width:850px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.form-grid .full{grid-column:1/-1}.form-card label{font-weight:600;color:#48616e}.form-card textarea{min-height:90px;resize:vertical}.check{padding:8px;background:#f7fafb;border-radius:6px}.check input{display:inline;width:auto}.hint{background:#f1f7f7;padding:12px;color:#55777b;border-radius:6px}.date-edit{display:flex;gap:16px;max-width:850px;margin:0 0 12px}.date-edit label{flex:1;font-weight:600;color:#48616e}.date-edit input{display:block;width:100%;border:1px solid #d5e0e5;border-radius:6px;padding:10px;margin-top:5px;background:#fff;color:var(--ink);font:inherit}.reservation-head{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:21px;margin-bottom:22px}.reservation-head>div{display:grid;gap:7px;align-content:start}.reservation-head h2{font-size:25px}.reservation-head strong{font-size:16px}.payment-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:25px}.payment-summary>div{background:#fff;border:1px solid var(--line);border-radius:9px;padding:15px;display:grid;gap:7px}.payment-summary span{color:var(--muted);font-size:11px}.payment-summary strong{font-size:17px}.payment-state{font-style:normal;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.payment-state.pagado{color:var(--green)}.payment-state.pendiente{color:var(--red)}.columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.columns .form-card h2{font-size:19px;margin-bottom:14px}.columns .form-card label{display:block;margin-bottom:13px}.login{display:grid;place-items:center;min-height:100vh;background:#eaf2f2}.login-card{width:390px;background:white;border:1px solid var(--line);border-radius:12px;padding:36px;box-shadow:0 15px 45px #173a4e16}.center{justify-content:center;margin:0 0 25px}.login-card h1{font-size:30px}.login-card p{color:var(--muted)}.login-card label{display:block;margin-top:16px;font-weight:600}.remember-option{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.remember-option input{width:auto!important;display:inline!important;margin:0!important}.wide{width:100%;margin-top:20px}
@media(max-width:900px){aside{width:72px;padding:20px 9px}.brand span,nav a{font-size:0}.brand{margin:0 6px 35px}.brand img{width:58px;height:58px}.sidebar-brand{margin-bottom:28px}.login-brand img{width:190px;height:auto}nav a{padding:15px;text-align:center}nav a:first-letter{font-size:18px}.user b,.user small,.user a{font-size:0}.user{padding-left:4px}main{padding:22px 18px}.stats{grid-template-columns:repeat(2,1fr)}header{display:block}.global-search{margin-top:17px}.global-search input{width:calc(100% - 70px)}.quick,.columns,.reservation-head{grid-template-columns:1fr}.calendar-months{grid-template-columns:repeat(2,1fr)}.payment-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){h1{font-size:25px}.stats{grid-template-columns:1fr 1fr;gap:9px}.stats>div{padding:14px}.stats strong{font-size:19px}.hero{padding:18px}.hero-art{width:80px;height:80px;font-size:17px}.calendar-months{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
