@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600&family=Manrope:wght@400;500;600;700&display=swap";:root{--bg-900:#0d1521;--bg-800:#121f30;--bg-700:#1a2b40;--panel:#f7f4ee;--panel-soft:#ece7dd;--text-main:#1f2937;--text-soft:#5b6572;--gold:#caa251;--gold-strong:#aa7b2e;--ocre:#b9853d;--line:#d8d1c5;--ok:#2f7d5f;--shadow:0 22px 45px #0a142240}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{color:var(--text-main);background:radial-gradient(circle at 12% 8%,#caa25138,#0000 30%),radial-gradient(circle at 88% 16%,#b9853d1f,#0000 24%),linear-gradient(#0b131f 0%,#101b2a 100%);font-family:Manrope,sans-serif}.alega-app{grid-template-columns:292px 1fr;min-height:100svh;display:grid}.sidebar{background:linear-gradient(190deg,#14253a 0%,#0f1c2c 56%,#0e1827 100%);border-right:1px solid #caa25140;flex-direction:column;gap:28px;padding:28px 22px;display:flex}.brand-wrap{align-items:center;gap:12px;display:flex}.brand-logo{object-fit:contain;width:72px;height:72px}.brand-title{letter-spacing:.08em;color:#f9edd6;margin:0;font-family:Cinzel,serif;font-size:1.15rem}.brand-subtitle{color:#f3e5c6b8;margin:0;font-size:.76rem}.nav{flex-direction:column;gap:8px;display:flex}.nav-item{color:#cdd8e6;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;padding:11px 14px;font-weight:600;text-decoration:none;transition:all .2s;display:block}.nav-item:hover{color:#f6e6c6;border-color:#caa25166;transform:translate(2px)}.nav-item-active{color:#faefda;background:linear-gradient(90deg,#caa25138,#b9853d1a);border-color:#caa2518c}.tenant-box{background:#101d2c8c;border:1px solid #caa2515c;border-radius:14px;margin-top:auto;padding:14px}.tenant-label{color:#f4e2c0b8;margin:0;font-size:.78rem}.tenant-value{color:#f7ebd3;margin:4px 0 2px;font-weight:700}.tenant-meta{color:#d5e2f5ad;margin:0;font-size:.76rem}.main{padding:26px}.loading-screen{color:#f6ead2;place-items:center;min-height:100svh;font-weight:700;display:grid}.loading-inline{color:#f0e2c2;margin:12px 0 0;font-size:.86rem}.login-shell{place-items:center;min-height:100svh;padding:16px;display:grid}.login-card{border:1px solid var(--line);width:460px;max-width:100%;box-shadow:var(--shadow);background:linear-gradient(170deg,#f7f4eefc,#ece7ddfc);border-radius:18px;flex-direction:column;gap:12px;padding:24px;display:flex}.login-logo{object-fit:contain;width:110px;height:110px}.login-copy{color:#4f5b6d;margin:0}.field{flex-direction:column;gap:4px;display:flex}.field span{color:#4f5868;font-size:.84rem;font-weight:700}.field input{color:#394352;background:#fcfbf8;border:1px solid #c8beaf;border-radius:12px;padding:11px 14px;font-family:inherit}.field input:focus{border-color:#0000;outline:2px solid #caa25180}.form-error{color:#9a2f2f;margin:0;font-size:.85rem;font-weight:700}.topbar{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(105deg,#f7f4eefa,#ece7ddfa);border-radius:18px;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:var(--gold-strong);margin:0;font-size:.72rem;font-weight:700}h1{color:#263040;margin:6px 0 0;font-family:Cinzel,serif;font-size:1.76rem}.topbar-user{color:#566176;margin:6px 0 0;font-size:.86rem;font-weight:600}.topbar-actions{align-items:center;gap:12px;display:flex}.search{color:#394352;background:#fcfbf8;border:1px solid #c8beaf;border-radius:12px;width:340px;max-width:100%;padding:11px 14px;font-family:inherit}.search:focus{border-color:#0000;outline:2px solid #caa25180}.primary-btn,.ghost-btn{cursor:pointer;border:none;border-radius:12px;font-family:inherit;font-weight:700}.primary-btn{background:linear-gradient(120deg, var(--gold) 0%, var(--ocre) 100%);color:#1f2937;padding:11px 16px}.ghost-btn{color:#6e5328;background:#caa25126;padding:8px 11px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.kpi-card{border:1px solid var(--line);background:linear-gradient(#f9f6f0fa,#f0ebe2fa);border-radius:14px;padding:16px}.kpi-label{color:var(--text-soft);margin:0;font-size:.84rem}.kpi-value{color:#1f2a3a;margin:4px 0;font-size:1.72rem;font-weight:700;line-height:1}.kpi-delta{color:var(--ok);margin:0;font-size:.8rem;font-weight:600}.content-grid{grid-template-columns:1.2fr 1fr;gap:14px;margin-top:14px;display:grid}.module-grid{grid-template-columns:.95fr 1.35fr;gap:14px;margin-top:14px;display:grid}.panel{border:1px solid var(--line);background:linear-gradient(#f7f4eefa,#ece7ddfa);border-radius:14px;padding:16px}.panel-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}h2{color:#253143;margin:0;font-family:Cinzel,serif;font-size:1rem}.activity-list,.contacts-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.activity-list li,.contacts-list li{background:#fdfbf7;border:1px solid #d7ccbb;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:11px;display:flex}.item-title{color:#2a3548;margin:0;font-weight:700}.item-subtitle{color:#687080;margin:2px 0 0;font-size:.82rem}.item-time{color:#7c6a45;font-size:.78rem;font-weight:600}.status-pill{color:#6d5227;white-space:nowrap;background:#caa2512b;border:1px solid #caa25173;border-radius:999px;padding:4px 9px;font-size:.75rem}.crud-form{gap:10px;display:grid}.crud-form label{gap:4px;display:grid}.crud-form label span{color:#4f5868;font-size:.84rem;font-weight:700}.crud-form input,.crud-form select{color:#394352;background:#fcfbf8;border:1px solid #c8beaf;border-radius:12px;padding:11px 14px;font-family:inherit}.crud-form input:focus,.crud-form select:focus{border-color:#0000;outline:2px solid #caa25180}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.table-wrap{overflow-x:auto}.crud-table{border-collapse:collapse;width:100%}.crud-table th,.crud-table td{text-align:left;color:#344154;border-bottom:1px solid #dccfb8;padding:10px 8px}.crud-table th{text-transform:uppercase;letter-spacing:.05em;color:#6d5227;font-size:.8rem}.reveal{opacity:0;animation:.52s forwards reveal-up;animation-delay:var(--delay,0s);transform:translateY(8px)}@keyframes reveal-up{to{opacity:1;transform:translateY(0)}}@media (width<=1160px){.alega-app{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #caa25140;border-right:0;gap:16px}.nav{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tenant-box{margin-top:0}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.module-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{flex-direction:column;align-items:stretch;width:100%}.search{width:100%}}@media (width<=680px){.main,.sidebar{padding:14px}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid{grid-template-columns:1fr}}.field-error{color:#e05c5c;font-size:.78rem;font-family:var(--font-body);margin-top:4px;display:block}.danger-btn{color:#e05c5c;font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #e05c5c80;border-radius:6px;padding:6px 14px;font-size:.82rem;transition:background .18s,color .18s}.danger-btn:hover:not(:disabled){color:#fff;background:#e05c5c}.danger-btn:disabled{opacity:.45;cursor:not-allowed}.row-actions{white-space:nowrap;justify-content:flex-end;gap:8px;display:flex}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:28px;right:28px}.toast{min-width:260px;max-width:420px;font-family:var(--font-body);pointer-events:auto;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;font-size:.88rem;animation:.25s toast-in;display:flex;box-shadow:0 6px 24px #00000059}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toast-success{color:#72e5a0;background:#1b3a2a;border:1px solid #3a7a55}.toast-error{color:#e08080;background:#3a1b1b;border:1px solid #7a3a3a}.toast-info{color:#80b8e0;background:#1b2a3a;border:1px solid #3a5a7a}.toast-message{flex:1}.toast-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.8rem;line-height:1}.toast-close:hover{opacity:1}.integrations-grid{flex-direction:column;gap:24px;max-width:860px;display:flex}.integration-panel{flex-direction:column;gap:16px;display:flex}.integration-title{align-items:center;gap:10px;display:flex}.integration-icon{font-size:1.25rem;line-height:1}.integration-badge{font-size:.78rem;font-family:var(--font-body);letter-spacing:.02em;border-radius:20px;padding:4px 12px;font-weight:600}.badge-ok{color:#72e5a0;background:#32a06426;border:1px solid #48c88259}.badge-pending{color:var(--gold);background:#b48c3c26;border:1px solid #b48c3c59}.integration-form{max-width:600px}.field-hint{opacity:.55;font-size:.75rem;font-weight:400}.form-row-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkbox-label{flex-direction:column;gap:6px;display:flex}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold);cursor:pointer}.webhook-info{flex-direction:column;gap:6px;display:flex}.webhook-url{color:var(--gold);word-break:break-all;-webkit-user-select:all;user-select:all;background:#ffffff0a;border:1px solid #caa25133;border-radius:6px;padding:8px 12px;font-family:Courier New,monospace;font-size:.8rem;display:block}.test-result{font-family:var(--font-body);border-radius:8px;padding:12px 16px;font-size:.88rem}.test-ok{color:#72e5a0;background:#32a0641a;border:1px solid #48c8824d}.test-fail{color:#e08080;background:#b43c3c1f;border:1px solid #c850504d}.diagnostics-list{opacity:.85;flex-direction:column;gap:3px;margin:8px 0 0;padding:0;font-size:.78rem;list-style:none;display:flex}.diagnostics-list span{opacity:.6;margin-right:4px}.integration-subsection{border-top:1px solid #caa25126;flex-direction:column;gap:10px;padding-top:20px;display:flex}.integration-subsection h3{font-family:var(--font-heading);color:var(--gold);margin:0;font-size:.95rem;font-weight:500}.oauth-btn{color:#7ab4ff;font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #4285f4;border-radius:8px;padding:8px 18px;font-size:.85rem;transition:background .18s,color .18s}.oauth-btn:hover:not(:disabled){color:#fff;background:#4285f4}.oauth-btn:disabled{opacity:.45;cursor:not-allowed}@media (width<=680px){.form-row-2{grid-template-columns:1fr}.integrations-grid{gap:16px}}.storage-link{color:var(--gold);border-bottom:1px dashed #caa25180;text-decoration:none}.storage-link:hover{color:#f2d086;border-bottom-color:#f2d086cc}.storage-key{max-width:280px;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;display:inline-block;overflow:hidden}.agenda-textarea{color:#394352;resize:vertical;background:#fcfbf8;border:1px solid #c8beaf;border-radius:12px;padding:11px 14px;font-family:inherit}.agenda-textarea:focus{border-color:#0000;outline:2px solid #caa25180}.agenda-head{align-items:flex-start;gap:10px}.agenda-head-actions{flex-wrap:wrap;gap:8px;display:flex}.agenda-email-row{gap:6px;margin-bottom:10px;display:grid}.agenda-email-row input{color:#394352;background:#fcfbf8;border:1px solid #c8beaf;border-radius:12px;padding:10px 12px;font-family:inherit}.agenda-email-row input:focus{border-color:#0000;outline:2px solid #caa25180}.agenda-filters{gap:10px;margin-bottom:10px;display:grid}.agenda-filters input,.agenda-filters select{color:#394352;background:#fcfbf8;border:1px solid #c8beaf;border-radius:12px;padding:10px 12px;font-family:inherit}.agenda-filters input:focus,.agenda-filters select:focus{border-color:#0000;outline:2px solid #caa25180}.agenda-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.agenda-filter-grid label{gap:4px;display:grid}.agenda-filter-grid label span{color:#4f5868;font-size:.8rem;font-weight:700}.agenda-view-controls{flex-wrap:wrap;gap:8px;display:flex}.agenda-week-view{gap:10px;display:grid}.agenda-week-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.agenda-week-actions{flex-wrap:wrap;gap:8px;display:flex}.agenda-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.agenda-day-card{background:#fdfbf7;border:1px solid #d7ccbb;border-radius:10px;align-content:start;gap:6px;min-height:150px;padding:8px;display:grid}.agenda-day-card header{color:#2a3548;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.agenda-day-items{gap:6px;display:grid}.agenda-week-item{background:#fffdf9;border:1px solid #dccfb8;border-left-width:3px;border-radius:8px;gap:4px;padding:6px 7px;display:grid}.agenda-week-item .item-title{font-size:.8rem;line-height:1.15}.agenda-week-item .item-subtitle{font-size:.72rem}.agenda-week-item-actions{gap:6px;display:flex}.agenda-week-item-actions .ghost-btn{padding:4px 7px;font-size:.72rem}.status-pendiente{color:#6d5227;background:#caa25129;border-color:#caa25173}.status-confirmado{color:#2b4f8c;background:#4478cb24;border-color:#4478cb6b}.status-realizado{color:#25674e;background:#2f7d5f24;border-color:#2f7d5f6b}.status-cancelado{color:#8c3a3a;background:#b5474724;border-color:#b547476b}.agenda-week-item.status-pendiente{border-left-color:#caa251}.agenda-week-item.status-confirmado{border-left-color:#4f79c2}.agenda-week-item.status-realizado{border-left-color:#2f7d5f}.agenda-week-item.status-cancelado{border-left-color:#b54747}.table-sort-btn{color:inherit;font:inherit;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem}.table-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.table-pagination-meta{color:#5b6572;font-size:.8rem}.table-pagination-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-pagination-actions label{color:#5b6572;align-items:center;gap:6px;font-size:.8rem;display:flex}.table-pagination-actions select{color:#394352;background:#fcfbf8;border:1px solid #c8beaf;border-radius:8px;padding:6px 8px;font-family:inherit}.agenda-day-dragover{background:#f9fbff;border-color:#4f79c28c;box-shadow:inset 0 0 0 1px #4f79c259}.agenda-week-item-dragging{opacity:.55}@media (width<=1160px){.agenda-filter-grid,.agenda-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.agenda-filter-grid,.agenda-week-grid{grid-template-columns:1fr}}
