:root,body[data-theme=light]{--primary: #e62424;--primary-hover: #c81d1d;--primary-soft: rgba(230, 36, 36, .1);--on-primary: #ffffff;--danger: #d32f2f;--danger-soft: rgba(211, 47, 47, .1);--success: #2e7d32;--success-soft: rgba(46, 125, 50, .12);--warning: #b26a00;--warning-soft: rgba(237, 145, 0, .14);--info: #1565c0;--info-soft: rgba(21, 101, 192, .1);--bg: #f4f5f7;--card-bg: #ffffff;--input-bg: #ffffff;--sidebar-bg: #ffffff;--hover-bg: rgba(0, 0, 0, .04);--border-color: #e2e4e8;--text-main: #1f2328;--text-secondary: #5f6670;--overlay: rgba(15, 17, 20, .45);--shadow-soft: 0 1px 3px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .04);--shadow-lift: 0 8px 24px rgba(16, 24, 40, .12);--accent-glow: 0 0 0 3px rgba(230, 36, 36, .18);--radius: 12px;--radius-sm: 8px;--control-pad: 12px 14px;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}body[data-theme=dark]{--primary: #ff4747;--primary-hover: #ff6363;--primary-soft: rgba(255, 71, 71, .16);--on-primary: #ffffff;--danger: #ff6b6b;--danger-soft: rgba(255, 107, 107, .15);--success: #5cc46a;--success-soft: rgba(92, 196, 106, .15);--warning: #f3b03c;--warning-soft: rgba(243, 176, 60, .15);--info: #64a8ff;--info-soft: rgba(100, 168, 255, .15);--bg: #121417;--card-bg: #1b1e23;--input-bg: #22262c;--sidebar-bg: #171a1e;--hover-bg: rgba(255, 255, 255, .05);--border-color: #2f343b;--text-main: #eceef1;--text-secondary: #9aa2ad;--overlay: rgba(0, 0, 0, .6);--shadow-soft: 0 1px 3px rgba(0, 0, 0, .4);--shadow-lift: 0 8px 24px rgba(0, 0, 0, .5);--accent-glow: 0 0 0 3px rgba(255, 71, 71, .25)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text-main);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}h1,h2,h3{margin:0 0 .5rem;line-height:1.25}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1rem}.muted{color:var(--text-secondary)}.small{font-size:.85rem}.login-input{width:100%;padding:var(--control-pad);font:inherit;color:var(--text-main);background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);outline:none;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:var(--primary);box-shadow:var(--accent-glow)}textarea.login-input{resize:vertical;min-height:96px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>span{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:var(--control-pad);font:inherit;font-weight:600;line-height:1.2;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--card-bg);color:var(--text-main);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--hover-bg)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--hover-bg);color:var(--text-main)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-success{background:var(--success);color:var(--on-primary)}.btn-sm{padding:6px 10px;font-size:.85rem}.btn-block{width:100%}.icon-btn{background:var(--card-bg);border:1px solid var(--border-color);border-radius:50%;width:45px;height:45px;display:flex;align-items:center;justify-content:center;color:var(--text-main);cursor:pointer;font-size:1.1rem}.card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:20px}.card+.card{margin-top:16px}.grid-2>.card+.card,.stack>.card+.card{margin-top:0}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--hover-bg);color:var(--text-secondary)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-primary{background:var(--primary-soft);color:var(--primary)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row-end{justify-content:flex-end}.stack{display:flex;flex-direction:column;gap:12px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:860px){.grid-2{grid-template-columns:1fr}}@media(max-width:480px){.grid-cards{grid-template-columns:repeat(2,1fr);gap:.6rem}}.thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);background:var(--hover-bg);display:block}.pick{padding:0;border:2px solid transparent;border-radius:var(--radius-sm);background:none;cursor:pointer}.pick:hover,.pick:focus-visible{border-color:var(--primary);outline:none}.pick:disabled{opacity:.4;cursor:default;border-color:transparent}.review-notes{margin:6px 0 0;padding-left:18px;color:var(--text-secondary);display:grid;gap:4px}.swatch{width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.alert{padding:12px 14px;border-radius:var(--radius-sm);background:var(--info-soft);color:var(--info)}.alert-danger{background:var(--danger-soft);color:var(--danger)}.alert-warning{background:var(--warning-soft);color:var(--warning)}.progress{height:8px;border-radius:999px;background:var(--hover-bg);overflow:hidden}.progress>div{height:100%;background:var(--primary);transition:width .3s}.empty{text-align:center;padding:40px 16px;color:var(--text-secondary)}.empty .empty-icon{font-size:2.2rem;margin-bottom:8px}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border-color);padding:20px 12px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.1rem;padding:0 10px 18px}.brand-mark{width:30px;height:30px;flex:none}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:500}.nav-link:hover{background:var(--hover-bg);color:var(--text-main)}.nav-link.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.nav-link .lock{margin-left:auto;font-size:.8rem}.main{padding:28px 32px 60px;max-width:1200px;width:100%}.topbar{position:fixed;top:16px;right:20px;display:flex;gap:10px;z-index:20}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding-right:110px;flex-wrap:wrap}.mobile-nav{display:none}@media(max-width:860px){.layout{grid-template-columns:1fr}.sidebar{display:none}.main{padding:76px 16px 90px}.page-head{padding-right:0}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--sidebar-bg);border-top:1px solid var(--border-color);overflow-x:auto}.mobile-nav .nav-link{flex-direction:column;gap:2px;font-size:.72rem;padding:8px 10px;flex:0 0 auto}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-lift);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;padding:22px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:16px}.auth-card{width:100%;max-width:420px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-dow{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-align:center;padding:4px 0}.cal-day{min-height:104px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:6px;display:flex;flex-direction:column;gap:4px}.cal-day.out{opacity:.35}.cal-day .num{font-size:.78rem;font-weight:700;color:var(--text-secondary)}.cal-chip{font-size:.75rem;padding:4px 6px;border-radius:6px;cursor:pointer;line-height:1.25;background:var(--hover-bg);color:var(--text-main);border-left:3px solid var(--border-color)}.cal-chip.st-propuesto{border-left-color:var(--info)}.cal-chip.st-aprobado{border-left-color:var(--success)}.cal-chip.st-programado{border-left-color:var(--warning)}.cal-chip.st-publicado{border-left-color:var(--primary)}.cal-chip.st-error{border-left-color:var(--danger);background:var(--danger-soft)}.cal-commercial{font-size:.7rem;color:var(--primary);font-weight:600}@media(max-width:860px){.cal-grid{grid-template-columns:1fr}.cal-dow,.cal-day.out,.cal-day.empty-day{display:none}.cal-day{min-height:0}}.chat{display:flex;flex-direction:column;gap:8px}.bubble{max-width:78%;padding:10px 12px;border-radius:14px;background:var(--hover-bg)}.bubble.out{align-self:flex-end;background:var(--primary-soft)}.bubble .meta{font-size:.72rem;color:var(--text-secondary);margin-top:4px}.bubble.proposal{width:min(78%,520px);background:var(--warning-soft);border:1px dashed var(--warning)}.bubble.proposal textarea{margin-top:6px;width:100%}.bubble.muted{opacity:.55}.list-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-sm);cursor:pointer}.list-item:hover{background:var(--hover-bg)}.list-item+.list-item{border-top:1px solid var(--border-color)}
