:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#f4f5fb;background:#0d1222;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}.app{max-width:720px;margin:0 auto;min-height:100vh;padding:0 18px 30px}.header{display:flex;justify-content:space-between;align-items:center;padding:24px 0 18px}.brand{display:flex;align-items:center;gap:12px}.brand-icon{background:#31234d;color:#c5adff;padding:11px;border-radius:14px}.brand strong{display:block;letter-spacing:.09em;font-size:21px}.brand small{display:block;color:#bba4ff;font-size:10px;letter-spacing:.18em;font-weight:700}.pill{border:1px solid #5d4a83;border-radius:30px;padding:6px 10px;color:#cbb8ff;font-size:11px}.hero{padding:22px 0 20px}.eyebrow{color:#bba4ff;font-size:12px;font-weight:700;letter-spacing:.05em}.hero h1{font-size:clamp(27px,6vw,38px);line-height:1.15;margin:10px 0}.hero p{color:#aeb9d1;line-height:1.6}.notice{display:flex;gap:12px;background:#252038;border:1px solid #655183;padding:14px;border-radius:14px;margin:12px 0;color:#e3d9ff}.notice svg{flex-shrink:0}.notice p{margin:4px 0 0;color:#c8bedb;font-size:13px;line-height:1.5}.role-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#1c2741;border-radius:14px;padding:5px;margin:22px 0}.role-switch button{border:0;background:transparent;color:#b9c3d8;padding:12px 3px;border-radius:10px;font-size:13px}.role-switch button[aria-pressed=true]{background:#7050bf;color:#fff}.role-switch button:disabled{opacity:1}.section-title{display:flex;align-items:center;gap:9px;font-size:19px;margin:26px 0 16px}.section-title svg{color:#bba4ff}.session,.panel{background:#1c2741;border:1px solid #2b3651;border-radius:18px;padding:18px;margin:12px 0}.session-top,.session-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px}.session-top strong{font-size:16px}.spots{background:#193e3b;color:#7ae1b2;border-radius:20px;padding:6px 9px;font-size:12px;white-space:nowrap}.session p{color:#b9c3d8;margin:10px 0;font-size:14px}.progress{height:7px;background:#3b465d;border-radius:20px;overflow:hidden;margin:18px 0 13px}.progress span{display:block;height:100%;background:#a88cf7}.session-bottom small{color:#b9c3d8}.primary{border:0;background:#7755cf;color:#fff;border-radius:11px;padding:11px 17px;font-weight:700}.panel p{color:#b9c3d8;line-height:1.6}.panel form{display:grid;gap:12px;margin-top:20px}.panel label{font-size:13px}.panel input{background:#10182a;border:1px solid #52617b;color:#fff;padding:14px;border-radius:10px;width:100%}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stats>div{background:#1c2741;border-radius:15px;padding:16px 10px;display:flex;flex-direction:column;gap:8px}.stats svg{color:#bba4ff}.stats strong{font-size:23px}.stats span{font-size:11px;color:#b9c3d8}.signout{background:transparent;color:#c8c9d9;border:0;display:flex;align-items:center;gap:8px;margin:24px auto}footer{text-align:center;color:#7e8aa6;font-size:11px;margin:40px 0 0}@media(min-width:600px){.app{padding:0 32px}.session{padding:23px}.hero{padding-top:35px}}.panel select,.panel input,.panel textarea{display:block;width:100%;min-width:0;background:#10182a;color:#f4f5fb;border:1px solid #52617b;border-radius:10px;padding:12px 14px;font:inherit;color-scheme:dark}.panel select:focus-visible,.panel input:focus-visible,.panel textarea:focus-visible,.panel button:focus-visible{outline:2px solid #bba4ff;outline-offset:2px}.panel button:not(.primary){border:1px solid #7050bf;border-radius:10px;padding:11px 15px;background:#7050bf;color:#fff;font:inherit;font-weight:650}.panel button:disabled{opacity:.5}.panel .manage-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.panel .manage-actions button{flex:1 1 170px}.panel .manage-row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #34415e}.panel .manage-row strong{overflow-wrap:anywhere}.panel .manage-row small{color:#b9c3d8}.panel label{display:block;margin:12px 0 6px}@media(max-width:600px){.panel .manage-actions{flex-direction:column}.panel .manage-actions button{width:100%;flex:auto}}:root{--seirios-blue:#344f99;--seirios-orange:#fa941b;--seirios-red:#ff4146;--seirios-white:#fff}.brand-icon{background:#344f99;color:#fff}.brand small,.eyebrow,.section-title svg,.stats svg{color:#fa941b}.pill{border-color:#344f99;color:#fff}.role-switch button[aria-pressed=true],.primary,.panel button:not(.primary){background:#344f99;color:#fff}.role-switch button[aria-pressed=true]:hover,.primary:hover:not(:disabled),.panel button:not(.primary):hover:not(:disabled){background:#4264b8}.progress span{background:#fa941b}.notice{border-color:#344f99}.panel select:focus-visible,.panel input:focus-visible,.panel textarea:focus-visible,.panel button:focus-visible{outline-color:#fa941b}.brand-logo{display:block;width:54px;height:54px;object-fit:contain;flex-shrink:0}@media(max-width:420px){.brand-logo{width:46px;height:46px}.brand strong{font-size:18px}}.brand-logo{width:88px;height:88px;object-fit:contain}@media(max-width:420px){.brand-logo{width:70px;height:70px}}.spots{display:inline-flex;align-items:center;gap:5px}.spots-full{background:#442b32;color:#ffb9a8;border:1px solid #a64d52}.booking-status{display:flex;align-items:center;gap:8px;margin-top:13px;color:#ffc77e;font-size:12px;line-height:1.5}.booking-status svg{flex-shrink:0}.training-manager fieldset{border:1px solid #52617b;border-radius:12px;padding:16px;min-width:0}.training-manager legend{padding:0 8px;font-weight:700}.training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.panel .check-label{display:flex;align-items:center;gap:10px;line-height:1.5}.panel .check-label input{width:20px;height:20px;flex-shrink:0;accent-color:#fa941b}.training-row{padding:18px 0;border-bottom:1px solid #52617b;overflow-wrap:anywhere}.training-badge{display:inline-block;margin:6px 8px;padding:4px 9px;background:#10182a;border-radius:20px;font-size:12px;color:#ffc77e}.panel button.danger{background:#8d343b;border-color:#ff8187}.cancel-confirm{border:1px solid #ff8187;border-radius:12px;padding:16px;margin-top:20px}.training-snapshot{overflow-wrap:anywhere;font-size:13px}.training-snapshot dt{color:#b9c3d8;margin-top:10px}.training-snapshot dd{margin:4px 0 0}.training-manager details{padding:12px 0}.training-manager summary{cursor:pointer}@media(max-width:520px){.training-grid{grid-template-columns:1fr}.training-manager fieldset{padding:10px}.training-badge{margin-left:0}.session-bottom{flex-wrap:wrap}}@media(min-width:1000px){.app:has(.training-manager){max-width:1000px}}.auth-panel fieldset{border:0;padding:0;margin:0;min-width:0}.auth-panel .primary{margin-top:16px;width:100%}.auth-panel .check-label{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.auth-panel .check-label input{width:20px;height:20px;flex-shrink:0;accent-color:#fa941b}.panel summary{cursor:pointer;padding:10px 0;color:#ffc77e}.panel input,.panel select,.panel textarea{font-size:16px}.panel .manage-row>small{overflow-wrap:anywhere;max-width:100%}@media(max-width:520px){.session-bottom{align-items:stretch}.session-bottom .primary{width:100%}.role-switch{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.panel{padding:15px}}.language-switch{display:flex;gap:4px;flex-shrink:0}.language-switch button,.calendar-filter button{background:#1c2741;color:#fff;border:1px solid #52617b;border-radius:9px;padding:10px;min-height:44px}.language-switch button[aria-pressed=true]{background:#344f99;border-color:#fa941b}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #fa941b;outline-offset:3px}button{min-height:44px}p,small,h1,h2,h3,label,.notice{overflow-wrap:anywhere}.session-top>strong,.session-bottom>small{min-width:0}.header{gap:12px}.calendar-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.calendar-filter input{display:block;background:#10182a;color:#fff;border:1px solid #52617b;border-radius:9px;padding:10px;font:inherit;max-width:100%;color-scheme:dark}.updated-at{font-size:12px;color:#b9c3d8}.stats>div{min-width:0}.panel .manage-row>label{min-width:0;width:100%}.panel details{min-width:0}.session-top{flex-wrap:wrap}@media(max-width:360px){.app{padding-left:12px;padding-right:12px}.brand{gap:7px}.brand-logo{width:52px;height:52px}.brand strong{font-size:16px}.language-switch button{padding:8px}}.calendar-filter label{display:block;min-width:0;flex:1 1 220px}.calendar-filter select{display:block;width:100%;min-height:44px;margin-top:6px;background:#10182a;color:#fff;border:1px solid #52617b;border-radius:9px;padding:10px;font:inherit;font-size:16px;color-scheme:dark}.calendar-filter select:focus-visible{outline:2px solid #fa941b;outline-offset:2px}.field-hint{display:block;margin-top:6px;color:#ffc77e;font-size:12px}.toast{position:sticky;bottom:max(12px,env(safe-area-inset-bottom));z-index:10;align-items:flex-start;box-shadow:0 10px 28px #00000080}.toast>span{flex:1;min-width:0;line-height:1.5;padding-top:1px}.toast-close{background:transparent;border:0;color:inherit;min-width:44px;min-height:44px;margin:-12px -10px -12px 0;display:grid;place-items:center;border-radius:10px}.app{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));padding-bottom:max(30px,env(safe-area-inset-bottom))}@media(min-width:600px){.app{padding-left:max(32px,env(safe-area-inset-left));padding-right:max(32px,env(safe-area-inset-right))}}@media(max-width:360px){.app{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}.header{padding-top:max(24px,env(safe-area-inset-top))}.language-switch button{min-width:44px}.panel summary{padding:12px 0;min-height:44px}.role-switch button:disabled{opacity:.5}.chip-row{display:flex;flex-wrap:wrap;gap:6px;width:100%}.status-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;line-height:1.3;border:1px solid transparent;max-width:100%;overflow-wrap:anywhere}.chip-open{background:#193e3b;color:#7ae1b2}.chip-full{background:#442b32;color:#ffb9a8;border-color:#a64d52}.chip-confirmed{background:#24376b;color:#dfe6ff;border-color:#4264b8}.chip-waiting{background:#3a2f1c;color:#ffc77e}.chip-cancelled{background:transparent;color:#b9c3d8;border-color:#52617b}.chip-extra{background:#173a2c;color:#8fe3bb}.chip-paid{background:#193e3b;color:#7ae1b2}.chip-due{background:#442b32;color:#ffb9a8;border-color:#a64d52}.chip-plan{background:#10182a;color:#ffc77e;border-color:#52617b}.chip-women{background:#2f2550;color:#d6c4ff}.chip-manual{background:transparent;color:#b9c3d8;border-color:#52617b}.day-summary{display:grid;gap:10px;margin:14px 0 6px;padding:12px;border:1px solid #34415e;border-radius:12px;background:#10182a}.day-summary .progress{margin:0}.contract-note{background:#252038;border:1px dashed #655183;border-radius:10px;padding:10px 12px;font-size:13px}.extra-note{color:#8fe3bb!important;font-weight:600}.plan-panel{display:grid;gap:8px;width:100%;margin-top:6px}.plan-head{display:flex;flex-wrap:wrap;gap:6px}.plan-days{list-style:none;margin:0;padding:0;display:grid;gap:6px}.plan-day>div,.panel .plan-day>button{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid #34415e;background:#10182a;color:#f4f5fb;min-height:44px;font:inherit}.panel .plan-day>button{background:#10182a;border:1px dashed #fa941b;font-weight:400}.plan-day span{display:grid;gap:2px;min-width:0}.plan-day small{color:#b9c3d8;font-size:12px;line-height:1.4}.plan-day svg{flex-shrink:0;margin-top:2px}.day-auto svg,.day-selected svg,.day-fixed svg{color:#7ae1b2}.day-locked>div{opacity:.7}.day-locked svg{color:#ffb9a8}.day-extra svg{color:#8fe3bb}.cancelled-list{margin-top:10px}.account-plan{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dues-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.dues-list li{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #34415e}.dues-list li>span:first-child{min-width:0;overflow-wrap:anywhere}.link-notice{align-items:flex-start}.link-notice>span{flex:1;min-width:0;line-height:1.5}
