@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes rotation{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(360deg)}}@-moz-keyframes spinoff{0%{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(-360deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@-webkit-keyframes spinoff{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(-360deg)}}.spin{-webkit-animation:rotation 1s infinite linear;animation:rotation 1s infinite linear}.loadingLayer{position:absolute;content:"";display:flex;align-items:center;justify-content:center;vertical-align:middle;background-color:rgba(255,255,255,.6);width:100%;height:100%;top:0;left:0}.loadingLayer div{position:relative;border:5px solid rgba(0,183,229,.9);opacity:.9;border-top:5px solid transparent;border-left:5px solid transparent;border-radius:50px;-webkit-box-shadow:0 0 35px #2187e7;-moz-box-shadow:0 0 35px #2187e7;box-shadow:0 0 35px #2187e7}.ball1{width:50px;height:50px;-moz-animation:spin .5s infinite linear;-webkit-animation:spin .5s infinite linear;left:20px}.ball2{width:30px;height:30px;-moz-animation:spinoff .5s infinite linear;-webkit-animation:spinoff .5s infinite linear;left:-20px}.modal:before{content:"";inset:0;background:rgba(0,0,0,.7)}.dialog,.dialog>.bar>.closeBtn{top:50%;border-radius:var(--border-radius)}.dialog,.modal:before{position:fixed;z-index:2147483645}.dialog{left:50%;transform:translate(-50%,-50%);min-width:20em;max-width:40em;width:calc(100% - 2*var(--container-padding));max-height:85vh;background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--menu-shadow);display:flex;flex-direction:column;overflow:hidden}.dialog>.bar{flex-shrink:0;padding:.75rem var(--container-padding);background:var(--bg-primary);border-bottom:1px solid var(--border-color);text-align:center;font-weight:600;color:var(--text-accent);cursor:move;position:relative;user-select:none}.dialog>.bar>.closeBtn{position:absolute;right:var(--container-padding);transform:translateY(-50%);background:0 0;border:0;color:var(--text-secondary);font-size:1.5rem;line-height:1;padding:.25em .5em;cursor:pointer;transition:background .2s ease-in-out,color .2s ease-in-out}.dialog>.bar>.closeBtn:hover{color:var(--system-red);background:rgba(var(--system-red-rgb, 229, 62, 62),.1)}:root{--system-red-rgb:229, 62, 62}.dark-mode{--system-red-rgb:255, 59, 48}.dialog>.body{flex-grow:1;padding:var(--container-padding);overflow-y:auto;color:var(--text-primary)}.dialog>.body fieldset:first-child,.dialog>.body>:first-child,.dialog>.body>style+*{margin-top:0}.dialog>.body fieldset:last-child,.dialog>.body fieldset:last-child>:last-child,.dialog>.body>:last-child{margin-bottom:0}.dialog>.body fieldset:last-child>:last-child{padding-bottom:0}.dialog>.body fieldset{margin:1rem 0;padding:0;border:0}.dialog>.body .st{font-size:.8em;color:var(--text-muted);display:block;margin-top:.25em}.dialog>.footer{padding:var(--container-padding);background:var(--bg-primary)}.dialog>.footer .buttons{margin:0;display:flex;justify-content:center;gap:1em}.dialog>.footer>p{margin:0}.dialog>.footer .notice{color:var(--text-muted);flex-basis:auto}.dialog>.footer .dialog-actions{display:flex;gap:.75rem;flex-shrink:0}.dlgAction,.formModal{display:flex;justify-content:center}.dlgAction{gap:2em}.formModal{position:fixed;top:0;left:0;width:100%;height:100%;align-items:center;z-index:2147483645}.formModal::before{position:absolute;content:"";inset:0;background:rgba(0,0,0,.6);z-index:-1}.formModal>*{z-index:1;position:relative;background-color:var(--color-background);padding:var(--spacing-xl) var(--spacing-l);border-radius:var(--border-radius-lg);width:100%;max-width:600px;box-shadow:var(--shadow-lg)}.formModal .action,.formModal .iconHeader,.formModal>*{text-align:center}.formModal .close-button{position:absolute;top:8px;right:16px;z-index:10;background:0 0;border:0;font-size:1.75rem;padding:8px;cursor:pointer}.formModal .close-button:hover{color:var(--color-primary)}.formModal .secondary-actions{padding-top:var(--spacing-l);margin-top:var(--spacing-l);border-top:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-s)}.formModal .action-link{display:inline-flex;align-items:center;gap:var(--spacing-s);padding:10px 15px}#user-profile-menu-toggle:hover,.formModal .action-link:hover{background-color:var(--color-surface)}@media (max-width:600px){.formModal>.formModal{padding:var(--spacing-l) var(--spacing-m)}}input,select,textarea{transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--system-cyan);box-shadow:0 0 0 1px var(--system-cyan),0 0 8px color-mix(in srgb,var(--system-cyan) 20%,transparent)}input::placeholder,textarea::placeholder{opacity:.8}input::-webkit-input-placeholder{opacity:.8}input::-moz-placeholder{opacity:.8}input:-ms-input-placeholder{opacity:.8}input::-ms-input-placeholder{opacity:.8}input:hover,select:hover,textarea:hover{border-color:var(--primary-color)}:not(.radioGroup)>label{transition:top .2s,font-size .2s,color .2s,background .2s}:not(.radioGroup)>:focus+label,:not(.radioGroup)>:not(:placeholder-shown)+label{background:0 0}.badge{background-color:var(--color-border);color:var(--color-text-secondary);font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:4px;margin-left:auto}.nav-item a:hover{color:#667eea;background:#f0f3ff;box-shadow:0 4px 12px rgba(102,126,234,.2)}.nav-item a:hover svg{transform:scale(1.1)}.btn-primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary:not(:disabled):hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-danger:not(:disabled):hover{background-color:#c53030;border-color:#c53030}.btn-icon:not(:disabled):hover{color:var(--color-primary);cursor:pointer}.btn-icon:not(:disabled):hover,.btn-social:not(:disabled):hover{background-color:var(--color-surface)}#user-profile-menu-toggle{cursor:pointer;user-select:none;border-radius:var(--border-radius-md);padding:8px;transition:background-color .2s ease}.avatar-initials{border-radius:50%;box-shadow:var(--shadow-md);background-color:#f0f0f0;justify-content:center;font-size:2.5em;color:#333;width:100px;height:100px;margin:0 auto}#user-menu{bottom:calc(100% - 16px);left:var(--spacing-l);right:var(--spacing-l);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:0-10px 25px -5px rgba(0,0,0,.1);z-index:10;padding:var(--spacing-s);transform:translateY(10px);transition:opacity .25s ease-out,transform .25s ease-out,visibility 0s .25s}#user-menu.is-visible{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}#footer,.avatar-initials,.user-menu-item{display:flex;align-items:center}.user-menu-item{gap:var(--spacing-s);width:100%;padding:10px;border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:.9rem;font-weight:500}.user-menu-item:hover{background-color:var(--color-surface)}.user-menu-item.logout,.user-menu-item.logout:hover svg{color:var(--color-error)}.user-menu-item.logout:hover{background-color:#fff1f0}.mobile-nav-overlay{position:fixed;inset:0;background-color:rgba(18,24,38,.4);z-index:999;opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s}.mobile-nav-overlay.is-visible{opacity:1;visibility:visible;transition-delay:0s}.card{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}#footer{justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-m);padding:var(--spacing-m) var(--spacing-xl);font-size:.875rem}.footer-left,.footer-right{display:flex;align-items:center;gap:var(--spacing-l)}#footer,.app-version,.footer-right a{color:var(--color-text-secondary)}.app-version{background-color:var(--color-surface);border:1px solid var(--color-border);padding:2px 8px;border-radius:var(--border-radius-md);font-size:.75rem;font-weight:500}.footer-right a{transition:color .2s ease}.footer-right a:hover{color:var(--color-primary);text-decoration:underline}@media (max-width:768px){#footer{flex-direction:column;align-items:center;gap:var(--spacing-s);padding:var(--spacing-m)}.footer-left{order:2}.footer-right{order:1;margin-bottom:var(--spacing-s)}}
