:root{font-family:DM Sans,sans-serif;color:var(--text);background:var(--outside);color-scheme:light;font-synthesis:none;font-weight:400;line-height:1.5;font-size:14px;--text: #263a31;--outside: #e8ebe5;--muted: #717c73;--line: #e3e7df;--paper: #f8f9f5;--green: #204d3d;--surface: #fff;--focus: #735398;--border: #d1d9cf;--subtle: #e9eee5;--subtle-text: #435a49;--dot: #698168;--nav: #fbfcf8f5;--nav-text: #7a847d;--brand-ink: #f0e8cb;--divider: #ced6ca;--avatar: #e4e9dd;--avatar-border: #d4ddcd;--eyebrow: #6c7e6b;--gold: #735398;--hero-ink: #f9faf3;--hero-accent: #c1d0b5;--hero-muted: #cfdbcc;--hero-button: #e1e8c6;--hero-link: #eef2dc;--management-border: #d7dfcf;--management: #edf0e6;--management-muted: #6c7867;--body-text: #5e6c61;--small: #6d786e;--footer: #8d978a;--badge: #e8eee3;--badge-text: #3f624c;--warning: #f6eade;--warning-text: #8d4e2b;--input-border: #d7ded3;--filter: #f0f3eb;--error: #fbe5dd;--error-text: #923d28;--empty-border: #ced7c9;--empty: #7d8b77;--tab-text: #65735f;--shop: #e5e9d8;--decoration: #9da887;--selected-border: #668166;--selected: #edf2e7;--toast: #203e31;--highlight: #735398;--primary: #204d3d;--on-primary: #fff;--hero: #204d3d;--toast-ink: #fff;--accent-primary: #204d3d;--accent-secondary: #153c30;--accent-tertiary: #735398;--accent-tertiary-soft: #eee7f4;--dojo-style-image: none;--image-overlay-rgb: 8 19 17}:root[data-theme=dark]{color-scheme:dark;--text: #e5eee7;--outside: #0c120f;--muted: #a0b0a5;--line: #34453b;--paper: #141d19;--green: #9bd5b2;--surface: #1d2922;--focus: #c09ae8;--border: #526657;--subtle: #213329;--subtle-text: #b4cbb9;--dot: #9dba96;--nav: #18231ef5;--nav-text: #a5b5aa;--brand-ink: #f0e8cb;--divider: #43594a;--avatar: #2a3c30;--avatar-border: #43594a;--eyebrow: #a6bca0;--gold: #c09ae8;--hero-ink: #f9faf3;--hero-accent: #c1d0b5;--hero-muted: #cfdbcc;--hero-button: #d5e7b9;--hero-link: #eef2dc;--management-border: #3d5441;--management: #263629;--management-muted: #adbd9e;--body-text: #b5c4b9;--small: #a9b9ad;--footer: #9caa96;--badge: #2b3f2f;--badge-text: #b5d8ba;--warning: #453124;--warning-text: #f0bb8e;--input-border: #526657;--filter: #1b2921;--error: #482a25;--error-text: #ffc1ad;--empty-border: #50644f;--empty: #b1c1a4;--tab-text: #b2c1a5;--shop: #2b3827;--decoration: #9da887;--selected-border: #8cba8c;--selected: #2c422e;--toast: #d6e8d9;--highlight: #c09ae8;--primary: #9bd5b2;--on-primary: #13271b;--hero: #234c3b;--toast-ink: #183122;--accent-primary: #9bd5b2;--accent-secondary: #5a9d79;--accent-tertiary: #c09ae8;--accent-tertiary-soft: #392f45}:root[data-color=red]{--image-overlay-rgb: 22 17 18;--text: #35282c;--outside: #eee6e8;--muted: #786a6e;--line: #e5d7da;--paper: #fbf7f8;--surface: #fffafb;--nav: #fffafaf5;--nav-text: #76696d;--avatar: #f1e7e9;--avatar-border: #e0d1d5;--body-text: #5e5054;--small: #716267;--footer: #8d8084;--filter: #f6edef;--empty-border: #dcc9cd;--empty: #785b62;--toast: #5c202e;--toast-ink: #fff;--accent-primary: #d92f43;--accent-secondary: #ad1f32;--accent-tertiary: #177f77;--accent-tertiary-soft: #e0f0ed;--green: var(--accent-primary);--primary: var(--accent-primary);--on-primary: #fff;--hero: var(--accent-secondary);--focus: var(--accent-tertiary);--gold: var(--accent-tertiary);--decoration: var(--accent-tertiary);--highlight: var(--accent-tertiary);--border: #d9c3c7;--input-border: #d8bdc2;--divider: #ddc6ca;--selected-border: #a84e5d;--selected: #f5e8ea;--subtle: #f4e8ea;--subtle-text: #643741;--management-border: #e0c9cd;--management: #f6ecee;--management-muted: #76545a;--badge: #f4e4e7;--badge-text: #76303d;--tab-text: #74545a;--dot: #9d5b65;--eyebrow: #79545b;--hero-accent: #f0c1c6;--hero-muted: #f0d9dc;--hero-button: #f1d4c3;--hero-link: #f8e9ea;--shop: #f2e7e1}:root[data-color=blue]{--image-overlay-rgb: 12 19 30;--text: #263748;--outside: #e7edf3;--muted: #6b7a88;--line: #d9e2eb;--paper: #f6f8fb;--surface: #fff;--nav: #f9fbfdf5;--nav-text: #6a7a89;--avatar: #e4edf5;--avatar-border: #cfdeeb;--body-text: #506174;--small: #687989;--footer: #8393a2;--filter: #edf2f7;--empty-border: #cad8e5;--empty: #58728b;--toast: #173e70;--toast-ink: #fff;--accent-primary: #245b96;--accent-secondary: #173e70;--accent-tertiary: #a95d16;--accent-tertiary-soft: #f7eadc;--green: var(--accent-primary);--primary: var(--accent-primary);--on-primary: #fff;--hero: var(--accent-secondary);--focus: var(--accent-tertiary);--gold: var(--accent-tertiary);--decoration: var(--accent-tertiary);--highlight: var(--accent-tertiary);--border: #c8d5e2;--input-border: #c5d3e1;--divider: #c8d5e1;--selected-border: #4a78a6;--selected: #e8eff6;--subtle: #e8eff5;--subtle-text: #344f69;--management-border: #cfdae6;--management: #edf2f7;--management-muted: #566b7e;--badge: #e4edf6;--badge-text: #315c84;--tab-text: #50677c;--dot: #5b7e9f;--eyebrow: #536d86;--hero-accent: #c0d8f1;--hero-muted: #d3e2f1;--hero-button: #f3d59d;--hero-link: #e9f2fb;--shop: #e9eef2}:root[data-theme=dark][data-color=red]{--image-overlay-rgb: 22 17 18;--text: #f1e8ea;--outside: #100d0f;--muted: #b2a1a6;--line: #49383d;--paper: #191316;--surface: #251d21;--nav: #1d171af5;--nav-text: #c0b1b6;--avatar: #38252b;--avatar-border: #59404a;--body-text: #d2c2c6;--small: #c2b0b6;--footer: #a8949a;--filter: #2b2025;--empty-border: #5a4249;--empty: #d1aab2;--toast: #f1c9d0;--toast-ink: #34141a;--accent-primary: #ff7180;--accent-secondary: #d94356;--accent-tertiary: #70d7c8;--accent-tertiary-soft: #263e3b;--green: var(--accent-primary);--primary: var(--accent-primary);--on-primary: #37151c;--hero: #4b2029;--focus: var(--accent-tertiary);--gold: var(--accent-tertiary);--decoration: var(--accent-tertiary);--highlight: var(--accent-tertiary);--border: #64404a;--input-border: #64404a;--divider: #59404a;--selected-border: #d27c8a;--selected: #422831;--subtle: #38252b;--subtle-text: #e2b6be;--management-border: #59404a;--management: #34242a;--management-muted: #d1a8b0;--badge: #472b33;--badge-text: #f1bac4;--tab-text: #deb4bc;--dot: #d98b98;--eyebrow: #e0aab4;--hero-accent: #f0bdc5;--hero-muted: #e7cdd1;--hero-button: #f1d3c1;--hero-link: #f7e8e9;--shop: #3c302e}:root[data-theme=dark][data-color=blue]{--image-overlay-rgb: 12 19 30;--text: #e7eef6;--outside: #090f15;--muted: #a2b2c2;--line: #344555;--paper: #111923;--surface: #1a2632;--nav: #151f2af5;--nav-text: #a8b8c7;--avatar: #26394a;--avatar-border: #40566c;--body-text: #c0ccda;--small: #a9bac9;--footer: #92a4b4;--filter: #182431;--empty-border: #40556a;--empty: #b6c9db;--toast: #c9e0f7;--toast-ink: #13243a;--accent-primary: #91c4fa;--accent-secondary: #3977b6;--accent-tertiary: #ffc16e;--accent-tertiary-soft: #443723;--green: var(--accent-primary);--primary: var(--accent-primary);--on-primary: #13243a;--hero: #1c3552;--focus: var(--accent-tertiary);--gold: var(--accent-tertiary);--decoration: var(--accent-tertiary);--highlight: var(--accent-tertiary);--border: #40566c;--input-border: #40566c;--divider: #3c5066;--selected-border: #6d9bca;--selected: #24394e;--subtle: #223244;--subtle-text: #b9cfe4;--management-border: #3c5066;--management: #202f3e;--management-muted: #b2c5d7;--badge: #2a3c4f;--badge-text: #bed7f0;--tab-text: #b5c8db;--dot: #88add0;--eyebrow: #b0c8e0;--hero-accent: #c2ddf8;--hero-muted: #d3e2f1;--hero-button: #f3d59d;--hero-link: #e8f2fc;--shop: #29333d}:root[data-style=taekwondo]{--dojo-style-image: url(/modalidade-taekwondo.webp)}:root[data-style=boxe]{--dojo-style-image: url(/modalidade-boxe.webp)}:root[data-style=jiu-jitsu]{--dojo-style-image: url(/modalidade-jiu-jitsu.webp)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:var(--green);text-decoration:none}a:hover{text-decoration:none}button,.button{min-height:46px;background:var(--primary);border:1px solid var(--primary);border-radius:12px;color:var(--on-primary);padding:12px 17px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;line-height:1.4}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button.secondary,.button.secondary{background:transparent;border-color:var(--border);color:var(--green)}button.text-button{background:transparent;border:none;color:var(--green);padding-left:0;justify-content:flex-start}.app-shell,.login,.boot{width:100%;max-width:480px;min-height:100dvh;margin:0 auto;background:var(--paper);box-shadow:0 0 70px #263a310d}.boot{padding:40px 24px}main#main-content{position:relative;isolation:isolate;padding:25px 24px calc(110px + env(safe-area-inset-bottom));overflow-wrap:anywhere;container-type:inline-size}main#main-content:before{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background-image:radial-gradient(ellipse at 52% 0%,color-mix(in srgb,var(--accent-primary) 24%,transparent),transparent 68%),var(--dojo-style-image);background-position:center top;background-size:cover;opacity:0}main#main-content[data-atmosphere=immersive]:before{top:-22px;right:0;bottom:12%;left:0;opacity:.22;filter:blur(19px);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 46%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 46%,transparent 100%)}main#main-content[data-atmosphere=contextual]:before{inset:0 0 auto;height:250px;opacity:.12;filter:blur(15px);-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,transparent 100%)}main#main-content[data-atmosphere=contextual] .page-title{padding-left:12px;border-left:3px solid color-mix(in srgb,var(--accent-tertiary) 75%,transparent)}.app-shell main[data-atmosphere=immersive][data-style]:not([data-style=none]) .hero:not([data-art]){background-image:linear-gradient(110deg,rgb(var(--image-overlay-rgb) / 80%),rgb(var(--image-overlay-rgb) / 64%)),var(--dojo-style-image);background-position:center;background-size:cover}.demo-bar{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 8px;background:var(--subtle);color:var(--subtle-text);font-size:9px;letter-spacing:.7px;font-weight:700}.demo-bar span:last-child{font-weight:400;letter-spacing:0}.demo-dot{width:5px;height:5px;background:var(--dot);border-radius:50%}.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;justify-content:space-around;padding:10px 8px calc(9px + env(safe-area-inset-bottom));background:var(--nav);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:50px;min-height:52px;font-size:10px;color:var(--nav-text);border-radius:12px}.bottom-nav a.active{color:var(--green);font-weight:700;background:var(--subtle);padding-inline:12px}.home-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.brand{display:flex;align-items:center;gap:9px;font:800 23px Manrope,sans-serif;letter-spacing:2px}.brand-mark{display:inline-flex;background:var(--hero);color:var(--brand-ink);padding:8px;border-radius:12px}.brand-tag{font:500 8px DM Sans,sans-serif;letter-spacing:1px;max-width:70px;border-left:1px solid var(--divider);padding-left:10px}.avatar{width:44px;height:44px;flex-shrink:0;display:flex;justify-content:center;align-items:center;background:var(--avatar);color:var(--green);border:1px solid var(--avatar-border);border-radius:50%;font-weight:700}.avatar.large{width:72px;height:72px;font-size:27px;margin:0 auto}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--eyebrow)}.greeting{font:800 36px Manrope,sans-serif;margin:9px 0}.greeting-dot{color:var(--gold)}.intro{color:var(--muted);font-size:13px;margin:0 0 24px}.hero{background:var(--hero);color:var(--hero-ink);border-radius:20px;padding:24px;margin:23px 0;position:relative;overflow:hidden}.hero[data-art]{background-position:center;background-size:cover}.hero[data-art=taekwondo]{background-image:linear-gradient(110deg,rgb(var(--image-overlay-rgb) / 84%),rgb(var(--image-overlay-rgb) / 68%)),url(/modalidade-taekwondo.webp)}.hero[data-art=boxe]{background-image:linear-gradient(110deg,rgb(var(--image-overlay-rgb) / 82%),rgb(var(--image-overlay-rgb) / 66%)),url(/modalidade-boxe.webp)}.hero[data-art=jiu-jitsu]{background-image:linear-gradient(110deg,rgb(var(--image-overlay-rgb) / 84%),rgb(var(--image-overlay-rgb) / 68%)),url(/modalidade-jiu-jitsu.webp)}.hero .eyebrow{color:var(--hero-accent)}.hero-top,.hero-bottom{display:flex;justify-content:space-between;align-items:center}.hero-top{margin-bottom:24px;color:var(--hero-accent)}.hero h2{font:700 30px Manrope,sans-serif;margin:0 0 7px}.hero p{color:var(--hero-muted);font-size:12px;margin:0 0 20px}.hero-bottom{border-top:1px solid #ffffff26;padding-top:18px;font-size:12px}.hero-bottom a{border-radius:50%;background:var(--hero-button);color:var(--accent-secondary);width:38px;height:38px;display:grid;place-items:center}.hero>a{color:var(--hero-link)}.stats{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:14px;padding:18px 10px;margin-bottom:24px;background:var(--surface)}.stats div{text-align:center;min-width:0}.stats div+div{border-left:1px solid var(--line)}.stats strong{display:block;font:700 21px Manrope,sans-serif;overflow-wrap:anywhere}.stats span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.management-link{display:flex;gap:12px;align-items:center;border:1px solid var(--management-border);padding:15px;border-radius:14px;margin:25px 0;background:var(--management)}.management-link>div{flex:1}.management-link strong{font-size:12px}.management-link small{display:block;font-size:10px;margin-top:3px;color:var(--management-muted)}.icon-tile{background:var(--surface);padding:10px;border-radius:10px;display:flex}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.25}h1{font-size:24px;letter-spacing:-.8px;margin:10px 0 16px}h2{font-size:17px;font-weight:800;margin:0 0 15px;letter-spacing:-.3px}h3{font-size:14px;font-weight:700;margin:9px 0}p{color:var(--body-text);line-height:1.65}small{display:block;color:var(--small);font-size:11px}.page-title{display:flex;align-items:center;gap:10px;margin:0 0 26px;padding-left:12px;border-left:3px solid color-mix(in srgb,var(--accent-tertiary) 75%,transparent)}.page-title>div{flex:1;min-width:0}.page-title h1{margin:0}.page-title p{font-size:12px;margin:6px 0 0}.icon-button{background:transparent;color:var(--green);border:0;width:44px;flex-shrink:0;padding:0}section{margin:26px 0}.notice{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:18px;margin:12px 0}.notice-management{padding:14px 16px;margin:10px 0}.notice-mural-card{min-height:148px;padding:22px 24px;border:0;border-radius:20px;background:color-mix(in srgb,var(--hero) 12%,var(--surface))}.notice-mural-card.notice-with-art{background-color:var(--hero)}.notice-mural-card h2{margin:10px 0 8px;font-size:19px}.notice-mural-card p{font-size:14px;line-height:1.65}.notice-management h2{margin:6px 0;font-size:17px}.notice h3{margin:6px 0}.notice p{font-size:12px;margin:0;line-height:1.7}.notice-management p{line-height:1.5}.notice .button{margin-top:12px}.notice-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:6px}.notice-actions .icon-button{display:inline-flex;flex:0 0 34px;align-items:center;justify-content:center;width:34px;min-width:34px;height:32px;min-height:32px;margin:0;padding:0;border:1px solid var(--line);border-radius:9px;color:var(--green);cursor:pointer}.notice-actions>button{width:34px;min-height:32px;margin:0}.notice-actions .icon-button:hover{background:color-mix(in srgb,var(--green) 12%,var(--surface))}.notice-list-tabs{margin:18px 0}.notice-with-art{background-color:var(--hero);background-repeat:no-repeat;background-position:center;background-size:cover;color:var(--hero-ink);border-color:#ffffff35}.notice-with-art h2,.notice-with-art h3,.notice-with-art p,.notice-with-art .eyebrow,.notice-with-art .notice-expiration{color:var(--hero-ink);text-shadow:0 1px 3px #0008}.notice-with-art .eyebrow{font-size:10px;letter-spacing:.04em}.notice-with-art .notice-expiration{display:block;margin-top:10px;color:var(--hero-muted)}.notice-audience-fieldset{margin:14px 0;padding:12px;border:1px solid var(--management-border);border-radius:12px}.notice-audience-fieldset>legend{padding:0 6px;color:var(--text);font-size:12px;font-weight:700}.notice-audience-tabs{gap:5px;margin:4px 0 12px}.notice-audience-tabs button{flex:1;min-width:0;padding-inline:6px}.notice-audience-fieldset [role=tabpanel]>.permission-fieldset{margin:0;padding:0;border:0}.notice-audience-fieldset>small{display:block;margin-top:12px;color:var(--muted);line-height:1.45}.footer-note{text-align:center;font-size:10px;color:var(--footer);margin-top:32px}.row{display:flex;gap:12px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);min-height:65px;color:inherit}.row>div{flex:1;min-width:0}.row strong{font-size:13px}.row small{margin-top:5px}.row .badge{max-width:47%;text-align:center}.row svg{flex-shrink:0}.badge{display:inline-block;font-size:10px;line-height:1.4;font-weight:600;padding:5px 8px;background:var(--badge);border-radius:6px;color:var(--badge-text);overflow-wrap:anywhere}.badge.warning{background:var(--warning);color:var(--warning-text)}.badges{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.field{display:flex;flex-direction:column;gap:7px;margin:14px 0;min-width:0;font-size:12px;font-weight:600}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:46px;padding:11px 12px;color:var(--text);background:var(--surface);border:1px solid var(--input-border);border-radius:10px;font-weight:400;font-size:12px}.field textarea{resize:vertical;min-height:90px}.form{margin:16px 0}.form>button{width:100%;margin-top:18px}.form p,.form small{font-size:12px}.filters{background:var(--filter);padding:4px 14px 10px;border-radius:14px;margin:20px 0}.filter-bar{overflow:visible;margin:18px 0;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.filter-bar>.field{margin:0}.filter-bar>.field>label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.filter-bar .field .student-search-control input{min-height:51px;padding:12px 14px 12px 42px;border:0;border-radius:14px 14px 0 0;background:transparent}.filter-row,.filter-date-row{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:0 3px;padding:3px 7px}.filter-row:not(:first-child){border-top:1px solid var(--line)}.filter-date{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%;min-height:44px;padding:5px 7px;color:var(--green)}.filter-chip{position:relative;flex:0 1 auto;min-width:0;max-width:100%}.filter-date:focus-within{box-shadow:inset 0 0 0 1px var(--green)}.filter-trigger>svg,.filter-date>svg{flex:0 0 auto}.filter-date input{min-width:0;max-width:135px;min-height:34px;padding:4px 0;border:0;border-radius:4px;background:transparent;color:var(--text);font:inherit;font-size:12px}.filter-trigger{display:inline-flex;justify-content:flex-start;gap:5px;min-width:0;max-width:100%;min-height:44px;padding:5px 7px;border:0;border-radius:8px;background:transparent;color:var(--green);font-size:12px;font-weight:400}.filter-selected-text{min-width:0;max-width:200px;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.filter-trigger:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.filter-date input:focus-visible{outline:none}.filter-menu{position:absolute;z-index:30;top:calc(100% + 4px);left:0;max-width:calc(100vw - 32px);max-height:270px;overflow-y:auto;padding:6px;border:1px solid var(--management-border);border-radius:12px;background:var(--surface);box-shadow:0 8px 24px #0004;outline:none}.filter-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 12px;border-radius:8px;color:var(--text);font-size:15px;line-height:1.35;cursor:pointer}.filter-option.active{background:var(--subtle)}.filter-option svg{flex:0 0 auto;color:var(--green)}.filter-option.disabled{opacity:.5;cursor:not-allowed}.filter-bar:has(.student-search-control input:focus-visible){border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.filter-bar .student-search-control input:focus-visible{outline:none}.filter-date input{max-width:155px}.filter-action{min-height:44px;padding:5px 8px;border:0;background:transparent;color:var(--green);font-size:11px}.filter-action[aria-pressed=true]{font-weight:700;text-decoration:underline;text-underline-offset:3px}.lesson-filter-row{flex-wrap:nowrap;gap:0;padding:3px 6px}.lesson-filter-actions{width:100%;overflow:visible}.lesson-filter-actions>.filter-action,.lesson-filter-actions .filter-trigger{flex:0 0 34px;width:34px;min-width:34px;height:38px;min-height:38px;padding:4px;align-items:center;justify-content:center;border-radius:8px}.lesson-filter-actions .filter-chip{flex:0 0 34px;width:34px}.lesson-filter-actions .filter-trigger .filter-selected-text,.lesson-filter-actions .filter-trigger>svg:last-child{display:none}.lesson-filter-actions .filter-trigger:hover,.lesson-filter-actions .filter-action:hover,.lesson-filter-actions .filter-action[aria-pressed=true]{background:var(--subtle);text-decoration:none}.lesson-filter-actions .filter-trigger:focus-visible,.lesson-filter-actions .filter-action:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.lesson-add-icon{position:relative;display:inline-flex}.lesson-add-icon svg:last-child{position:absolute;right:-5px;bottom:-3px;padding:1px;border-radius:50%;background:var(--surface);stroke-width:3}.lesson-date-button{position:relative;display:inline-flex;flex:0 0 auto!important;width:auto!important;min-width:34px!important;gap:5px;color:var(--green)}.lesson-date-button:has(span){padding:4px 8px;background:var(--subtle);color:var(--text);font-size:12px}.lesson-date-button input[type=date]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.lesson-filter-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 10px 9px;border-top:1px solid var(--line)}.lesson-filter-tag{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 8px;border:1px solid var(--management-border);border-radius:999px;background:var(--subtle);color:var(--text);font-size:11px}.compact-filter-actions{flex-wrap:nowrap;gap:0;padding:3px 6px}.compact-filter-actions .filter-chip{flex:0 0 34px;width:34px}.compact-filter-actions .filter-trigger,.compact-filter-actions>.filter-action{display:inline-flex;flex:0 0 34px;align-items:center;justify-content:center;width:34px;min-width:34px;min-height:38px;height:38px;padding:4px;border-radius:8px}.compact-filter-actions .filter-trigger .filter-selected-text,.compact-filter-actions .filter-trigger>svg:last-child{display:none}.compact-filter-actions .filter-trigger:hover,.compact-filter-actions>.filter-action:hover{background:var(--subtle)}.compact-filter-actions .filter-trigger:focus-visible,.compact-filter-actions>.filter-action:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.filter-add-icon{position:relative;display:inline-flex}.filter-add-icon svg:last-child{position:absolute;right:-5px;bottom:-3px;padding:1px;border-radius:50%;background:var(--surface);stroke-width:3}.filter-tags,.lesson-filter-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 10px 9px;border-top:1px solid var(--line)}.filter-tag,.lesson-filter-tag{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 8px;border:1px solid var(--management-border);border-radius:999px;background:var(--subtle);color:var(--text);font-size:11px}.lesson-filter-row .filter-action{display:inline-flex;flex:0 0 36px;align-items:center;justify-content:center;width:36px;min-height:40px;padding:4px;border-radius:8px}.lesson-filter-row .filter-action:hover,.lesson-filter-row .filter-action[aria-pressed=true]{background:var(--subtle);text-decoration:none}.check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:12px;line-height:1.5}.check input{height:18px;width:18px;accent-color:var(--green);flex-shrink:0}fieldset{border:1px solid var(--line);border-radius:10px;padding:12px;margin:15px 0;min-width:0}legend{font-size:12px;font-weight:600;padding:0 5px}.team-list{margin-top:18px;border-top:1px solid var(--line)}.team-member{border-bottom:1px solid var(--line)}.team-member-trigger{width:100%;min-height:76px;display:flex;align-items:center;gap:12px;padding:12px 0;background:transparent;color:var(--text);border:0;text-align:left}.team-member-trigger:hover{background:var(--subtle)}.team-member-trigger .avatar{flex:0 0 auto}.team-member-name{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}.team-member-name strong{font-size:14px}.team-member-name small{color:var(--muted);font-size:11px}.team-member-chevron{font-size:20px;line-height:1;transition:transform .16s ease}.team-member.open .team-member-chevron{transform:rotate(180deg)}.team-member-panel{margin:0 0 18px;padding:0 14px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.team-member-panel .form{margin:0}.permission-fieldset{padding:10px 12px 12px}.permission-tags{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.permission-tag{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid var(--management-border);border-radius:7px;background:var(--subtle);color:var(--text);cursor:pointer;font-size:11px;line-height:1.2}.permission-tag:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.permission-tag.selected{border-color:var(--green);background:color-mix(in srgb,var(--green) 14%,var(--surface));color:var(--green)}.permission-tag input{position:absolute;width:1px;height:1px;opacity:0}.permission-tag:has(input:disabled){cursor:default}.team-full-access-note{margin:14px 0 0;padding:10px 12px;border-radius:9px;background:var(--subtle);color:var(--muted)}.error{padding:12px;border-radius:8px;background:var(--error);color:var(--error-text)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;padding:28px 18px;border:1px dashed var(--empty-border);border-radius:14px;margin:18px 0;color:var(--empty)}.empty p{margin:0;font-size:13px}.empty h2{margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;margin:15px 0}.card>button,.notice>button,section>button{margin-top:12px;width:100%}.card small{margin-top:8px}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0}.tabs button{min-height:44px;padding:9px 11px;font-size:11px;background:transparent;border-color:var(--line);color:var(--tab-text)}.tabs button.selected{background:var(--primary);color:var(--on-primary)}.big-number{font-size:30px}.report-student-grid{display:grid;gap:10px}.report-filter-note{margin:-2px 0 12px;color:var(--muted);font-size:11px;line-height:1.45}.report-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;margin-top:14px}.report-layout.expanded{grid-template-columns:minmax(0,1fr)}.report-sidebar{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;justify-items:stretch}.report-sidebar button{justify-content:center;width:100%;min-height:46px;padding:8px 10px}.report-sidebar button>span{display:block}.report-student-list-heading{margin:18px 0 10px;font-size:14px}.report-panel>section{margin-top:0}.report-attendance-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.report-attendance-overview article{display:grid;gap:6px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--subtle)}.report-attendance-overview article>span{color:var(--muted);font-size:12px;font-weight:600}.report-attendance-overview article>strong{color:var(--accent-primary);font-size:26px;line-height:1.15}.report-attendance-overview article>small{font-size:10px;line-height:1.5}.report-api-error{color:var(--danger, #ef7777);font-size:13px;line-height:1.5}.report-monthly-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.report-monthly-totals article{display:grid;gap:6px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.report-monthly-totals strong{color:var(--muted);font-size:12px}.report-monthly-totals span{font-size:16px;font-weight:700}.report-pagination{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin:12px 0;color:var(--muted);font-size:12px}.report-pagination>span{margin-right:auto}.report-pagination button{min-height:34px;padding:6px 10px}.report-student-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,42%);align-items:center;gap:14px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.report-student-person{display:block;min-width:0;color:var(--text);text-decoration:none}.report-student-person:hover strong{color:var(--green)}.report-attendance-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px}.report-finance-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:12px;margin-top:18px}.report-finance-chart{min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--subtle)}.report-finance-chart h3{margin:0 0 14px;font-size:13px}.report-shop-sales-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:14px}.report-shop-sales-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--subtle)}.report-shop-sales-heading{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.report-shop-sales-heading h3{margin:0;font-size:13px}.report-shop-sales-heading p{margin:3px 0 0;color:var(--muted);font-size:10px}.report-shop-sales-heading>strong{color:var(--accent-primary);font-size:16px;white-space:nowrap}.report-shop-bar-chart{display:grid;height:190px;min-height:190px;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:7px;padding-top:12px}.report-shop-bar-column{display:grid;min-width:0;height:100%;grid-template-rows:22px minmax(0,1fr) 20px;justify-items:center;gap:4px}.report-shop-bar-column>strong{max-width:100%;overflow:hidden;color:var(--muted);font-size:8px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.report-shop-bar-track{display:flex;width:min(100%,30px);height:100%;align-items:end;overflow:hidden;border-radius:7px;background:color-mix(in srgb,var(--surface) 74%,transparent)}.report-shop-bar-track i{display:block;width:100%;min-height:0;border-radius:7px;background:var(--accent-primary)}.report-shop-bar-column.selected .report-shop-bar-track i{background:var(--accent-tertiary)}.report-shop-bar-column>small{color:var(--muted);font-size:10px;text-transform:capitalize}.report-shop-orders-chart .report-shop-bar-track i{background:var(--accent-secondary)}.report-shop-products-card{grid-column:1 / -1}.report-shop-product-bars{display:grid;gap:13px}.report-shop-product-bar{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(80px,1.4fr);align-items:center;gap:12px}.report-shop-product-bar>div{display:grid;min-width:0;gap:2px}.report-shop-product-bar strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.report-shop-product-bar small{color:var(--muted);font-size:10px}.report-shop-product-bar>span{display:block;height:12px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--surface) 74%,transparent)}.report-shop-product-bar>span i{display:block;height:100%;border-radius:inherit;background:var(--accent-tertiary)}.report-finance-pie-layout{display:flex;align-items:center;justify-content:center;gap:20px}.report-finance-pie-wrap{position:relative;flex:0 0 132px;width:132px;height:132px}.report-finance-pie{display:block;width:100%;height:100%;transform:rotate(-90deg)}.report-finance-pie circle{fill:none;stroke-width:13}.report-pie-received{stroke:#58c995}.report-pie-open{stroke:#f0a45d}.report-pie-empty{stroke:var(--line)}.report-finance-pie-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;pointer-events:none}.report-finance-pie-center small{color:var(--muted);font-size:10px}.report-finance-pie-center strong{max-width:100%;color:var(--text);font-size:12px;overflow-wrap:anywhere}.report-finance-legend{display:grid;gap:11px;min-width:130px}.report-finance-legend>div{display:grid;grid-template-columns:9px minmax(0,1fr);gap:2px 7px;align-items:center;font-size:11px}.report-finance-legend strong{grid-column:2;font-size:12px;font-weight:700}.report-finance-dot{width:9px;height:9px;border-radius:50%}.report-finance-dot.expected{border:1px solid var(--green)}.report-finance-dot.received{background:#58c995}.report-finance-dot.open{background:#f0a45d}.report-finance-comparison{display:flex;flex-direction:column}.report-comparison-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:-4px 0 13px;color:var(--muted);font-size:10px}.report-comparison-legend>span{display:inline-flex;align-items:center;gap:5px}.report-comparison-legend i{width:9px;height:9px;border-radius:50%}.report-comparison-legend i.current{background:#58c995}.report-comparison-legend i.previous{background:#719084}.report-comparison-rows{display:grid;gap:12px}.report-comparison-row>strong{display:block;margin-bottom:4px;font-size:11px}.report-comparison-bars{display:grid;gap:4px}.report-comparison-value{position:relative;display:flex;align-items:center;min-width:0;min-height:19px;overflow:hidden;border-radius:5px;background:var(--surface)}.report-comparison-value>span{position:absolute;inset:0 auto 0 0;min-width:0;border-radius:inherit}.report-comparison-value>span.current{background:#58c995;opacity:.38}.report-comparison-value>span.previous{background:#719084;opacity:.42}.report-comparison-value small{position:relative;z-index:1;padding:2px 6px;color:var(--text);font-size:10px;line-height:1.3}.attendance-semicircle-card{display:grid;justify-items:center;min-width:0;text-align:center}.attendance-semicircle{display:block;width:min(100%,150px);overflow:visible}.attendance-arc{fill:none;stroke-width:9;stroke-linecap:round}.attendance-arc-presence{stroke:#58c995}.attendance-arc-absence{stroke:#ed6565}.attendance-arc-justified{stroke:#b7c5c0}.attendance-semicircle-value{fill:var(--text);font-size:14px;font-weight:700}.attendance-semicircle-card>strong{margin-top:-1px;font-size:10px}.attendance-semicircle-card>small{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;margin-top:5px;color:var(--muted);font-size:10px;font-weight:600;line-height:1.35}.attendance-legend-presence{color:#75e0ad}.attendance-legend-absence{color:#ff8585}.attendance-semicircle-card>small b{font-size:11px;font-weight:800}.attendance-semicircle-card .attendance-justified-note{margin-top:2px;color:#c6d0cc;font-size:10px;font-weight:500}.lesson-card{display:flex;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 14px;margin:12px 0;color:inherit}.lesson-create-panel,.lesson-planner-panel{width:100%;max-width:100%;min-width:0;margin:14px 0 20px;padding:clamp(16px,3vw,26px);border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 12px 30px #0000001a}.lesson-create-intro{display:flex;align-items:center;gap:13px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.lesson-create-icon{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--primary) 15%,var(--surface));color:var(--primary)}.lesson-create-intro h2,.lesson-planning-heading h2{margin:0;font:700 17px Manrope,sans-serif}.lesson-create-intro p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.lesson-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lesson-planner-controls{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);align-items:end;gap:14px;margin-bottom:18px;min-width:0}.lesson-planner-controls>*,.lesson-week-nav,.lesson-week-nav>div,.lesson-planning-body,.lesson-planning-card{min-width:0}.lesson-week-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-height:58px;padding:7px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 75%,var(--paper))}.lesson-week-nav>div{display:grid;gap:3px;text-align:center}.lesson-week-nav strong{font-size:13px}.lesson-week-nav small{color:var(--muted);font-size:11px}.lesson-week-nav .secondary{min-height:36px;padding:7px 10px;white-space:nowrap}.lesson-week-confirmed{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--text);font-size:13px}.lesson-planning-list{display:grid;gap:12px;margin:14px 0 18px}.lesson-planning-card{display:grid;grid-template-columns:minmax(0,.24fr) minmax(0,1fr);gap:16px;padding:15px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface) 88%,var(--paper))}.lesson-planning-date{display:grid;align-content:start;gap:8px;color:var(--muted);font-size:12px}.lesson-planning-date strong{display:flex;align-items:center;gap:6px;color:var(--text);font-size:15px}.lesson-planning-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.lesson-planning-body .field{margin:0}.lesson-planner-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:18px}.lesson-planning-text{margin:0;white-space:pre-wrap;line-height:1.6}.lesson-card[data-art],.lesson-planning-card[data-art]{position:relative;isolation:isolate;overflow:hidden;border-color:#ffffff30;background-color:var(--hero);background-position:center;background-size:cover;color:var(--hero-ink)}.lesson-card[data-art]>*,.lesson-planning-card[data-art]>*{position:relative;z-index:1}main#main-content[data-style]:not([data-style=none]) .lesson-planning-card[data-art]:before{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background-image:linear-gradient(105deg,rgb(var(--image-overlay-rgb) / 58%),rgb(var(--image-overlay-rgb) / 34%)),var(--dojo-style-image);background-position:center;background-size:cover;opacity:.38;mix-blend-mode:screen}.lesson-card[data-art=taekwondo],.lesson-planning-card[data-art=taekwondo]{background-image:linear-gradient(90deg,rgb(var(--image-overlay-rgb) / 84%),rgb(var(--image-overlay-rgb) / 68%)),url(/modalidade-taekwondo.webp)}.lesson-card[data-art=boxe],.lesson-planning-card[data-art=boxe]{background-image:linear-gradient(90deg,rgb(var(--image-overlay-rgb) / 80%),rgb(var(--image-overlay-rgb) / 65%)),url(/modalidade-boxe.webp)}.lesson-card[data-art=jiu-jitsu],.lesson-planning-card[data-art=jiu-jitsu]{background-image:linear-gradient(90deg,rgb(var(--image-overlay-rgb) / 82%),rgb(var(--image-overlay-rgb) / 66%)),url(/modalidade-jiu-jitsu.webp)}.lesson-detail-page{position:relative;isolation:isolate;overflow-x:clip}.lesson-detail-page:before{position:absolute;z-index:-1;top:-24px;right:-20px;bottom:12%;left:-20px;content:"";pointer-events:none;opacity:.34;filter:blur(24px);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%)}.lesson-detail-page[data-art=taekwondo]:before{background:linear-gradient(110deg,rgb(var(--image-overlay-rgb) / 58%),rgb(var(--image-overlay-rgb) / 40%)),url(/modalidade-taekwondo.webp) center / cover}.lesson-detail-page[data-art=boxe]:before{background:linear-gradient(110deg,rgb(var(--image-overlay-rgb) / 58%),rgb(var(--image-overlay-rgb) / 40%)),url(/modalidade-boxe.webp) center / cover}.lesson-detail-page[data-art=jiu-jitsu]:before{background:linear-gradient(110deg,rgb(var(--image-overlay-rgb) / 58%),rgb(var(--image-overlay-rgb) / 40%)),url(/modalidade-jiu-jitsu.webp) center / cover}.lesson-cancel-trigger{border-color:color-mix(in srgb,var(--danger, #e36a6a) 55%,var(--line));color:var(--danger, #e36a6a)}.lesson-card[data-art] .eyebrow,.lesson-card[data-art] p,.lesson-card[data-art] .lesson-time small,.lesson-planning-card[data-art] .lesson-planning-date{color:var(--hero-muted)}.lesson-card[data-art] .lesson-time{border-color:#ffffff40}.lesson-planning-card[data-art]{position:relative;isolation:isolate;overflow:hidden;border-color:#ffffff30;background-color:var(--hero);background-position:center;background-size:cover;color:var(--hero-ink)}.lesson-planning-card[data-art] .field>span,.lesson-planning-card[data-art] .lesson-planning-date,.lesson-planning-card[data-art] .lesson-planning-date strong{color:var(--hero-muted)}.group-art-card{overflow:hidden;margin:14px 0;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.group-art-heading{padding:16px 18px;background-color:var(--hero);background-position:center 45%;background-size:cover;color:var(--hero-ink)}.group-art-heading span{color:var(--hero-accent);font-size:10px}.group-art-heading h2{margin:3px 0 0;color:inherit;font:700 18px Manrope,sans-serif}.group-art-card[data-art=taekwondo] .group-art-heading{background-image:linear-gradient(90deg,rgb(var(--image-overlay-rgb) / 82%),rgb(var(--image-overlay-rgb) / 62%)),url(/modalidade-taekwondo.webp)}.group-art-card[data-art=boxe] .group-art-heading{background-image:linear-gradient(90deg,rgb(var(--image-overlay-rgb) / 80%),rgb(var(--image-overlay-rgb) / 62%)),url(/modalidade-boxe.webp)}.group-art-card[data-art=jiu-jitsu] .group-art-heading{background-image:linear-gradient(90deg,rgb(var(--image-overlay-rgb) / 82%),rgb(var(--image-overlay-rgb) / 64%)),url(/modalidade-jiu-jitsu.webp)}.group-art-card>.form{padding:14px}.group-create-button{margin:18px 0 12px}.group-create-modal{width:min(100%,500px)}.group-people-modal{width:min(100%,560px)}.group-people-tabs{margin:4px 0 18px}.group-teacher-panel,.group-students-panel{padding:0 2px}.group-teacher-panel>p,.group-students-panel>p{line-height:1.5}.group-students-count{display:block;margin:-2px 0 8px;color:var(--muted)}.group-member-result{display:flex;min-width:0;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.group-member-avatar{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;overflow:hidden;border:1px solid var(--avatar-border);border-radius:50%;background:var(--avatar);color:var(--green);font-weight:700}.group-member-avatar img{width:100%;height:100%;object-fit:cover}.group-member-info{display:grid;min-width:0;flex:1;gap:3px}.group-member-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.group-member-info small{color:var(--muted);font-size:11px}.group-member-remove{border-color:color-mix(in srgb,var(--error-text) 46%,var(--line));color:var(--error-text)}.group-member-remove:hover:not(:disabled){background:color-mix(in srgb,var(--error-text) 12%,var(--surface))}.group-member-result>button{width:auto;min-width:82px;min-height:36px;flex:0 0 auto;margin:0;padding:6px 10px;font-size:12px}.group-people-toggle{margin-top:0}.benefit-card{overflow:hidden;min-width:0;margin:12px 0;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.benefit-card-heading{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background-color:var(--hero);background-position:center 45%;background-size:cover;color:var(--hero-ink)}.benefit-card-heading>div{min-width:0}.benefit-card-heading>div>span{color:var(--hero-accent);font-size:11px}.benefit-card-heading h2{overflow:hidden;margin:3px 0 0;color:inherit;font:700 17px Manrope,sans-serif;text-overflow:ellipsis;white-space:nowrap}.benefit-card[data-art=taekwondo] .benefit-card-heading{background-image:linear-gradient(90deg,rgb(var(--image-overlay-rgb) / 82%),rgb(var(--image-overlay-rgb) / 62%)),url(/modalidade-taekwondo.webp)}.benefit-card[data-art=boxe] .benefit-card-heading{background-image:linear-gradient(90deg,rgb(var(--image-overlay-rgb) / 80%),rgb(var(--image-overlay-rgb) / 62%)),url(/modalidade-boxe.webp)}.benefit-card[data-art=jiu-jitsu] .benefit-card-heading{background-image:linear-gradient(90deg,rgb(var(--image-overlay-rgb) / 82%),rgb(var(--image-overlay-rgb) / 64%)),url(/modalidade-jiu-jitsu.webp)}.benefit-card[data-art=plain] .benefit-card-heading{background-image:linear-gradient(120deg,color-mix(in srgb,var(--green) 17%,var(--surface)),var(--surface));color:var(--text)}.benefit-card[data-art=plain] .benefit-card-heading>div>span{color:var(--green)}.benefit-config-button{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border:1px solid #ffffff55;border-radius:10px;background:rgb(var(--image-overlay-rgb) / 47%);color:#fff;cursor:pointer}.benefit-card[data-art=plain] .benefit-config-button{border-color:var(--line);background:var(--surface);color:var(--green)}.benefit-config-button:hover{background:color-mix(in srgb,var(--green) 20%,transparent)}.benefit-card-body{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px}.benefit-card-body .student-identity{min-width:0}.benefit-card-body .student-identity-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.benefit-card-value{display:grid;justify-items:end;gap:4px;text-align:right}.benefit-card-value>span{color:var(--muted);font-size:10px}.benefit-card-value>strong{font-size:13px}.benefit-card-meta{display:flex;grid-column:1 / -1;align-items:center;gap:8px;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.benefit-card-reason{grid-column:1 / -1;margin:-4px 0 0;color:var(--muted);font-size:11px;line-height:1.4}.benefit-status{display:inline-flex;align-items:center;min-height:23px;padding:3px 8px;border:1px solid color-mix(in srgb,var(--green) 35%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--green);font-size:10px;font-weight:700}.benefit-status.encerrado{border-color:var(--line);background:var(--subtle);color:var(--muted)}.benefit-status.programado{border-color:color-mix(in srgb,var(--accent-primary) 35%,transparent);background:color-mix(in srgb,var(--accent-primary) 10%,transparent);color:var(--green)}.benefit-create-button{display:inline-flex;width:auto;align-items:center;justify-content:center;gap:7px;margin:14px 0}.benefit-create-button svg{flex:0 0 auto}.benefit-modal{width:min(100%,560px)}.benefit-modal .form{margin-bottom:0}.benefit-art-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.benefit-art-option{position:relative;min-width:0;min-height:62px;overflow:hidden;border:1px solid var(--management-border);border-radius:9px;cursor:pointer}.benefit-art-option input{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.benefit-art-option>span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:4px;background-position:center;background-size:cover;background-color:var(--subtle);color:#fff;font-size:10px;font-weight:700;text-align:center;text-shadow:0 1px 4px #000}.benefit-art-option[data-art=taekwondo]>span{background-image:linear-gradient(rgb(var(--image-overlay-rgb) / 66%),rgb(var(--image-overlay-rgb) / 66%)),url(/modalidade-taekwondo.webp)}.benefit-art-option[data-art=boxe]>span{background-image:linear-gradient(rgb(var(--image-overlay-rgb) / 66%),rgb(var(--image-overlay-rgb) / 66%)),url(/modalidade-boxe.webp)}.benefit-art-option[data-art=jiu-jitsu]>span{background-image:linear-gradient(rgb(var(--image-overlay-rgb) / 66%),rgb(var(--image-overlay-rgb) / 66%)),url(/modalidade-jiu-jitsu.webp)}.benefit-art-option[data-art=plain]>span{background:color-mix(in srgb,var(--green) 38%,var(--surface));color:var(--text);text-shadow:none}.benefit-art-option:has(input:checked){border-color:var(--green);box-shadow:0 0 0 2px var(--green)}.benefit-art-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.benefit-art-help{display:block;margin-top:6px;color:var(--muted);font-size:10px;line-height:1.4}@media(max-width:430px){.benefit-art-options{grid-template-columns:repeat(3,minmax(0,1fr))}}.group-schedule-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 14px 4px;color:var(--muted);font-size:12px}.group-day-summary{flex:1 1 140px}.group-time-summary{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-weight:700}.group-time-summary svg,.group-schedule-toggle svg:first-child{color:var(--green)}.group-teacher-summary{flex:1 1 100%;font-size:11px}.group-schedule-toggle{display:flex;width:calc(100% - 28px);min-height:42px;align-items:center;gap:9px;margin:8px 14px 12px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--text);font-size:12px;text-align:left}.group-schedule-toggle span{flex:1}.group-schedule-toggle .expanded,.group-day-trigger .expanded{transform:rotate(180deg)}.group-schedule-toggle svg:last-child,.group-day-trigger svg{transition:transform .15s ease}.group-schedule-toggle+.form{padding-top:0}.group-day-field{position:relative}.group-day-label{font-weight:600}.group-day-picker{position:relative}.group-day-trigger{display:flex;width:100%;min-height:46px;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--text);font-size:14px;font-weight:400;text-align:left}.group-day-trigger span{flex:1}.group-day-options{display:grid;gap:9px;padding:11px;margin-top:7px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.group-day-options>.permission-tag{justify-self:start}.group-day-options .permission-tags{padding:0}.group-day-options .permission-tag input{position:absolute;width:1px;height:1px;opacity:0}.group-day-options .permission-tag:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.lesson-card>div:last-child{flex:1;min-width:0}.lesson-time{padding-right:14px;border-right:1px solid var(--line);min-width:62px}.lesson-time strong{font:700 17px Manrope,sans-serif}.lesson-time small{margin-top:6px}.lesson-card h3{margin:7px 0}.modality-list{display:grid;gap:14px;margin:18px 0 28px}.modality-card{position:relative;overflow:hidden;border-radius:18px;background:var(--surface);border:1px solid var(--line)}.modality-card-summary{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);align-items:center;gap:12px 16px;padding:16px 48px 14px 18px;background:var(--hero);color:var(--hero-ink);cursor:pointer;list-style:none}.modality-card-summary[data-art=taekwondo]{background-image:linear-gradient(90deg,rgb(var(--image-overlay-rgb) / 88%),rgb(var(--image-overlay-rgb) / 78%) 52%,rgb(var(--image-overlay-rgb) / 72%)),url(/modalidade-taekwondo.webp);background-position:center;background-size:cover}.modality-card-summary[data-art=boxe]{background-image:linear-gradient(90deg,rgb(var(--image-overlay-rgb) / 84%),rgb(var(--image-overlay-rgb) / 76%) 52%,rgb(var(--image-overlay-rgb) / 70%)),url(/modalidade-boxe.webp);background-position:center;background-size:cover}.modality-card-summary[data-art=jiu-jitsu]{background-image:linear-gradient(90deg,rgb(var(--image-overlay-rgb) / 84%),rgb(var(--image-overlay-rgb) / 76%) 52%,rgb(var(--image-overlay-rgb) / 70%)),url(/modalidade-jiu-jitsu.webp);background-position:center;background-size:cover}.modality-card-summary::-webkit-details-marker{display:none}.modality-card-summary:focus-visible{outline:2px solid var(--hero-accent);outline-offset:-4px}.modality-card-heading h2{margin:0;color:inherit;font:700 20px Manrope,sans-serif}.modality-card-heading p{margin:5px 0 0;color:var(--hero-muted);font-size:12px}.modality-card-metrics{display:grid;grid-template-columns:1.1fr .7fr 1fr;min-width:0}.modality-card-metrics>div{min-width:0;padding:0 9px}.modality-card-metrics>div:first-child{padding-left:0}.modality-card-metrics strong,.modality-card-metrics span{display:block}.modality-card-metrics strong{overflow-wrap:anywhere;font:700 16px Manrope,sans-serif}.modality-card-metrics span,.modality-card-grades>span{display:block;margin-top:0;color:var(--hero-accent);font-size:10px}.modality-card-grades{grid-column:1 / -1;padding-top:8px;border-top:1px solid #ffffff30}.modality-card-grades>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.modality-card-grades>div>span{padding:4px 8px;border:1px solid #ffffff38;border-radius:999px;background:#ffffff12;color:var(--hero-ink);font-size:10px}.modality-card-grades em{color:var(--hero-muted);font-size:11px}.modality-card-settings{position:absolute;z-index:1;top:10px;right:10px;display:grid;place-items:center;width:32px;min-height:32px;padding:0;border:1px solid #ffffff38;border-radius:10px;background:#ffffff12;color:var(--hero-ink)}.modality-card-settings:hover{background:#ffffff28}.graduation-belt-icon{display:inline-grid;flex:0 0 28px;place-items:center;width:28px;height:20px;border:1px solid var(--management-border);border-radius:5px;background:var(--surface);vertical-align:middle}.graduation-belt-icon i{display:block;width:22px;height:6px;border:1px solid #0004;border-radius:3px;box-shadow:0 1px 2px #0003}.graduation-glove-icon{display:inline-grid;flex:0 0 28px;place-items:center;width:28px;height:24px;font-size:19px;line-height:1}.graduation-current-row{display:flex;align-items:center;gap:9px}.graduation-timeline{position:relative;display:grid;gap:0;margin:10px 0 22px}.graduation-timeline:before{position:absolute;content:"";width:2px;top:16px;bottom:16px;left:15px;background:var(--line)}.graduation-timeline-item{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:10px;padding:5px 0 14px}.graduation-timeline-edit{display:inline-flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border:1px solid var(--line);border-radius:9px;color:var(--green)}.graduation-corrections{display:grid;gap:5px;margin:0 0 18px 42px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.graduation-corrections>strong{font-size:11px}.graduation-timeline-mark{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:var(--surface)}.graduation-timeline-item>div{min-width:0;padding-top:1px}.graduation-timeline-item strong{display:block;font-size:13px}.graduation-timeline-item small{margin-top:3px;line-height:1.5}.graduation-timeline-item.dojo-entry .graduation-timeline-mark{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}.graduation-timeline-item.dojo-entry strong{color:var(--green)}.graduation-card{margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.graduation-card-title{display:flex;align-items:center;gap:10px}.graduation-card-title>div{flex:1;min-width:0}.graduation-card-title h3{margin:0;font-size:15px}.graduation-card-title p{margin:2px 0 0;color:var(--muted);font-size:11px}.graduation-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;color:var(--subtle-text);font-size:11px}.graduation-requirements{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}.graduation-requirements>div{padding:10px;border-radius:10px;background:var(--subtle)}.graduation-requirements strong,.graduation-requirements p{display:block;margin:0}.graduation-requirements strong{font-size:11px}.graduation-requirements p{margin-top:4px;color:var(--muted);font-size:11px}.graduation-add-button{display:inline-flex;align-items:center;gap:7px}.graduation-dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.graduation-icon-preview{display:flex;align-items:center;gap:9px;margin-bottom:14px;color:var(--muted);font-size:11px}.graduation-icon-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.graduation-icon-option{position:relative;display:flex;min-width:0;min-height:50px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px 2px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);cursor:pointer}.graduation-icon-option>span:last-child{font-size:9px;line-height:1.1;text-align:center}.graduation-icon-option input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.graduation-icon-option:has(input:checked){border-color:var(--green);background:var(--subtle);box-shadow:inset 0 0 0 1px var(--green)}.graduation-icon-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:1px}.graduation-icon-more{display:flex;min-width:0;min-height:50px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px;border:1px dashed var(--management-border);border-radius:9px;background:var(--subtle);color:var(--green)}.graduation-icon-more span{font-size:9px}.modality-card-grades>div>span{display:inline-flex;align-items:center;gap:5px}.modality-card-grades .graduation-belt-icon{flex-basis:22px;width:22px;height:16px;border:0;background:transparent}.modality-card-grades .graduation-belt-icon i{width:19px;height:5px}.modality-card-grades .graduation-glove-icon{flex-basis:20px;width:20px;height:18px;font-size:15px}.modality-card-edit{padding:16px;background:var(--surface)}.modality-create-button{display:inline-flex;align-items:center;gap:8px;margin:8px 0 4px}.modality-modal-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:#050b08b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modality-modal{width:min(100%,540px);max-height:min(90dvh,760px);overflow-y:auto;margin:0;padding:20px;border:1px solid var(--management-border);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:0 24px 70px #0008}.modality-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.modality-modal-header .eyebrow{color:var(--eyebrow);font-size:10px;letter-spacing:.08em}.modality-modal-header h2{margin:2px 0 0;color:var(--text);font:700 21px Manrope,sans-serif}.modality-art-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.modality-art-option{position:relative;min-width:0;min-height:62px;overflow:hidden;border:1px solid var(--management-border);border-radius:10px;cursor:pointer}.modality-art-option input{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.modality-art-option>span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:5px;background-position:center;background-size:cover;color:#fff;font-size:10px;font-weight:700;text-align:center;text-shadow:0 1px 4px #000}.modality-art-option[data-art=auto]>span{background-image:linear-gradient(rgb(var(--image-overlay-rgb) / 66%),rgb(var(--image-overlay-rgb) / 66%)),url(/modalidade-taekwondo.webp)}.modality-art-option[data-art=taekwondo]>span{background-image:linear-gradient(rgb(var(--image-overlay-rgb) / 66%),rgb(var(--image-overlay-rgb) / 66%)),url(/modalidade-taekwondo.webp)}.modality-art-option[data-art=boxe]>span{background-image:linear-gradient(rgb(var(--image-overlay-rgb) / 66%),rgb(var(--image-overlay-rgb) / 66%)),url(/modalidade-boxe.webp)}.modality-art-option[data-art=jiu-jitsu]>span{background-image:linear-gradient(rgb(var(--image-overlay-rgb) / 66%),rgb(var(--image-overlay-rgb) / 66%)),url(/modalidade-jiu-jitsu.webp)}.modality-art-option:has(input:checked){border-color:var(--green);box-shadow:0 0 0 2px var(--green)}.modality-art-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}@media(max-width:400px){.modality-card-summary{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);gap:10px 8px;padding-left:13px}.modality-card-metrics>div{padding-inline:5px}.modality-card-metrics strong{font-size:14px}.modality-card-metrics span{font-size:9px}}.lesson-card p{font-size:11px;margin:6px 0 12px}.attendance-row{border-bottom:1px solid var(--line);padding:17px 0 5px}.charge-card{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);color:inherit}.charge-card>div:first-child{flex:1;min-width:0}.charge-card>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:40%}.finance-hero h2{margin-top:12px}.finance-hero p{margin:10px 0 0}.shop-banner{background:var(--shop);padding:26px 23px;border-radius:18px;position:relative;overflow:hidden;margin-bottom:25px}.shop-banner h2{font-size:28px;line-height:1.2;margin:18px 0 12px}.shop-banner p{font-size:11px;margin-bottom:0}.shop-decoration{position:absolute;right:18px;top:55px;font-size:100px;color:var(--decoration);opacity:.6}.shop-admin-layout{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:start;gap:16px;margin:16px 0 28px}.shop-admin-layout.expanded{grid-template-columns:190px minmax(0,1fr)}.shop-admin-sidebar{position:sticky;top:12px;display:grid;gap:4px;justify-items:center}.shop-admin-sidebar button{display:flex;align-items:center;justify-content:center;gap:10px;width:46px;min-height:46px;padding:8px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.shop-admin-sidebar button.selected{border-color:color-mix(in srgb,var(--green) 24%,var(--line));background:var(--subtle);color:var(--text)}.shop-admin-sidebar .shop-admin-sidebar-toggle{margin-bottom:5px;border-color:var(--line);background:var(--surface);color:var(--subtle-text)}.shop-admin-sidebar button>svg{flex:0 0 auto}.shop-admin-sidebar button>span{display:none;min-width:0;font-size:11px;font-weight:600}.shop-admin-layout.expanded .shop-admin-sidebar{justify-items:stretch}.shop-admin-layout.expanded .shop-admin-sidebar button{justify-content:flex-start;width:100%;padding:9px 10px}.shop-admin-layout.expanded .shop-admin-sidebar button>span{display:block}.shop-admin-panel{min-width:0;container-type:inline-size}.shop-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px;margin:14px 0}.shop-metrics article{display:grid;gap:8px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.shop-metrics article>span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.shop-metrics article>span svg{color:var(--green)}.shop-metrics article>strong{font-size:21px;line-height:1.1}.shop-metrics article>small{color:var(--muted);font-size:10px}.shop-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px}.shop-dashboard-grid>section{min-width:0;margin:0}.shop-top-product{display:grid;grid-template-columns:24px 42px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)}.shop-top-product:last-of-type{border-bottom:0}.shop-top-product>span{color:var(--muted);font-size:10px}.shop-top-product>img{width:42px;height:42px;object-fit:cover;border-radius:8px;background:var(--subtle)}.shop-top-product>.product-image-placeholder{width:42px;min-height:42px;height:42px;padding:0;border-radius:8px;font-size:22px}.shop-top-product>div,.shop-recent-order>span{display:grid;gap:3px;min-width:0;text-align:left}.shop-top-product strong,.shop-recent-order strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.shop-top-product small,.shop-recent-order small{color:var(--muted);font-size:10px}.shop-top-product>b,.shop-recent-order>b{font-size:11px;white-space:nowrap}.shop-recent-order{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.shop-text-link{width:auto;margin-top:10px;padding:0;border:0;background:transparent;color:var(--green);font-size:11px;font-weight:700;cursor:pointer}.shop-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.shop-section-heading h2{margin:0;font-size:18px}.shop-section-heading p{margin:4px 0 0;color:var(--muted);font-size:11px}.shop-section-heading .button{display:inline-flex;width:auto;align-items:center;gap:6px;margin:0;white-space:nowrap}.shop-order-card{container-type:inline-size;min-width:0;margin:10px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.shop-order-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.shop-order-main>div{display:grid;gap:4px;min-width:0}.shop-order-main>div strong{font-size:13px}.shop-order-main>div small{color:var(--muted);font-size:11px}.shop-order-main>b{white-space:nowrap;font-size:13px}.shop-order-card .badges{margin:8px 0}.shop-order-actions{display:flex;flex-wrap:wrap;gap:7px}.shop-order-actions>button{width:auto;min-height:34px;margin:0;padding:7px 10px;font-size:10px}.shop-order-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:10px 0 14px}.shop-order-heading h2{margin:0;font-size:18px}.shop-order-heading p{margin:4px 0 0;color:var(--muted);font-size:11px}.shop-order-create{flex:0 0 auto}.shop-order-create>summary{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:7px 11px;border:1px solid var(--green);border-radius:9px;background:var(--primary);color:var(--on-primary);font-size:11px;font-weight:700;list-style:none;cursor:pointer}.shop-order-create>summary::-webkit-details-marker{display:none}.shop-order-create[open]{position:relative;z-index:2}.shop-order-create[open]>.form{position:absolute;top:44px;right:0;width:min(310px,calc(100vw - 90px));margin:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 12px 30px #0003}.shop-order-create[open]>.empty{position:absolute;top:44px;right:0;width:min(310px,calc(100vw - 90px));margin:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 12px 30px #0003}.shop-order-toolbar{gap:9px;margin:12px 0 14px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.shop-order-toolbar .history-search input{min-height:40px;border:0;border-radius:8px;background:var(--subtle)}.shop-order-toolbar .compact-filter-actions{margin:0}.shop-order-toolbar .filter-tags{margin:0 -10px;padding:8px 10px 0}.shop-order-categories{padding-top:5px}.shop-order-event{padding:12px}.shop-order-code{color:var(--muted);font-size:10px}.shop-order-tags{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.shop-order-tags>span{display:inline-flex;align-items:center;min-height:23px;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:var(--subtle);color:var(--muted);font-size:9px;font-weight:600}.shop-order-tags>.shop-order-payment-tag{border-color:#58c99555;background:#58c99518;color:#58c995}.shop-order-tags>.shop-order-delivery-tag{border-color:#38bdf855;background:#38bdf818;color:#38bdf8}.shop-order-feed .shop-order-actions{margin-top:9px}.shop-inventory-row{min-width:0;margin:8px 0;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.shop-inventory-main{display:grid;grid-template-columns:88px minmax(120px,1.5fr) repeat(3,minmax(72px,.7fr)) auto auto;align-items:center;gap:10px}.shop-inventory-main>img{width:88px;height:88px;object-fit:cover;border-radius:10px;background:var(--subtle)}.shop-inventory-main>.product-image-placeholder{width:88px;min-height:88px;height:88px;padding:0;border-radius:10px;font-size:32px}.shop-inventory-name{display:grid;gap:4px;min-width:0}.shop-inventory-name>strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.shop-inventory-name>small,.shop-inventory-cell>small{color:var(--muted);font-size:10px}.shop-inventory-cell{display:grid;gap:4px;min-width:0}.shop-inventory-cell>strong{font-size:11px;white-space:nowrap}.shop-inventory-compact-meta{display:none}.shop-inventory-edit{font-size:11px;white-space:nowrap}.shop-inventory-details{margin:10px 0 0 56px;border-top:1px solid var(--line)}.shop-inventory-details summary{padding:10px 0 2px;color:var(--green);font-size:10px;font-weight:600;cursor:pointer;list-style:none}.shop-inventory-details summary::-webkit-details-marker{display:none}.shop-inventory-details summary:before{content:"+";display:inline-grid;width:17px;height:17px;margin-right:6px;place-items:center;border:1px solid var(--line);border-radius:50%}.shop-inventory-details[open] summary:before{content:"−"}.shop-inventory-variants{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:7px;margin:12px 0}.shop-inventory-variants>div{display:grid;gap:4px;padding:9px;border-radius:8px;background:var(--subtle)}.shop-inventory-variants span{color:var(--muted);font-size:10px}.shop-inventory-variants strong{font-size:12px}.shop-inventory-variants small{color:var(--green);font-size:10px}.shop-inventory-row .form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:8px;margin-bottom:0}.shop-inventory-row .field{margin:0}.shop-inventory-row .field input,.shop-inventory-row .field select{min-height:40px;font-size:12px}.shop-inventory-row .form>button{width:auto;min-height:40px;margin:0;white-space:nowrap}@container (max-width: 780px){.shop-inventory-main{grid-template-columns:72px minmax(0,1fr) auto auto}.shop-inventory-main>img,.shop-inventory-main>.product-image-placeholder{width:72px;height:72px;min-height:72px}.shop-inventory-cell{display:none}.shop-inventory-compact-meta{display:block}.shop-inventory-details{margin-left:0}.shop-inventory-row .form{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-inventory-row .form>button{grid-column:1 / -1;width:100%}}@container (max-width: 640px){.shop-admin-layout.expanded{grid-template-columns:minmax(0,1fr)}.shop-admin-layout.expanded .shop-admin-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch}.shop-admin-layout.expanded .shop-admin-sidebar .shop-admin-sidebar-toggle{grid-column:1 / -1}.shop-admin-layout.expanded .shop-admin-sidebar button{width:100%}.report-layout.expanded .report-sidebar{grid-template-columns:repeat(3,minmax(0,1fr))}}.shop-example-label{display:inline-flex;flex:0 0 auto;align-items:center;min-height:25px;padding:4px 9px;border:1px solid color-mix(in srgb,var(--green) 28%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--green) 10%,var(--surface));color:var(--green);font-size:10px;font-weight:700}.shop-review-summary,.shop-promotion-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.shop-review-summary>article,.shop-promotion-summary>article{display:grid;align-content:center;gap:5px;min-width:0;min-height:76px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.shop-review-summary>article>span,.shop-promotion-summary>article>span,.shop-review-summary>article>small{color:var(--muted);font-size:11px}.shop-review-summary>article>strong,.shop-promotion-summary>article>strong{font-size:20px;line-height:1}.shop-review-summary>.shop-review-average{grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.shop-review-average>span,.shop-review-average>small{grid-column:1 / -1}.shop-review-average>strong{grid-row:2;grid-column:1;font-size:25px!important;white-space:nowrap}.shop-review-stars{display:inline-flex;align-items:center;gap:2px;color:#f5bd4f}.shop-review-average .shop-review-stars{grid-row:2;grid-column:2}.shop-review-average>small{grid-row:3}.shop-review-list{display:grid;gap:8px;margin-top:12px}.shop-review-card{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.shop-review-avatar{display:grid;width:36px;height:36px;place-items:center;border:1px solid color-mix(in srgb,var(--green) 30%,var(--line));border-radius:50%;background:var(--subtle);color:var(--green);font-size:12px;font-weight:700}.shop-review-content{min-width:0}.shop-review-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.shop-review-top>div:first-child{display:grid;gap:3px}.shop-review-top strong{font-size:12px}.shop-review-top small,.shop-review-product{color:var(--muted);font-size:10px}.shop-review-product{display:block;margin-top:8px;color:var(--green);font-weight:600}.shop-review-content h3{margin:5px 0 3px;font-size:12px}.shop-review-content p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.shop-example-disclaimer{margin:10px 2px;color:var(--muted);font-size:10px;line-height:1.45}.shop-promotion-summary>article:first-child{background:color-mix(in srgb,var(--green) 9%,var(--surface))}.shop-promotion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:14px;margin:12px 0}.shop-promotion-card{overflow:hidden;min-width:0;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:0 8px 24px #0000001a}.shop-promotion-banner{display:flex;min-height:82px;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;background:linear-gradient(115deg,color-mix(in srgb,var(--accent-primary) 24%,var(--surface)),color-mix(in srgb,var(--accent-secondary) 14%,var(--surface)));color:var(--text)}.shop-promotion-card.status-ended .shop-promotion-banner,.shop-promotion-card.status-inactive .shop-promotion-banner{background:linear-gradient(115deg,color-mix(in srgb,var(--muted) 16%,var(--surface)),var(--subtle))}.shop-promotion-state{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:12px;font-weight:700}.shop-promotion-card.status-ended .shop-promotion-state,.shop-promotion-card.status-inactive .shop-promotion-state{color:var(--muted)}.shop-promotion-banner>strong{display:grid;justify-items:end;gap:0;color:var(--green);line-height:1}.shop-promotion-banner>strong>span{font-size:clamp(25px,7vw,34px);font-weight:800}.shop-promotion-banner>strong small{margin-top:4px;color:var(--muted);font-size:10px;letter-spacing:.08em}.shop-promotion-content{display:grid;gap:12px;padding:16px 18px 18px}.shop-promotion-content>h3{margin:0;color:var(--text);font-size:18px;line-height:1.3;overflow-wrap:anywhere}.shop-promotion-products{margin:0;color:var(--muted);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.shop-promotion-code{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface) 72%,var(--paper))}.shop-promotion-code>span,.shop-promotion-dates>div>span,.shop-promotion-usage>div:first-child>span{color:var(--muted);font-size:12px}.shop-promotion-code>strong{max-width:70%;overflow:hidden;padding:5px 9px;border:1px dashed color-mix(in srgb,var(--accent-primary) 50%,var(--line));border-radius:7px;color:var(--green);font-size:12px;letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap}.shop-promotion-dates{display:flex;align-items:center;justify-content:flex-start;gap:11px;padding:10px 2px;border-top:1px solid var(--line);color:var(--green)}.shop-promotion-dates svg{flex:0 0 auto}.shop-promotion-dates>div{display:grid;gap:3px}.shop-promotion-dates>div>strong{color:var(--text);font-size:13px;line-height:1.4;overflow-wrap:anywhere}.shop-promotion-usage{display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.shop-promotion-usage>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.shop-promotion-usage>div:first-child>strong{color:var(--text);font-size:13px}.shop-promotion-progress{height:7px;overflow:hidden;border-radius:999px;background:var(--subtle)}.shop-promotion-progress>span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.shop-promotion-toggle,.shop-promotion-create-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.shop-promotion-toggle{width:100%;min-height:42px;background:transparent;border-color:var(--border);color:var(--green)}.shop-promotion-create-button{width:auto;min-height:40px;padding:9px 13px;white-space:nowrap}.shop-promotion-backdrop{z-index:120}.shop-promotion-modal{width:min(100%,600px)}.shop-promotion-modal .form{margin-bottom:0}.shop-promo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shop-promo-value-input,.shop-promo-date-input,.shop-promo-product-search{display:flex;align-items:center;gap:9px;min-width:0;min-height:46px;padding:0 12px;border:1px solid var(--input-border);border-radius:11px;background:var(--surface);color:var(--muted)}.shop-promo-value-input:focus-within,.shop-promo-date-input:focus-within,.shop-promo-product-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.shop-promo-value-input input,.shop-promo-date-input input,.shop-promo-product-search input{width:100%;min-width:0;min-height:42px;padding:7px 0;border:0;outline:0;background:transparent;color:var(--text)}.shop-promo-value-input input:focus-visible,.shop-promo-date-input input:focus-visible,.shop-promo-product-search input:focus-visible{outline:0}.shop-promo-value-input>span{display:grid;min-width:28px;min-height:28px;place-items:center;border-radius:8px;background:var(--subtle);color:var(--green);font-size:12px;font-weight:700}.shop-promo-value-input[data-type=fixed]>span{order:-1}.shop-promo-date-input{gap:8px}.shop-promo-date-input svg{flex:0 0 auto;color:var(--green)}.shop-promo-date-input input{color-scheme:light dark}.shop-promo-product-field{display:grid;gap:8px}.shop-promo-product-search{min-height:40px;background:var(--paper)}.shop-promo-product-search input{min-height:38px;font-size:13px}.shop-promo-product-list{display:grid;max-height:220px;gap:6px;overflow:auto;padding:2px}.shop-promo-product-option{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}.shop-promo-product-option.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.shop-promo-product-option>input{position:absolute;width:1px;height:1px;opacity:0}.shop-promo-product-check{display:grid;width:19px;height:19px;place-items:center;border:1px solid var(--border);border-radius:6px;color:var(--on-primary)}.shop-promo-product-option.selected .shop-promo-product-check{border-color:var(--primary);background:var(--primary)}.shop-promo-product-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.shop-promo-product-option-text{display:grid;min-width:0;gap:2px}.shop-promo-product-option-text strong{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.shop-promo-product-option-text small,.shop-promo-product-field>small{color:var(--muted);font-size:11px}.shop-promo-no-products{margin:8px}@media(max-width:390px){.shop-promo-form-grid{grid-template-columns:minmax(0,1fr);gap:0}.shop-section-heading:has(.shop-promotion-create-button){align-items:flex-start}}@container (max-width: 500px){.shop-review-summary>.shop-review-average{grid-column:1 / -1;grid-template-columns:max-content max-content minmax(0,1fr);column-gap:12px}.shop-review-average>span,.shop-review-average>small{grid-column:1 / -1}.shop-review-average>strong,.shop-review-average .shop-review-stars{grid-row:2}.shop-review-average>small{grid-row:3}.shop-promotion-grid{grid-template-columns:minmax(0,1fr)}.shop-review-summary>article,.shop-promotion-summary>article{padding:9px}.shop-review-top{flex-wrap:wrap}}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px;margin:25px 0}.product{min-width:0;color:inherit}.product img{width:100%;aspect-ratio:1/1.03;object-fit:cover;border-radius:12px;margin-bottom:12px}.product .eyebrow{font-size:8px}.product h3{font-size:13px;margin:6px 0}.product strong{font-size:13px}.product small{margin-top:5px;font-size:10px}.product-detail-image{width:100%;border-radius:16px;margin-bottom:20px}.product-image-placeholder{display:grid;place-items:center;min-height:150px;border:1px solid var(--line);border-radius:14px;background:var(--subtle);color:var(--green);font-size:42px}.product-photo-field{display:grid;grid-template-columns:minmax(140px,200px) minmax(0,1fr);align-items:center;gap:16px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--subtle)}.product-photo-preview{display:grid;width:100%;aspect-ratio:1;overflow:hidden;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--green);font-size:42px}.product-photo-preview img{width:100%;height:100%;object-fit:cover}.product-photo-controls{display:grid;gap:8px;min-width:0}.product-photo-controls input[type=file]{min-height:44px;padding:7px;font-size:12px}.product-photo-controls small{color:var(--muted);font-weight:400}.price{font-size:24px;font-weight:700;color:var(--green)}.profile-card{text-align:center;padding:22px 0}.profile-card h2{margin:15px 0 12px}.login{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;padding:36px 28px 44px;overflow:hidden}.login:before{content:"";position:absolute;z-index:-1;top:-100px;left:-18%;width:136%;height:430px;pointer-events:none;background:radial-gradient(ellipse at 28% 42%,color-mix(in srgb,var(--accent-primary) 18%,transparent),transparent 54%),radial-gradient(ellipse at 78% 15%,color-mix(in srgb,var(--accent-tertiary) 12%,transparent),transparent 52%)}.login-intro{margin:42px 0 24px}.login-intro h1{font-size:34px;font-weight:800;line-height:1.15;letter-spacing:-1.1px;margin:12px 0 10px}.login-intro p{color:var(--body-text);font-size:14px;max-width:330px;margin:0}.login-form-card{padding:22px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 18px 44px color-mix(in srgb,var(--text) 8%,transparent)}.login-form-heading h2{margin:0;font-size:19px;letter-spacing:-.3px}.login-form-heading p{margin:5px 0 20px;color:var(--muted);font-size:12px}.login-field{display:grid;gap:7px;margin:16px 0}.login-field>label{font-size:12px;font-weight:700;color:var(--text)}.login-input-wrap{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 12px;border:1px solid var(--input-border);border-radius:12px;background:var(--paper);color:var(--muted);transition:border-color .15s,box-shadow .15s}.login-input-wrap:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 15%,transparent)}.login-input-wrap>svg{flex:0 0 auto}.login-input-wrap input{width:100%;min-width:0;height:46px;padding:0;border:0;outline:0;background:transparent;color:var(--text);font-size:14px}.login-input-wrap input::placeholder{color:var(--muted);opacity:.8}.login-input-wrap input:focus-visible{outline:0}.login-reveal{display:inline-flex;flex:0 0 34px;align-items:center;justify-content:center;width:34px;min-height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted)}.login-reveal:hover{color:var(--green);background:var(--subtle)}.login-error{margin:14px 0;padding:11px 12px;border:1px solid color-mix(in srgb,var(--error-text) 28%,transparent);border-radius:10px;background:var(--error);color:var(--error-text);font-size:12px;line-height:1.45}.login-submit{width:100%;min-height:49px;justify-content:space-between;margin-top:21px;border-radius:12px}.login-spinner{animation:login-spin .8s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}.login-footnote{margin:16px 0 0;color:var(--muted);font-size:10px;text-align:center}.pwa-install-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin:10px 0;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--accent-secondary);font:inherit;font-weight:700;cursor:pointer}.pwa-install-button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.registration-page{justify-content:flex-start;overflow:visible;padding-bottom:calc(40px + env(safe-area-inset-bottom))}.registration-page .login-intro{margin-top:30px}.registration-card{margin-bottom:24px}.registration-plain-input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;color:var(--body-text);background:var(--surface);font:inherit}.registration-plain-input:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.registration-privacy{margin:20px 0 14px;padding:15px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 78%,var(--accent-primary) 4%)}.registration-privacy h3,.face-consent-panel h3{margin:0 0 8px;font-size:14px}.registration-privacy p{margin:8px 0 0;color:var(--body-text);font-size:12px;line-height:1.55}.registration-privacy .registration-demo-legal{padding-top:9px;border-top:1px solid var(--line);color:var(--muted)}.registration-check{align-items:flex-start;margin:12px 0;line-height:1.45}.registration-check input{margin-top:3px}.login-demo{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.login-demo>summary{display:flex;align-items:center;justify-content:space-between;min-height:34px;color:var(--green);font-size:12px;font-weight:700;cursor:pointer;list-style:none}.login-demo>summary::-webkit-details-marker{display:none}.login-demo>summary:after{content:"⌄";color:var(--muted);font-size:18px;transition:transform .15s}.login-demo[open]>summary:after{transform:rotate(180deg)}.login-demo>.muted{margin:8px 0 0;line-height:1.5}.login-demo .account-list{gap:8px;margin:14px 0}.login-demo .account{min-height:62px;padding:9px 11px}.login-demo .account strong{font-size:12px}.login-demo .account small{font-size:10px}.login-demo-button{width:100%;justify-content:space-between;min-height:44px}.login-demo .demo-note{margin:12px 0 0}.muted{color:var(--muted);font-size:12px}.account-list{display:flex;flex-direction:column;gap:10px;margin:22px 0}.account{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:12px;border-radius:13px;cursor:pointer;background:var(--surface)}.account.selected{border-color:var(--selected-border);background:var(--selected)}.account>span:nth-child(2){flex:1}.account strong{font-size:12px}.account small{font-size:10px;margin-top:4px}.account input{accent-color:var(--green);width:18px;height:18px}.demo-note{text-align:center;font-size:10px;margin-top:14px}.toast{position:fixed;bottom:calc(88px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:var(--toast);color:var(--toast-ink);padding:14px 18px;border-radius:12px;width:calc(100% - 36px);max-width:430px;z-index:100;box-shadow:0 4px 20px #0003;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;z-index:200;background:var(--surface);padding:12px}.skip-link:focus{top:0}.app-shell main>button,.app-shell main>.button{width:100%;margin:12px 0}@media(max-width:360px){main#main-content{padding-inline:16px}.login{padding-inline:20px}.greeting{font-size:32px}.stats strong{font-size:18px}.hero{padding:20px}.demo-bar{font-size:8px}.bottom-nav a{min-width:45px}.charge-card{gap:7px}.page-title h1{font-size:22px}.shop-decoration{right:5px;opacity:.3}}@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,border-color .15s}button:hover,.button:hover{filter:brightness(.96)}}.notice.highlighted{border-left:3px solid var(--highlight)}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}.agenda-schedule{margin-top:25px!important}@media(max-width:640px){.lesson-create-grid,.lesson-planner-controls,.lesson-planning-card{grid-template-columns:minmax(0,1fr)}.lesson-week-nav{flex-wrap:wrap}.lesson-week-nav>div{flex:1}.lesson-planning-date{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--line)}.lesson-planner-actions>.button{flex:1 1 100%}}@container (max-width: 680px){.lesson-create-grid,.lesson-planner-controls,.lesson-planning-card{grid-template-columns:minmax(0,1fr)}.lesson-week-nav{justify-content:center}.lesson-week-nav>div{flex:1 1 100%}.lesson-planning-date{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--line)}}.quick-arrow{color:var(--muted);font-size:25px}.student-avatar{display:inline-flex;width:44px;height:44px;flex:0 0 44px;overflow:hidden;border-radius:50%}.student-avatar svg{width:100%;height:100%}.student-avatar img{width:100%;height:100%;object-fit:cover}.student-identity{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.student-identity-text{display:grid;gap:4px;min-width:0}.student-identity-text strong{font-size:13px}.student-identity-text small{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:0;color:var(--muted);font-size:11px;line-height:1.45}.student-identity-text small:has(.student-enrollment-detail){align-items:flex-start;flex-direction:column;gap:2px}.student-enrollment-detail{display:inline-flex;align-items:center;gap:5px}.student-enrollment-detail .graduation-belt-icon{flex-basis:22px;width:22px;height:16px}.student-enrollment-detail .graduation-belt-icon i{width:18px;height:5px}.student-enrollment-detail .graduation-glove-icon{flex-basis:20px;width:20px;height:18px;font-size:15px}.modality-grade-line{display:flex;align-items:center;gap:7px;margin:5px 0 10px;color:var(--muted);font-size:12px}.student-card{display:flex;align-items:center;gap:12px;min-height:72px;margin:10px 0;padding:13px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:14px}.student-search-control{position:relative}.student-search-control svg{position:absolute;top:50%;left:13px;transform:translateY(-50%);color:var(--muted);pointer-events:none}.field .student-search-control input{padding-left:40px}.attendance-row{margin:10px 0;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.attendance-row .field{margin-bottom:0}.lesson-participant-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));align-items:start;gap:9px;margin:14px 0}.lesson-participant-actions>button{display:inline-flex;width:100%;min-height:44px;align-items:center;justify-content:center;gap:8px;margin:0}.lesson-participant-actions>.form{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.lesson-participant-actions>.form>button{margin-top:10px}.lesson-participant-row[data-mark=present]{border-color:color-mix(in srgb,#4bbd8b 34%,var(--line));background:color-mix(in srgb,#4bbd8b 9%,var(--surface))}.lesson-participant-row[data-mark=absent]{border-color:color-mix(in srgb,#e76f70 40%,var(--line));background:color-mix(in srgb,#e76f70 11%,var(--surface))}.lesson-participant-row[data-mark=justified]{border-color:color-mix(in srgb,#9aa8b4 40%,var(--line));background:color-mix(in srgb,#9aa8b4 12%,var(--surface))}.lesson-participant-row[data-mark=unmarked]{border-color:color-mix(in srgb,#e3b75b 28%,var(--line));background:color-mix(in srgb,#e3b75b 7%,var(--surface))}.lesson-eligible-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0;padding:10px 12px;border-radius:10px}.lesson-eligible-row button{width:auto;min-height:36px;margin:0}.lesson-dialog-backdrop{z-index:120}.lesson-dialog{width:min(100%,500px)}.student-charge-card{margin:10px 0;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.student-charge-card .student-identity-text small{margin-top:0}.bottom-nav a{min-width:0;flex:1;white-space:nowrap}.bottom-nav a.active{padding-inline:7px}.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.more-card{display:flex;min-width:0;min-height:116px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text)}.more-card strong{margin-top:3px;font-size:12px;line-height:1.35}.more-card small{font-size:10px;line-height:1.4}.more-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;background:var(--subtle);color:var(--green)}.development-notice{display:flex;align-items:flex-start;gap:11px;margin:14px 0 18px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--accent-tertiary) 38%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--accent-tertiary) 9%,var(--surface));color:var(--text)}.development-notice-icon{display:grid;flex:0 0 32px;width:32px;height:32px;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--accent-tertiary) 17%,var(--surface));color:var(--accent-tertiary)}.development-notice strong{display:block;margin:0 0 2px;font-size:13px}.development-notice p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.more-card:focus-visible,.more-card:hover{border-color:var(--selected-border);text-decoration:none}.history-toolbar{display:grid;gap:12px;margin:16px 0 20px}.history-search{display:block}.history-search input{width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text)}.history-category-list{display:flex;flex-wrap:wrap;gap:7px}.history-category-list button{display:inline-flex;align-items:center;gap:7px;width:auto;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap}.history-category-list button[data-category]{border-color:color-mix(in srgb,var(--history-color) 30%,var(--line))}.history-category-list button[data-category]:hover,.history-category-list button[data-category].selected{background:color-mix(in srgb,var(--history-color) 13%,var(--surface));color:var(--history-color)}.history-category-list button.selected:not([data-category]){background:var(--selected);border-color:var(--selected-border);color:var(--green)}.history-category-list button span{display:inline-grid;min-width:19px;height:19px;place-items:center;padding:0 4px;border-radius:999px;background:color-mix(in srgb,var(--text) 8%,transparent);font-size:10px}.history-feed{display:grid;gap:9px}.history-pagination{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:14px;color:var(--muted);font-size:12px}.history-pagination span{margin-right:auto}.history-event{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 2px 7px #00000008}.history-event-icon{display:grid;width:38px;height:38px;place-items:center;border:1px solid color-mix(in srgb,var(--history-color) 30%,transparent);border-radius:11px;background:color-mix(in srgb,var(--history-color) 14%,var(--surface));color:var(--history-color)}.history-event-content{min-width:0}.history-event-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.history-event-category{color:var(--history-color);font-size:10px;font-weight:700;letter-spacing:.025em;text-transform:uppercase}.history-event-heading time{flex:0 0 auto;color:var(--muted);font-size:10px}.history-event h2{margin:3px 0 4px;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.history-event p{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;color:var(--muted);font-size:10px;line-height:1.4}.history-event p strong{color:var(--text);font-weight:600}.profile-showcase{position:relative;overflow:hidden;margin:18px 0 22px;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);text-align:left}.profile-cover{position:relative;height:190px;background-color:var(--subtle);background-image:linear-gradient(135deg,color-mix(in srgb,var(--green) 75%,#111),color-mix(in srgb,var(--focus) 58%,var(--green)));background-position:center;background-size:cover}.profile-showcase-body{position:relative;padding:0 18px 18px}.profile-avatar{display:grid;width:104px;height:104px;place-items:center;margin-top:-52px;border:4px solid var(--surface);border-radius:50%;background-color:var(--avatar);background-position:center;background-size:cover;color:var(--green);font-size:32px;font-weight:800;position:relative}.profile-identity{margin-top:7px}.profile-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.profile-name-row h2{margin:0;font-size:21px}.profile-menu{position:relative;margin-left:auto;flex:0 0 auto}.profile-menu-trigger{display:grid;width:36px;height:36px;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer}.profile-menu-trigger[aria-expanded=true],.profile-menu-trigger:hover{background:var(--subtle)}.profile-menu-popover{position:absolute;z-index:30;top:calc(100% + 7px);right:0;display:grid;min-width:190px;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 12px 32px #0003}.profile-menu-popover a{padding:9px 10px;border-radius:8px;color:var(--text);font-size:12px}.profile-menu-popover a:hover{background:var(--subtle)}.profile-role-row{margin-top:5px}.student-profile-showcase .profile-showcase-body{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;column-gap:0}.student-profile-showcase .profile-avatar,.student-profile-showcase .profile-identity,.student-profile-showcase .profile-public-details{grid-column:1}.student-profile-showcase .profile-stats{grid-column:1;grid-row:auto;width:100%;margin:16px 0 0}.student-profile-role-badge{position:absolute;z-index:2;top:14px;right:14px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--accent-primary) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--accent-secondary) 88%,transparent);color:var(--hero-accent);font-size:10px;font-weight:600}.student-profile-grades{display:flex;flex-wrap:wrap;min-width:0;margin-top:6px}.student-profile-grades>span{display:inline-flex;align-items:center;gap:5px;min-width:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--subtle-text);font-size:12px;line-height:1.4;overflow-wrap:anywhere;writing-mode:horizontal-tb}.student-profile-showcase .profile-name-row h2{min-width:0;overflow-wrap:anywhere;word-break:normal}.student-profile-showcase .profile-name-row{width:100%}.student-profile-showcase .profile-public-details>strong{color:var(--text);font-size:12px}.student-profile-showcase .profile-public-details p{max-width:68ch;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.student-profile-details-toggle{display:flex;justify-content:flex-end;margin:-8px 0 12px}.student-profile-details-toggle .button{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;min-height:38px;padding:8px 12px}.profile-public-details{display:grid;gap:4px;margin-top:12px;color:var(--muted);font-size:11px}.profile-public-details p{margin:0 0 3px;color:var(--body-text);font-size:12px}.profile-name-row .badge{font-size:10px}.profile-graduation-choice{display:flex;align-items:center;gap:6px;width:fit-content;max-width:100%;margin-top:7px;color:var(--subtle-text)}.profile-graduation-choice select{width:auto;max-width:240px;min-height:30px;padding:3px 25px 3px 8px;border:0;border-radius:7px;background:var(--subtle);color:var(--subtle-text);font-size:11px}.profile-graduation-text{display:block;width:fit-content;max-width:100%;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.profile-public-details>strong{color:var(--text);font-size:12px}.profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;padding-top:0;border-top:1px solid var(--line)}.profile-stats>div,.profile-stats>a{display:grid;align-content:center;justify-items:center;gap:3px;min-height:66px;padding:8px 5px;text-align:center}.profile-stats>*+*{border-left:1px solid var(--line)}.profile-stats>a{color:inherit;text-decoration:none}.profile-stats>a:hover{background:var(--subtle)}.profile-stats strong{font-size:20px;line-height:1.2}.profile-stats span{color:var(--muted);font-size:9px}.profile-settings-heading{display:flex;align-items:center;gap:12px;margin:10px 0 26px}.student-profile-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:-8px 0 24px}.student-profile-actions .button{width:auto;min-height:38px;padding:8px 12px}.ranking-highlight{display:grid;justify-items:center;gap:7px;margin:14px 0 18px;padding:22px 16px;border:1px solid color-mix(in srgb,var(--green) 40%,var(--line));border-radius:16px;background:linear-gradient(135deg,var(--subtle),var(--surface));text-align:center}.ranking-highlight>strong{font-size:21px}.ranking-highlight>span:last-child{color:var(--muted);font-size:12px}.ranking-list{display:grid;gap:8px}.ranking-row{display:grid;grid-template-columns:42px 44px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:68px;padding:10px 13px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--text);text-decoration:none}.ranking-row:hover{border-color:color-mix(in srgb,var(--green) 55%,var(--line));background:var(--subtle)}.ranking-position{color:var(--muted);font-size:13px;font-weight:700;text-align:center}.ranking-position.top-1{color:var(--accent-tertiary)}.ranking-position.top-2{color:#9aa8b2}.ranking-position.top-3{color:color-mix(in srgb,var(--accent-secondary) 62%,#a36540)}.ranking-avatar{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--avatar-border);border-radius:50%;background:var(--avatar);background-position:center;background-size:cover;color:var(--green);font-size:16px;font-weight:700}.ranking-person{display:grid;gap:4px;min-width:0}.ranking-person strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.ranking-person small{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.ranking-score{display:grid;justify-items:end;gap:2px}.ranking-score strong{font-size:17px}.ranking-score small{color:var(--muted);font-size:9px}.profile-settings-heading-avatar{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border:1px solid var(--avatar-border);border-radius:50%;background:var(--avatar);background-position:center;background-size:cover;color:var(--green);font-weight:700}.profile-settings-heading>div:nth-child(2){flex:1;min-width:0}.profile-settings-heading p{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0;color:var(--muted);font-size:15px}.profile-settings-heading p strong,.profile-settings-heading p b{color:var(--text)}.profile-settings-heading p span{color:var(--line)}.profile-settings-heading small{margin-top:3px}.profile-settings-heading>.button{width:auto;min-height:36px;padding:7px 10px;font-size:11px}.profile-settings-layout{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:18px;max-width:none;margin:0 auto 28px}.profile-settings-layout.expanded{grid-template-columns:224px minmax(0,1fr)}.profile-settings-nav{position:sticky;top:12px;display:grid;gap:3px;justify-items:center}.profile-settings-nav button{display:flex;align-items:center;justify-content:center;gap:9px;width:46px;min-height:46px;padding:8px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.profile-settings-nav button.selected{border-color:color-mix(in srgb,var(--green) 24%,var(--line));background:var(--subtle);color:var(--text)}.profile-settings-nav .profile-settings-nav-toggle{margin-bottom:5px;border-color:var(--line);background:var(--surface);color:var(--subtle-text)}.profile-settings-nav button>svg{flex:0 0 auto}.profile-settings-nav button span{display:none;gap:2px;min-width:0;text-align:left}.profile-settings-layout.expanded .profile-settings-nav{justify-items:stretch}.profile-settings-layout.expanded .profile-settings-nav button{justify-content:flex-start;width:100%;padding:9px 10px}.profile-settings-layout.expanded .profile-settings-nav button span{display:grid}.profile-settings-nav button strong{font-size:11px;font-weight:600}.profile-settings-nav button small{font-size:9px;line-height:1.3}.profile-settings-content{min-width:0}.profile-settings-panel{min-height:500px;padding:24px 28px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.profile-settings-panel>header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.profile-settings-panel>header h1{margin:0;font-size:20px}.profile-settings-panel>header p{margin:4px 0 0;color:var(--muted);font-size:11px}.profile-appearance-preferences{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.profile-appearance-preferences>header{margin-bottom:16px}.profile-appearance-preferences>header h2{margin:0;font-size:16px}.profile-appearance-preferences>header p{margin:4px 0 0;color:var(--muted);font-size:11px}.profile-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 24px}.profile-details-grid>div{display:grid;gap:4px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--subtle)}.profile-details-grid span,.profile-enrollment-meta{color:var(--muted);font-size:11px}.profile-details-grid strong{overflow-wrap:anywhere;color:var(--text);font-size:13px;font-weight:600}.profile-details-section-heading{display:flex;align-items:center;gap:8px;margin:0 0 10px}.profile-details-section-heading h2{margin:0;font-size:15px}.profile-details-section-heading>span{display:grid;min-width:22px;height:22px;padding:0 6px;place-items:center;border-radius:999px;background:var(--subtle);color:var(--muted);font-size:10px}.profile-enrollment-card{margin:0 0 9px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:var(--subtle)}.profile-enrollment-heading{display:flex;align-items:center;gap:9px;min-width:0}.profile-enrollment-heading>div{display:grid;flex:1;gap:3px;min-width:0}.profile-enrollment-heading>div strong{font-size:13px}.profile-enrollment-heading>div small{color:var(--muted);font-size:11px}.profile-enrollment-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:10px 0 0 34px}.profile-details-edit-link{width:auto;margin-top:10px}.profile-settings-panel .form{margin:0}.profile-upload-row{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:12px 0 4px}.profile-settings-photo{flex:0 0 78px;width:78px;height:78px;margin:0 6px 0 0;border-width:1px;font-size:25px}.profile-upload-row .button{width:auto;min-height:36px;margin:0;padding:7px 11px;font-size:10px}.profile-upload-row>small{flex-basis:100%;margin-left:92px}.profile-upload-button{position:relative;overflow:hidden;cursor:pointer}.profile-upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.profile-cover-preview{height:150px;margin:4px 0 14px;border:1px solid var(--line);border-radius:12px;background-color:var(--subtle);background-image:linear-gradient(135deg,color-mix(in srgb,var(--green) 75%,#111),color-mix(in srgb,var(--focus) 58%,var(--green)));background-position:center;background-size:cover}.profile-cover-controls>small{margin-left:0}.appearance-choice-group{min-width:0;margin:18px 0 22px;padding:0;border:0}.appearance-choice-group legend{margin-bottom:4px;color:var(--text);font-size:13px;font-weight:700}.appearance-choice-group>p{margin:0 0 10px;color:var(--muted);font-size:11px}.appearance-color-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.appearance-color-option{display:grid;min-width:0;min-height:72px;align-content:center;justify-items:center;gap:5px;padding:8px 4px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:11px}.appearance-color-option:hover,.appearance-style-option:hover{border-color:var(--accent-tertiary);background:var(--subtle)}.appearance-color-option.selected,.appearance-style-option.selected{border-color:var(--selected-border);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-tertiary) 20%,transparent);background:var(--selected)}.appearance-color-swatches{display:flex;align-items:center;flex:0 0 auto}.appearance-color-swatches i{width:15px;height:15px;margin-left:-4px;border:2px solid var(--surface);border-radius:50%;background:var(--swatch)}.appearance-color-swatches i:first-child{margin-left:0;--swatch: var(--choice-primary)}.appearance-color-swatches i:nth-child(2){--swatch: var(--choice-secondary)}.appearance-color-swatches i:nth-child(3){--swatch: var(--choice-tertiary)}.appearance-color-option[data-color-choice=red]{--choice-primary: #d92f43;--choice-secondary: #ad1f32;--choice-tertiary: #177f77}.appearance-color-option[data-color-choice=green]{--choice-primary: #287553;--choice-secondary: #164a3a;--choice-tertiary: #735398}.appearance-color-option[data-color-choice=blue]{--choice-primary: #245b96;--choice-secondary: #173e70;--choice-tertiary: #a95d16}:root[data-theme=dark] .appearance-color-option[data-color-choice=red]{--choice-primary: #ff7180;--choice-secondary: #d94356;--choice-tertiary: #70d7c8}:root[data-theme=dark] .appearance-color-option[data-color-choice=green]{--choice-primary: #9bd5b2;--choice-secondary: #5a9d79;--choice-tertiary: #c09ae8}:root[data-theme=dark] .appearance-color-option[data-color-choice=blue]{--choice-primary: #91c4fa;--choice-secondary: #3977b6;--choice-tertiary: #ffc16e}.appearance-style-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.appearance-style-option{display:grid;min-width:0;min-height:0;justify-content:stretch;gap:3px;padding:7px;border:1px solid var(--line);background:var(--surface);color:var(--text);text-align:left}.appearance-style-option strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.appearance-style-option small{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.appearance-style-thumb{display:block;height:48px;margin-bottom:3px;border-radius:7px;background:linear-gradient(135deg,var(--accent-secondary),var(--accent-primary))}.appearance-style-option[data-style-option=taekwondo] .appearance-style-thumb{background:linear-gradient(100deg,#071815b8,#07181566),url(/modalidade-taekwondo.webp) center / cover}.appearance-style-option[data-style-option=boxe] .appearance-style-thumb{background:linear-gradient(100deg,#071815b8,#07181566),url(/modalidade-boxe.webp) center / cover}.appearance-style-option[data-style-option=jiu-jitsu] .appearance-style-thumb{background:linear-gradient(100deg,#071815b8,#07181566),url(/modalidade-jiu-jitsu.webp) center / cover}.appearance-live-preview{overflow:hidden;margin:20px 0 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.appearance-live-preview-heading,.appearance-live-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;color:var(--muted);font-size:10px}.appearance-live-preview-heading strong{color:var(--text);font-size:11px}.appearance-live-preview-heading span{color:var(--accent-tertiary);font-weight:700}.appearance-live-preview-banner{display:grid;min-height:126px;align-content:end;gap:4px;padding:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-primary) 22%,var(--surface)),var(--subtle));color:var(--text)}.appearance-live-preview-banner .eyebrow{color:var(--accent-tertiary)}.appearance-live-preview-banner>strong{font:700 18px Manrope,sans-serif}.appearance-live-preview-banner>small{color:var(--muted)}.appearance-live-preview[data-style=taekwondo] .appearance-live-preview-banner{background-image:linear-gradient(110deg,rgb(var(--image-overlay-rgb) / 82%),rgb(var(--image-overlay-rgb) / 58%)),url(/modalidade-taekwondo.webp);background-position:center;background-size:cover;color:#fff}.appearance-live-preview[data-style=boxe] .appearance-live-preview-banner{background-image:linear-gradient(110deg,rgb(var(--image-overlay-rgb) / 82%),rgb(var(--image-overlay-rgb) / 58%)),url(/modalidade-boxe.webp);background-position:center;background-size:cover;color:#fff}.appearance-live-preview[data-style=jiu-jitsu] .appearance-live-preview-banner{background-image:linear-gradient(110deg,rgb(var(--image-overlay-rgb) / 82%),rgb(var(--image-overlay-rgb) / 58%)),url(/modalidade-jiu-jitsu.webp);background-position:center;background-size:cover;color:#fff}.appearance-live-preview[data-style=taekwondo] .appearance-live-preview-banner .eyebrow,.appearance-live-preview[data-style=boxe] .appearance-live-preview-banner .eyebrow,.appearance-live-preview[data-style=jiu-jitsu] .appearance-live-preview-banner .eyebrow,.appearance-live-preview[data-style=taekwondo] .appearance-live-preview-banner>small,.appearance-live-preview[data-style=boxe] .appearance-live-preview-banner>small,.appearance-live-preview[data-style=jiu-jitsu] .appearance-live-preview-banner>small{color:#e2eee8}.appearance-live-preview-footer{border-top:1px solid var(--line)}.appearance-preview-button{display:inline-flex;min-height:30px;align-items:center;padding:5px 11px;border-radius:8px;background:var(--primary);color:var(--on-primary);font-weight:700}.student-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1rem 0}.student-pagination .button{min-width:6rem}@media(max-width:640px){.profile-settings-heading{flex-wrap:wrap}.profile-settings-heading>.button{margin-left:54px}.profile-settings-layout{grid-template-columns:minmax(0,1fr);gap:12px}.profile-settings-layout.expanded{grid-template-columns:minmax(0,1fr)}.profile-settings-nav{position:static;display:flex;overflow-x:auto;padding-bottom:3px;justify-items:initial}.profile-settings-nav button{flex:0 0 auto;width:46px;min-width:46px;justify-content:center}.profile-settings-layout.expanded .profile-settings-nav button{width:auto;min-width:max-content}.profile-settings-panel{min-height:0;padding:18px}.profile-details-grid{grid-template-columns:minmax(0,1fr)}.profile-showcase-body{padding-right:14px;padding-left:14px}.profile-cover{height:170px}}@media(max-width:480px){.report-student-card{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px}.report-attendance-charts{max-width:380px;margin:0 auto}.ranking-row{grid-template-columns:31px 40px minmax(0,1fr) auto;gap:8px;padding:9px}.history-category-list{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.history-event{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:12px}.history-event-icon{width:34px;height:34px}}@media(max-width:640px){.shop-admin-layout{grid-template-columns:50px minmax(0,1fr);gap:9px}.shop-admin-layout.expanded{grid-template-columns:154px minmax(0,1fr)}.report-layout,.report-layout.expanded{grid-template-columns:minmax(0,1fr);gap:10px}.report-layout.expanded .report-sidebar{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.shop-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-dashboard-grid{grid-template-columns:minmax(0,1fr)}.shop-inventory-row .form{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-inventory-row .form>button{grid-column:1 / -1;width:100%}.report-student-card{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px}.report-attendance-charts{width:min(100%,380px);margin:0 auto}.report-finance-charts,.report-shop-sales-grid{grid-template-columns:minmax(0,1fr)}.report-shop-products-card{grid-column:auto}.report-shop-product-bar{grid-template-columns:minmax(90px,.8fr) minmax(60px,1fr)}.report-monthly-totals{grid-template-columns:minmax(0,1fr)}}.shop-api-order-card{background:var(--surface-2, rgba(255,255,255,.035));border:1px solid var(--line, rgba(255,255,255,.12));border-radius:14px;padding:16px;margin:12px 0}.shop-api-order-card>header,.shop-api-order-card>footer,.shop-api-order-card li,.shop-api-order-actions,.shop-order-status-tabs{display:flex;align-items:center;justify-content:space-between;gap:10px}.shop-api-order-card>header>div{display:grid;gap:4px}.shop-api-order-card small{color:var(--muted)}.shop-api-order-card ul{list-style:none;padding:8px 0;margin:8px 0;border-block:1px solid var(--line)}.shop-api-order-card li{padding:5px 0}.shop-api-order-card>footer{justify-content:flex-start;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.shop-api-order-card>footer span{display:flex;gap:6px}.shop-api-order-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:12px}.shop-order-status-tabs{justify-content:flex-start;flex-wrap:wrap;margin:12px 0}.shop-order-status{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--muted);font-size:11px;white-space:nowrap}.shop-order-status.awaiting_payment{color:var(--accent-tertiary);border-color:color-mix(in srgb,var(--accent-tertiary),transparent 55%)}.shop-order-status.awaiting_pickup{color:var(--accent-primary);border-color:color-mix(in srgb,var(--accent-primary),transparent 55%)}.shop-order-status.picked_up{color:var(--accent-secondary)}.shop-own-order>p{margin:8px 0;color:var(--muted)}.shop-own-order-total{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0}.shop-own-order-total span{display:grid;gap:3px;color:var(--muted);font-size:11px}.shop-own-order-total strong{color:var(--text);font-size:14px}.shop-own-order>small{display:block;margin-top:6px;color:var(--muted)}.shop-my-orders-link{margin:0 0 12px}.face-consent-panel{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:16px;margin:16px 0}.face-consent-panel h2{margin:0 0 8px;font-size:1.05rem}.face-consent-panel>p{color:var(--muted)}.face-camera-capture{display:grid;gap:10px;margin:12px 0}.face-camera-preview{display:block;width:min(100%,640px);aspect-ratio:4 / 3;background:#070b09;border-radius:12px;object-fit:cover}.face-camera-actions{display:flex;gap:10px;flex-wrap:wrap}.api-connection{margin-top:12px}.api-connection summary{display:flex;align-items:center;gap:8px}.api-connection .login-field{display:grid;gap:6px;margin:12px 0;color:var(--text);font-weight:600}.api-connection .login-field input{width:100%;min-width:0;min-height:48px;box-sizing:border-box;padding:0 12px;border:1px solid var(--input-border);border-radius:12px;background:var(--paper);color:var(--text);font-size:12px}.api-connection .login-field input:focus-visible{border-color:var(--accent-primary);outline:3px solid color-mix(in srgb,var(--accent-primary) 18%,transparent);outline-offset:1px}.route-pending{padding:40px 8px;text-align:center}.dependent-card{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:16px;margin:10px 0;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text);text-decoration:none}.dependent-card .student-identity,.dependent-card .student-identity-text{min-width:0}.dependent-card .student-identity-text strong,.dependent-card .student-identity-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dependent-card>svg{flex:0 0 auto;color:var(--accent-primary)}.dependent-context{margin:0 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.dependent-context .field{margin:0}.dependent-context small{display:block;margin-top:6px}.dependent-card.selected{border-color:var(--accent-primary)}.dependent-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}.dependent-actions>a{display:grid;width:36px;height:36px;place-items:center;color:var(--accent-primary)}
