/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
:root{--app-primary:#3b82f6;--app-primary-light:#60a5fa;--app-bg-light:#eff6ff;--bg-page:#f8fafc;--bg-card:#ffffff;--text-main:#0f172a;--text-muted:#64748b;--text-inverted:#ffffff;--border-color:#e2e8f0;--sidebar-bg:#ffffff;--sidebar-text:var(--text-main);--sidebar-icon:var(--text-muted);--sidebar-hover-bg:#f1f9ff;--sidebar-hover-text:var(--app-primary);--sidebar-active-bg:var(--app-bg-light);--sidebar-active-text:var(--app-primary);--color-success:#10b981;--color-danger:#ef4444;--color-danger-soft:rgba(239,68,68,0.08);--color-warning:#f59e0b;--space-xs:0.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--sidebar-width:280px;--header-height:64px;--header-height-mobile:56px;--radius-md:12px;--radius-sm:8px;--shadow-juicy:0 10px 15px -3px rgba(0,0,0,0.1);--shadow-card:0 4px 6px -1px rgba(0,0,0,0.05);--transition-base:all 0.2s ease;--transition-bounce:all 0.4s cubic-bezier(0.34,1.56,0.64,1);--font-body:'Inter',system-ui,sans-serif;--font-heading:'Inter',system-ui,sans-serif;--drupal-toolbar-height:0px;--z-sidebar:100;--z-overlay:9998;--z-mobile-menu:99999;}.theme-training{--app-primary:#0d9488;--app-primary-light:#14b8a6;--app-bg-light:#f0fdfa;}.theme-testing{--app-primary:#4f46e5;--app-primary-light:#6366f1;--app-bg-light:#eef2ff;}
/* @license MIT https://github.com/necolas/normalize.css/blob/8.0.1/LICENSE.md */
html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0;}main{display:block;}h1{font-size:2em;margin:0.67em 0;}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace,monospace;font-size:1em;}a{background-color:transparent;}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder;}code,kbd,samp{font-family:monospace,monospace;font-size:1em;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto;}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:list-item;}template{display:none;}[hidden]{display:none;}
/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
*,*::before,*::after{box-sizing:border-box;}html{font-size:16px;scroll-behavior:smooth;}body{margin:0;font-family:var(--font-body,'Nunito',sans-serif);background-color:var(--bg-page,#f8fafc);color:var(--text-main,#1e293b);line-height:1.6;-webkit-font-smoothing:antialiased;}h1,h2,h3,h4{font-family:var(--font-heading,'Nunito',sans-serif);color:var(--text-main);margin-top:0;margin-bottom:var(--space-sm,1rem);font-weight:700;line-height:1.2;}h1{font-size:2.25rem;}h2{font-size:1.875rem;}h3{font-size:1.5rem;}@media (max-width:768px){h1{font-size:1.875rem;}h2{font-size:1.5rem;}}label{display:block;font-weight:600;margin-bottom:0.5rem;color:var(--text-main);}input[type="text"],input[type="number"],input[type="email"],input[type="password"],select,textarea{width:100%;padding:0.75rem 1rem;font-size:1rem;border:2px solid var(--border-color,#e2e8f0);border-radius:var(--radius-sm,8px);font-family:inherit;background:var(--bg-card,#ffffff);transition:all 0.2s ease;}input:focus,select:focus{outline:none;border-color:var(--app-primary);box-shadow:0 0 0 4px var(--app-bg-light);}.text-center{text-align:center;}.hidden{display:none !important;}.app-top-bar{height:64px;background:var(--bg-card,#ffffff);display:flex;align-items:center;padding:0 20px;box-shadow:0 1px 3px rgba(0,0,0,0.05);position:sticky;top:0;z-index:100;width:100%;}.top-bar-content{display:flex;align-items:center;gap:15px;width:100%;}.mobile-nav-button{display:none;background:none;border:none;font-size:1.4rem;color:var(--text-main);cursor:pointer;padding:5px;}.page-header-title{font-size:1.25rem;font-weight:800;color:var(--text-main);margin:0;line-height:1;}@media(max-width:768px){.app-top-bar{height:56px;padding:0 15px;}.mobile-nav-button{display:block;}.page-header-title{font-size:1.1rem;}}.app-container{display:flex;min-height:100vh;width:100%;}.app-sidebar{width:280px;background:var(--bg-card,#ffffff);border-right:1px solid var(--border-color,#e2e8f0);flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;z-index:50;padding:20px;}.sidebar-header{margin-bottom:0px;}.logo-small{font-size:1.5rem;font-weight:900;color:var(--text-main);display:flex;align-items:center;gap:5px;}.logo-small span{color:var(--app-primary);font-size:2rem;line-height:0;}.user-profile-link{text-decoration:none !important;color:inherit !important;display:block;margin-bottom:30px;transition:transform 0.2s;}.user-profile-link:hover{transform:translateX(5px);}.user-profile-link:hover .user-profile-mini{background-color:rgba(0,0,0,0.03);border-radius:12px;}.user-profile-mini{display:flex;align-items:center;gap:15px;padding:10px;transition:background 0.2s;}.avatar{width:48px;height:48px;background:var(--app-bg-light);color:var(--app-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.2rem;flex-shrink:0;overflow:hidden;}.avatar img{width:100%;height:100%;object-fit:cover;}.user-info{overflow:hidden;}.user-name{font-weight:700;font-size:0.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.user-email{font-size:0.75rem;color:#64748b;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.user-settings-icon{margin-left:auto;color:#cbd5e1;opacity:1;transition:color 0.2s;font-size:0.9rem;}.user-profile-link:hover .user-settings-icon{color:var(--app-primary);opacity:1;}.sidebar-nav ul{list-style:none;padding:0;margin:0;}.nav-section{margin-bottom:30px;}.nav-section small{font-size:0.75rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:1px;display:block;margin-bottom:10px;padding-left:10px;}.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:12px;color:#64748b;text-decoration:none;font-weight:600;transition:all 0.2s;margin-bottom:5px;}.sidebar-nav a:hover{background:#f1f5f9;color:var(--text-main);}.sidebar-nav a.active{background:var(--app-bg-light);color:var(--app-primary);font-weight:700;}.sidebar-nav a i{width:20px;text-align:center;}.sidebar-footer{margin-top:auto;padding-top:20px;border-top:1px solid #f1f5f9;}.logout-link{color:#64748b !important;}.logout-link:hover{background:#f1f5f9 !important;color:var(--text-main) !important;}.app-main{flex-grow:1;display:flex;flex-direction:column;min-width:0;}.app-content-area{width:100%;padding:0;margin:0;}.dashboard-wrapper,.encyclopedia-wrapper,.gym-wrapper,.results-wrapper,.profile-wrapper{max-width:1100px;margin:0 auto;padding:30px;width:100%;}@media (max-width:768px){.app-sidebar{position:fixed;left:-100%;transition:left 0.3s ease;box-shadow:5px 0 15px rgba(0,0,0,0.1);height:100%;background:white;z-index:200;}.app-sidebar.open{left:0;}.dashboard-wrapper,.encyclopedia-wrapper,.gym-wrapper,.results-wrapper,.profile-wrapper{padding:20px 15px;}}.sidebar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.5);z-index:150;opacity:0;visibility:hidden;transition:all 0.3s;}.sidebar-overlay.active{opacity:1;visibility:visible;}.messages-container{width:100%;max-width:600px;margin:0 auto 20px auto;animation:slideDownFade 0.4s ease-out;}@keyframes slideDownFade{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}.messages{padding:16px 20px;border-radius:12px;margin-bottom:15px;font-size:0.95rem;font-weight:700;box-shadow:0 10px 25px rgba(0,0,0,0.08);border-left:6px solid transparent;display:flex;flex-direction:column;justify-content:center;}.messages__header{display:none;}.messages ul{margin:0;padding-left:20px;}.messages--status{background-color:#f0fdf4;color:#166534;border-left-color:#10b981;}.messages--warning{background-color:#fffbeb;color:#b45309;border-left-color:#f59e0b;}.messages--error{background-color:#fef2f2;color:#b91c1c;border-left-color:#ef4444;}
.dialog-off-canvas-main-canvas{overflow:visible !important;display:block !important;position:static !important;transform:none !important;perspective:none !important;filter:none !important;min-height:100vh;}body.user-logged-in{padding-top:0 !important;}.app-container{display:flex;min-height:100vh;position:relative;background-color:var(--bg-page);isolation:isolate;}.app-sidebar{width:var(--sidebar-width);background-color:var(--sidebar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;z-index:100;padding:var(--space-lg) var(--space-md);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);}.app-main{flex-grow:1;min-width:0;display:flex;flex-direction:column;}.app-top-bar{display:flex;align-items:center;min-height:70px;padding:0 var(--space-xl);position:sticky;top:var(--drupal-toolbar-height,0px);z-index:90;background:rgba(255,255,255,0.9);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,0.5);box-shadow:0 4px 30px rgba(0,0,0,0.03);}.top-bar-left{display:flex;align-items:center;gap:var(--space-md);flex-grow:1;}.page-header-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0;line-height:1;}@media (min-width:769px){.app-sidebar{position:sticky;top:var(--drupal-toolbar-height,0px);height:calc(100vh - var(--drupal-toolbar-height,0px));}.app-top-bar{display:none !important;}.app-main{padding-top:0 !important;}}@media (max-width:768px){.app-container{display:block;}.app-top-bar{padding:0 var(--space-md);background:#ffffff;backdrop-filter:none;}.page-header-title{font-size:1.25rem;}.mobile-nav-button{display:flex !important;align-items:center;justify-content:center;width:42px;height:42px;background:var(--sidebar-hover-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-size:1.1rem;color:var(--text-main);transition:var(--transition-base);}.app-sidebar{position:fixed !important;top:0 !important;left:0 !important;bottom:0 !important;width:var(--sidebar-width) !important;height:100vh !important;transform:translateX(-100%);visibility:visible !important;display:flex !important;background-color:var(--sidebar-bg) !important;z-index:99999 !important;box-shadow:none;}.app-sidebar.open{transform:translateX(0) !important;box-shadow:10px 0 50px rgba(0,0,0,0.3) !important;}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:99998 !important;backdrop-filter:blur(2px);}.sidebar-overlay.active{display:block !important;}}
.card{--current-accent:var(--text-main);background-color:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-lg);border:1px solid var(--border-color);transition:var(--transition-base);position:relative;overflow:hidden;box-shadow:var(--shadow-card);}.card.is-ency{--current-accent:var(--theme-ency-primary);}.card.is-test{--current-accent:var(--theme-cvicne-primary);}.card.is-ostre{--current-accent:var(--theme-ostre-primary);}.card.is-report{--current-accent:var(--theme-report-primary);}.card::before{content:"";position:absolute;top:0;left:0;width:6px;height:100%;background-color:var(--current-accent);}
.btn-primary{background-color:var(--current-accent,var(--text-main));color:var(--text-inverted);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:var(--transition-base);border:none;cursor:pointer;}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:var(--shadow-juicy);}
.sidebar-nav .nav-section{margin-bottom:var(--space-lg);}.sidebar-nav .nav-section small{display:block;font-size:0.75rem;font-weight:700;color:var(--sidebar-icon);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-xs);padding-left:var(--space-sm);opacity:0.8;}.sidebar-nav ul{list-style:none;padding:0;margin:0;}.sidebar-nav li a{display:flex;align-items:center;padding:var(--space-sm) var(--space-md);color:var(--sidebar-text);text-decoration:none;border-radius:var(--radius-sm);margin-bottom:2px;transition:all 0.2s ease;font-weight:500;}.sidebar-nav li a i{width:24px;margin-right:var(--space-sm);font-size:1.1rem;color:var(--sidebar-icon);text-align:center;transition:color 0.2s ease;}.sidebar-nav li a:hover{background-color:var(--sidebar-hover-bg);color:var(--sidebar-hover-text);}.sidebar-nav li a:hover i,.sidebar-nav li a:hover span{color:var(--sidebar-hover-text);}.sidebar-nav li a.active{background-color:var(--app-bg-light) !important;color:var(--app-primary) !important;font-weight:700 !important;border-left:4px solid var(--app-primary) !important;box-shadow:var(--shadow-juicy);}.sidebar-nav li a.active i,.sidebar-nav li a.active span{color:var(--app-primary) !important;}
.logo-small{display:flex !important;align-items:center;gap:8px;font-family:var(--font-heading);font-size:1.5rem;font-weight:900;color:var(--text-main);margin-bottom:var(--space-xl);text-decoration:none;letter-spacing:-0.5px;}.logo-small span{color:var(--app-primary);}.user-profile-link{text-decoration:none !important;color:inherit !important;display:block;margin-bottom:var(--space-lg);transition:transform 0.2s;}.user-profile-link:hover{transform:translateX(5px);}.user-profile-mini{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:transparent;border-radius:var(--radius-md);border:1px solid transparent;transition:background 0.2s;}.user-profile-link:hover .user-profile-mini{background-color:var(--app-bg-light);}.avatar{width:48px;height:48px;background-color:var(--app-bg-light) !important;color:var(--app-primary) !important;border:2px solid var(--app-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900 !important;flex-shrink:0;font-size:1.4rem !important;}.user-info{overflow:hidden;}.user-name{font-weight:600;font-size:0.9rem;color:var(--text-main);line-height:1.2;}.user-email{display:block;font-size:0.95rem;font-weight:700;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color 0.2s;}.user-profile-link:hover .user-email{color:var(--app-primary);}.user-settings-icon{margin-left:auto;color:#94a3b8;font-size:1.1rem;transition:color 0.2s,transform 0.2s;}.user-profile-link:hover .user-settings-icon{color:var(--app-primary);transform:rotate(90deg);}
