@import "https://fonts.googleapis.com/css2?family=Sora:wght@500;700&family=Work+Sans:wght@400;500;600&display=swap";:root{--ink:#11151f;--ink-soft:#434f67;--surface:#f5f8ff;--surface-strong:#fff;--line:#d2daec;--brand:#0f7b8c;--brand-strong:#075867;--danger:#c73b3b;--danger-strong:#8f2626;--ok-bg:#e5f8ee;--ok-border:#b4e7c8;--ok-text:#17653d;--info-bg:#e9f2ff;--info-border:#bfd6fb;--info-text:#1f4f94;--error-bg:#ffecec;--error-border:#f6c0c0;--error-text:#8d2525;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:radial-gradient(circle at 10% 8%,#ff885033,#0000 30%),radial-gradient(circle at 86% 4%,#117b8c38,#0000 33%),linear-gradient(#eef5ff 0%,#eaf2ff 52%,#f2f6ff 100%);font-family:Work Sans,sans-serif;font-weight:400;line-height:1.45}:root[data-theme=dark]{--ink:#e5ecf8;--ink-soft:#b3c0d8;--surface:#101a2a;--surface-strong:#162335;--line:#2b3a53;--brand:#4aa9b8;--brand-strong:#2c7f8d;--danger:#e07474;--danger-strong:#f09797;--ok-bg:#102f22;--ok-border:#285b43;--ok-text:#9ddfba;--info-bg:#14283f;--info-border:#2f4f78;--info-text:#aac7ee;--error-bg:#3a191c;--error-border:#6f2d33;--error-text:#f3b3b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:radial-gradient(circle at 12% 8%,#ff8c5633,#0000 34%),radial-gradient(circle at 86% 4%,#3d8c9c47,#0000 38%),linear-gradient(#0a111d 0%,#0d1625 52%,#101b2d 100%)}*{box-sizing:border-box}body{min-height:100svh;margin:0}#app{min-height:100svh}h1,h2,h3{margin:0;font-family:Sora,sans-serif}.app-root{width:min(1380px,100% - 1.2rem);min-height:calc(100svh - 1.6rem);margin:.6rem auto 1rem}.login-page{place-items:center;min-height:calc(100svh - 2rem);display:grid}.login-card{border:1px solid var(--line);background:#ffffffed;border-radius:24px;width:min(520px,100%);padding:1.35rem;animation:.4s both rise-in;box-shadow:0 20px 52px #14233a1f}.eyebrow{letter-spacing:.15em;color:var(--brand);text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.lede{color:var(--ink-soft);margin:.5rem 0 1rem}.mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.9rem;display:grid}.mode-switch button{font:inherit;cursor:pointer;color:#28436e;background:#eef3ff;border:1px solid #bfd0ec;border-radius:12px;padding:.58rem .72rem;font-weight:600}.mode-switch button.active{background:linear-gradient(145deg, var(--brand) 0%, var(--brand-strong) 100%);border-color:var(--brand-strong);color:#fff}.login-form{gap:.75rem;display:grid}label,.search-label,.field-label{color:#2d3b57;font-size:.86rem;font-weight:600}.search-label,label{gap:.34rem;display:grid}.search-label{flex-direction:column;align-self:flex-start;width:100%;margin:0;display:flex}input,textarea{width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #c2cfe7;border-radius:12px;padding:.62rem .72rem}input[type=search]{padding:.45rem .62rem}textarea{resize:vertical}input:focus-visible,textarea:focus-visible,button:focus-visible{outline-offset:1px;outline:2px solid #2a8ea0}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;padding:.6rem .82rem;font-weight:600;transition:transform .12s,opacity .12s}.btn:hover{transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-primary{background:linear-gradient(145deg, var(--brand) 0%, var(--brand-strong) 100%);color:#fff;box-shadow:0 9px 18px #0758674d}.btn-secondary{color:#2b4d84;background:#ebf2ff;border-color:#bfd0f1}.btn-danger{color:var(--danger-strong);background:#ffeaea;border-color:#f0b7b7}.btn-ghost{color:#315284;background:#f0f4ff;border-color:#c6d3f2}.login-passkey-actions{justify-content:flex-start;margin-top:.8rem;display:flex}.status{border:1px solid #0000;border-radius:12px;margin:.9rem 0 0;padding:.65rem .72rem;font-size:.9rem}.status.info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.status.success{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}.status.error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.panel{border:1px solid var(--line);background:#ffffffeb;border-radius:18px;box-shadow:0 12px 34px #1d2b4214}.planner-page{gap:.8rem;display:grid}.planner-header{justify-content:space-between;align-items:center;padding:.8rem .95rem;display:flex}.planner-title{font-size:clamp(1.05rem,1.8vw,1.35rem)}.header-actions{align-items:center;gap:.45rem;display:flex}.theme-toggle-btn{white-space:nowrap}.identity-chip{color:#255b8b;background:#e9f4ff;border:1px solid #bad5e9;border-radius:999px;padding:.4rem .85rem;font-size:.92rem}.planner-grid{grid-template-columns:1fr 1fr;gap:.8rem;min-height:calc(100svh - 10.6rem);display:grid}.sessions-panel,.trainings-panel{flex-direction:column;gap:.7rem;min-height:400px;padding:.9rem;display:flex}.panel-top{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.button-row{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.entity-list{flex:1;align-content:start;gap:.48rem;min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.entity-list.trainings{grid-template-columns:1fr}.entity-button{text-align:left;color:#21334f;width:100%;font:inherit;cursor:pointer;background:#f7faff;border:1px solid #c4d1eb;border-radius:12px;padding:.68rem .74rem}.entity-button:hover{background:#eef4ff;border-color:#9cb4df}.filter-banner{color:#264f8a;background:#edf5ff;border:1px solid #c7daf5;border-radius:12px;margin:.2rem 0 0;padding:.5rem .65rem;font-size:.88rem}.btn-inline{color:#1d4f98;cursor:pointer;font:inherit;background:0 0;border:none;margin-left:.3rem;text-decoration:underline}.detail-header{align-items:flex-start;gap:.6rem;display:flex}.session-title-wrap{flex:1;gap:.22rem;display:grid}.detail-subline{color:#4a5874;margin:0;font-size:.86rem}.drag-hint{color:#4c5c79;margin:0;font-size:.86rem}.click-value{color:#243a63;text-align:left;font:inherit;cursor:pointer;background:#f8fbff;border:1px dashed #adc2e4;border-radius:10px;padding:.48rem .62rem}.click-value.block{width:100%;min-height:3rem}.session-training-list{border:1px dashed #b9cae7;border-radius:14px;flex:1;align-content:start;gap:.42rem;min-height:140px;margin:0;padding:.55rem;list-style:none;display:grid;overflow:auto}.session-training-item{background:#f7faff;border:1px solid #c4d1eb;border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:.45rem;padding:.42rem;transition:border-color .12s,box-shadow .12s,background-color .12s,opacity .12s;display:grid}.session-training-item.dragging{opacity:.58}.session-training-item.drop-before{background:#eff8ff;border-color:#9fc4ea;box-shadow:inset 0 3px #0f7b8c}.session-training-item.drop-after{background:#eff8ff;border-color:#9fc4ea;box-shadow:inset 0 -3px #0f7b8c}.training-link{text-align:left;color:#1f4f97;cursor:pointer;font:inherit;background:0 0;border:none;font-weight:600}.duration-cell{width:98px;min-width:98px}.duration-cell .click-value,.duration-cell input{width:100%}.row-actions{gap:.22rem;display:flex}.mini-btn{color:#1f3c6a;cursor:pointer;background:#edf3ff;border:1px solid #bfd0ee;border-radius:8px;width:28px;height:28px;font-size:.75rem}.mini-btn:disabled{opacity:.55;cursor:not-allowed}.mini-btn.danger{color:#852424;background:#ffe7e7;border-color:#e3abab}.detail-footer{gap:.5rem;margin-top:.4rem;display:flex}.new-label-row{grid-template-columns:1fr auto;gap:.5rem;display:grid}.editable-grid{flex:1;align-content:start;gap:.7rem;min-height:0;display:grid;overflow:auto}.participants-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.participants-grid .click-value,.participants-grid input{width:100%}.label-filter-group{gap:.35rem;display:grid}.label-filter-header{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.label-filter-header .field-label{margin:0}.label-delete-controls{align-items:center;gap:.4rem;display:flex}.label-delete-controls select{font:inherit;color:inherit;background:#fff;border:1px solid #c2cfe7;border-radius:10px;min-width:150px;padding:.42rem .52rem}.label-grid{flex-wrap:wrap;gap:.38rem;display:flex}.training-image-input{display:none}.training-image-controls{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.training-image-list{gap:.55rem;margin-top:.6rem;display:grid}.training-image-item{background:#f7faff;border:1px solid #c4d1eb;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.48rem;display:grid}.training-image-preview{object-fit:cover;cursor:zoom-in;background:#fff;border:1px solid #c2cfe7;border-radius:10px;width:84px;height:84px}.image-lightbox{z-index:40;background:#0c131fe6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.image-lightbox-preview{object-fit:contain;cursor:zoom-out;border-radius:10px;width:auto;max-width:96vw;height:auto;max-height:94vh;margin:auto;display:block}.training-image-meta{gap:.2rem;min-width:0;display:grid}.training-image-meta strong,.training-image-meta span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.training-image-meta span{color:#506281;font-size:.82rem}.label-pill{color:#2a4f85;font:inherit;background:#edf4ff;border:1px solid #bfd1ef;border-radius:999px;align-items:center;gap:.32rem;padding:.34rem .7rem;font-size:.82rem;display:inline-flex}.label-pill.selectable{cursor:pointer}.label-pill.active{color:#075867;background:#daf2f6;border-color:#0f7b8c}.training-card{background:0 0;border:none;border-radius:0;padding:0;display:block}.training-card-main{grid-template-columns:1fr auto;align-items:stretch;gap:.45rem;display:grid}.training-add-btn{color:#15643b;width:36px;min-height:100%;font:inherit;cursor:pointer;background:#e6f8ee;border:1px solid #9ecab5;border-radius:10px;font-size:1.1rem;font-weight:700}.training-add-btn:hover{background:#d9f1e5;border-color:#79b397}.training-name{font-weight:700;display:block}.training-meta{color:#506281;margin-top:.16rem;font-size:.83rem;display:block}.entity-button .chip-row{margin-top:.4rem}.chip-row{flex-wrap:wrap;gap:.3rem;display:flex}.label-chip{color:#32568d;background:#edf5ff;border:1px solid #c1d4ef;border-radius:999px;padding:.22rem .52rem;font-size:.76rem}.overlay{z-index:25;background:#1017247a;place-items:center;padding:.8rem;display:grid;position:fixed;inset:0}.prompt-card{background:#fff;border:1px solid #ccdaef;border-radius:18px;gap:.65rem;width:min(460px,100%);padding:1rem;display:grid;box-shadow:0 16px 34px #1017244d}.prompt-card p{color:#42516c;margin:0}.prompt-actions{gap:.5rem;display:flex}.toast{z-index:30;border:1px solid #0000;border-radius:12px;padding:.62rem .76rem;font-size:.9rem;animation:.16s both toast-in;position:fixed;bottom:1rem;right:1rem;box-shadow:0 10px 20px #14233a26}.toast.info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.toast.success{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}.toast.error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}:root[data-theme=dark] .login-card,:root[data-theme=dark] .panel,:root[data-theme=dark] .prompt-card{border-color:var(--line);background:#131e2eeb;box-shadow:0 18px 40px #0000006b}:root[data-theme=dark] .mode-switch button{color:#c1d4f3;background:#1d2e47;border-color:#345176}:root[data-theme=dark] .mode-switch button.active{color:#f0fbff}:root[data-theme=dark] label,:root[data-theme=dark] .search-label,:root[data-theme=dark] .field-label,:root[data-theme=dark] .detail-subline,:root[data-theme=dark] .drag-hint,:root[data-theme=dark] .prompt-card p,:root[data-theme=dark] .lede{color:#bfccdf}:root[data-theme=dark] input,:root[data-theme=dark] textarea,:root[data-theme=dark] .label-delete-controls select{color:var(--ink);background:#122033;border-color:#3a4d6d}:root[data-theme=dark] .btn-secondary,:root[data-theme=dark] .btn-ghost,:root[data-theme=dark] .mini-btn{color:#c8d7ee;background:#20304b;border-color:#40547b}:root[data-theme=dark] .btn-danger,:root[data-theme=dark] .mini-btn.danger{color:#f6bcc2;background:#3c1f25;border-color:#7a4046}:root[data-theme=dark] .identity-chip,:root[data-theme=dark] .filter-banner,:root[data-theme=dark] .click-value,:root[data-theme=dark] .entity-button,:root[data-theme=dark] .session-training-item,:root[data-theme=dark] .session-training-list,:root[data-theme=dark] .label-pill,:root[data-theme=dark] .label-chip{color:#c5d3e8;background:#18283f;border-color:#3a4f73}:root[data-theme=dark] .entity-button:hover{background:#203552;border-color:#5673a5}:root[data-theme=dark] .session-training-item.drop-before,:root[data-theme=dark] .session-training-item.drop-after{background:#1f354e;border-color:#5f83ae}:root[data-theme=dark] .training-link,:root[data-theme=dark] .btn-inline{color:#9bc2ff}:root[data-theme=dark] .label-pill.active{color:#b8edf3;background:#1c3e47;border-color:#4aa9b8}:root[data-theme=dark] .training-add-btn{color:#9ce2bf;background:#173726;border-color:#377258}:root[data-theme=dark] .training-add-btn:hover{background:#1d472f;border-color:#4f9a79}:root[data-theme=dark] .training-meta{color:#afbed5}:root[data-theme=dark] .training-image-item{background:#18283f;border-color:#3a4f73}:root[data-theme=dark] .training-image-preview{background:#122033;border-color:#3a4d6d}:root[data-theme=dark] .training-image-meta span{color:#afbed5}:root[data-theme=dark] .overlay{background:#070c14a6}:root[data-theme=dark] .image-lightbox{background:#04080eeb}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=1100px){.planner-grid{grid-template-columns:1fr;min-height:0}.sessions-panel,.trainings-panel{min-height:330px}}@media (width<=720px){.app-root{width:calc(100% - .7rem);margin:.34rem auto .7rem}.planner-header{align-items:flex-start;gap:.5rem}.header-actions{justify-content:flex-end;width:100%}.panel-top{flex-direction:column;align-items:flex-start}.button-row{justify-content:flex-start;width:100%}.detail-footer,.prompt-actions{flex-direction:column}.label-filter-header{flex-direction:column;align-items:stretch}.label-delete-controls{flex-direction:row;align-items:center}.label-delete-controls select{flex:1;min-width:0}.session-training-item{grid-template-columns:1fr auto;grid-template-areas:"name actions""duration actions";align-items:center;gap:.26rem .5rem;padding:.36rem .44rem}.session-training-item .training-link{grid-area:name}.session-training-item .duration-cell{grid-area:duration;width:84px;min-width:84px}.session-training-item .row-actions{grid-area:actions;justify-content:center;place-self:center end;gap:.3rem}.session-training-item .mini-btn{width:32px;height:32px;font-size:.82rem}.training-card-main{grid-template-columns:1fr auto}.training-add-btn{width:36px;min-height:100%}.row-actions{justify-content:flex-start}.training-image-controls{grid-template-columns:1fr}.training-image-item{grid-template-columns:1fr;align-items:stretch}.training-image-preview{width:100%;height:180px}}
