:root{--color-bg-main: #efead6;--color-bg-main-transparent: #efead690;--color-bg-alt: #d9ceb5;--color-bg-alt-transparent: #d9ceb590;--color-bg-primary: #fff;--color-bg-input: #fff;--color-text-primary: #2F3337;--color-text-muted: #5E656B;--color-text-secondary: #5E656B;--color-text-alternate: #fff;--color-card-bg: #FFFFFF;--color-card-bg-transparent: #FFFFFF90;--color-accent: #8A9A8D;--color-sage: #8A9A8D;--color-sage-alt: #9AB09E;--color-terracotta: #B5836D;--color-grey: #aaa;--color-border: #97928a60;--color-error: #D32F2F;--color-btn-text: #1A1C1E;--color-bg-highlight: #ffffff90;--color-bg-fadeout: #eeeeee90;--shadow-soft: 0 4px 20px rgba(0, 0, 0, .08);--shadow-medium: 0 4px 10px rgba(0, 0, 0, .2);--transition-base: .3s cubic-bezier(.25, .46, .45, .94);--transition-colors: background-color var(--transition-base), border-color var(--transition-base), color var(--transition-base);--radius-rounded-box: 8px;--font-header: "Cormorant Garamond", serif;--font-body: "Inter", sans-serif}[data-theme=dark]{--color-bg-main: #1A1C1E;--color-bg-alt: #38352f;--color-bg-alt-transparent: #38352f90;--color-bg-primary: #111;--color-bg-input: #111;--color-text-primary: #EAE8E4;--color-text-muted: #A0A5A9;--color-text-secondary: #A0A5A9;--color-text-alternate: #fff;--color-card-bg: #2A2D30;--color-card-bg-transparent: #2A2D3090;--color-accent: #9AB09E;--color-sage: #9AB09E;--color-sage-alt: #8A9A8D;--color-terracotta: #C99A85;--color-border: #5c626660;--color-error: #EF5350;--color-btn-text: #1A1C1E;--color-bg-highlight: #11111190;--color-bg-fadeout: #22222290;--shadow-soft: 0 10px 40px rgba(0, 0, 0, .3);--shadow-medium: 0 10px 40px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html{overflow-y:scroll}body{margin:0;padding:0;background:linear-gradient(180deg,var(--color-bg-main),var(--color-bg-alt));color:var(--color-text-primary);font-family:var(--font-body);transition:var(--transition-colors)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#e2dac3}::-webkit-scrollbar-thumb{background-color:var(--color-sage);border-radius:6px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--color-terracotta);border:2px solid transparent}.grid-2-1{display:grid;grid-template-columns:2fr 1fr}.mobile .grid-2-1{display:flex;flex-direction:column-reverse}.flex-right{display:flex;justify-content:flex-end}.flex-center{display:flex;justify-content:center;align-items:center}.flex-left{display:flex;justify-content:flex-start;align-items:center}.flex-fill{display:flex;justify-content:space-between;align-items:center}.flex-row{display:flex;flex-direction:row}.flex-column{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.wgap{gap:1rem}.wspace{margin:0 0 1rem}a{color:var(--color-text-primary)}.bold{font-weight:700}.muted{color:var(--color-text-muted)}.sm-muted{color:var(--color-text-muted);font-size:.8rem}.centered{text-align:center}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/inter-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{font-family:Inter,sans-serif}h1,h1 *{font-family:var(--font-header);font-size:5rem;font-weight:500;margin:0;color:var(--color-text-primary);letter-spacing:-.02em;line-height:1}.mobile h1,.mobile h1 *{font-size:4rem}h4{font-family:var(--font-header);font-size:1.35rem;font-weight:500;margin-top:-16px;color:var(--color-text-primary);letter-spacing:-.02em}.page-title{font-family:var(--font-header);font-weight:500;font-size:1.5rem;text-align:center}.section-title{font-family:var(--font-header);font-size:1.2rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;margin:0}#header{height:var(--header-height);position:fixed;top:0;left:0;right:0;z-index:100;display:grid;grid-template-columns:1fr auto;align-items:center;padding-left:2rem;z-index:200}.header.authd{background:var(--color-bg-transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:0;padding-left:2rem}.header.authd .theme-switch{position:static;top:auto;right:auto}.header.authd .page-title{line-height:var(--header-height);flex-grow:1;text-align:left}#header.authd{left:var(--sidebar-width);display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 2rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:fixed;top:0;z-index:100}[data-theme=dark] .header.authd{background-color:#1e1e1ed9}.header-left,.header-center,.header-right{display:grid;grid-auto-flow:column;align-items:center;gap:1rem}.header-right{justify-content:end}body.mobile .header-right{gap:.5rem}.mobile-only{display:none!important}body.mobile .mobile-only{display:flex!important}.header-center{justify-content:center;gap:2rem}.header-actions{display:grid;grid-auto-flow:column;align-items:center;gap:1rem}.header-brand-name{font-family:var(--font-header);font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.breadcrumb-container{font-size:1rem;color:var(--color-text-secondary);white-space:nowrap;display:flex;align-items:center;gap:.4rem}.breadcrumb-brand{font-family:var(--font-header);font-size:1.5rem;font-weight:600;color:var(--color-text-primary);letter-spacing:-1px}.studio-detail-header{display:grid;grid-auto-flow:column;justify-content:start;align-items:center;gap:1rem;padding:1rem 2rem;background:var(--color-bg-alt);margin-bottom:2rem}.user-menu{background:#0e0e0e;width:40px;height:40px;border-radius:50%;line-height:40px;text-align:center;color:#fff;display:flex;justify-content:center;align-items:center;font-weight:500;transition:background-color var(--transition-base),transform var(--transition-base);-webkit-user-select:none;user-select:none;cursor:pointer}.user-menu:hover{background:#333;transform:scale(1.1)}.user-menu.active{outline:4px solid var(--color-sage)}.breadcrumb-link{color:var(--color-text-secondary);text-decoration:none;transition:color .2s}.breadcrumb-link:hover{color:var(--color-terracotta);text-decoration:underline}.breadcrumb-active{color:var(--color-text-primary);font-weight:500}.header-spinner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:1000}body.loading .header-spinner{opacity:1}.spinner-icon{width:36px;height:36px;border:3px solid transparent;border-top-color:var(--color-terracotta);border-right-color:var(--color-terracotta);border-radius:50%;animation:spinner-spin .8s linear infinite}.spinner-icon:after{content:"";position:absolute;top:3px;left:3px;right:3px;bottom:3px;border:3px solid transparent;border-bottom-color:var(--color-sage);border-left-color:var(--color-sage);border-radius:50%;animation:spinner-spin-reverse 1.2s linear infinite}@keyframes spinner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinner-spin-reverse{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.profile-avatar-large{width:100px;height:100px;border-radius:50%;background-color:var(--primary-light);display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;margin-bottom:15px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a;border:2px solid white;background-size:cover;background-position:center}.profile-avatar-large span{font-size:2.5em;font-weight:700;color:var(--color-text-primary)}.profile-avatar-wrapper{position:relative;margin-bottom:10px}.profile-avatar-wrapper .camera-icon{position:absolute;bottom:18px;right:0;background:#fff;border-radius:50%;padding:6px;box-shadow:0 2px 4px #0003;display:flex;align-items:center;justify-content:center;color:var(--color-sage)}.profile-avatar-wrapper:hover .camera-icon{background-color:var(--color-terracotta);color:#fff}.profile-menu-header{display:flex;flex-direction:column;align-items:center;padding:20px 20px 10px;min-width:250px}:root{--sidebar-width: 250px;--sidebar-collapsed-width: 70px;--header-height: 56px;--sidebar-bg: #9cab94;--sidebar-bg-alt: #879b7d;--sidebar-border: var(--color-border)}[data-theme=dark]{--sidebar-bg: #2f3630;--sidebar-bg-alt: #252b26}body.mobile{--sidebar-width: 0;--sidebar-collapsed-width: 0}body.mobile .responsive-title-prefix{display:none}body.mobile .sidebar{padding:1.6rem;overflow:hidden;left:0;width:100vw!important;transform:translate(-100%);transition:transform var(--transition-base)}body.mobile.sidebar-open .sidebar{transform:translate(0)}body.mobile.sidebar-open{--sidebar-width: 100vw;overflow:hidden}body.mobile #app{margin-left:0!important;padding-left:1rem;padding-right:1rem}body.mobile #header.authd{left:0!important;padding:0 1rem}body.mobile.sidebar-open:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:150;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}body.mobile .refresh-btn{display:none}.sidebar{z-index:200}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:linear-gradient(to bottom,var(--sidebar-bg),var(--sidebar-bg-alt));border-right:1px solid var(--sidebar-border);z-index:200;padding:1rem;box-sizing:border-box;font-size:1rem}.sidebar-collapsed .sidebar{padding:1rem 0}.sidebar-brand{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}body.mobile .sidebar-brand{margin-bottom:0}.brand-text-container{display:flex;flex-direction:column;justify-content:center}.powered-by{font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);line-height:1;white-space:nowrap}.sidebar-brand .brand-text{color:#fff;letter-spacing:-.02rem;font-size:1.4rem;line-height:1.1}#mobile-breadcrumb{display:none}body.mobile #mobile-breadcrumb{display:flex;margin:1.5rem .5rem;flex-wrap:wrap}#header-breadcrumb{display:flex}body.mobile #header-breadcrumb{display:none}.btn-close-sidebar{display:none;background:none;border:none;cursor:pointer;color:var(--color-text-primary);padding:.5rem;margin-left:auto}body.mobile .btn-close-sidebar{display:block}.brand-logo-container{display:flex;align-items:center;gap:1rem;border-radius:100px;background:var(--color-sage);overflow:hidden;width:48px;height:48px;padding-left:12px;cursor:pointer;transition:none;min-width:48px}.brand-logo-container:hover{background:var(--color-sage-alt);transform:scale(1.1)}.brand-logo-container.mobile-only{width:40px;min-width:40px;height:40px;padding-left:8px;cursor:pointer;box-shadow:0 0 5px #ffffff80;border:1px solid rgba(0,0,0,.1)}.brand-logo-container.no-items{background:transparent;box-shadow:none;border:none;opacity:.7}.brand-logo-container.no-items .brand-logo{background-color:var(--color-text-primary)}.brand-logo{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background-color:#fff;transition:background-color var(--transition-base);-webkit-mask-image:url(/res/branding/logo-sm.svg);mask-image:url(/res/branding/logo-sm.svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.sidebar-brand .brand-logo svg path{stroke-width:5!important}.brand-text{font-family:var(--font-header);font-size:1.75rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1;background-color:var(--color-bg-highlight);border-radius:12px;padding:12px 0;box-shadow:var(--shadow-soft)}.sidebar-inner.empty nav{display:none}.nav-item{display:flex;align-items:center;gap:1rem;padding:1rem;color:var(--color-text-primary);text-decoration:none;transition:all .2s ease;white-space:nowrap;overflow:hidden}.nav-item:hover{background-color:var(--color-bg-highlight);opacity:.9;color:var(--color-text-primary)}.nav-item.active{background-color:var(--color-bg-highlight);box-shadow:var(--shadow-soft);font-weight:500;color:var(--color-text-primary)}.icon{width:24px;height:24px;background-color:currentColor;opacity:.7;flex-shrink:0;mask-size:contain;mask-position:center;mask-repeat:no-repeat;-webkit-mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;display:inline-block}.icon-overview{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'%3E%3C/rect%3E%3Crect x='14' y='3' width='7' height='7'%3E%3C/rect%3E%3Crect x='14' y='14' width='7' height='7'%3E%3C/rect%3E%3Crect x='3' y='14' width='7' height='7'%3E%3C/rect%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'%3E%3C/rect%3E%3Crect x='14' y='3' width='7' height='7'%3E%3C/rect%3E%3Crect x='14' y='14' width='7' height='7'%3E%3C/rect%3E%3Crect x='3' y='14' width='7' height='7'%3E%3C/rect%3E%3C/svg%3E")}.icon-calendar{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E")}.icon-users{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='9' cy='7' r='4'%3E%3C/circle%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'%3E%3C/path%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'%3E%3C/path%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='9' cy='7' r='4'%3E%3C/circle%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'%3E%3C/path%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'%3E%3C/path%3E%3C/svg%3E")}.icon-dollar-sign{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='1' x2='12' y2='23'%3E%3C/line%3E%3Cpath d='M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'%3E%3C/path%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='1' x2='12' y2='23'%3E%3C/line%3E%3Cpath d='M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'%3E%3C/path%3E%3C/svg%3E")}.icon-pound-sign{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 21h8'%3E%3C/path%3E%3Cpath d='M6 13h12'%3E%3C/path%3E%3Cpath d='M18 7c0-5.333-8-5.333-8 0v10.667c0 2.666-4 2.666-4 0'%3E%3C/path%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 21h8'%3E%3C/path%3E%3Cpath d='M6 13h12'%3E%3C/path%3E%3Cpath d='M18 7c0-5.333-8-5.333-8 0v10.667c0 2.666-4 2.666-4 0'%3E%3C/path%3E%3C/svg%3E")}.icon-instructors{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='8.5' cy='7' r='4'%3E%3C/circle%3E%3Cpolyline points='17 11 19 13 23 9'%3E%3C/polyline%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='8.5' cy='7' r='4'%3E%3C/circle%3E%3Cpolyline points='17 11 19 13 23 9'%3E%3C/polyline%3E%3C/svg%3E")}.icon-log{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'%3E%3C/path%3E%3Cpolyline points='14 2 14 8 20 8'%3E%3C/polyline%3E%3Cline x1='16' y1='13' x2='8' y2='13'%3E%3C/line%3E%3Cline x1='16' y1='17' x2='8' y2='17'%3E%3C/line%3E%3Cpolyline points='10 9 9 9 8 9'%3E%3C/polyline%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'%3E%3C/path%3E%3Cpolyline points='14 2 14 8 20 8'%3E%3C/polyline%3E%3Cline x1='16' y1='13' x2='8' y2='13'%3E%3C/line%3E%3Cline x1='16' y1='17' x2='8' y2='17'%3E%3C/line%3E%3Cpolyline points='10 9 9 9 8 9'%3E%3C/polyline%3E%3C/svg%3E")}.icon-cog{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'%3E%3C/circle%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z'%3E%3C/path%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'%3E%3C/circle%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z'%3E%3C/path%3E%3C/svg%3E")}.icon-collapse{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M9 3v18'%3E%3C/path%3E%3Cpath d='m15 15-3-3 3-3'%3E%3C/path%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M9 3v18'%3E%3C/path%3E%3Cpath d='m15 15-3-3 3-3'%3E%3C/path%3E%3C/svg%3E")}.sidebar-footer{padding-top:1rem;display:flex;justify-content:flex-end;align-items:center;color:#fff}.sidebar-collapsed .sidebar-footer{justify-content:center}.btn-collapse{background:none;border:none;cursor:pointer;color:#fff;padding:.5rem;border-radius:8px;transition:background .2s}.btn-collapse:hover{background-color:#0000000d}.btn-collapse .icon{transition:transform .3s ease}body.sidebar-collapsed .btn-collapse .icon{transform:rotate(180deg)}.sidebar-inner.empty .btn-collapse,.mobile .btn-collapse{display:none}.version-stamp{font-size:.6rem;opacity:.5;margin-right:auto;font-family:monospace;position:absolute;bottom:5px;left:5px}#app{margin-left:var(--sidebar-width);transition:margin-left var(--transition-base);min-height:100vh;padding:var(--header-height) 2rem 2rem 2rem}body.sidebar-collapsed{--sidebar-width: var(--sidebar-collapsed-width)}.brand-text-container,.nav-item span{white-space:nowrap;overflow:hidden;transition:opacity .2s ease,width .3s ease}body.sidebar-collapsed .brand-text-container,body.sidebar-collapsed .nav-item span{opacity:0;width:0;margin:0}body.sidebar-collapsed .sidebar-brand{justify-content:center;padding-left:0;gap:0}body.sidebar-collapsed .nav-item{justify-content:center;padding:1rem 0;gap:0}[data-theme=dark] .nav-item:hover{background-color:#ffffff1a}.authd h1{padding-top:2rem;padding-bottom:1rem}body.sidebar-hidden .sidebar{display:none}body.sidebar-hidden #app{margin-left:0}.app-transition-frame{position:absolute;top:0;left:var(--sidebar-width);right:0;padding:var(--header-height) 2rem 2rem 2rem;pointer-events:none;z-index:50;opacity:1;transition:opacity .4s ease-out}body.sidebar-collapsed .app-transition-frame{left:var(--sidebar-collapsed-width)}body.mobile .app-transition-frame{left:0;padding-left:1rem;padding-right:1rem}.app-transition-frame.fade-out{opacity:0}#app{opacity:1;transition:opacity .3s ease-in}#app.page-enter{animation:page-enter-anim .3s ease-in forwards}@keyframes page-enter-anim{0%{opacity:0}to{opacity:1}}.body{display:grid;justify-content:center;height:100vh;align-items:center}.body.authd{display:block;height:auto;min-height:100vh;justify-content:unset;align-items:unset;padding-top:0}.body.intro{align-items:center;grid-template-rows:1fr}body.mobile .body{align-items:start}.dialog-window{background:var(--color-bg-primary);padding:3rem;border-radius:12px;box-shadow:var(--shadow-large);border:1px solid var(--color-border);display:flex;flex-direction:column;max-height:90vh;overflow-y:auto;position:relative;width:calc(100% - 1rem)}.mobile .dialog-window{border-radius:28px;padding:2rem}.dialog-outer{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;animation:fadeIn .2s forwards}.modal-content{background-color:var(--color-card-bg);border-radius:16px;padding:2rem;max-width:500px;width:90%;box-shadow:var(--shadow-soft);transform:scale(.95);animation:scaleIn .2s forwards;border:1px solid var(--color-border)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-title{font-family:var(--font-header);font-size:1.5rem;color:var(--color-text-primary);margin:0}.modal-close{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);border-radius:50%;transition:background-color .2s;width:32px;height:32px;position:absolute;top:.5rem;right:.5rem;font-size:1.5rem;line-height:1}.modal-close:hover{background-color:var(--color-bg-alt)}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;width:100%}@keyframes fadeIn{to{opacity:1}}@keyframes scaleIn{to{transform:scale(1)}}.btn{padding:.8rem 2rem;font-family:var(--font-body);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;border:none;border-radius:2px;cursor:pointer;transition:var(--transition-colors),transform var(--transition-base);background-color:var(--color-bg-main)}.btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.btn-sm{padding:.4rem .8rem;font-size:.75rem}.btn-content{transition:opacity .2s ease;display:inline-grid;grid-auto-flow:column;align-items:center;gap:.8rem;justify-content:center}.btn-icon{width:1.25em;height:1.25em;stroke-width:1.5;flex-shrink:0}.btn-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap-reverse;width:100%}.mobile .btn-bar{justify-content:center;gap:1rem}.btn-spinner{position:absolute;top:50%;left:50%;width:1rem;height:1rem;border:2px solid;border-radius:50%;border-right-color:transparent!important;opacity:0;visibility:hidden;transition:opacity .2s ease;transform:translate(-50%,-50%)}.btn.loading{cursor:wait;pointer-events:none}.btn.loading .btn-content{opacity:0}.btn.loading .btn-spinner{opacity:1;visibility:visible;animation:spin .8s linear infinite}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.btn-primary{background-color:var(--color-accent);color:var(--color-btn-text)}.btn-primary:not(.loading):hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.btn-primary.loading{background-color:var(--color-accent);filter:brightness(.95)}.btn-primary .btn-spinner{border-color:var(--color-btn-text)}.btn-primary:disabled{background-color:var(--color-border);color:var(--color-text-secondary);filter:none;box-shadow:none}.btn-ghost{background-color:transparent;color:var(--color-text-primary);border:1px solid transparent}.btn-ghost:not(.loading):hover{border-color:var(--color-text-primary);transform:translateY(-1px)}.btn-ghost.loading{background-color:#00000005}.btn-ghost .btn-spinner{border-color:var(--color-text-primary)}.btn-secondary{background-color:var(--color-bg-input);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:not(.loading):hover{border-color:var(--color-text-primary);transform:translateY(-1px)}.btn-secondary.loading{background-color:#00000005}.btn-secondary .btn-spinner{border-color:var(--color-text-primary)}.btn-secondary:disabled{background-color:var(--color-bg-alt);color:var(--color-text-muted);border-color:var(--color-border-light, var(--color-border));filter:none}.btn-nav{width:38px;height:38px;border:1px solid var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;min-width:0;background-color:transparent;color:var(--color-text-primary)}.btn-nav:not(.loading):hover{background-color:#0000000d;border-color:var(--color-text-primary);transform:none}.btn-nav .btn-content{padding:0;gap:0}.btn-danger{background-color:var(--color-error);color:var(--color-text-alternate)}.btn-danger:not(.loading):hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.btn-danger.loading{background-color:var(--color-error);filter:brightness(.95)}.btn-danger .btn-spinner{border-color:var(--color-btn-text)}.btn.btn-pill{border-radius:20px}.btn-back{position:absolute;top:2rem;left:2rem;background:none;border:none;color:var(--color-text-primary);cursor:pointer;font-size:1rem;font-family:var(--font-body);transition:color .2s}.btn-back:hover{color:var(--color-text-primary);transform:scale(1.05)}.btn-back-simple{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:1rem;font-family:var(--font-body);padding:0;transition:color .2s;justify-self:start}.btn-back-simple:hover{color:var(--color-terracotta)}.icon-btn{background:none;border:none;cursor:pointer;color:var(--color-text-primary);padding:.5rem;border-radius:50%;display:grid;place-items:center;transition:background .2s}.refresh-btn,.switch-btn{background:none;border:none;cursor:pointer;padding:.5rem;color:var(--color-text-primary);display:grid;place-items:center;opacity:.7;transition:opacity .3s,transform .3s cubic-bezier(.34,1.56,.64,1)}.refresh-btn:hover,.switch-btn:hover{opacity:1;transform:rotate(15deg) scale(1.1)}.expand-trigger{width:100%;padding:1rem;background:linear-gradient(to bottom,#0000,#0000000d);border:none;color:var(--color-text-secondary);cursor:pointer;text-transform:uppercase;font-size:.8rem;letter-spacing:.1em;font-weight:600;margin-top:-1rem;position:relative;display:block;text-align:center;border-top:1px solid var(--color-border)}.expand-trigger:hover{background:#0000000d;color:var(--color-text-primary)}.btn-text-danger{background:none;border:none;color:#e57373;font-weight:600;cursor:pointer;padding:0;font-size:.9rem;transition:opacity .2s}.btn-text-danger:hover{opacity:.7}.form-input{display:block;width:100%;padding:.8rem 1rem;margin-bottom:1rem;font-family:var(--font-body);font-size:1rem;background-color:var(--color-bg-input);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:4px;box-sizing:border-box;transition:border-color var(--transition-base)}.form-input:focus{outline:4px solid var(--color-sage);border-color:var(--color-text-primary)}.header-search{position:relative;width:100%;max-width:180px}.search-input{width:100%;padding:.5rem 1rem;border-radius:20px;border:1px solid var(--color-border);background:var(--color-bg-input);font-family:var(--font-body);font-size:.9rem;transition:var(--transition-colors)}.search-input:focus{outline:none;border-color:var(--color-terracotta);box-shadow:0 0 0 2px #cc55001a}.custom-checkbox-wrapper{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;gap:.5rem}.custom-checkbox-input{display:none}.custom-checkbox-checkmark{width:24px;height:24px;background-color:var(--color-card-bg);border:2px solid var(--color-border);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:var(--transition-colors),transform var(--transition-base)}.custom-checkbox-checkmark svg{width:16px;height:16px;color:#fff;opacity:0;transform:scale(.5);transition:var(--transition-colors),transform var(--transition-base)}.custom-checkbox-input:checked+.custom-checkbox-checkmark{background-color:var(--color-sage);border-color:var(--color-sage)}.custom-checkbox-input:checked+.custom-checkbox-checkmark svg{opacity:1;transform:scale(1)}.custom-checkbox-wrapper:hover .custom-checkbox-checkmark{border-color:var(--color-text-secondary)}.custom-checkbox-wrapper:hover .custom-checkbox-input:checked+.custom-checkbox-checkmark{border-color:var(--color-sage);opacity:.9}.custom-checkbox-wrapper.disabled{cursor:not-allowed;opacity:.6}.custom-checkbox-wrapper.disabled .custom-checkbox-checkmark{background-color:var(--color-bg-alt)}.hue-preview{height:47px;aspect-ratio:1;border-radius:47px;border:1px solid var(--color-border);background-color:#adcceb;flex-shrink:0;box-shadow:inset 0 0 5px #ffffff80;line-height:47px;text-align:center}.hue-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:39px;border-radius:4px;background:linear-gradient(to right,#ebadad,#ebebad,#adebad,#adebeb,#adadeb,#ebadeb,#ebadad);outline:none;margin:0;flex:1;border:1px solid var(--color-border)}.hue-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:26px;height:47px;border-radius:5px;background:#ffffff40;border:1px solid var(--color-border);cursor:pointer;box-shadow:0 1px 3px #0003}.hue-slider::-moz-range-thumb{width:26px;height:40px;border-radius:5px;background:#ffffff40;border:1px solid var(--color-border);cursor:pointer;box-shadow:0 1px 3px #0003}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:9999;align-items:flex-end;pointer-events:none}.toast-container>*{pointer-events:auto}.toast{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:8px;padding:16px;box-shadow:var(--shadow-medium);display:flex;align-items:flex-start;gap:16px;min-width:300px;max-width:400px;animation:toast-slide-in .4s cubic-bezier(.16,1,.3,1);position:relative;color:var(--color-text-primary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast.closing{animation:toast-slide-out .3s cubic-bezier(.16,1,.3,1) forwards}.toast-success{border-left:4px solid var(--color-sage)}.toast-error{border-left:4px solid var(--color-error)}.toast-warning{border-left:4px solid var(--color-terracotta)}.toast-info{border-left:4px solid var(--color-accent)}.toast-default{border-left:4px solid var(--color-border)}.toast-content{flex:1;display:flex;flex-direction:column;gap:4px}.toast-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.toast-title{font-weight:600;font-size:.95rem;color:var(--color-text-primary);flex:1}.toast-description{font-size:.85rem;color:var(--color-text-secondary);line-height:1.4;word-break:break-word}.toast-timer-svg{width:18px;height:18px;transform:rotate(-90deg);color:var(--color-text-secondary);flex-shrink:0;margin-right:-4px}.toast-timer-progress{transition:stroke-dashoffset linear}.toast-close-btn{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px;margin:-4px -4px 0 0;border-radius:4px;transition:background .2s,color .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-close-btn:hover{background:var(--color-bg-alt);color:var(--color-text-primary)}.toast-clear-all{font-size:.8rem;background:var(--color-bg-main);color:var(--color-text-secondary);border:1px solid var(--color-border);padding:6px 14px;border-radius:20px;box-shadow:var(--shadow-soft);cursor:pointer;transition:all .2s;margin-top:4px;align-self:center;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.toast-clear-all:hover{background:var(--color-bg-alt);color:var(--color-text-primary);transform:translateY(-1px);box-shadow:var(--shadow-medium)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0);max-height:200px;margin-bottom:12px}to{opacity:0;transform:translate(100%);max-height:0;margin-bottom:0;padding:0;border:0}}.tooltip-container{position:absolute;z-index:10000;pointer-events:none;opacity:0;transition:opacity var(--transition-base),transform var(--transition-base);filter:drop-shadow(var(--shadow-medium));--tooltip-bg: var(--color-card-bg)}.tooltip-content{background-color:var(--tooltip-bg);color:var(--color-text-primary);padding:8px 12px;border-radius:6px;border:1px solid var(--tooltip-bg);font-size:1rem;font-family:var(--font-body);line-height:1.4;white-space:nowrap;position:relative;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:400}.tooltip-arrow{position:absolute;width:0;height:0;border-style:solid}.tooltip-top{transform:translateY(10px)}.tooltip-top.visible{opacity:1;transform:translateY(0)}.tooltip-top .tooltip-arrow{bottom:-6px;left:50%;transform:translate(-50%);border-width:6px 6px 0 6px;border-color:var(--color-border) transparent transparent transparent}.tooltip-arrow-box{position:absolute;width:10px;height:10px;background-color:var(--tooltip-bg);border:1px solid var(--color-border);transform:rotate(45deg);z-index:-1}.tooltip-top .tooltip-arrow-box{bottom:-5px;left:50%;margin-left:-5px;border-top-color:transparent;border-left-color:transparent}.tooltip-bottom{transform:translateY(-10px)}.tooltip-bottom.visible{opacity:1;transform:translateY(0)}.tooltip-bottom .tooltip-arrow-box{top:-5px;left:50%;margin-left:-5px;border-bottom-color:transparent;border-right-color:transparent}.tooltip-left{transform:translate(10px)}.tooltip-left.visible{opacity:1;transform:translate(0)}.tooltip-left .tooltip-arrow-box{right:-5px;top:50%;margin-top:-5px;border-bottom-color:transparent;border-left-color:transparent}.tooltip-right{transform:translate(-10px)}.tooltip-right.visible{opacity:1;transform:translate(0)}.tooltip-right .tooltip-arrow-box{left:-5px;top:50%;margin-top:-5px;border-top-color:transparent;border-right-color:transparent}.landing-page{position:fixed;top:0;left:0;width:100vw;height:100vh;background-image:url(/res/landing-bg.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;flex-direction:column;align-items:flex-end;justify-content:stretch;z-index:2;transition:background-image 2s ease}[data-theme=dark] .landing-page{background-image:url(/res/landing-bg-night.jpg);transition:background-image 2s ease}.landing-content{position:relative;z-index:2;text-align:center;color:#fff;font-family:Inter,sans-serif;width:320px;height:100vh;max-width:none;padding:3rem 2rem;background:#8a9a8d;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:-5px 0 30px #0003}.landing-brand{font-family:var(--font-header);font-size:5rem;font-weight:500;letter-spacing:-3px;margin-bottom:.5rem;color:#fff;line-height:1}.landing-welcome{font-size:1.2rem;font-weight:400;margin-bottom:2rem;color:#fff;line-height:1.2;text-shadow:none;max-width:100%}.landing-divider{width:100%;height:1px;background-color:#ffffff4d;margin:2rem 0;border:none}.landing-invitation{color:#fff!important;font-size:.8rem;margin-bottom:0;line-height:1.4;font-weight:400;text-shadow:none}.landing-actions{display:flex;justify-content:center;margin-bottom:0}.btn-premium{background-color:#fff;color:#000;border:none;padding:12px 40px;font-size:.9rem;font-weight:600;border-radius:4px;cursor:pointer;transition:var(--transition-colors);text-transform:uppercase;letter-spacing:2px;box-shadow:0 4px 15px #0003}.btn-premium:hover{background-color:#f0f0f0;transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.btn-premium:disabled{opacity:.7;cursor:not-allowed;transform:none}body.sidebar-hidden #layout-sidebar{display:none!important}body.sidebar-hidden #header{background:transparent;box-shadow:none}body.sidebar-hidden .body{margin-left:0!important;width:100%;max-width:none;padding:0}.login-form .brand-logo{width:50px;height:60px;background-color:var(--color-text-secondary);transition:var(--transition-colors);-webkit-mask-image:url(/res/branding/logo.svg);mask-image:url(/res/branding/logo.svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.login-form .brand-logo{margin:0 auto;background-color:var(--color-text-secondary)}.login-form .brand-logo .brand-svg{width:60px;height:auto}.login-form{max-width:400px;padding:2rem;background:var(--color-card-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);border-radius:8px}.form-actions{display:grid;grid-auto-flow:column;justify-content:center;margin-top:1rem;margin-bottom:2rem}.forgot-container{display:grid;justify-content:end;margin-top:.25rem;margin-bottom:2rem}.forgot-link{color:var(--color-text-secondary);font-size:.8rem;text-decoration:none;transition:var(--transition-colors);margin:-12px 0 0}.forgot-link:hover{color:var(--color-terracotta)}.register-section{display:grid;grid-auto-flow:row;justify-items:center;margin-top:3rem;gap:.5rem}.register-text{font-family:var(--font-body);font-size:.9rem;color:var(--color-text-secondary)}.error-message{color:#a75454;text-align:center;margin-bottom:1rem}.login-form .form-input{background-color:var(--color-bg-input)}.login-form .form-input:autofill{box-shadow:0 0 0 100px var(--color-bg-input) inset;color:var(--color-text-primary);-webkit-text-fill-color:var(--color-text-primary)!important;caret-color:var(--color-text-primary)}.login-form .form-input:focus{outline:4px solid var(--color-sage);border-color:var(--color-text-primary)}.login-footer{position:absolute;bottom:1rem;right:1rem;margin-top:20px;text-align:center;font-size:.8em}.login-footer a{text-decoration:none;color:var(--color-text-secondary)}.privacy-policy-container{max-width:800px;margin:40px auto;padding:20px;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--text-main)}.privacy-policy-container h1{font-size:6em;margin-bottom:3rem;color:var(--color-text-primary)}.authd .privacy-policy-container{margin-top:20px}.policy-section{margin-bottom:30px}.policy-section h3{font-size:1.25em;margin-bottom:15px;color:var(--text-header);border-bottom:1px solid var(--border-light);padding-bottom:5px}.policy-section p{margin-bottom:15px;line-height:1.6}.policy-section ul{list-style-type:disc;padding-left:20px}.policy-section li{margin-bottom:10px;line-height:1.5}.policy-section strong{color:var(--color-text-primary)}.content-grid{display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:start}.spots-meta{font-size:.85rem;color:var(--color-text-muted);font-weight:500;text-align:right}.class-description{line-height:1.7;color:var(--color-text-secondary);font-size:1.05rem}.class-description p{margin-bottom:1.25rem}.instructor-profile-mini{display:flex;gap:1.25rem;align-items:center;border-top:1px solid var(--color-border-light);padding-top:1.5rem}.instructor-photo-mini{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--color-sage)}.instructor-photo-mini.placeholder{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.5rem;background:var(--color-sage-alt)}.instructor-name{font-weight:600;color:var(--color-text-primary);font-size:1.1rem}.instructor-bio-mini{font-size:.9rem;color:var(--color-text-muted)}.booking-label{text-transform:uppercase;font-size:.75rem;letter-spacing:.1em;color:var(--color-text-tertiary);margin-bottom:.5rem}.booking-status{font-size:2.5rem;color:var(--color-text-primary);margin-bottom:1.5rem}.pricing-list{display:flex;flex-direction:column;gap:1rem;width:100%}.course-btn{width:100%;padding:1.25rem;border:none;border-radius:8px;background:var(--color-sage);color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:.25rem;box-shadow:var(--shadow-sm)}.course-btn{background:#8e9a8e;color:#1a1a1a}.course-btn:hover:not(:disabled){background:#7d897d;transform:translateY(-1px);box-shadow:var(--shadow-md)}.course-btn:disabled{opacity:.6;cursor:not-allowed}.course-title{font-size:.85rem;font-weight:500}.course-price-large{font-size:1.25rem;font-weight:700}@media(max-width:900px){.content-grid{grid-template-columns:1fr}.class-header h1{font-size:2.5rem}}
