:root{--color-bg-primary:#fffafb;--color-bg-secondary:#f4f0ec;--color-primary:#e6007e;--color-primary-hover:#c9006e;--color-secondary:#b6c113;--color-success:#b6c113;--color-warning:#f59e0b;--color-error:#ef4444;--color-text-primary:#4a3c31;--color-text-secondary:#8b6d53;--color-white:#fff;--color-glass-bg:#ffffffd9;--color-glass-border:#fff9;--color-surface:#fff;--color-background:#fcfcfc;--color-border:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-glass:0 8px 32px 0 #1f268712;--radius-md:.5rem;--radius-lg:1rem;--radius-xl:1.5rem;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;background:linear-gradient(135deg,#fdfbfb 0%,#ebedee 100%) fixed;min-height:100vh;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:600}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}.flex-center{justify-content:center;align-items:center;display:flex}.glass-card{background:var(--color-glass-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--color-glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass);transition:transform var(--transition-normal), box-shadow var(--transition-normal);padding:2rem}.glass-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #1f26871a}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-white);box-shadow:0 4px 14px #e6007e63}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 6px 20px #e6007e3b}.btn-primary:active{transform:scale(.98)translateY(1px)}.btn-outline{color:var(--color-text-primary);border:2px solid var(--color-text-secondary);background-color:#0000}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:#e6007e0d}.form-group{margin-bottom:1.5rem}.form-label{color:var(--color-text-secondary);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-input{border-radius:var(--radius-md);background-color:var(--color-bg-primary);width:100%;color:var(--color-text-primary);transition:all var(--transition-fast);border:2px solid #0000;padding:.75rem 1rem;font-family:inherit;font-size:1rem;box-shadow:inset 0 2px 4px #00000005}.form-input:focus{border-color:var(--color-primary);background-color:var(--color-white);outline:none;box-shadow:0 0 0 3px #3b82f61a}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-glass-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--color-glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:90%;max-width:550px;padding:2rem}.navbar{background:var(--color-glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-glass-border);z-index:50;padding:1rem 0;position:sticky;top:0}.navbar-content{justify-content:space-between;align-items:center;display:flex}.brand{color:var(--color-primary);align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;display:flex}.brand-link{color:inherit;align-items:center;gap:.75rem;text-decoration:none;display:flex}.brand-logo{object-fit:contain;height:40px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.navbar-actions{align-items:center;gap:1rem;display:flex}.btn-navbar{border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-primary);background-color:#0000;border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.4rem 1rem;font-family:inherit;font-size:1rem;font-weight:500;display:inline-flex}.btn-navbar:hover{color:var(--color-primary);background-color:#e6007e0d}.navbar-user-info{margin-left:1rem;font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.badge{border-radius:9999px;padding:.25rem .75rem;font-size:.875rem;font-weight:600}.badge-success{color:var(--color-success);background-color:#b6c1131a}.badge-warning{color:var(--color-warning);background-color:#f59e0b1a}.badge-primary{color:var(--color-primary);background-color:#e6007e1a}.only-print{display:none}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{zoom:.82;font-size:10pt;color:#000!important;background:#fff!important;line-height:1.3!important}.no-print,nav,.navbar,button,select{display:none!important}.only-print{display:block!important}.btn{box-shadow:none!important;color:#000!important;text-align:left!important;background:0 0!important;border:none!important;padding:0!important;display:block!important}.badge{border:1px solid #ccc!important}.glass-card{box-shadow:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important}.grid-day-row{page-break-inside:avoid;border-bottom:1px solid #ccc!important;grid-template-columns:100px 1fr 1fr!important;gap:.2rem!important;padding-bottom:.2rem!important}.grid-day-row>div{gap:.2rem!important}.planning-grid{gap:.3rem!important}h1.only-print{margin-bottom:.8rem!important;font-size:1.8rem!important}@page{margin:.5cm;size:A4 portrait}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.animate-slide-up{animation:slideUp var(--transition-normal) forwards}.animate-spin{animation:1s linear infinite spin}@media (width<=768px){.container{padding:0 1rem}.glass-card{padding:1.25rem}.navbar-content h1{font-size:1.2rem}.brand{font-size:1.25rem}.modal-content{max-height:90vh;margin:1rem;padding:1.5rem;overflow-y:auto}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}}
