*{margin:0;padding:0;box-sizing:border-box}:root{--brand-blue: #2848a8;--brand-blue-dark: #1f3a6b;--brand-blue-soft: #e7ecf8;--brand-green: #2c8a52;--brand-green-dark: #1f6e3e;--brand-green-soft: #e2f1e8;--brand-confluence: #1f5d6e;--primary: #2848a8;--primary-hover: #1f3a8f;--primary-soft: #e7ecf8;--bg: #f4f4ef;--card: #ffffff;--border: #e6e7ec;--border-strong: #d7d9e0;--text: #1b1d28;--text-muted: #6a6f80;--text-faint: #9a9db0;--ideal: var(--brand-green);--ideal-soft: var(--brand-green-soft);--possible: var(--brand-blue);--possible-soft: var(--brand-blue-soft);--amber: #c98914;--amber-soft: #fcf3e0;--danger: #b73838;--danger-soft: #fbece9;--neutral: #6a6f80;--neutral-soft: #eef0f4;--seg-free: #cce7d3;--seg-free-text: #1f6e3e;--seg-busy: #2848a8;--seg-busy-text: #ffffff;--seg-tentative: #f5d999;--seg-tentative-text: #7a4f0e;--avatar-lead: #2848a8;--avatar-backup: #2c8a52;--avatar-neutral: #8b8ea3;--grad-confluence: linear-gradient(135deg, #2848a8 0%, #1f5d6e 50%, #2c8a52 100%);--grad-confluence-soft: linear-gradient(135deg, #e7ecf8 0%, #e6eff0 50%, #e2f1e8 100%);--radius: 14px;--radius-sm: 9px;--shadow: 0 1px 3px rgba(20, 22, 40, .06), 0 6px 20px rgba(20, 30, 60, .06);--shadow-lift: 0 4px 12px rgba(20, 30, 60, .08), 0 12px 32px rgba(20, 30, 60, .08);--ease: cubic-bezier(.22, .61, .36, 1)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translate(0)}50%{transform:translateY(-10px)}}@keyframes confluencePulse{0%,to{transform:scale(1);opacity:.95}50%{transform:scale(1.04);opacity:1}}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes dotPulse{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-muted);font-size:1.1rem}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#6d5bd6,#4a3aa8)}.login-card{background:#fff;padding:3rem;border-radius:var(--radius);box-shadow:0 20px 60px #00000026;text-align:center;max-width:400px}.login-card h1{margin-bottom:.5rem;font-size:1.5rem}.login-card p{color:var(--text-muted);margin-bottom:2rem}.login-button{display:inline-block;background:var(--primary);color:#fff;padding:.75rem 2rem;border-radius:var(--radius-sm);text-decoration:none;font-size:1rem;font-weight:600;transition:background .2s}.login-button:hover{background:var(--primary-hover)}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.5rem;background:var(--card);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.7rem}.brand-logo{width:30px;height:30px;border-radius:50%;background:var(--grad-confluence);flex-shrink:0}.brand-logo-svg{width:38px;height:38px;flex-shrink:0;overflow:visible}.brand-logo-group{isolation:isolate}.brand-logo-blue,.brand-logo-green{mix-blend-mode:multiply;transform-origin:center;animation:confluencePulse 4.5s ease-in-out infinite;transition:filter .3s}.brand-logo-blue{fill:var(--brand-blue)}.brand-logo-green{fill:var(--brand-green);animation-delay:2.25s}.brand:hover .brand-logo-blue,.brand:hover .brand-logo-green{animation-duration:1.5s;filter:brightness(1.05) saturate(1.1)}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-title{font-weight:800;font-size:1.15rem;letter-spacing:-.01em;background:var(--grad-confluence);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:gradientShift 10s ease-in-out infinite}.brand-subtitle{font-size:.72rem;color:var(--text-muted);letter-spacing:.01em}.user-info{display:flex;align-items:center;gap:.6rem}.user-avatar{width:34px;height:34px;border-radius:50%;background:var(--avatar-lead);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:600}.app-main{flex:1;display:flex;justify-content:center;padding:1.5rem;position:relative;overflow-x:hidden}.app-main:before,.app-main:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(40px);will-change:transform}.app-main:before{top:-240px;right:-180px;width:580px;height:580px;background:radial-gradient(closest-side,rgba(40,72,168,.18) 0%,transparent 100%);animation:float 11s ease-in-out infinite}.app-main:after{bottom:-300px;left:-200px;width:720px;height:720px;background:radial-gradient(closest-side,rgba(44,138,82,.15) 0%,transparent 100%);animation:float 14s ease-in-out infinite reverse}.app-main>*{position:relative;z-index:1}.planner{width:100%;max-width:1180px;display:flex;flex-direction:column;gap:1.5rem}.plan-results{display:flex;flex-direction:column;gap:1.5rem}.plan-results>*{animation:fadeUp .5s var(--ease) backwards}.plan-results>*:nth-child(1){animation-delay:.05s}.plan-results>*:nth-child(2){animation-delay:.18s}.plan-results>*:nth-child(3){animation-delay:.32s}.conversation{display:flex;flex-direction:column;gap:1.75rem}.conv-round{display:flex;flex-direction:column;gap:1rem}.conv-user{display:flex;justify-content:flex-end;align-items:center;gap:.7rem;padding-left:22%}.conv-user:before{content:"";flex-shrink:0;width:144px;height:2px;border-radius:2px;background:var(--grad-confluence);opacity:.85}.conv-bubble{background:var(--brand-blue-soft);color:var(--brand-blue-dark);padding:.8rem 1.05rem;border-radius:16px 16px 4px;font-size:.95rem;font-weight:500;line-height:1.45;white-space:pre-wrap;max-width:100%;box-shadow:0 1px 3px #2848a814;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.conv-bubble:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2848a81f}.conv-bubble-initial{background:linear-gradient(135deg,var(--brand-blue-soft) 0%,var(--brand-green-soft) 130%)}.conv-assistant{padding-right:2%;padding-left:0;display:flex;flex-direction:column;gap:1rem}.conv-round{animation:fadeUp .45s var(--ease) backwards}.plan-loader{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:2rem 1.5rem 1.6rem;position:relative;overflow:hidden}.plan-loader-stage{width:180px;height:110px;display:flex;align-items:center;justify-content:center}.plan-loader-svg{width:180px;height:110px;overflow:visible}.plan-loader-group{isolation:isolate}.plan-loader-blue,.plan-loader-green{mix-blend-mode:multiply;transform-origin:center;animation:loaderBreath 2.4s var(--ease) infinite}.plan-loader-blue{fill:var(--brand-blue)}.plan-loader-green{fill:var(--brand-green);animation-direction:reverse}@keyframes loaderBreath{0%,to{transform:translate(-9px) scale(1);opacity:.85}50%{transform:translate(9px) scale(1.06);opacity:1}}.plan-loader-status{position:relative;width:100%;height:1.5em;text-align:center}.plan-loader-status-line{position:absolute;left:0;right:0;font-size:.95rem;font-weight:500;color:var(--brand-blue-dark);opacity:0;transform:translateY(6px);transition:opacity .45s var(--ease),transform .45s var(--ease)}.plan-loader-status-line.is-active{opacity:1;transform:translateY(0)}.plan-loader-bar{width:240px;max-width:80%;height:4px;border-radius:2px;background:var(--brand-blue-soft);overflow:hidden;position:relative}.plan-loader-bar-fill{position:absolute;top:0;bottom:0;left:-40%;width:40%;background:var(--grad-confluence);border-radius:2px;animation:loaderBar 1.9s ease-in-out infinite}@keyframes loaderBar{0%{left:-40%}50%{left:50%}to{left:110%}}.feedback-box{display:flex;flex-direction:column;gap:.7rem;padding:1.1rem 1.25rem}.feedback-label{font-size:.85rem;font-weight:600;color:var(--text-muted)}.feedback-input{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.7rem .85rem;font:inherit;font-size:.95rem;line-height:1.4;resize:none;min-height:80px;max-height:220px;background:#fbfbfd;transition:border-color .15s,background .15s}.feedback-input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #2848a814}.feedback-footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.feedback-hint{font-size:.72rem;color:var(--text-faint)}@media(max-width:640px){.conv-user{padding-left:8%}.conv-assistant{padding-right:0;padding-left:0}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.4rem 1.5rem;transition:transform .25s var(--ease),box-shadow .25s var(--ease);animation:fadeUp .45s var(--ease) backwards}.card:hover{box-shadow:var(--shadow-lift)}.event-form{position:relative;overflow:hidden}.event-form:before,.compromise-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-confluence);background-size:200% 100%;animation:gradientShift 8s ease-in-out infinite;opacity:.9}.compromise-card{position:relative;overflow:hidden}.card-title{font-size:1.05rem;font-weight:700;margin-bottom:1.2rem}.section-label{font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.7rem}.btn{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.1rem;transition:background .15s,opacity .15s;font-family:inherit}.btn-primary{background:var(--grad-confluence);background-size:200% 100%;background-position:0% 50%;color:#fff;position:relative;overflow:hidden;transition:background-position .5s var(--ease),transform .15s var(--ease),box-shadow .2s var(--ease);box-shadow:0 1px 2px #141e3c26}.btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translate(-120%);transition:transform .7s var(--ease);pointer-events:none}.btn-primary:hover:not(:disabled){background-position:100% 50%;transform:translateY(-1px);box-shadow:0 6px 16px #2848a840}.btn-primary:hover:not(:disabled):after{transform:translate(120%)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:transparent;border:1px solid var(--border-strong);color:var(--text-muted)}.btn-ghost:hover{background:var(--neutral-soft)}.btn-sm{padding:.4rem .8rem;font-size:.82rem}.link-btn{background:none;border:none;cursor:pointer;color:var(--primary);font-size:.82rem;font-weight:600;padding:.1rem .3rem;font-family:inherit}.link-btn:hover{text-decoration:underline}.link-danger{color:var(--danger)}.form-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.1rem 1.4rem;grid-template-areas:"location location duration duration capacity capacity" "months months months competencies competencies competencies" "note note note note note note"}.form-field{display:flex;flex-direction:column;gap:.5rem;min-width:0}.form-field-location{grid-area:location}.form-field-duration{grid-area:duration}.form-field-capacity{grid-area:capacity}.form-field-months{grid-area:months}.form-field-competencies{grid-area:competencies}.form-field-note{grid-area:note}.field-label{font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint)}.pill-group{display:flex;flex-wrap:wrap;gap:.45rem}.pill{background:var(--card);border:1px solid var(--border-strong);border-radius:8px;padding:.45rem .9rem;font-size:.85rem;font-weight:500;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all .15s}.pill:hover{border-color:var(--primary)}.pill-active{background:var(--brand-blue-dark);border-color:var(--brand-blue-dark);color:#fff;box-shadow:0 2px 8px #1f3a6b2e}.pill-add{color:var(--text-faint);border-style:dashed}.chip-group{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.chip{background:var(--neutral-soft);border:1px solid var(--border);border-radius:20px;padding:.4rem .85rem;font-size:.85rem;font-weight:500;color:var(--text-muted);cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:.4rem;transition:all .15s}.chip:hover{border-color:var(--primary)}.chip-active{background:var(--brand-green);border-color:var(--brand-green);color:#fff;box-shadow:0 2px 8px #2c8a5233}.chip-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}.chip-add{background:transparent;border-style:dashed;color:var(--text-faint)}.chip-group-sm .chip-sm{padding:.3rem .7rem;font-size:.78rem}.capacity-input{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border-strong);border-radius:8px;padding:.3rem .7rem;width:fit-content}.capacity-input input{border:none;outline:none;width:3.5rem;font-size:.95rem;font-family:inherit;background:transparent;color:var(--text)}.capacity-input .suffix{font-size:.85rem;color:var(--text-muted)}.note-input{width:100%;border:1px solid var(--border-strong);border-radius:8px;padding:.6rem .8rem;font-size:.9rem;font-family:inherit;resize:vertical;color:var(--text);outline:none}.note-input:focus{border-color:var(--primary)}.form-footer{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-top:1.3rem}.form-error{color:var(--danger);font-size:.85rem}.recommended-card{position:relative;padding-top:1.5rem;min-height:520px;display:flex;flex-direction:column}.recommended-card .instructors-block{flex:1}.recommended-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:var(--radius) var(--radius) 0 0}.status-border-ideal:before{background:var(--ideal)}.status-border-possible:before{background:var(--possible)}.status-border-possible_no_room:before{background:var(--amber)}.status-border-no_instructor:before{background:var(--danger)}.recommended-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.3rem}.recommended-date{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.recommended-weekday{font-size:1.3rem;font-weight:600;color:var(--text-muted)}.recommended-day-number{font-size:2.1rem;font-weight:800;letter-spacing:-.02em;background:var(--grad-confluence);-webkit-background-clip:text;background-clip:text;color:transparent}.room-chip{display:inline-flex;align-items:center;gap:.45rem;background:var(--neutral-soft);border-radius:8px;padding:.4rem .7rem}.room-chip-label{font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint)}.room-chip-name{font-size:.88rem;font-weight:600}.status-badge,.status-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;padding:.3rem .7rem;border-radius:20px}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.status-dot-warn{background:var(--amber)}.status-ideal{background:var(--ideal-soft);color:var(--ideal)}.status-possible{background:var(--possible-soft);color:var(--possible)}.status-possible_no_room{background:var(--amber-soft);color:var(--amber)}.status-no_instructor{background:var(--danger-soft);color:var(--danger)}.recommended-card .status-ideal .status-dot{position:relative;animation:confluencePulse 2.5s ease-in-out infinite}.recommended-card .status-ideal .status-dot:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid currentColor;opacity:.25;animation:confluencePulse 2.5s ease-in-out infinite;pointer-events:none}.instructors-block{display:flex;flex-direction:column}.instructors-block-title{font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.6rem}.timeline-row{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:1.25rem;padding:.6rem 0;border-top:1px solid var(--border)}.timeline-row:first-of-type{border-top:none}.timeline-row-dim{opacity:.55}.timeline-person{display:flex;align-items:center;gap:.6rem;min-width:0;position:relative}.avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.avatar-lead{background:var(--avatar-lead)}.avatar-backup{background:var(--avatar-backup)}.avatar-unavailable{background:var(--avatar-neutral)}.timeline-person-meta{display:flex;flex-direction:column;min-width:0}.timeline-name{font-size:.88rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-exclusion{font-size:.72rem;color:var(--text-faint)}.timeline-track-wrap{position:relative}.timeline-ticks{display:flex;justify-content:space-between;font-size:.62rem;color:var(--text-faint);margin-bottom:3px;padding:0 1px}.timeline-tick{flex:1;text-align:left}.timeline-tick:last-child{flex:0}.timeline-track{position:relative;height:34px;background:repeating-linear-gradient(to right,rgba(31,110,62,.08),rgba(31,110,62,.08) 1px,transparent 1px,transparent 10%),linear-gradient(0deg,#e8f4ec,#edf7f1);border:1px solid rgba(44,138,82,.18);border-radius:6px;overflow:hidden}.timeline-row-dim .timeline-track{background:repeating-linear-gradient(to right,var(--neutral-soft),var(--neutral-soft) 1px,transparent 1px,transparent 10%),#f7f8fa;border-color:var(--border)}.segment{position:absolute;top:3px;bottom:3px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:600;overflow:hidden;white-space:nowrap;padding:0 4px}.segment-free{background:var(--seg-free);color:var(--seg-free-text)}.segment-busy{background:var(--seg-busy);color:var(--seg-busy-text)}.segment-tentative{background:var(--seg-tentative);color:var(--seg-tentative-text);background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.4) 0,rgba(255,255,255,.4) 4px,transparent 4px,transparent 8px)}.segment-label{overflow:hidden;text-overflow:ellipsis}.timeline-context-hint{font-size:.66rem;color:var(--text-faint);letter-spacing:.02em;display:inline-flex;align-items:center;gap:3px;opacity:.75;transition:color .15s,opacity .15s}.timeline-context-hint:before{content:"";width:11px;height:11px;border-radius:50%;border:1.5px solid currentColor;border-right-color:transparent;flex-shrink:0}.timeline-row:hover .timeline-context-hint{color:var(--brand-blue);opacity:1}.timeline-context-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:30;display:flex;gap:1.1rem;padding:.7rem .9rem;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lift);opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:top left;transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s;pointer-events:none;white-space:nowrap}.timeline-row:hover .timeline-context-pop{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.ctx-block{display:flex;flex-direction:column;gap:4px;min-width:130px}.ctx-block+.ctx-block{padding-left:1.1rem;border-left:1px solid var(--border)}.ctx-block-label{font-size:.64rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-faint)}.ctx-block-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.ctx-block-line{font-size:.78rem;line-height:1.3;color:var(--text);padding-left:7px;border-left:3px solid transparent}.ctx-block-line.is-busy{border-left-color:var(--seg-busy)}.ctx-block-line.is-tentative{border-left-color:var(--seg-tentative)}.ctx-block-line.is-free{border-left-color:var(--seg-free);color:var(--text-faint);font-style:italic}.segment-proposed{position:absolute;top:0;bottom:0;border-radius:6px;background:linear-gradient(135deg,#2848a82e,#2c8a522e);border:2px solid var(--brand-blue);display:flex;align-items:center;justify-content:center;z-index:3;overflow:hidden;pointer-events:none}.segment-proposed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.4) 50%,transparent 65%);transform:translate(-130%);animation:proposedSheen 3.4s var(--ease) infinite}@keyframes proposedSheen{0%{transform:translate(-130%)}55%,to{transform:translate(230%)}}.segment-proposed-label{position:relative;z-index:1;color:var(--brand-blue-dark);background:#ffffffeb;font-size:.72rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 9px;border-radius:11px;box-shadow:0 1px 3px #141e3c1f}.verdict-chip{display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:600;padding:.3rem .6rem;border-radius:7px;white-space:nowrap}.verdict-lead{background:var(--primary-soft);color:var(--primary)}.verdict-backup{background:var(--ideal-soft);color:var(--ideal)}.verdict-unavailable{background:var(--neutral-soft);color:var(--text-muted)}.expand-toggle{background:none;border:none;color:var(--text-muted);font-size:.82rem;font-weight:600;cursor:pointer;padding:.75rem 0 .2rem;margin-top:.4rem;border-top:1px solid var(--border);width:100%;text-align:left;font-family:inherit;transition:color .15s}.expand-toggle:hover{color:var(--brand-blue)}.instructors-unavailable{animation:fadeUp .3s var(--ease)}.reasons-list{list-style:none;margin-top:.9rem;display:flex;flex-direction:column;gap:.4rem}.reasons-list li{display:flex;align-items:flex-start;gap:.5rem;font-size:.88rem;color:var(--text)}.reason-check{color:var(--ideal);font-weight:700}.recommended-footer{display:flex;justify-content:flex-end;align-items:center;margin-top:1.2rem}.day-strip{display:flex;gap:.9rem;overflow-x:auto;padding-bottom:.4rem}.day-card{flex:0 0 auto;width:140px;text-align:left;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.8rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;font-family:inherit;position:relative;transition:transform .2s var(--ease),border-color .15s,box-shadow .2s var(--ease);animation:fadeUp .4s var(--ease) backwards}.day-strip .day-card:nth-child(1){animation-delay:.05s}.day-strip .day-card:nth-child(2){animation-delay:.1s}.day-strip .day-card:nth-child(3){animation-delay:.15s}.day-strip .day-card:nth-child(4){animation-delay:.2s}.day-strip .day-card:nth-child(5){animation-delay:.25s}.day-strip .day-card:nth-child(6){animation-delay:.3s}.day-strip .day-card:nth-child(7){animation-delay:.35s}.day-card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:0 6px 18px #141e3c14}.day-card-selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft),0 6px 18px #2848a81f}.day-card-selected:hover{transform:translateY(-3px)}.status-card-no_instructor{background:var(--danger-soft);border-color:#f4cccc}.day-card-head{display:flex;align-items:baseline;justify-content:space-between}.day-card-date{font-size:1.1rem;font-weight:800}.day-card-weekday{font-size:.72rem;color:var(--text-muted)}.day-card-names{font-size:.75rem;color:var(--text-muted);line-height:1.3}.compromise-card{background:var(--amber-soft);border-color:#f0dcae;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.compromise-main{min-width:0}.compromise-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.6rem}.compromise-weekday{font-size:1.1rem;font-weight:600;color:var(--text-muted)}.compromise-date{font-size:1.3rem;font-weight:800}.compromise-headline{display:inline-flex;align-items:center;gap:.4rem;background:#ffffffb3;border-radius:20px;padding:.25rem .7rem;font-size:.78rem;font-weight:600;color:var(--amber)}.compromise-explanation{font-size:.88rem;color:var(--text);margin-bottom:.3rem;line-height:1.45}.compromise-suggestion{font-size:.85rem;color:var(--text-muted)}.compromise-action{display:flex;align-items:center;gap:.7rem;flex-shrink:0}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14162859;display:flex;justify-content:flex-end;z-index:50}.admin-drawer{width:min(460px,100%);height:100%;background:var(--bg);display:flex;flex-direction:column;box-shadow:-10px 0 40px #00000026}.admin-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.3rem;background:var(--card);border-bottom:1px solid var(--border)}.admin-drawer-head h2{font-size:1.05rem;font-weight:700}.admin-drawer-body{flex:1;overflow-y:auto;padding:1.2rem;display:flex;flex-direction:column;gap:1.2rem}.admin-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:1.1rem 1.2rem}.admin-panel-title{font-size:.95rem;font-weight:700;margin-bottom:.9rem}.admin-list{list-style:none;display:flex;flex-direction:column}.admin-list-row{display:flex;align-items:center;gap:.6rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.admin-list-row:last-child{border-bottom:none}.admin-list-row-col{align-items:stretch}.admin-list-info{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0}.admin-list-name{font-weight:600;font-size:.9rem}.admin-list-meta{font-size:.78rem;color:var(--text-muted)}.admin-list-notes{font-size:.78rem;color:var(--text-faint);font-style:italic}.admin-list-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.2rem}.tag{background:var(--primary-soft);color:var(--primary);font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:12px}.admin-list-actions{display:flex;gap:.3rem;align-items:flex-start;flex-shrink:0}.admin-empty{color:var(--text-faint);font-style:italic;font-size:.85rem;padding:.5rem 0}.admin-add-form{display:flex;gap:.5rem;margin-top:.9rem;align-items:center}.admin-add-form-col,.admin-edit-form{flex-direction:column;align-items:stretch}.admin-edit-form{display:flex;gap:.5rem;width:100%}.admin-edit-actions{display:flex;gap:.5rem}.admin-input{flex:1;border:1px solid var(--border-strong);border-radius:7px;padding:.5rem .7rem;font-size:.88rem;font-family:inherit;outline:none;color:var(--text);background:var(--card)}.admin-input:focus{border-color:var(--primary)}textarea.admin-input{resize:vertical}.admin-hint{font-size:.78rem;color:var(--text-faint)}@media(max-width:900px){.form-grid{grid-template-columns:1fr 1fr;grid-template-areas:"location duration" "capacity capacity" "months months" "competencies competencies" "note note"}}@media(max-width:640px){.form-grid{grid-template-columns:1fr;grid-template-areas:"location" "duration" "capacity" "months" "competencies" "note"}.timeline-row{grid-template-columns:120px 1fr}.timeline-context-pop{flex-direction:column;gap:.6rem}.ctx-block+.ctx-block{padding-left:0;padding-top:.6rem;border-left:none;border-top:1px solid var(--border)}.verdict-chip{display:none}.compromise-card{flex-direction:column;align-items:flex-start}}.share-row{display:flex;align-items:center;gap:.7rem}.share-copied{color:var(--ideal);font-size:.82rem;font-weight:600}
