:root{--navy:#14213d;--blue:#2563eb;--blue-soft:#eff6ff;--bg:#f5f7fb;--text:#172033;--muted:#687386;--border:#e1e6ef;--danger:#c62828;--success:#137447;--white:#fff;--shadow:0 8px 24px rgba(23,32,51,.07)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--blue);text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--navy);padding:28px 18px;display:flex;flex-direction:column;z-index:20}.brand{color:#fff;font-weight:800;font-size:21px;padding:0 12px 24px}.brand span{color:#72a8ff}.sidebar nav{display:grid;gap:6px}.sidebar nav a,.link-button{color:#d6deec;padding:12px;border-radius:9px;font:inherit;text-align:left;border:0;background:none;cursor:pointer}.sidebar nav a:hover,.link-button:hover{background:#203254;color:#fff}.logout-form{margin-top:auto}.main{margin-left:240px;min-height:100vh}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 32px;gap:20px}.global-search{width:min(520px,55vw)}.global-search input{background:#f5f7fb}.menu-button{display:none}.content{padding:32px;max-width:1400px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-head h1{margin:0 0 5px;font-size:30px}.page-head p,.muted{margin:0;color:var(--muted)}.actions,.form-actions{display:flex;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font-weight:650;cursor:pointer}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.danger{color:#fff;background:var(--danger);border-color:var(--danger)}.button.small{padding:6px 10px;font-size:12px}.button.full{width:100%}.panel,.stats article{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px;box-shadow:var(--shadow)}.panel h2{font-size:18px;margin:0 0 18px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stats span{display:block;font-size:28px;font-weight:800}.stats small{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-grid .wide{grid-column:1/-1}.panel h2 span{float:right;color:var(--muted)}.danger-panel{border-top:3px solid var(--danger)}.item-list{display:grid}.action-item{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid var(--border);color:var(--text)}.action-item:last-child{border-bottom:0}.action-item small,.action-item strong{display:block}.action-item small{color:var(--muted);margin-top:4px}.action-item time{font-size:13px;white-space:nowrap}.empty{padding:25px;text-align:center;color:var(--muted)}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}th,td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--border)}th{font-size:12px;text-transform:uppercase;color:var(--muted);background:#fafbfc}td small{display:block;color:var(--muted);margin-top:3px}.search,.inline-form{display:flex;gap:10px;margin-bottom:18px}.search input{max-width:500px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:950px}label{display:grid;gap:7px;font-size:13px;font-weight:650}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cdd4df;border-radius:8px;background:#fff;font:inherit;color:var(--text)}textarea{resize:vertical}.span-2{grid-column:1/-1}.form-actions{justify-content:flex-end;border-top:1px solid var(--border);padding-top:18px}.split,.detail-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;margin-bottom:20px}.detail-grid{grid-template-columns:1fr 1fr}dl{display:grid;grid-template-columns:140px 1fr;gap:12px;margin:0}dt{color:var(--muted)}dd{margin:0;font-weight:600}.highlight{background:var(--blue-soft);border-color:#c9dcff}.next-action{font-size:22px}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef1f5;font-size:12px;font-weight:750}.status-pendiente{background:#fff3cd;color:#795a00}.status-en-proceso{background:#dbeafe;color:#174ea6}.status-esperando-cliente{background:#ffead5;color:#92400e}.status-esperando-tercero{background:#eee5ff;color:#6b21a8}.status-confirmado,.status-finalizado{background:#dcfce7;color:#166534}.status-cancelado{background:#fee2e2;color:#991b1b}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.filter-label{font-size:13px;color:var(--muted);font-weight:650}.chip{background:#fff;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:7px 12px;font-size:13px}.chip.active{background:var(--navy);color:#fff}.timeline>div{display:flex;gap:12px;padding-bottom:16px}.timeline>div>span{width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--blue);flex:none}.timeline p{margin:0}.timeline small{display:block;color:var(--muted);margin-top:4px}.preline{white-space:pre-line}.alert{padding:13px 16px;border-radius:8px;margin-bottom:18px}.alert.success{background:#dcfce7;color:#166534}.alert.danger{background:#fee2e2;color:#991b1b}.alert.warning{background:#fff3cd;color:#795a00}.public-main{min-height:100vh;display:grid;place-items:center}.login-card{width:min(420px,calc(100vw - 32px));background:#fff;padding:34px;border-radius:14px;box-shadow:var(--shadow)}.login-card form{display:grid;gap:17px}.login-brand{color:var(--navy);padding:0}.login-card h1{margin-bottom:8px}.login-card .muted{margin-bottom:25px}.eyebrow{font-size:12px;font-weight:800;color:var(--blue);letter-spacing:.08em}.search-results{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}.result-row{display:block;padding:13px 0;border-bottom:1px solid var(--border);color:var(--text)}.result-row:last-child{border:0}.result-row small{display:block;margin-top:5px;color:var(--muted)}.export-panel{display:flex;justify-content:space-between;align-items:center}.export-panel h2{margin-bottom:5px}
.stack-form{display:grid;gap:14px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.task-form,.appointment-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;align-items:end;padding:16px;background:#f8fafc;border:1px solid var(--border);border-radius:10px}.task-description,.appointment-notes{grid-column:1/4}.task-submit,.appointment-submit{height:42px}.task-list{display:grid;margin-top:14px}.task-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--border)}.task-card:last-child{border-bottom:0}.task-card p{margin:7px 0;color:var(--muted)}.task-card small{color:var(--muted)}.task-card.done{opacity:.58}.task-title{display:flex;align-items:center;gap:9px}.priority-alta{background:#ffead5;color:#92400e}.priority-urgente{background:#fee2e2;color:#991b1b}.priority-baja{background:#eef1f5;color:#465366}.overdue-row{background:#fff8f8}.kind{display:inline-block;font-size:9px;letter-spacing:.08em;color:var(--blue);font-weight:850;margin-bottom:3px}.appointment-kind{color:#7c3aed}.status-reprogramado{background:#eee5ff;color:#6b21a8}.status-realizado{background:#dcfce7;color:#166534}.stats{grid-template-columns:repeat(6,1fr)}.appointment-actions{flex-wrap:wrap;justify-content:flex-end}.field-help{color:var(--muted);font-weight:400}.document-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:16px;background:#f8fafc;border:1px solid var(--border);border-radius:10px}.document-list{display:grid;margin-top:12px}.document-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 4px;border-bottom:1px solid var(--border)}.document-row small{display:block;color:var(--muted);margin-top:4px}.document-status{margin:0 0 0 auto}.document-status select{min-width:140px}
@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0}.topbar{justify-content:space-between;padding:0 18px}.global-search{width:100%}.topbar>span{display:none}.menu-button{display:block;border:0;background:none;font-size:22px;order:-1}.content{padding:20px}.stats{grid-template-columns:1fr 1fr}.dashboard-grid,.split,.detail-grid,.form-grid,.search-results{grid-template-columns:1fr}.span-2,.dashboard-grid .wide{grid-column:auto}.page-head{align-items:flex-start;flex-direction:column}.form-actions{width:100%}.task-form,.appointment-form,.document-form{grid-template-columns:1fr}.task-description,.appointment-notes{grid-column:auto}.task-card,.document-row{align-items:flex-start;flex-direction:column}.document-status{margin:0}.export-panel{align-items:flex-start;flex-direction:column;gap:18px}}

/* Identidad visual pastel */
:root{
  --navy:#4d4868;
  --blue:#7469b6;
  --blue-soft:#f0edff;
  --bg:#faf8fc;
  --text:#37334b;
  --muted:#817c91;
  --border:#e9e4ee;
  --danger:#bd2c3b;
  --success:#367b67;
  --white:#fffefd;
  --lavender:#eee9ff;
  --lavender-strong:#d9d0fa;
  --mint:#e4f4ed;
  --peach:#fff0e5;
  --sky:#e7f2fa;
  --yellow:#fff6d9;
  --rose:#fce9ed;
  --shadow:0 10px 30px rgba(77,72,104,.08);
}

body{
  background:
    radial-gradient(circle at 92% 4%,rgba(218,208,250,.45),transparent 24rem),
    radial-gradient(circle at 25% 100%,rgba(218,240,230,.38),transparent 30rem),
    var(--bg);
  color:var(--text);
  letter-spacing:.005em;
}

.sidebar{
  width:252px;
  padding:30px 20px 24px;
  background:linear-gradient(180deg,#eee9ff 0%,#f5effb 50%,#e8f3ef 100%);
  border-right:1px solid rgba(116,105,182,.13);
  box-shadow:8px 0 30px rgba(77,72,104,.05);
}

.main{margin-left:252px}
.brand{color:#4f4774;font-size:22px;letter-spacing:-.025em;padding:0 12px 30px}
.brand span{color:#8b78c6}
.sidebar nav{gap:7px}
.sidebar nav a,.link-button{
  color:#68617d;
  display:flex;
  align-items:center;
  gap:11px;
  padding:11px 13px;
  font-size:14px;
  font-weight:650;
  border-radius:11px;
  transition:background .18s,color .18s,transform .18s,box-shadow .18s;
}
.sidebar nav a:hover,.link-button:hover{background:rgba(255,255,255,.68);color:#514979;transform:translateX(2px)}
.sidebar nav a.active{background:#fff;color:#5f54a0;box-shadow:0 6px 18px rgba(96,84,160,.11)}
.nav-icon{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:rgba(255,255,255,.65);font-size:14px}
.sidebar nav a.active .nav-icon{background:var(--lavender);color:#6659aa}

.topbar{
  height:72px;
  background:rgba(255,254,253,.78);
  backdrop-filter:blur(14px);
  border-color:rgba(233,228,238,.8);
  padding:0 38px;
}
.topbar>span{padding:8px 12px;background:var(--mint);border-radius:999px;color:#4c7468;font-size:13px;font-weight:700}
.global-search input{background:#f5f2f8;border-color:transparent;border-radius:12px;padding:12px 15px;transition:.2s}
.global-search input:focus{background:#fff;border-color:#bdb2e4;box-shadow:0 0 0 4px rgba(116,105,182,.1);outline:none}
.content{padding:38px 40px 52px}
.page-head{margin-bottom:28px}
.page-head h1{font-size:31px;letter-spacing:-.035em;color:#403a59}
.page-head p{font-size:14px}

.panel,.stats article,.table-wrap,.login-card{
  background:rgba(255,254,253,.93);
  border:1px solid rgba(229,222,235,.88);
  border-radius:17px;
  box-shadow:var(--shadow);
}
.panel{padding:24px}
.panel h2{color:#4a4560;letter-spacing:-.015em}
.stats{gap:14px}
.stats article{position:relative;overflow:hidden;padding:20px 21px;border:0}
.stats article::after{content:"";position:absolute;width:64px;height:64px;right:-18px;top:-21px;border-radius:50%;background:var(--lavender)}
.stats article:nth-child(2)::after{background:var(--sky)}
.stats article:nth-child(3)::after{background:var(--peach)}
.stats article:nth-child(4)::after{background:var(--mint)}
.stats article:nth-child(5)::after{background:var(--yellow)}
.stats article:nth-child(6)::after{background:var(--rose)}
.stats span{font-size:30px;color:#514a70;letter-spacing:-.04em}
.stats small{font-size:12px;font-weight:650}
.dashboard-grid{gap:18px}
.danger-panel{border-top:4px solid var(--danger)}

.button{border-color:#ded7e6;border-radius:10px;background:#fffefd;color:#5d5770;box-shadow:0 2px 5px rgba(77,72,104,.04);transition:transform .15s,box-shadow .15s,background .15s}
.button:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(77,72,104,.1);background:#faf7ff}
.button.primary{background:#7469b6;border-color:#7469b6;color:#fff;box-shadow:0 5px 14px rgba(116,105,182,.2)}
.button.primary:hover{background:#675ca9}
.button.danger{background:var(--danger);border-color:var(--danger);color:#fff}

input,select,textarea{border-color:#ddd7e4;border-radius:10px;background:#fffefd;transition:border .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:#a99bda;box-shadow:0 0 0 4px rgba(116,105,182,.09)}
label{color:#5b566b}
.task-form,.appointment-form,.document-form{background:#faf8ff;border-color:#e8e1f1;border-radius:13px}

.table-wrap{border-radius:16px;overflow-x:auto}
th{background:#f8f5fa;color:#847e91;font-size:11px;letter-spacing:.06em}
th,td{border-color:#eee9f1}
tbody tr{transition:background .15s}
tbody tr:hover{background:#fcfaff}

.chip{border-color:#e1dbe8;background:#fff;color:#777085;border-radius:999px}
.chip:hover{background:var(--lavender)}
.chip.active{background:#766bb2;border-color:#766bb2;color:#fff}
.badge{border:1px solid rgba(80,70,100,.05);font-weight:750}
.status-pendiente{background:#fff2bd;color:#735b00}
.status-en-proceso{background:#dceefa;color:#27617e}
.status-esperando-cliente{background:#ffe5d2;color:#8b4a19}
.status-esperando-tercero,.status-reprogramado{background:#e9e1ff;color:#614b9a}
.status-confirmado,.status-finalizado,.status-realizado{background:#dcefe5;color:#28634f}
.status-cancelado{background:#f6d9df;color:#a31f32}
.priority-alta{background:#ffe5d2;color:#8b4a19}
.priority-urgente{background:#f4cdd4;color:#9f1f31}
.priority-baja{background:#e8eef3;color:#596a78}

.alert{border-radius:12px;border-left:4px solid}
.alert.success{background:var(--mint);border-color:#4a8a76;color:#315f51}
.alert.warning{background:var(--yellow);border-color:#d29d2d;color:#72590d}
.alert.danger{background:#f9dde2;border-color:var(--danger);color:#8f1c2b}
.overdue-row{background:#fff2f3}
.overdue-row:hover{background:#ffe8eb}
.empty{color:#948ea0}
.action-item,.result-row,.task-card,.document-row{border-color:#eee8f1}
.action-item:hover,.result-row:hover{background:#faf7ff}
.highlight{background:linear-gradient(135deg,#f0edff,#eaf5f0);border-color:#ded6f5}
.timeline>div>span{background:#8c7ac6;box-shadow:0 0 0 4px var(--lavender)}
.login-card{padding:38px}
.login-brand{color:#4f4774}
.public-main{background:linear-gradient(135deg,#f1ebff 0%,#fff4ec 48%,#e6f5ee 100%)}

@media(max-width:800px){
  .sidebar{width:252px}
  .main{margin-left:0}
  .topbar{height:66px;padding:0 16px}
  .content{padding:24px 18px 40px}
  .page-head h1{font-size:27px}
  .stats{gap:10px}
  .stats article{padding:17px}
  .panel{padding:19px}
}

/* Material Design 3 sobre la paleta pastel */
:root{
  --md-primary:#6750a4;
  --md-on-primary:#ffffff;
  --md-primary-container:#eaddff;
  --md-on-primary-container:#21005d;
  --md-secondary:#625b71;
  --md-secondary-container:#e8def8;
  --md-on-secondary-container:#1d192b;
  --md-tertiary:#4f6358;
  --md-tertiary-container:#d1e8da;
  --md-error:#ba1a1a;
  --md-error-container:#ffdad6;
  --md-surface:#fffbfe;
  --md-surface-container-low:#f7f2fa;
  --md-surface-container:#f3edf7;
  --md-surface-container-high:#ece6f0;
  --md-on-surface:#1d1b20;
  --md-on-surface-variant:#49454f;
  --md-outline:#79747e;
  --md-outline-variant:#cac4d0;
}

body{font-family:Roboto,"Segoe UI",sans-serif;background:var(--md-surface);color:var(--md-on-surface)}
.material-symbols-outlined{font-family:"Material Symbols Outlined";font-weight:normal;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}
.sidebar{background:var(--md-surface-container-low);border-right:0;box-shadow:none;padding:24px 16px}
.brand{display:flex;align-items:center;gap:12px;padding:6px 12px 30px;color:var(--md-on-surface);font-size:19px}
.brand-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;background:var(--md-primary-container);color:var(--md-on-primary-container);font-size:25px}
.brand-copy{color:var(--md-on-surface)}
.brand-copy em{color:var(--md-primary);font-style:normal}
.sidebar nav a,.link-button{min-height:48px;padding:0 16px;border-radius:24px;color:var(--md-on-surface-variant);font-size:14px;font-weight:500;transform:none}
.sidebar nav a:hover,.link-button:hover{background:rgba(103,80,164,.08);color:var(--md-on-surface);transform:none}
.sidebar nav a.active{background:var(--md-secondary-container);color:var(--md-on-secondary-container);box-shadow:none;font-weight:700}
.nav-icon{width:24px;height:24px;padding:0;background:transparent!important;border-radius:0;font-size:22px}
.sidebar nav a.active .nav-icon{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}
.topbar{height:72px;background:rgba(255,251,254,.92);border-bottom:1px solid var(--md-outline-variant);box-shadow:none}
.topbar>span{background:var(--md-tertiary-container);color:#25372e;padding:8px 14px}
.global-search{position:relative}
.global-search>span{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--md-on-surface-variant);z-index:1}
.global-search input{height:48px;padding:0 18px 0 50px;border:0;border-radius:28px;background:var(--md-surface-container-high);color:var(--md-on-surface)}
.global-search input:focus{background:var(--md-surface-container);border:0;box-shadow:0 0 0 2px var(--md-primary)}
.content{max-width:1440px}
.page-head h1{font-size:32px;line-height:40px;font-weight:500;color:var(--md-on-surface);letter-spacing:0}
.page-head p,.muted{color:var(--md-on-surface-variant)}
.panel,.stats article,.table-wrap,.login-card{background:var(--md-surface);border:1px solid var(--md-outline-variant);border-radius:16px;box-shadow:0 1px 2px rgba(29,27,32,.08),0 1px 3px 1px rgba(29,27,32,.05)}
.panel h2{font-size:18px;font-weight:500;color:var(--md-on-surface)}
.stats article{background:var(--md-surface-container-low);border:0;box-shadow:none}
.stats article::after{background:var(--md-primary-container)}
.stats span{color:var(--md-on-surface);font-weight:500}
.button{min-height:40px;padding:0 24px;border:1px solid var(--md-outline);border-radius:20px;background:transparent;color:var(--md-primary);box-shadow:none;font-size:14px;font-weight:600;letter-spacing:.01em}
.button:hover{background:rgba(103,80,164,.08);box-shadow:none;transform:none}
.button.primary{background:var(--md-primary);border-color:var(--md-primary);color:var(--md-on-primary);box-shadow:none}
.button.primary:hover{background:#59428f;box-shadow:0 1px 3px rgba(29,27,32,.2)}
.button.danger{background:var(--md-error);border-color:var(--md-error);color:#fff}
.button.small{min-height:32px;padding:0 16px;border-radius:18px}
input,select,textarea{background:transparent;border:1px solid var(--md-outline);border-radius:4px;color:var(--md-on-surface)}
input:focus,select:focus,textarea:focus{border:2px solid var(--md-primary);box-shadow:none}
.task-form,.appointment-form,.document-form{background:var(--md-surface-container-low);border:0;border-radius:16px}
.table-wrap{border-radius:16px}
th{background:var(--md-surface-container);color:var(--md-on-surface-variant);font-weight:600}
th,td{border-color:var(--md-outline-variant)}
tbody tr:hover{background:rgba(103,80,164,.045)}
.chip{min-height:32px;padding:6px 16px;border-color:var(--md-outline);background:transparent;color:var(--md-on-surface-variant);font-weight:500}
.chip:hover{background:rgba(103,80,164,.08)}
.chip.active{background:var(--md-secondary-container);border-color:transparent;color:var(--md-on-secondary-container)}
.highlight{background:var(--md-primary-container);border-color:transparent;color:var(--md-on-primary-container)}
.highlight h2{color:var(--md-on-primary-container)}
.alert.success{background:#d1e8da;border-color:#36745d;color:#173c2e}
.alert.warning{background:#ffedbd;border-color:#8b6912;color:#4e3b05}
.alert.danger{background:var(--md-error-container);border-color:var(--md-error);color:#93000a}
.status-cancelado,.priority-urgente{background:var(--md-error-container);color:#93000a}
.danger-panel{border-top:4px solid var(--md-error)}
.timeline>div>span{background:var(--md-primary);box-shadow:0 0 0 4px var(--md-primary-container)}
.brand{gap:9px;padding-right:4px;padding-left:8px}
.brand .brand-copy{color:var(--md-on-surface);font-size:17px;white-space:nowrap}
.brand .brand-copy em{color:var(--md-primary)}
.brand .brand-icon{color:var(--md-on-primary-container);background:var(--md-primary-container);flex:none}
.sidebar nav a.active .nav-icon{color:var(--md-primary)}
.sidebar nav a:hover .nav-icon{color:var(--md-primary)}
:root{--blue:var(--md-primary);--blue-soft:var(--md-primary-container);--lavender:var(--md-primary-container);--lavender-strong:#d8bfc9}

.public-main{background:linear-gradient(135deg,var(--md-primary-container),#fff7f0 52%,var(--md-tertiary-container))}
.login-card{background:var(--md-surface)}
.nav-scrim{display:none}
.menu-button{display:none;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--md-on-surface);cursor:pointer}
.menu-button:hover{background:rgba(103,80,164,.08)}

@media(max-width:800px){
  .menu-button{display:grid;place-items:center;flex:none}
  .sidebar{z-index:100;box-shadow:0 8px 24px rgba(29,27,32,.22);transition:transform .24s cubic-bezier(.2,0,0,1)}
  .sidebar.open{transform:translateX(0)}
  .nav-scrim{position:fixed;inset:0;z-index:90;width:100%;height:100%;padding:0;border:0;background:rgba(29,27,32,.42);cursor:pointer}
  .nav-scrim:not([hidden]){display:block}
  body.nav-open{overflow:hidden}
}

/* Ingreso translúcido con motivo esténcil */
.public-main{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(130deg,#eee4ff 0%,#f8eefa 36%,#fff5ec 65%,#e1f4e9 100%)}
.public-main::before,.public-main::after{content:"";position:fixed;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(10px)}
.public-main::before{width:min(62vw,800px);aspect-ratio:1;left:-14vw;top:-22vw;background:radial-gradient(circle,rgba(168,145,224,.37),transparent 70%)}
.public-main::after{width:min(54vw,700px);aspect-ratio:1;right:-12vw;bottom:-20vw;background:radial-gradient(circle,rgba(128,200,160,.36),transparent 70%)}
.public-main>.content{position:relative;width:100%;min-height:100vh;display:grid;place-items:center;padding:28px 18px}
.public-main>.content::before{content:"AUTO";position:absolute;z-index:-1;top:5%;left:5%;font-size:clamp(130px,27vw,440px);font-weight:700;letter-spacing:.12em;line-height:1;white-space:nowrap;color:transparent;-webkit-text-stroke:2px rgba(103,80,164,.11);pointer-events:none;user-select:none}
.public-main>.content::after{content:"";position:absolute;z-index:-1;inset:0;background:repeating-linear-gradient(115deg,transparent 0 65px,rgba(103,80,164,.035) 65px 66px,transparent 66px 130px);pointer-events:none}
.login-card{position:relative;width:min(440px,100%);padding:38px;background:rgba(255,251,254,.68);border:1px solid rgba(255,255,255,.84);border-radius:28px;box-shadow:0 20px 60px rgba(62,44,99,.14),inset 0 1px rgba(255,255,255,.72);backdrop-filter:blur(26px) saturate(135%);-webkit-backdrop-filter:blur(26px) saturate(135%);overflow:hidden}
.login-card::before{content:"";position:absolute;top:0;right:0;width:145px;height:145px;border-radius:0 28px 0 100%;background:linear-gradient(135deg,rgba(234,221,255,.52),rgba(255,255,255,.04));pointer-events:none}
.login-card-content{position:relative}
.login-brand{padding:0 0 32px;gap:10px;font-size:19px}
.login-brand .brand-copy{white-space:nowrap}
.login-card h1{margin:0 0 8px;font-size:30px;font-weight:600;letter-spacing:-.025em}
.login-card .muted{margin:0 0 25px;font-size:14px;line-height:1.5}
.login-card form{gap:18px}
.login-card label{font-size:13px;font-weight:600}
.login-card input{height:46px;background:rgba(255,255,255,.62);border:1px solid rgba(121,116,126,.62);border-radius:10px}
.login-card input:focus{background:rgba(255,255,255,.88)}
.login-card .button.primary{height:46px;margin-top:4px}
.login-notifications{display:grid;gap:10px;margin:0 0 22px}
.login-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:14px;background:rgba(232,222,248,.72);color:#3d315b;font-size:14px;line-height:1.4}
.login-notice .material-symbols-outlined{font-size:20px;flex:none}
.login-notice.success{background:rgba(209,232,218,.84);color:#214b36}
.login-notice.danger{background:rgba(255,218,214,.87);color:#93000a}
.login-notice.warning{background:rgba(255,237,189,.86);color:#59400b}
@media(max-width:480px){.login-card{padding:28px 23px;border-radius:24px}.login-brand{font-size:17px}.login-card h1{font-size:27px}.public-main>.content::before{top:14%;left:-20%;font-size:45vw}}

/* Ingreso personal de Luana */
.public-main{background:#f8f5f2}
.public-main::before{width:58vw;left:-22vw;top:-28vw;background:radial-gradient(circle,rgba(112,61,81,.11),transparent 72%)}
.public-main::after{width:48vw;right:-17vw;bottom:-25vw;background:radial-gradient(circle,rgba(195,161,150,.13),transparent 70%)}
.public-main>.content{padding:50px clamp(24px,5vw,86px)}
.public-main>.content::before{content:"LC";top:auto;bottom:-12%;left:-3%;font-family:"Playfair Display",Georgia,serif;font-size:clamp(220px,40vw,640px);letter-spacing:-.12em;-webkit-text-stroke:1px rgba(112,61,81,.06)}
.public-main>.content::after{background:none}
.luana-login{width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:clamp(48px,8vw,120px)}
.luana-intro{padding:20px 0 28px}
.luana-eyebrow,.login-card-eyebrow{display:block;color:#703d51;font-size:11px;font-weight:700;letter-spacing:.16em;line-height:1.5}
.luana-intro h1{margin:18px 0 26px;color:#272326;font-family:"Playfair Display",Georgia,serif;font-size:clamp(72px,8.2vw,128px);font-weight:400;line-height:.91;letter-spacing:-.07em}
.luana-intro h1 em{display:block;color:#703d51;font-weight:400;letter-spacing:-.055em}
.luana-lead{max-width:510px;margin:0 0 13px;color:#272326;font-size:20px;line-height:1.43}
.luana-description{max-width:480px;margin:0;color:#64575d;font-size:14px;line-height:1.75}
.luana-signature{display:inline-flex;align-items:center;gap:10px;margin-top:35px;padding:10px 16px;border:1px solid rgba(112,61,81,.28);border-radius:999px;color:#703d51;font-size:13px;font-weight:600}
.luana-signature .material-symbols-outlined{font-size:20px}
.luana-login .login-card{width:100%;padding:42px;background:rgba(255,255,255,.62);border:1px solid rgba(112,61,81,.19);border-radius:26px;box-shadow:0 22px 60px rgba(65,39,47,.09),inset 0 1px rgba(255,255,255,.8);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.luana-login .login-card::before{width:130px;height:130px;background:linear-gradient(135deg,rgba(112,61,81,.07),transparent)}
.luana-login .login-card h2{margin:0 0 26px;color:#272326;font-family:"Playfair Display",Georgia,serif;font-size:34px;font-weight:400;letter-spacing:-.03em;line-height:1.2}
.luana-login .login-card .muted{margin:0 0 28px;color:#6f6066}
.luana-login .login-card label{color:#4a3941}
.luana-login .login-card input{border-color:#b9a8af;background:rgba(255,255,255,.68)}
.luana-login .login-card input:focus{border-color:#703d51;box-shadow:0 0 0 3px rgba(112,61,81,.12)}
.luana-login .login-card .button.primary{height:48px;background:#703d51;border-color:#703d51;color:#fff}
.luana-login .login-card .button.primary:hover{background:#5f3042;border-color:#5f3042}
.luana-login .login-notice.success{background:rgba(226,237,225,.85);color:#31503c}
.luana-login .login-notice.danger{background:rgba(250,223,225,.86);color:#9d2933}
@media(max-width:800px){.luana-login{max-width:520px;grid-template-columns:1fr;gap:30px}.luana-intro{padding:0}.luana-intro h1{font-size:clamp(68px,13vw,104px);margin:12px 0 20px}.luana-lead{font-size:17px}.luana-signature{margin-top:20px}.luana-login .login-card{padding:34px}}
@media(max-width:480px){.public-main>.content{padding:32px 18px}.luana-intro h1{font-size:clamp(65px,17vw,84px)}.luana-login .login-card{padding:28px 24px}.luana-login .login-card h2{font-size:30px}}

/* Acentos bordó compartidos por todo el CRM */
:root{
  --md-primary:#703d51;
  --md-on-primary:#ffffff;
  --md-primary-container:#f2dfe6;
  --md-on-primary-container:#542638;
  --md-secondary:#745d65;
  --md-secondary-container:#f2e5e9;
  --md-on-secondary-container:#523942;
  --md-tertiary:#5d6958;
  --md-tertiary-container:#e4ebdf;
  --md-surface:#fdfaf8;
  --md-surface-container-low:#f8f3f1;
  --md-surface-container:#f3edeb;
  --md-surface-container-high:#ece3e1;
  --md-on-surface:#272326;
  --md-on-surface-variant:#64575d;
  --md-outline:#86757b;
  --md-outline-variant:#d9c9ce;
}
body{background:#fbf8f6}
a{color:var(--md-primary)}
.sidebar{background:var(--md-surface-container-low)}
.brand-copy{font-family:"Playfair Display",Georgia,serif;font-weight:500;letter-spacing:-.02em}
.brand-copy em{color:var(--md-primary)}
.brand-icon{background:var(--md-primary-container);color:var(--md-on-primary-container)}
.sidebar nav a:hover,.link-button:hover,.menu-button:hover{background:rgba(112,61,81,.09)}
.sidebar nav a.active{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}
.topbar{background:rgba(253,250,248,.92)}
.topbar>span{background:var(--md-primary-container);color:var(--md-on-primary-container)}
.global-search input{background:var(--md-surface-container-high)}
.global-search input:focus{background:#fff;box-shadow:0 0 0 2px var(--md-primary)}
.button:hover,.chip:hover{background:rgba(112,61,81,.09)}
.button.primary:hover{background:#5f3042;border-color:#5f3042}
input:focus,select:focus,textarea:focus{border-color:var(--md-primary)}
tbody tr:hover,.action-item:hover,.result-row:hover{background:rgba(112,61,81,.045)}
.chip.active{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}
.highlight{background:var(--md-primary-container);color:var(--md-on-primary-container)}
.stats article::after{background:var(--md-primary-container)}
.stats article:nth-child(2)::after{background:#f1e4e8}
.stats article:nth-child(3)::after{background:#f9e8df}
.stats article:nth-child(4)::after{background:#e4ebdf}
.stats article:nth-child(5)::after{background:#f6eedc}
.stats article:nth-child(6)::after{background:#f1dfe5}
.kind,.eyebrow{color:var(--md-primary)}
.appointment-kind{color:#795569}
.priority-alta,.status-esperando-cliente{background:#f8e6dc;color:#824528}
.status-esperando-tercero,.status-reprogramado{background:#efe4e8;color:#6a4154}
.status-en-proceso{background:#e2edf0;color:#315d6b}
.timeline>div>span{background:var(--md-primary);box-shadow:0 0 0 4px var(--md-primary-container)}

/* Acceso centrado, sin presentación lateral */
.luana-login{width:min(440px,100%);display:block}
.public-main>.content::before,.public-main>.content::after{content:none}
@media(max-width:800px){.luana-login{width:min(440px,100%);display:block}}
