:root{
  --bg:#eef3f8;
  --surface:#ffffff;
  --surface-2:#f8fbff;
  --surface-3:#eef4fb;
  --text:#132238;
  --muted:#60738e;
  --border:rgba(15,23,42,.08);
  --border-strong:rgba(15,23,42,.12);
  --primary:#2563eb;
  --primary-2:#1d4ed8;
  --danger:#dc2626;
  --success:#16a34a;
  --shadow:0 14px 36px rgba(15,23,42,.06);
  --shadow-soft:0 6px 18px rgba(15,23,42,.04);
  --input:#f7fafc;
}

:root[data-theme="dark"]{
  --bg:#08111f;
  --surface:#0f172a;
  --surface-2:#111d33;
  --surface-3:#18253d;
  --text:#e6eefb;
  --muted:#95a8c8;
  --border:rgba(148,163,184,.18);
  --border-strong:rgba(148,163,184,.28);
  --primary:#3b82f6;
  --primary-2:#2563eb;
  --danger:#f87171;
  --success:#22c55e;
  --shadow:0 18px 44px rgba(0,0,0,.26);
  --shadow-soft:0 10px 24px rgba(0,0,0,.22);
  --input:#0b1528;
}

*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  background:linear-gradient(180deg,var(--bg) 0%, color-mix(in srgb, var(--bg) 92%, #ffffff 8%) 100%);
  color:var(--text);
  font:400 13px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
a{color:inherit}
img{max-width:100%;display:block}

.ca-header{
  position:sticky;
  top:0;
  z-index:20;
  background:color-mix(in srgb,var(--surface) 92%, transparent 8%);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.ca-header-inner{
  max-width:1180px;
  margin:0 auto;
  padding:10px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.ca-brand-link{ text-decoration:none; color:var(--text); }
.ca-brand-link--header{display:inline-flex;align-items:center;gap:10px}
.ca-brand-logo{
height:44px;
filter: drop-shadow(0 2px 6px rgba(0,0,0,0.1));
}
.ca-brand-fallback{display:none;font-size:16px;font-weight:700;letter-spacing:.02em}
.ca-theme-slot{display:flex;align-items:center;justify-content:flex-end}

.ca-wrap{
  width:min(100% - 28px, 1180px);
  margin:14px auto 24px;
}
.ca-wrap--wide{width:min(100% - 28px, 1180px)}
.ca-shell-head{display:flex;justify-content:flex-end;align-items:center;margin:0 0 10px}
.ca-shell-head--auth{margin:2px 0 12px}
.ca-topbar{display:none !important}
    .brand{
      display:flex; align-items:center; justify-content:center; gap:10px;
    }
.ca-grid{display:grid;gap:18px}
.ca-grid--layout{grid-template-columns:220px minmax(0,1fr);align-items:start}
.ca-dashboard-stack{display:grid;gap:16px;min-width:0}

.ca-sidebar,
.ca-panel,
.ca-card,
.ca-empty-card,
.ca-info-card,
.ca-form-card,
.client-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:var(--shadow-soft);
  font-size: 0.85rem;
  padding: 15px;
}

.mdate{
    font-weight:600;
}

.ca-card,.ca-panel{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 40px rgba(15,23,42,.06)}
.ca-card{width:min(100%,460px);padding:28px}

.ca-sidebar{padding:12px;position:sticky;top:64px}
.ca-sidebar-title,
.section-large{
  margin:0 0 10px;
  font-size:15px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:-.01em;
}
.ca-section-title-small{font-size:14px}
.ca-subtitle,.ca-help{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.ca-card-tmp{margin-left:0px !important;}
.ca-nav{display:grid;gap:7px}
.ca-nav a,
.ca-nav-link{
  display:flex;
  align-items:center;
  min-height:36px;
  padding:8px 11px;
  border-radius:10px;
  text-decoration:none;
  font-size:13px;
  color:var(--text);
  background:transparent;
  border:1px solid transparent;
}
.ca-nav a:hover,.ca-nav-link:hover{
  background:var(--surface-3);
  border-color:var(--border);
}
.ca-nav a.active,
.ca-nav-link.active,
.ca-nav .is-active > .ca-nav-link,
.ca-nav-item.is-active .ca-nav-link{
  background:linear-gradient(180deg,var(--primary),var(--primary-2));
  color:#fff;
  border-color:transparent;
  box-shadow:0 10px 20px rgba(37,99,235,.22);
}
.ca-list-reset{list-style:none;margin:0;padding:0;display:grid;gap:7px}

.ca-panel{padding:16px 18px}
.ca-panel--cards{padding:16px 18px}
.ca-panel--full{padding:16px 18px}
.ca-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.ca-profile-actions,
.ca-form-actions,
.ca-card-actions,
.ca-info-card__foot,
.ca-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.ca-profile-actions{margin:0 0 14px}

.ca-button,
.ca-btn,
.ca-form button,
button{
  appearance:none;
  border:0;
  border-radius:10px;
  padding:8px 20px;
  min-height:36px;
  font-size:12px;
  font-weight:700;
  /*line-height:1.2;*/
  text-decoration:none;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(180deg,var(--primary),var(--primary-2));
  box-shadow:0 10px 20px rgba(37,99,235,.18);
}
.ca-button:hover,.ca-btn:hover,.ca-form button:hover,button:hover{filter:brightness(.98)}
.ca-button--ghost,
.ca-btn-secondary,
.ca-inline-form .ca-button,
.ca-info-card .ca-button--ghost{
  background:var(--surface-2);
  color:var(--text);
  border:1px solid var(--border);
  box-shadow:none;
}
.ca-button--danger{background:linear-gradient(180deg,#ef4444,#dc2626)}

.ca-laundry{background:linear-gradient(180deg,#23a996,#17845b)}
.ca-button-se{
  appearance:none;
  border:0;
  border-radius:6px;
  padding:8px 12px;
  min-height:16px;
  font-size:11px;
  font-weight:500;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(180deg,var(--primary),var(--primary-2));
  box-shadow:0 10px 20px rgba(37,99,235,.18);
  margin-left: 6px;
}

.ca-button-se:hover{
  background:linear-gradient(180deg,#5c86e3,var(--primary-2));
  color:var(--text);
  box-shadow:none;
  color:#fff;
}

.ca-button-se-gho{
  appearance:none;
  border:0;
  border-radius:6px;
  padding:8px 12px;
  min-height:16px;
  font-size:11px;
  font-weight:500;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(180deg,#eb2525ed,#ff3b3bab);
  box-shadow:0 10px 20px rgba(37,99,235,.18);
  margin-left: 6px;
}

.ca-button-se-gho:hover{
  background:linear-gradient(180deg,#ff3b3bab,#eb2525ed);
  color:var(--text);
  box-shadow:none;
  color:#fff;
}


.ca-card{padding:18px 18px 16px;max-width:430px;margin:0 auto}
.ca-alert{
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  font-size:12px;
}
.ca-alert--error{background:color-mix(in srgb, var(--danger) 10%, var(--surface) 90%); color:var(--text)}
.ca-alert--success,
.ca-alert--ok,
.ca-alert--info{background:color-mix(in srgb, var(--success) 10%, var(--surface) 90%); color:var(--text)}
.ca-alert--floating{
  position:fixed;
  top:0px;
  left:50%;
  transform:translateX(-50%);
  text-align: center;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0;
  padding:12px 14px;
  border-radius:6px;
  font-size:13px;
  box-shadow:0 14px 36px rgba(0,0,0,.18);
  width: 100%;
  font-weight: 600;
}
.ca-alert__msg{flex:1;line-height:1.35}
.ca-alert__close{
  appearance:none;
  border:0;
  background:color-mix(in srgb, var(--text) 7%, transparent 93%);
  color:inherit;
  font-size:18px;
  line-height:18px;
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  padding:0;
  cursor:pointer;
  opacity:.75;
}
.ca-alert__close:hover{opacity:1}


.ca-form{display:grid;gap:8px}
.ca-form label,
.ca-checkbox{
  font-size:12px;
  font-weight:600;
  color:var(--muted);
}
.ca-form input,
.ca-form textarea,
.ca-form select,
input[type="text"],input[type="email"],input[type="password"],input[type="tel"],textarea,select{
  min-height:38px;
  padding:9px 11px;
  border-radius:10px;
  border:1px solid var(--border);
  background:var(--input);
  color:var(--text);
  outline:none;
  font-size:13px;
}
textarea{min-height:88px;resize:vertical}
.ca-form input:focus,.ca-form textarea:focus,.ca-form select:focus,
input:focus,textarea:focus,select:focus{
  border-color:color-mix(in srgb, var(--primary) 70%, var(--border-strong) 30%);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent 82%);
}

.ca-form--profile,
.ca-form--cards{display:grid;gap:14px}
.ca-form-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ca-form-card{padding:14px}

.ca-dl{margin:0;display:grid;grid-template-columns:170px 1fr;gap:8px 14px}
.ca-dl dt{color:var(--muted);font-weight:600}
.ca-dl dd{margin:0;font-weight:500}
.ca-dl--profile dd,.ca-dl--profile dt{padding:7px 0;border-bottom:1px solid var(--border)}

.ca-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ca-card-grid--single-row{grid-template-columns:1fr}
.ca-info-card{padding:14px}
.ca-info-card__head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}
.ca-info-card__head h2,
.ca-empty-card h2,
.client-card h3{
  margin:0;
  font-size:14px;
  line-height:1.35;
}
.ca-info-card__body{display:grid;gap:6px;font-size:12px;color:var(--text)}
.ca-badge{
  display:inline-flex;
  align-items:center;
  margin-top:6px;
  padding:3px 8px;
  border-radius:999px;
  background:var(--surface-3);
  color:var(--muted);
  border:1px solid var(--border);
  font-size:11px;
  font-weight:600;
}

.ca-badge--status{font-weight:600}
.ca-info-card.is-completed{opacity:.7}

/* status colors (pale) */
.ca-status-completed{background:color-mix(in srgb,#16a34a 10%,var(--surface) 90%);border-color:color-mix(in srgb,#16a34a 22%,var(--border) 78%);color:#166534}
.ca-status-new,.ca-status-locker_reserved{background:color-mix(in srgb,#2563eb 9%,var(--surface) 91%);border-color:color-mix(in srgb,#2563eb 22%,var(--border) 78%);color:#1e3a8a}
.ca-status-in_cleaning,.ca-status-awaiting_pickup_courier{background:color-mix(in srgb,#f59e0b 10%,var(--surface) 90%);border-color:color-mix(in srgb,#f59e0b 22%,var(--border) 78%);color:#92400e}
.ca-status-delivery_on_hold,.ca-status-delivery_onhold{background:color-mix(in srgb,#ef4444 8%,var(--surface) 92%);border-color:color-mix(in srgb,#ef4444 18%,var(--border) 82%);color:#7f1d1d}
.ca-empty-card{padding:16px}

.ca-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px}
.ca-table{width:100%;border-collapse:collapse;background:var(--surface)}
.ca-table th,.ca-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:12px;vertical-align:top}
.ca-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2)}

.ca-inline-form{display:inline-flex;gap:8px;flex-wrap:wrap}
.ca-checkbox{display:flex;align-items:center;gap:8px}
.ca-checkbox input{width:auto;min-height:auto}

.ca-theme-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:12px;
  user-select:none;
}
.ca-theme-toggle input{position:absolute;opacity:0;pointer-events:none}
.ca-theme-slider{
  position:relative;
  width:36px;
  height:20px;
  border-radius:999px;
  background:var(--surface-3);
  border:1px solid var(--border-strong);
  transition:.2s ease;
}
.ca-theme-slider::before{
  content:"";
  position:absolute;
  left:2px;top:2px;
  width:14px;height:14px;border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
  transition:transform .2s ease;
}
.ca-theme-toggle input:checked + .ca-theme-slider{background:var(--primary);border-color:transparent}
.ca-theme-toggle input:checked + .ca-theme-slider::before{transform:translateX(16px)}
.ca-theme-text{min-width:34px;font-weight:600;cursor:pointer;}


.ca-section-head__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
}
.ca-view-switch{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-2);
  box-shadow:var(--shadow-soft);
}
.ca-view-switch__button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:0 11px;
  border-radius:9px;
  border:1px solid transparent;
  color:var(--muted);
  text-decoration:none;
  font-size:12px;
  font-weight:700;
}
.ca-view-switch__button:hover{
  color:var(--text);
  background:var(--surface);
  border-color:var(--border);
}
.ca-view-switch__button.is-active{
  color:var(--text);
  background:var(--surface);
  border-color:var(--border);
  box-shadow:var(--shadow-soft);
}
.ca-view-switch__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
}
.ca-view-switch__icon svg{
  width:16px;
  height:16px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ca-view-switch__button.is-active .ca-view-switch__icon svg rect{
  fill:currentColor;
  stroke:none;
}
.ca-card-grid--list{
  grid-template-columns:1fr;
}
.ca-info-card--list{
  padding:12px 14px;
}
.ca-info-card--list .ca-info-card__head,
.ca-info-card--list .ca-info-card__foot{
  margin:0;
}
.ca-info-card--list .ca-info-card__head{
  align-items:center;
}
.ca-info-card--list .ca-info-card__body{
  gap:4px;
}
.ca-info-card--list .ca-badge{
  margin-top:5px;
}
.ca-info-card--list{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
}
.ca-info-card--list .ca-card-actions{
  margin-top:0;
}
.ca-info-card--list .ca-info-card__foot{
  justify-content:flex-end;
  align-items:center;
}
.ca-info-card--list.is-default{
  border-color:color-mix(in srgb, var(--primary) 30%, var(--border) 70%);
  background:color-mix(in srgb, var(--surface) 88%, var(--surface-3) 12%);
}

@media (max-width: 900px){
  .ca-grid--layout{grid-template-columns:1fr}
  .ca-sidebar{position:static}
  .ca-card-grid,.ca-form-card-grid,.ca-dl{grid-template-columns:1fr}
  .ca-wrap,.ca-wrap--wide{width:min(100% - 18px, 1180px)}
  .ca-header-inner{padding:10px 12px}

  .ca-section-head,
  .ca-section-head__actions{
    align-items:stretch;
  }

  .ca-section-head,
  .ca-section-head__actions{
    flex-direction:column;
  }

  .ca-view-switch{
    flex-direction:row;
    align-self:flex-start;
    width:auto;
  }

  .ca-section-head__actions .ca-view-switch{
    display:none;
  }

  .ca-view-switch__button{
    justify-content:center;
    min-width:92px;
  }

  .ca-info-card--list{
    grid-template-columns:1fr;
    gap:10px;
    padding:10px 12px;
  }

  .ca-info-card--list .ca-info-card__head{
    align-items:flex-start;
  }

  .ca-info-card--list .ca-info-card__body{
    gap:3px;
  }

  .ca-info-card--list .ca-info-card__foot{
    justify-content:flex-start;
  }

  .ca-info-card--list .ca-card-actions{
    width:100%;
    justify-content:flex-start;
  }
}

.ca-wrap-login{
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
padding:24px;
background:#f1f5f9;
}

/* card */
.ca-card-login{
width:100%;
max-width:420px;
background:#ffffff;
border:1px solid rgba(15,23,42,.08);
border-radius:18px;
padding:26px 26px 22px;
box-shadow:0 12px 30px rgba(15,23,42,.08);
}


.ca-shell-head--auth{
display:none !important;
}


.ca-button--disabled {
    opacity: 0.65;
    cursor: not-allowed;
    pointer-events: none;
}

@keyframes pulseRed {
  from { box-shadow: 0 0 0 0 #fb35355c; }
  to   { box-shadow: 0 0 0 6px #fb353525;}
}

.ca-status-awaiting_pickup_customer{
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  text-align: center;
  animation: pulseRed .7s infinite alternate;

}

/* Status: pickup overdue (clientarea) */
.ca-status-pickup_overdue{background:#fee2e2;color:#991b1b;border-color:#fecaca;}
