:root{color-scheme:light;--focus:#5b8fd1}html.dark{color-scheme:dark}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,sans-serif;scroll-behavior:smooth}body{min-width:320px}button,a,input,textarea,select{transition:border-color .18s,background-color .18s,color .18s,box-shadow .18s,transform .18s,opacity .18s}button:not(:disabled),a{cursor:pointer}button:active:not(:disabled),a:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 38%,transparent);outline-offset:2px;border-color:var(--focus)}input,textarea,select{border-color:#cbd5e1}.dark input,.dark textarea,.dark select{border-color:#475569}.dark select option{background:#1e293b;color:#e2e8f0}
.app-sidebar{border-bottom:1px solid #e2e8f0;background:rgba(255,255,255,.72);backdrop-filter:blur(16px)}.sidebar-navigation{flex:1;padding:1.5rem 1rem}.sidebar-label{margin:0 .75rem .75rem;color:#94a3b8;font-size:.67rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.nav-link{position:relative;display:flex;min-height:3rem;align-items:center;gap:.8rem;overflow:hidden;white-space:nowrap;border:1px solid transparent;border-radius:.9rem;padding:.5rem .65rem;font-size:.875rem;font-weight:650;color:#64748b}.nav-icon{display:grid;height:2rem;width:2rem;flex:0 0 2rem;place-items:center;border-radius:.65rem;background:#f1f5f9;color:#64748b;transition:background-color .18s,color .18s,box-shadow .18s}.nav-link:hover{border-color:#dbeafe;background:#f8fbff;color:#334155}.nav-link:hover .nav-icon{background:#dbeafe;color:#2563eb}.nav-link-active{border-color:#dbeafe;background:linear-gradient(100deg,#eff6ff,#f8fbff);color:#1d4ed8;box-shadow:0 8px 22px rgba(59,130,246,.09)}.nav-link-active::before{position:absolute;left:0;top:.72rem;bottom:.72rem;width:3px;border-radius:0 4px 4px 0;background:#60a5fa;content:''}.nav-link-active .nav-icon{background:#8fb8e8;color:#173e75;box-shadow:0 5px 12px rgba(91,143,209,.22)}.sidebar-profile{margin:0 1rem 1.25rem;display:flex;align-items:center;gap:.7rem;border:1px solid #e2e8f0;border-radius:1rem;background:rgba(248,250,252,.9);padding:.75rem;box-shadow:0 8px 24px rgba(51,65,85,.05)}.profile-avatar{display:grid;height:2.25rem;width:2.25rem;flex:0 0 2.25rem;place-items:center;border-radius:.75rem;background:linear-gradient(135deg,#8fb8e8,#9be0c4);color:#1e3a5f;font-size:.8rem;font-weight:800}.dark .app-sidebar{border-color:#1e293b;background:rgba(2,6,23,.4)}.dark .nav-link{color:#94a3b8}.dark .nav-icon{background:#111c31;color:#94a3b8}.dark .nav-link:hover{border-color:#273b58;background:#111c31;color:#e2e8f0}.dark .nav-link:hover .nav-icon{background:#1e3a5f;color:#bfdbfe}.dark .nav-link-active{border-color:#29466d;background:linear-gradient(100deg,rgba(30,58,95,.88),rgba(15,23,42,.72));color:#dbeafe;box-shadow:0 10px 26px rgba(0,0,0,.16)}.dark .nav-link-active .nav-icon{background:#6e9fd6;color:#0f2748}.dark .sidebar-profile{border-color:#243247;background:rgba(15,23,42,.8)}
.flash-message{margin-bottom:1.25rem;display:flex;align-items:center;gap:.75rem;border-radius:.9rem;padding:.9rem 1rem;font-weight:600;box-shadow:0 8px 24px rgba(51,65,85,.08);animation:slide-in .25s ease-out}.flash-message span{flex:1}.flash-message button{font-size:1.4rem;line-height:1}.is-submitting{position:relative}.is-submitting::after{content:'';display:inline-block;width:.9rem;height:.9rem;margin-left:.55rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-.1rem;animation:spin .65s linear infinite}.survey-field{transition:transform .18s,box-shadow .18s}.survey-field:hover{box-shadow:0 12px 30px rgba(51,65,85,.09)}@media(min-width:768px){.app-sidebar{border-right:1px solid #e2e8f0;border-bottom:0}.dark .app-sidebar{border-right-color:#1e293b}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide-in{from{opacity:0;transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
