:root{--color-primary-h:262;--color-primary-s:83%;--color-primary-l:58%;--color-primary:hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l));--color-primary-contrast:hsl(var(--color-primary-h) var(--color-primary-s) 98%);--color-secondary:#0da2e7;--color-background:#0e0e11;--color-surface:#1a1a1e;--color-text:#f5f5f5;--color-text-muted:#a6a6a6;--color-success:#21c45d;--color-error:#ef4343;--radius-md:clamp(0.5rem,0.4rem + 0.3vw,0.75rem);--space-fluid:clamp(1rem,0.8rem + 1vw,2rem);--font-fluid-base:clamp(0.95rem,0.9rem + 0.2vw,1.05rem)}*{box-sizing:border-box}body{background:var(--color-background);color:var(--color-text);font-size:var(--font-fluid-base);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:var(--space-fluid)}.auth-card{width:min(100%,420px);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-fluid);gap:.75rem}.auth-card,.auth-form{display:flex;flex-direction:column}.auth-form{gap:1rem;margin-top:.5rem}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.875rem;color:var(--color-text-muted)}.field input,.field textarea,input[type=date],input[type=datetime-local],input[type=number],input[type=time],select{background:var(--color-background);border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-md);padding:.75rem 1rem;color:var(--color-text);font-size:var(--font-fluid-base);transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit}.field input:hover{border-color:hsla(0,0%,100%,.2)}.field input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l)/.25)}.field-error{color:var(--color-error);font-size:.875rem;margin:0}.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast);border:none;border-radius:var(--radius-md);padding:.85rem 1.5rem;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;display:inline-block;transition:transform .15s ease,filter .15s ease,opacity .15s ease}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);filter:brightness(.95)}.btn-primary:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-large{padding:1rem 2rem;font-size:1.1rem}.btn-secondary{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:.75rem 1.25rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .15s ease}.btn-secondary:hover{background:hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l)/.1)}.auth-switch{font-size:.875rem;color:var(--color-text-muted)}.auth-switch a{color:var(--color-primary)}.dashboard-shell{max-width:1100px;margin-inline:auto;padding:var(--space-fluid);display:flex;flex-direction:column;gap:var(--space-fluid)}.dashboard-header{display:flex;flex-direction:column;gap:.25rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.stat-card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-fluid);display:flex;flex-direction:column;gap:.25rem}.stat-number{font-size:2rem;font-weight:700;color:var(--color-primary)}.stat-label{font-size:.875rem}.stat-label,.text-muted{color:var(--color-text-muted)}.form-card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-fluid)}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.chip-input-row{display:flex;gap:.5rem}.chip-input-row input{flex:1}.chip-list{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:.5rem 0 0}.chip{background:hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l)/.15);color:var(--color-text);border-radius:999px;padding:.35rem .5rem .35rem .9rem;display:flex;align-items:center;gap:.4rem;font-size:.875rem}.chip-remove{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:.1rem .35rem;border-radius:50%}.chip-remove:hover{background:hsla(0,0%,100%,.1);color:var(--color-text)}.publicaciones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.pub-card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-fluid);display:flex;flex-direction:column;gap:.5rem}.pub-tipo{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-secondary)}.pub-hashtags{display:flex;flex-wrap:wrap;gap:.35rem}.tag{color:var(--color-primary);font-size:.8rem}.pub-estado{align-self:flex-start;font-size:.75rem;padding:.25rem .6rem;border-radius:999px}.estado-borrador{background:hsla(0,0%,100%,.1);color:var(--color-text-muted)}.estado-aprobada{background:rgba(33,196,93,.15);color:var(--color-success)}.estado-rechazada{background:rgba(239,67,67,.15);color:var(--color-error)}.calendario-lista{display:flex;flex-direction:column;gap:1rem}.cal-card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-fluid);display:grid;grid-template-columns:160px 1fr;gap:1rem}.cal-imagen{-o-object-fit:cover;object-fit:cover}.cal-imagen,.cal-imagen-placeholder{width:100%;aspect-ratio:1;border-radius:var(--radius-md)}.cal-imagen-placeholder{background:hsla(0,0%,100%,.05);display:grid;place-items:center;color:var(--color-text-muted);font-size:.8rem}.cal-info{display:flex;flex-direction:column;gap:.4rem}.cal-acciones{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem}.pub-exito{color:var(--color-success);font-size:.875rem;margin:0}.app-nav{display:flex;align-items:center;gap:1.5rem;padding:1rem var(--space-fluid);background:var(--color-surface);flex-wrap:wrap}.app-nav-brand{font-weight:700;color:var(--color-primary);text-decoration:none;font-size:1.1rem}.selector-empresa-nav{background:var(--color-background);border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-md);padding:.4rem .75rem;color:var(--color-text);font-size:.85rem}.app-nav-links{display:flex;gap:1rem;flex-wrap:wrap;margin-left:auto}.app-nav-links a{color:var(--color-text-muted);text-decoration:none;font-size:.9rem}.app-nav-links a:hover{color:var(--color-text)}@media (max-width:520px){.cal-card{grid-template-columns:1fr}}