:root{
  --cuper-bg:#0f0f10;
  --cuper-card:#18181b;
  --cuper-card-2:#222226;
  --cuper-text:#fafafa;
  --cuper-muted:#a1a1aa;
  --cuper-border:#33333a;
  --cuper-accent:#f97316;
  --cuper-danger:#ef4444;
  --cuper-ok:#22c55e;
  --cuper-radius:22px;
  --cuper-shadow:0 18px 60px rgba(0,0,0,.28);
}
.cuper-pwa-root *{box-sizing:border-box}
.cuper-pwa-root{
  color:var(--cuper-text);
  background:linear-gradient(160deg,#0b0b0d,#151517 55%,#1a120b);
  min-height:100vh;
  margin:0;
  padding:16px;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.cuper-app-shell{max-width:1120px;margin:0 auto;padding:12px 0 90px}
.cuper-loading{display:flex;gap:14px;align-items:center;background:var(--cuper-card);border:1px solid var(--cuper-border);border-radius:22px;padding:18px;box-shadow:var(--cuper-shadow)}
.cuper-logo-dot{width:52px;height:52px;border-radius:16px;background:var(--cuper-accent);box-shadow:0 0 0 8px rgba(249,115,22,.18)}
.cuper-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;position:sticky;top:0;z-index:30;padding:10px 0;background:linear-gradient(180deg,rgba(15,15,16,.98),rgba(15,15,16,.78),rgba(15,15,16,0));backdrop-filter:blur(12px)}
.cuper-brand{display:flex;align-items:center;gap:12px;min-width:0}
.cuper-brand-logo{width:48px;height:48px;border-radius:16px;background:var(--cuper-accent);display:grid;place-items:center;font-weight:900;color:#111;overflow:hidden;flex:0 0 auto}
.cuper-brand-logo img{width:100%;height:100%;object-fit:cover}
.cuper-brand h1{font-size:21px;line-height:1;margin:0;letter-spacing:-.04em}
.cuper-brand p{margin:4px 0 0;color:var(--cuper-muted);font-size:13px;line-height:1.25}
.cuper-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cuper-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--cuper-border);background:rgba(255,255,255,.04);border-radius:999px;padding:7px 10px;font-size:12px;color:var(--cuper-muted);white-space:nowrap}
.cuper-pill.ok{color:#bbf7d0;border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.10)}
.cuper-pill.warn{color:#fed7aa;border-color:rgba(249,115,22,.35);background:rgba(249,115,22,.10)}
.cuper-pill.danger{color:#fecaca;border-color:rgba(239,68,68,.42);background:rgba(239,68,68,.14)}
.cuper-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;background:rgba(255,255,255,.04);border:1px solid var(--cuper-border);border-radius:22px;padding:8px;margin-bottom:16px}
.cuper-tab{appearance:none;border:0;border-radius:16px;background:transparent;color:var(--cuper-muted);padding:12px 8px;font-weight:800;cursor:pointer;font-size:13px}
.cuper-tab.active{background:var(--cuper-accent);color:#111;box-shadow:0 10px 30px rgba(249,115,22,.24)}
.cuper-grid{display:grid;grid-template-columns:380px 1fr;gap:16px;align-items:start}
.cuper-card{background:rgba(24,24,27,.92);border:1px solid var(--cuper-border);border-radius:var(--cuper-radius);padding:18px;box-shadow:var(--cuper-shadow)}
.cuper-card h2,.cuper-card h3{margin:0 0 12px;letter-spacing:-.03em}
.cuper-card h2{font-size:20px}.cuper-card h3{font-size:16px;color:#fff}
.cuper-muted{color:var(--cuper-muted)}
.cuper-small{font-size:12px;line-height:1.35}
.cuper-form{display:grid;gap:12px}
.cuper-field{display:grid;gap:7px}
.cuper-field label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#d4d4d8}
.cuper-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cuper-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.cuper-input,.cuper-select,.cuper-textarea{width:100%;background:#0f0f12;border:1px solid var(--cuper-border);border-radius:14px;color:#fff;padding:12px;font:inherit;outline:none}
.cuper-textarea{min-height:94px;resize:vertical;line-height:1.35}
.cuper-input:focus,.cuper-select:focus,.cuper-textarea:focus{border-color:var(--cuper-accent);box-shadow:0 0 0 3px rgba(249,115,22,.16)}
.cuper-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cuper-btn{appearance:none;border:0;border-radius:15px;background:var(--cuper-card-2);color:#fff;padding:11px 14px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none;justify-content:center;line-height:1.1}
.cuper-btn:hover{filter:brightness(1.08);color:#fff;text-decoration:none}
.cuper-btn.primary{background:var(--cuper-accent);color:#111}.cuper-btn.danger{background:rgba(239,68,68,.16);color:#fecaca;border:1px solid rgba(239,68,68,.28)}
.cuper-btn.ghost{background:transparent;border:1px solid var(--cuper-border);color:#d4d4d8}
.cuper-list{display:grid;gap:10px}
.cuper-item{border:1px solid var(--cuper-border);background:rgba(255,255,255,.035);border-radius:18px;padding:14px;display:grid;gap:9px}
.cuper-item.critical{border-color:rgba(239,68,68,.45);background:linear-gradient(180deg,rgba(239,68,68,.13),rgba(255,255,255,.035));box-shadow:0 12px 36px rgba(239,68,68,.10)}
.cuper-item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.cuper-item-title{font-weight:900;line-height:1.2;word-break:break-word}
.cuper-item-meta{display:flex;gap:7px;flex-wrap:wrap;color:var(--cuper-muted);font-size:12px}
.cuper-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 auto}
.cuper-category-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.06);font-size:12px;font-weight:800}
.cuper-switch{display:flex;align-items:center;gap:9px;color:var(--cuper-muted);font-size:13px}
.cuper-switch input{width:18px;height:18px;accent-color:var(--cuper-accent)}
.cuper-empty{text-align:center;padding:30px 16px;border:1px dashed var(--cuper-border);border-radius:20px;color:var(--cuper-muted);background:rgba(255,255,255,.02)}
.cuper-notice{border:1px solid rgba(249,115,22,.30);background:rgba(249,115,22,.10);border-radius:18px;padding:12px;color:#fed7aa;line-height:1.35}
.cuper-success{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.10);color:#bbf7d0}
.cuper-weekdays{display:flex;flex-wrap:wrap;gap:8px}.cuper-day{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--cuper-border);background:#101012;border-radius:999px;padding:8px 9px;font-size:12px;color:#d4d4d8}.cuper-day input{accent-color:var(--cuper-accent)}
.cuper-window-row{display:grid;grid-template-columns:1.5fr .75fr .75fr auto;gap:8px;align-items:end;border:1px solid var(--cuper-border);background:rgba(255,255,255,.025);padding:10px;border-radius:16px;margin-bottom:8px}
.cuper-pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cuper-pack{border:1px solid var(--cuper-border);background:#111114;border-radius:14px;padding:10px}.cuper-pack label{display:flex;gap:8px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:13px;color:#fff}.cuper-pack small{display:block;color:var(--cuper-muted);margin-top:3px}
.cuper-toast-area{position:fixed;right:18px;bottom:18px;z-index:99999;display:grid;gap:10px;max-width:360px}.cuper-toast{border:1px solid var(--cuper-border);background:#18181b;color:#fff;border-radius:18px;box-shadow:var(--cuper-shadow);padding:14px;animation:cuperIn .22s ease-out}.cuper-toast.critical{border-color:rgba(239,68,68,.55);background:#241314}.cuper-toast.critical strong{color:#fecaca}.cuper-toast.sticky{cursor:pointer}.cuper-toast strong{display:block;margin-bottom:4px}.cuper-toast p{margin:0;color:#d4d4d8;line-height:1.35}@keyframes cuperIn{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
.cuper-login{min-height:70vh;display:grid;place-items:center}.cuper-login .cuper-card{max-width:520px;text-align:center}
.cuper-color-line{height:6px;border-radius:999px;margin:-2px 0 8px}.cuper-hidden{display:none!important}
.cuper-footer-note{margin-top:18px;font-size:12px;color:var(--cuper-muted);line-height:1.45}
@media(max-width:900px){.cuper-grid{grid-template-columns:1fr}.cuper-tabs{grid-template-columns:repeat(2,1fr)}.cuper-status{justify-content:flex-start}.cuper-topbar{align-items:flex-start;flex-direction:column}.cuper-pack-grid{grid-template-columns:1fr}.cuper-window-row{grid-template-columns:1fr 1fr}.cuper-window-row .cuper-actions{grid-column:1/-1}.cuper-row,.cuper-row-3{grid-template-columns:1fr}}
@media(max-width:520px){.cuper-pwa-root{padding:10px}.cuper-card{padding:14px;border-radius:18px}.cuper-tabs{position:fixed;left:10px;right:10px;bottom:10px;z-index:40;margin:0;grid-template-columns:repeat(7,1fr);gap:4px;border-radius:22px;background:rgba(17,17,18,.92);backdrop-filter:blur(14px)}.cuper-tab{font-size:10px;padding:10px 4px}.cuper-tab span{display:none}.cuper-app-shell{padding-bottom:94px}.cuper-toast-area{left:12px;right:12px;bottom:86px;max-width:none}}
html,body.kairo-cloud-body{margin:0;min-height:100%;background:#0f0f10;color:var(--cuper-text);overscroll-behavior:none}
body.kairo-cloud-body .cuper-pwa-root{min-height:100vh;padding:calc(14px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}
.cuper-onboarding{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(249,115,22,.38);background:linear-gradient(135deg,rgba(249,115,22,.18),rgba(255,255,255,.045));border-radius:22px;padding:14px 16px;margin-bottom:14px;box-shadow:0 16px 46px rgba(249,115,22,.10)}
.cuper-onboarding strong{display:block;font-size:16px}.cuper-onboarding span{display:block;color:var(--cuper-muted);font-size:13px;margin-top:3px}
.cuper-login-card{width:min(440px,calc(100vw - 28px))}.cuper-login-card h1{margin:0 0 8px;letter-spacing:-.04em}.cuper-login-card .cuper-form{text-align:left;margin-top:18px}
.cuper-grid.wide-left{grid-template-columns:minmax(500px,1.25fr) minmax(320px,.75fr)}
.cuper-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.cuper-section-head h2,.cuper-section-head h3{margin-bottom:3px}.cuper-section-head p{margin:0;line-height:1.35}
.cuper-form-panel{border:1px solid var(--cuper-border);background:rgba(255,255,255,.025);border-radius:20px;padding:14px;display:grid;gap:12px}.cuper-form-panel h3{margin:0;color:#fff}.cuper-inline-help{min-height:45px;display:flex;align-items:center;border:1px dashed var(--cuper-border);border-radius:14px;padding:11px;color:var(--cuper-muted);font-size:13px;line-height:1.35;background:rgba(255,255,255,.025)}
.cuper-textarea.tall{min-height:140px}.cuper-window-list{display:grid;gap:10px}.cuper-window-row{grid-template-columns:minmax(260px,1.7fr) minmax(105px,.55fr) minmax(105px,.55fr) auto;margin-bottom:0}.cuper-window-days .cuper-weekdays{gap:6px}.cuper-window-row .cuper-btn{width:100%}
.cuper-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cuper-category-card{border:1px solid var(--cuper-border);background:rgba(255,255,255,.035);border-radius:18px;padding:12px;display:grid;gap:10px;min-width:0}.cuper-row.compact{grid-template-columns:.75fr 1fr}.cuper-category-card .cuper-actions{justify-content:space-between}.cuper-category-card .cuper-input[type=color]{height:43px;padding:6px}
.cuper-btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.cuper-card hr{border-color:var(--cuper-border)}
@media(max-width:1100px){.cuper-grid.wide-left{grid-template-columns:1fr}.cuper-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.cuper-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cuper-onboarding{align-items:stretch;flex-direction:column}.cuper-section-head{flex-direction:column}.cuper-window-row{grid-template-columns:1fr 1fr}.cuper-window-days{grid-column:1/-1}.cuper-window-row .cuper-field:last-child{grid-column:1/-1}.cuper-tabs{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){body.kairo-cloud-body .cuper-pwa-root{padding:10px}.cuper-category-grid{grid-template-columns:1fr}.cuper-tabs{grid-template-columns:repeat(7,1fr)}}
.cuper-actions.mini{margin:0 0 6px}.cuper-actions.mini .cuper-btn{padding:8px 10px;border-radius:12px;font-size:12px}
.cuper-textarea.category-messages{min-height:118px;font-size:12px;line-height:1.32}
.category-message-pack{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02))}.category-message-pack input{accent-color:var(--cuper-accent)}
@media(min-width:1101px){.cuper-category-card .cuper-field label{font-size:11px}.cuper-textarea.category-messages{min-height:130px}}


/* Kairo 1.1.7: optimización móvil para iPhones pequeños y pantallas con poca altura */
html{height:100%;background:var(--cuper-bg);-webkit-text-size-adjust:100%}
body.kairo-cloud-body{width:100%;min-height:100%;overflow-x:hidden;background:var(--cuper-bg)}
.cuper-pwa-root{min-height:calc(var(--kairo-vh,1vh) * 100);min-height:100dvh}
body.kairo-cloud-body .cuper-pwa-root{min-height:calc(var(--kairo-vh,1vh) * 100);min-height:100dvh}
@supports (-webkit-touch-callout:none){body.kairo-cloud-body .cuper-pwa-root{min-height:-webkit-fill-available}}

@media(max-width:520px){
  .cuper-pwa-root{padding:8px}
  body.kairo-cloud-body .cuper-pwa-root{padding:calc(8px + env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
  .cuper-app-shell{padding-top:0;padding-bottom:82px}
  .cuper-topbar{gap:8px;margin-bottom:10px;padding:6px 0 8px}
  .cuper-brand{gap:9px}.cuper-brand-logo{width:42px;height:42px;border-radius:14px}.cuper-brand h1{font-size:18px}.cuper-brand p{font-size:12px;margin-top:2px}
  .cuper-status{gap:6px}.cuper-pill{padding:6px 8px;font-size:11px;gap:5px}
  .cuper-card{padding:12px;border-radius:17px}.cuper-card h2{font-size:18px;margin-bottom:9px}.cuper-card h3{font-size:15px;margin-bottom:8px}
  .cuper-form{gap:9px}.cuper-field{gap:5px}.cuper-field label{font-size:11px}.cuper-input,.cuper-select,.cuper-textarea{padding:10px;border-radius:12px}.cuper-textarea{min-height:74px}.cuper-textarea.tall{min-height:104px}.cuper-textarea.category-messages{min-height:96px}
  .cuper-item{padding:11px;border-radius:15px;gap:7px}.cuper-list{gap:8px}.cuper-empty{padding:20px 12px}.cuper-actions{gap:7px}.cuper-btn{padding:10px 11px;border-radius:13px;font-size:13px}.cuper-small{font-size:11px}
  .cuper-onboarding{padding:11px 12px;border-radius:17px;margin-bottom:10px;gap:9px}.cuper-onboarding strong{font-size:14px}.cuper-onboarding span{font-size:12px}
  .cuper-login{min-height:calc(var(--kairo-vh,1vh) * 100 - 16px);place-items:start center;padding-top:7vh}.cuper-login .cuper-card{width:100%;max-width:none}.cuper-login-card{width:100%}
  .cuper-tabs{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));padding:6px;gap:3px}.cuper-tab{font-size:10px;padding:8px 2px;border-radius:13px;line-height:1.05}
}

@media(max-width:430px) and (max-height:740px){
  .cuper-pwa-root{padding:6px}
  body.kairo-cloud-body .cuper-pwa-root{padding:calc(6px + env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}
  .cuper-app-shell{padding-bottom:72px}.cuper-topbar{position:relative;margin-bottom:8px;padding:2px 0 4px}.cuper-brand-logo{width:36px;height:36px;border-radius:12px}.cuper-brand h1{font-size:16px}.cuper-brand p{display:none}
  .cuper-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.cuper-pill{justify-content:center;min-width:0;overflow:hidden;text-overflow:ellipsis;padding:5px 6px;font-size:10px}
  .cuper-grid{gap:9px}.cuper-card{padding:10px}.cuper-form{gap:8px}.cuper-input,.cuper-select,.cuper-textarea{padding:9px;font-size:14px}.cuper-textarea{min-height:64px}.cuper-notice{padding:9px;border-radius:14px;font-size:12px}.cuper-footer-note{display:none}
  .cuper-tabs{bottom:calc(6px + env(safe-area-inset-bottom));left:6px;right:6px;padding:5px}.cuper-tab{font-size:9px;padding:7px 1px}.cuper-toast-area{bottom:68px}
}

html.kairo-compact-phone .cuper-app-shell{max-width:100%;}
html.kairo-extra-compact-phone .cuper-card{padding:9px}
html.kairo-extra-compact-phone .cuper-btn{padding:8px 9px}
html.kairo-extra-compact-phone .cuper-login{padding-top:4vh}
