*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--clr-primary: #2563eb;--clr-primary-hover: #1d4ed8;--clr-danger: #dc2626;--clr-danger-hover: #b91c1c;--clr-bg: #f8fafc;--clr-surface: #ffffff;--clr-border: #e2e8f0;--clr-text: #1e293b;--clr-muted: #94a3b8;--radius: 8px}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--clr-bg);color:var(--clr-text);line-height:1.6}.login-container{position:relative;display:grid;justify-items:center;align-content:start;min-height:100vh;padding:2rem 1rem 3rem;overflow-x:hidden;overflow-y:auto;background:radial-gradient(circle at top left,rgba(37,99,235,.16),transparent 32%),radial-gradient(circle at top right,rgba(59,130,246,.12),transparent 28%),linear-gradient(180deg,#f8f9ff,#eef4ff)}.login-backdrop{position:absolute;inset:0;background:linear-gradient(135deg,#fff9,#eef4ffd1),linear-gradient(0deg,#2563eb08,#2563eb08);pointer-events:none}.login-orb{position:absolute;border-radius:999px;filter:blur(10px);pointer-events:none;opacity:.65}.login-orb-left{top:5rem;left:-4rem;width:18rem;height:18rem;background:radial-gradient(circle,#2563eb38,#2563eb00)}.login-orb-right{right:-5rem;bottom:9rem;width:20rem;height:20rem;background:radial-gradient(circle,#0ea5e929,#0ea5e900)}.login-frame{position:relative;z-index:1;width:min(100%,31rem);display:grid;gap:1.5rem}.login-brand-block{text-align:center;display:grid;gap:.55rem;justify-items:center;margin-top:1.25rem}.login-brand-mark{width:4.25rem;height:4.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:1rem;background:linear-gradient(135deg,#004ac6,#2563eb);box-shadow:0 20px 42px #0d1c2d2e}.login-brand-icon{width:2rem;height:2rem;color:#fff}.login-brand-block h1{font-size:clamp(2.2rem,4vw,2.6rem);line-height:1;letter-spacing:-.04em;color:#004ac6}.login-brand-block .subtitle{color:#54647a;font-weight:500;letter-spacing:-.02em}.login-card{background:#ffffffeb;border-radius:1.15rem;box-shadow:0 10px 20px #0d1c2d0a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:2rem;width:100%;max-width:none;overflow:visible}.login-card-header{display:grid;gap:.35rem;margin-bottom:1.4rem}.login-card-header h2{font-size:1.85rem;line-height:1.05;letter-spacing:-.03em}.login-card-header p{color:#54647a;font-size:.95rem}.hospital-cta{display:flex;align-items:center;gap:1rem;padding:1.35rem 1.4rem;background:#ffffffe6;border:1px solid rgba(195,198,215,.35);border-radius:1.15rem;width:100%;box-shadow:0 10px 20px #0d1c2d0a}.hospital-cta-icon-wrap{width:3rem;height:3rem;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:.9rem;background:#2563eb1a}.hospital-cta-icon{width:1.3rem;height:1.3rem;color:#004ac6}.hospital-cta-title{font-weight:700;font-size:.95rem;color:#0d1c2d;margin-bottom:.2rem}.hospital-cta-sub{font-size:.82rem;color:#54647a;line-height:1.4}.hospital-cta-link{display:inline-block;margin-top:.4rem;color:#004ac6;font-weight:700;text-decoration:none;word-break:break-all}.hospital-cta-link:hover{text-decoration:underline}.demo-cta-btn{width:100%;padding:1rem;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;background:linear-gradient(135deg,#004ac6,#2563eb);color:#fff;font-size:1rem;font-weight:700;border:none;border-radius:.95rem;cursor:pointer;margin-bottom:1.5rem;box-shadow:0 16px 30px #004ac638;transition:opacity .15s,transform .15s,box-shadow .15s}.demo-cta-btn:hover{transform:translateY(-1px);opacity:.94}.demo-cta-btn svg{width:1.15rem;height:1.15rem}.demo-role-picker{background:#e5efff;border:1px solid rgba(195,198,215,.24);border-radius:1.15rem;padding:1rem;margin-bottom:.35rem}.demo-role-title{font-size:.64rem;font-weight:800;color:#004ac6b8;margin:0 0 1rem;text-align:center;text-transform:uppercase;letter-spacing:.16em}.demo-role-cards{display:flex;flex-direction:column;gap:.7rem}.demo-role-card{display:flex;align-items:flex-start;gap:.9rem;background:#fff;border:1px solid transparent;border-radius:1rem;padding:.95rem 1rem;cursor:pointer;text-align:left;box-shadow:0 10px 24px #0d1c2d0d;transition:background .15s,border-color .15s,transform .1s,box-shadow .1s}.demo-role-card:hover{background:#f8fbff;border-color:#2563eb4d;transform:translateY(-1px);box-shadow:0 14px 26px #2563eb1a}.demo-role-icon-wrap{width:2.55rem;height:2.55rem;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eff6ff;color:#004ac6;transition:background .15s ease}.demo-role-card:hover .demo-role-icon-wrap{background:#2563eb1f}.demo-role-icon{width:1.2rem;height:1.2rem}.demo-role-copy{display:grid;gap:.18rem;min-width:0}.demo-role-card strong{font-size:.9rem;line-height:1.2;color:#0d1c2d}.demo-role-desc{font-size:.78rem;color:#54647a;line-height:1.4}.demo-back-btn{background:none;border:none;display:block;margin:.95rem auto 0;font-size:.76rem;font-weight:600;color:#54647a;cursor:pointer;padding:.15rem 0}.demo-back-btn:hover{color:#004ac6}.demo-loading-shell{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:.15rem 0 .25rem;color:#54647a;text-align:center}.demo-loading-panel{width:100%;padding:1.8rem 1.45rem;background:#ffffffdb;border:1px solid rgba(195,198,215,.18);border-radius:1rem;box-shadow:0 20px 40px #0d1c2d0f}.demo-spinner-wrap{position:relative;width:4rem;height:4rem;margin:0 auto 1.25rem}.demo-spinner-track,.demo-spinner,.demo-spinner-pulse{position:absolute;inset:0;border-radius:50%}.demo-spinner-track{border:4px solid #dbe9ff}.demo-spinner{border:4px solid transparent;border-top-color:#004ac6;animation:spin .85s linear infinite}.demo-spinner-pulse{inset:1rem;background:#004ac62e;animation:demoPulse 2s ease-out infinite}.demo-loading-copy{display:grid;gap:.4rem;margin-bottom:1.15rem}.demo-loading-copy strong{color:#0d1c2d;font-size:1.4rem;line-height:1.15;letter-spacing:-.03em}.demo-loading-copy p{margin:0;color:#54647a;font-size:.95rem}.demo-progress{width:100%;height:.75rem;background:#eef4ff;border-radius:999px;overflow:hidden;margin-bottom:.55rem}.demo-progress-bar{height:100%;background:linear-gradient(90deg,#004ac6,#2563eb);border-radius:999px;transition:width .35s ease}.demo-progress-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.78rem}.demo-progress-meta span:first-child{color:#004ac6;font-weight:700}.demo-progress-meta span:last-child{color:#737686}.demo-waiting-head{width:-moz-fit-content;width:fit-content;display:flex;align-items:center;justify-content:center;gap:.55rem;margin:0 auto}.demo-waiting-line{width:1.4rem;height:1px;background:#7376863d}.demo-waiting-label{font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#737686}.demo-sales-stage{width:100%;min-height:9.5rem;display:flex;align-items:center;justify-content:center}.demo-sales-card{width:100%;padding:1.2rem 1.25rem;border-radius:1rem;background:#eef4ff;border-left:4px solid #004ac6;display:grid;gap:.35rem;box-shadow:0 10px 22px #0d1c2d0d;animation:demoSalesFly 5.6s ease both;text-align:left}.demo-sales-card strong{color:#0d1c2d;font-size:1rem}.demo-sales-card p{margin:0;color:#54647a;font-size:.9rem;line-height:1.45}.demo-cancel-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;background:#004ac60a;border:1px solid transparent;border-radius:999px;color:#737686;font-size:.92rem;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.demo-cancel-btn:hover{background:#004ac6;border-color:#004ac6;color:#fff;box-shadow:0 8px 18px #004ac62e;transform:translateY(-1px)}.demo-cancel-btn svg{width:1rem;height:1rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes demoPulse{0%{transform:scale(.82);opacity:.58}to{transform:scale(1.16);opacity:0}}@keyframes demoSalesFly{0%{opacity:0;transform:translate(36px) translateY(10px) rotate(4deg) scale(.96)}14%{opacity:1;transform:translate(0) translateY(0) rotate(0) scale(1)}78%{opacity:1;transform:translate(0) translateY(0) rotate(0) scale(1)}to{opacity:0;transform:translate(-40px) translateY(-8px) rotate(-5deg) scale(.97)}}.demo-switcher-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;background:#fefce8;border-bottom:1px solid #fde047;padding:.45rem 1.25rem;font-size:.8rem}.demo-switcher-label{font-weight:700;color:#854d0e;margin-right:.25rem}.demo-switcher-hint{color:#a16207;margin-right:.1rem}.demo-switcher-btn{background:#fff;color:#854d0e;border:1px solid #fde047;padding:.2rem .65rem;border-radius:999px;font-size:.78rem;cursor:pointer;transition:background .15s,border-color .15s}.demo-switcher-btn:hover{background:#fef9c3;border-color:#facc15}.demo-switcher-btn.active{background:#fde047;border-color:#eab308;font-weight:700}.login-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 1.1rem;color:#94a3b8;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#c3c6d759}.login-support-divider{margin-top:1.5rem;margin-bottom:1rem}.login-form{display:grid;gap:.95rem}.login-field{margin:0;gap:.45rem}.login-field-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.login-field-label{font-size:.72rem;font-weight:800;color:#434655;text-transform:uppercase;letter-spacing:.12em}.login-inline-link{color:#004ac6;text-decoration:none;font-size:.78rem;font-weight:700}.login-inline-link:hover{text-decoration:underline}input.login-input{padding:.95rem 1rem;border:none;border-radius:.95rem;background:#eef4ff;color:#0d1c2d;box-shadow:inset 0 0 0 1px #c3c6d72e}input.login-input::-moz-placeholder{color:#94a3b8}input.login-input::placeholder{color:#94a3b8}input.login-input:focus{background:#fff;box-shadow:inset 0 -2px #004ac6,0 0 0 4px #2563eb1f}.login-checkbox-row{display:flex;flex-direction:row;align-items:center;gap:.6rem;margin:.2rem 0 0;font-size:.88rem;font-weight:500;color:#54647a;cursor:pointer}.login-checkbox-row input{width:1rem;height:1rem;margin:0;accent-color:#004ac6}.login-submit-btn{width:100%;min-height:3.5rem;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;margin-top:.15rem;border-radius:.95rem;background:linear-gradient(135deg,#004ac6,#2563eb);box-shadow:0 16px 30px #004ac633}.login-submit-btn svg{width:1rem;height:1rem}.login-message{margin:0}.login-message-spaced{margin-top:1rem}.login-support-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:1rem;background:#eef4ff;color:#0d1c2d}.login-support-card svg{width:1.1rem;height:1.1rem;color:#004ac6;flex-shrink:0;margin-top:.05rem}.login-support-card p{margin:0;font-size:.82rem;line-height:1.5}.login-status-pill{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin:0 auto;padding:.72rem 1rem;border-radius:999px;background:#d4e4fae6;color:#38485d;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.login-status-dot{width:.55rem;height:.55rem;border-radius:999px;background:#004ac6;box-shadow:0 0 #004ac659;animation:loginPulse 2.4s ease-out infinite}.login-status-icon{width:.9rem;height:.9rem}.login-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;color:#94a3b8;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.login-footer p{margin:0}.login-footer-links{display:flex;gap:1rem}.login-footer a{color:inherit;text-decoration:none;font-weight:700}.login-footer a:hover{color:#004ac6}@keyframes loginPulse{0%{box-shadow:0 0 #004ac659}70%{box-shadow:0 0 0 8px #004ac600}to{box-shadow:0 0 #004ac600}}@media(max-width:640px){.login-container{padding:1.25rem .9rem 2rem}.login-frame{gap:1.15rem}.login-brand-block{margin-top:.35rem;gap:.45rem}.login-brand-mark{width:3.65rem;height:3.65rem;border-radius:.9rem}.login-brand-icon{width:1.75rem;height:1.75rem}.login-brand-block h1{font-size:clamp(1.95rem,9vw,2.35rem)}.login-brand-block .subtitle{font-size:.95rem;max-width:22rem}.login-card{padding:1.4rem;border-radius:1.05rem}.login-card-header{margin-bottom:1.15rem}.login-card-header h2{font-size:1.65rem}.login-card-header p{font-size:.9rem}.demo-cta-btn{min-height:3.35rem;margin-bottom:1.2rem;font-size:.96rem}.login-divider{gap:.6rem;margin:1rem 0 .95rem;font-size:.66rem;letter-spacing:.14em}.login-form{gap:.8rem}.login-field-header{align-items:flex-start;flex-direction:column;gap:.25rem}input.login-input{padding:.85rem .9rem;font-size:.96rem}.login-checkbox-row{align-items:flex-start;font-size:.84rem;line-height:1.4}.login-submit-btn{min-height:3.2rem}.login-support-card{padding:.9rem}.login-support-card p{font-size:.79rem}.hospital-cta{align-items:flex-start;padding:1.05rem 1rem;gap:.8rem}.hospital-cta-icon-wrap{width:2.65rem;height:2.65rem;border-radius:.8rem}.hospital-cta-title{font-size:.9rem}.hospital-cta-sub{font-size:.78rem}.login-status-pill{width:100%;padding-inline:.85rem;font-size:.64rem;letter-spacing:.11em}.login-footer{justify-content:center;text-align:center;gap:.55rem;font-size:.68rem;letter-spacing:.1em}.login-footer-links{width:100%;justify-content:center;gap:.85rem}}@media(max-width:420px){.login-container{padding:1rem .75rem 1.6rem}.login-frame{gap:1rem}.login-brand-block h1{font-size:1.8rem}.login-brand-block .subtitle{font-size:.88rem}.login-card{padding:1.15rem}.demo-role-picker{padding:.95rem}.demo-role-card{padding:.75rem .8rem}.login-submit-btn,.demo-cta-btn{border-radius:.85rem}.login-status-pill{gap:.35rem;padding:.68rem .75rem}.login-status-icon{display:none}}label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:500;margin-bottom:1rem}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],select,textarea{padding:.55rem .75rem;border:1px solid var(--clr-border);border-radius:var(--radius);font-size:.95rem;width:100%;transition:border-color .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--clr-primary);box-shadow:0 0 0 3px #2563eb26}button{padding:.6rem 1.25rem;border:none;border-radius:var(--radius);font-size:.95rem;font-weight:600;cursor:pointer;background:var(--clr-primary);color:#fff;transition:background .15s}button:hover{background:var(--clr-primary-hover)}button:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:var(--clr-danger);padding:.35rem .75rem;font-size:.8rem}.btn-danger:hover{background:var(--clr-danger-hover)}.btn-link{background:none;color:var(--clr-primary);padding:0;font-weight:500}.btn-link:hover{text-decoration:underline;background:none}.error{color:var(--clr-danger);font-size:.875rem}.success{color:#16a34a;font-size:.875rem}.muted{color:var(--clr-muted)}.topbar{background:var(--clr-surface);border-bottom:1px solid var(--clr-border);position:sticky;top:0;z-index:40}.topbar-inner{max-width:1400px;margin:0 auto;min-height:74px;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.topbar-left{display:flex;align-items:center;gap:1rem}.brand-mark{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#2563eb;color:#fff;box-shadow:0 10px 18px #2563eb29}.brand-mark-icon{width:1.2rem;height:1.2rem}.brand-copy{display:flex;align-items:center}.topbar-brand-divider{width:1px;height:32px;background:#dbe3ef;margin:0 .4rem 0 .25rem}.topbar-left h2{font-size:1.85rem;line-height:1;color:#0f172a;letter-spacing:-.02em}.topbar-nav{display:flex;gap:.45rem;margin-left:.25rem}.topbar-link{min-height:46px;padding:.75rem 1rem;color:#475569;text-decoration:none;font-size:.98rem;font-weight:700;border-radius:14px;display:inline-flex;align-items:center;gap:.65rem;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.topbar-link.active{color:#0f172a;background:#eff3f8;box-shadow:inset 0 0 0 1px #94a3b814}.topbar-link:hover{color:#0f172a;background:#f8fafc}.topbar-link-icon{width:1.1rem;height:1.1rem}.hamburger{background:none;border:none;font-size:1.5rem;padding:.25rem .5rem;cursor:pointer;color:var(--clr-text);margin-left:auto}.hamburger:hover{background:#f1f5f9}.mobile-menu{display:flex;flex-direction:column;background:var(--clr-surface);border-bottom:1px solid var(--clr-border);box-shadow:0 4px 12px #00000014}.mobile-menu a{display:flex;align-items:center;padding:.85rem 1.25rem;text-decoration:none;font-size:1rem;font-weight:500;color:var(--clr-muted);border-bottom:1px solid var(--clr-border);min-height:48px}.mobile-menu a.active{color:var(--clr-primary);background:#eff6ff;font-weight:600}.mobile-menu a:hover{background:#f8fafc}.mobile-menu-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;font-size:.9rem;color:var(--clr-muted)}.topbar-right{display:flex;align-items:center;gap:.9rem;font-size:.95rem}.topbar-icon-btn{width:42px;height:42px;padding:0;border:1px solid #d7dfeb;border-radius:14px;background:#fff;color:#64748b;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0f172a0a}.topbar-icon-btn:hover{background:#f8fafc;color:#334155;border-color:#c7d2e2}.topbar-icon{width:1rem;height:1rem}.topbar-role-chip{min-height:42px;padding:.45rem 1rem;border-radius:999px;border:1px solid #d7dfeb;background:#f8fafc;color:#475569;display:inline-flex;align-items:center;gap:.65rem;font-weight:700;box-shadow:0 1px 2px #0f172a0a;white-space:nowrap}.topbar-role-dot{width:10px;height:10px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px #22c55e1f}.topbar-user-card{display:flex;align-items:center;gap:.7rem;padding:0;border-radius:999px}.topbar-user-card:hover{background:transparent}.topbar-avatar{width:42px;height:42px;border-radius:999px;background:linear-gradient(135deg,#fde68a,#f59e0b);color:#7c2d12;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:700;box-shadow:0 1px 2px #0f172a14}.topbar-user-copy{display:flex;flex-direction:column;gap:0}.topbar-user-name{color:#0f172a;font-size:.92rem;font-weight:700;line-height:1.2;white-space:nowrap}.topbar-user-subtitle{color:#64748b;font-size:.82rem;line-height:1.2}.topbar-chevron{width:1rem;height:1rem;color:#94a3b8}.main-content{max-width:1400px;margin:2rem auto;padding:0 2rem}.planner-draft-banner{border-bottom:1px solid #c7d2fe;background:#eef2ff}.planner-draft-banner-inner{max-width:1400px;margin:0 auto;padding:.7rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.planner-draft-copy{display:inline-flex;align-items:center;gap:.55rem;color:#4338ca;font-size:.95rem;font-weight:600;min-width:0}.planner-draft-copy span{min-width:0}.planner-draft-icon{width:1rem;height:1rem}.planner-draft-switches{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.planner-draft-switch{min-height:34px;padding:.35rem .8rem;border-radius:999px;border:1px solid #c7d2fe;background:#ffffffbf;color:#4338ca;font-size:.8rem;font-weight:700}.planner-draft-switch:hover{background:#fff}.planner-draft-switch.active{background:#4338ca;border-color:#4338ca;color:#fff}table{width:100%;border-collapse:collapse;margin-top:1rem;background:var(--clr-surface);border-radius:var(--radius);border:1px solid var(--clr-border);box-shadow:0 1px 4px #0000000a}section{max-width:100vw;overflow:visible}@media(max-width:768px){section{overflow-x:auto}.topbar-inner{min-height:68px;padding:0 1rem}.main-content{margin-top:1.25rem;padding:0 1rem}}.vagter-generated-week{margin-top:1.5rem;padding:.75rem}.vagter-generated-week .vagter-card-head{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem}.vagter-week-range{background:#fff;border:1px solid var(--clr-border);padding:.45rem .75rem;border-radius:999px;color:var(--clr-muted);font-weight:700}.vagter-week-range-nav{display:flex;align-items:center;gap:.75rem}.vagter-week-nav-btn{background:#fff;border:2px solid #0f172a;padding:.45rem .6rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #0f172a0f;color:#0f172a}.vagter-week-nav-btn:hover{transform:translateY(-1px)}.vagter-week-range{background:#fff;border:2px solid #0f172a;padding:.6rem .9rem;border-radius:999px;color:#0f172a;font-weight:800;font-family:monospace;letter-spacing:.04em}.vagter-week-range-trigger{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.vagter-week-range-trigger:hover{transform:translateY(-1px);box-shadow:0 8px 24px #0f172a14}.vagter-range-picker-popover{width:21rem;border:2px solid #0f172a;border-radius:18px;background:#fff;padding:1rem;box-shadow:0 18px 40px #0f172a29}.vagter-range-picker-head{display:grid;gap:.2rem;margin-bottom:.85rem}.vagter-range-picker-head strong{color:#0f172a;font-size:.95rem}.vagter-range-picker-head span{color:#64748b;font-size:.82rem;line-height:1.4}.vagter-range-picker-calendar{display:grid;gap:.7rem}.vagter-range-picker-calendar-head{display:grid;grid-template-columns:2rem 1fr 2rem;align-items:center;gap:.5rem}.vagter-range-picker-month-label{text-align:center;color:#0f172a;font-weight:800;text-transform:capitalize}.vagter-range-picker-nav{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#020617;box-shadow:inset 0 0 0 1px #0f172a0a}.vagter-range-picker-nav:hover{background:#e2e8f0;border-color:#94a3b8}.vagter-range-picker-nav svg{width:1rem;height:1rem;stroke-width:2.75}.vagter-range-picker-nav:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.vagter-range-picker-weekdays,.vagter-range-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.vagter-range-picker-weekdays span{text-align:center;color:#64748b;font-size:.72rem;font-weight:700;text-transform:uppercase}.vagter-range-picker-day{height:2.35rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#0f172a;font-size:.88rem;font-weight:700}.vagter-range-picker-day:hover{background:#eff6ff;border-color:#93c5fd}.vagter-range-picker-day.is-outside{color:#94a3b8;background:#f8fafc}.vagter-range-picker-day.is-selected{background:#dbeafe;border-color:#60a5fa;color:#1d4ed8}.vagter-range-picker-day.is-anchor{box-shadow:inset 0 0 0 2px #1d4ed8}.vagter-range-picker-actions{display:flex;justify-content:flex-end;margin-top:.8rem}.vagter-range-picker-link{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:.45rem .75rem;font-size:.82rem;font-weight:700}.vagter-range-picker-link:hover{background:#dbeafe}.vagter-warning{display:flex;gap:1rem;align-items:center;background:#fdf7ed;border:1px solid #f5d6a6;padding:1rem;border-radius:12px;margin:.75rem}.vagter-warning-icon{width:44px;height:44px;border-radius:999px;background:#fff4e6;display:flex;align-items:center;justify-content:center;color:#b45309;font-weight:700}.vagter-warning-body strong{display:block;margin-bottom:.25rem}.vagter-warning-copy{color:#7c5a20;margin-bottom:.5rem}.vagter-warning-btn{background:#f3c56b;color:#0f172a;border:1px solid #aa7a2a;padding:.5rem .9rem;border-radius:999px}.vagter-warning-close{margin-left:auto;background:none;border:none;font-size:1.25rem;color:#9a6b1a}.vagter-generated-issues{display:grid;gap:.5rem;margin:0 .75rem .75rem}.vagter-generated-issue{padding:.75rem .9rem;border-radius:10px;font-size:.9rem;border:1px solid transparent}.vagter-generated-issue.is-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.vagter-generated-issue.is-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.vagter-generated-issue.is-info{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.vagter-generated-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 .75rem;margin-bottom:.75rem;flex-wrap:wrap}.vagter-generated-scope{font-weight:700;color:#0f172a}.vagter-generated-summary{color:#64748b;font-size:.9rem;margin-top:.15rem}.vagter-generated-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.vagter-template-select-wrap{display:grid;gap:.2rem;min-width:180px}.vagter-template-select-wrap span{font-size:.76rem;font-weight:700;color:#475569}.vagter-template-select{min-width:180px}.vagter-planning-head-actions{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;justify-content:flex-end}.vagter-mode-toggle{display:inline-flex;align-items:center;padding:.2rem;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0}.vagter-mode-toggle-btn{min-width:84px;padding:.45rem .8rem;border-radius:999px;background:transparent;color:#64748b}.vagter-mode-toggle-btn.is-active{background:#fff;color:#0f172a;box-shadow:0 1px 2px #0f172a14}.vagter-template-save-btn{white-space:nowrap}.vagter-clear-selection-btn{color:#475569;border-color:#47556929}.vagter-week-grid{border:1px solid var(--clr-border);border-radius:12px;background:#fff;margin:1rem 0;padding:.5rem}.vagter-week-grid-head{display:flex;align-items:center;justify-content:space-between;padding:.6rem .85rem;border-bottom:1px solid #f1f5f9}.vagter-week-range-label{font-family:monospace;font-weight:800;color:#0f172a}.vagter-delete-week-btn{color:#a64332;border-color:#a643322e}.vagter-week-empty-state{margin:.75rem;padding:1rem 1.1rem;border-radius:12px;background:#f8fafc;border:1px dashed #cbd5e1}.vagter-week-empty-state strong{display:block;margin-bottom:.25rem;color:#0f172a}.vagter-week-empty-state p{color:#64748b}.vagter-month-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1rem}.vagter-month-week-card{border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;padding:1rem;display:grid;gap:.85rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.vagter-month-week-card:hover{transform:translateY(-1px);border-color:#93c5fd;box-shadow:0 10px 28px #2563eb1a}.vagter-month-week-card:focus-visible{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.vagter-month-week-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.vagter-month-week-range{font-weight:800;color:#0f172a}.vagter-month-week-summary{margin-top:.2rem;font-size:.88rem;color:#64748b}.vagter-month-week-status{display:inline-flex;align-items:center;border-radius:999px;padding:.22rem .65rem;background:#e2e8f0;color:#475569;font-size:.78rem;font-weight:700;white-space:nowrap}.vagter-month-week-status.is-empty{background:#dcfce7;color:#166534}.vagter-month-week-actions{display:grid;gap:.45rem}.vagter-month-apply-btn{width:100%}.vagter-month-week-hint{font-size:.82rem;color:#64748b}.vagter-day-row{display:flex;align-items:center;gap:1rem;padding:.75rem .5rem;border-bottom:1px dashed #eef2f7}.vagter-day-row:last-child{border-bottom:none}.vagter-day-head{width:160px;min-width:120px}.vagter-day-name{font-weight:800;color:#0f172a}.vagter-day-date{color:var(--clr-muted);font-size:.9rem}.vagter-day-shifts{flex:1;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.vagter-shift-card{background:#fff6e5;border:1px solid #eed4a8;padding:.5rem .75rem;border-radius:10px;min-width:220px;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease,background .15s ease}.vagter-shift-card:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.vagter-shift-card.is-selected{background:#eef6ff;border-color:#93c5fd;box-shadow:0 0 0 2px #2563eb1f}.vagter-shift-title{font-weight:700;margin-bottom:.15rem}.vagter-shift-meta{color:var(--clr-muted);font-size:.85rem;margin-bottom:.35rem}.vagter-shift-meta-compact{margin-bottom:.2rem}.vagter-shift-duty{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .55rem;background:#fff;border:1px solid #e5d3aa;color:#6b4a11;font-size:.78rem;margin-bottom:.45rem}.vagter-shift-actions{display:flex;gap:.45rem;flex-wrap:wrap}.vagter-shift-action{background:#fff;color:#6b4a11;border:1px solid #d6b77a;padding:.25rem .6rem;border-radius:999px;font-weight:700}.vagter-shift-details{margin-top:.65rem;padding-top:.65rem;border-top:1px dashed #d6b77a;display:grid;gap:.45rem}.vagter-shift-detail-row{display:flex;justify-content:space-between;gap:.75rem;font-size:.82rem;color:#6b7280}.vagter-assignment-list{display:flex;gap:.4rem;flex-wrap:wrap}.vagter-assignment-pill{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:#fff;border:1px solid #d6b77a;color:#6b4a11;font-size:.78rem}.vagter-assignment-empty{color:#64748b;font-size:.82rem}.vagter-day-empty{color:var(--clr-muted)}.vagter-add-shift-card{min-width:220px;min-height:152px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.4rem;padding:.85rem 1rem;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#475569;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.vagter-add-shift-card:hover{border-color:#94a3b8;background:#f1f5f9;transform:translateY(-1px)}.vagter-add-shift-card:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.vagter-add-shift-icon{width:1.3rem;height:1.3rem;color:#64748b}.vagter-add-shift-title{font-size:1rem;font-weight:700;color:#0f172a}.vagter-add-shift-copy{font-size:.88rem;color:#64748b;text-align:left}@media(max-width:960px){.vagter-month-grid{grid-template-columns:1fr}}.vagter-quick-add-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a61;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.vagter-quick-add-frame{position:relative;width:min(1040px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);border-radius:28px;overflow:hidden;box-shadow:0 24px 80px #0f172a38}.vagter-quick-add-frame.is-mobile{width:min(100%,42rem);max-height:calc(100vh - 1rem);align-self:flex-end;border-bottom-left-radius:0;border-bottom-right-radius:0}.vagter-quick-add-close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border:1px solid #d8e0ea;border-radius:999px;background:#fffffff0;color:#475569;font-size:1.4rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 6px 20px #0f172a14}.vagter-quick-add-close:hover{background:#fff;color:#0f172a}.vagter-quick-add-dialog{width:min(1040px,calc(100vw - 2rem));max-width:min(1040px,calc(100vw - 2rem));padding:0;overflow:hidden}.vagter-quick-add-drawer{max-height:calc(100vh - 1rem);padding:0;overflow:hidden}.vagter-quick-add-body{max-height:calc(100vh - 2rem);overflow:auto;padding:.35rem}.vagter-quick-add-body .vagter-config-card{margin:0}@media(max-width:1180px){.topbar-inner{padding:0 1rem;gap:1rem}.topbar-left{gap:.75rem}.topbar-left h2{font-size:1.6rem}.topbar-nav{gap:.25rem}.topbar-link{padding:.7rem .85rem;font-size:.92rem}.topbar-right{gap:.6rem}.topbar-role-chip{padding:.45rem .8rem;font-size:.88rem}.topbar-user-copy{display:none}.main-content,.planner-draft-banner-inner{padding-left:1rem;padding-right:1rem}}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--clr-border);font-size:.9rem}th{background:#f1f5f9;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}th:first-child{border-top-left-radius:var(--radius)}th:last-child{border-top-right-radius:var(--radius)}.planner-shell-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.planner-shell-title{margin:0;font-size:2rem;line-height:1.1;color:#0f172a}.planner-shell-subtitle{margin-top:.4rem;color:#64748b;font-size:1rem}.planner-shell-actions{display:flex;gap:.6rem}.planner-history-btn{min-height:40px;padding:.55rem 1rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#94a3b8;font-size:.85rem;font-weight:700;box-shadow:none}.planner-history-btn:hover{background:#f8fafc}.planner-history-btn.is-active{background:#fff;color:#334155;border-color:#cbd5e1}.planner-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;margin-left:.55rem;padding:0 .4rem;border-radius:999px;color:#fff;font-size:.72rem;font-weight:700}.planner-tab-count-danger{background:#ef4444}.planner-tab-count-pink{background:#db2777}.planner-tab-count-amber{background:#f59e0b}.tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:1px solid #dbe3ef;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{background:none;color:#64748b;padding:.85rem 1.25rem 1rem;border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:1.05rem;font-weight:600;white-space:nowrap}.tabs button.active{color:#2563eb;border-bottom-color:#2563eb}.tabs button:hover{color:#0f172a;background:none}.vagter-view{display:flex;flex-direction:column;gap:2rem}.vagter-sticky-filter-bar{position:sticky;top:74px;z-index:30;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-bottom:1px solid rgba(216,224,234,.92);background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.vagter-sticky-filter-bar-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 2rem}.vagter-sticky-filter-copy{display:flex;flex-direction:column;gap:.25rem}.vagter-sticky-filter-kicker{color:#2563eb;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.vagter-sticky-filter-title{color:#0f172a;font-size:1rem;font-weight:700}.vagter-sticky-filter-meta{color:#64748b;font-size:.92rem}.vagter-sticky-filter-field{min-width:min(100%,19rem);margin-bottom:0}.vagter-card{border:1px solid #d8e0ea;border-radius:28px;background:#fff;box-shadow:0 1px 2px #0f172a0a;overflow:hidden}.vagter-card-head{padding:1.75rem;border-bottom:1px solid #e2e8f0}.vagter-series-card-head{display:flex;flex-direction:column;gap:1.5rem}.vagter-card-head-main{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.vagter-card-title{font-size:2rem;line-height:1.1;letter-spacing:-.02em;color:#0f172a}.vagter-card-subtitle{margin-top:.55rem;font-size:1.02rem;color:#64748b}.vagter-primary-btn,.vagter-secondary-btn,.vagter-icon-btn,.vagter-counter-btn,.vagter-weekday-btn{border:none}.vagter-primary-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.75rem 1.35rem;border-radius:16px;background:#2563eb;color:#fff;font-size:1rem;font-weight:700;box-shadow:0 1px 2px #0f172a14}.vagter-primary-btn:disabled,.vagter-secondary-btn:disabled,.vagter-weekday-btn:disabled{opacity:.6;cursor:not-allowed}.vagter-primary-btn:hover{background:#1d4ed8}.vagter-btn-icon{width:1.15rem;height:1.15rem}.vagter-series-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px solid #e2e8f0;border-radius:22px;background:#f8fafc}.vagter-series-toolbar-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.vagter-select-wrap{position:relative;min-width:16rem}.vagter-select-input,.vagter-field-input{width:100%;min-height:48px;border:1px solid #cbd5e1;border-radius:16px;background:#fff;color:#334155;padding:.75rem 1rem;font-size:1rem;outline:none;box-shadow:0 1px 2px #0f172a0a}.vagter-select-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.75rem}.vagter-select-input:focus,.vagter-field-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.vagter-select-icon{pointer-events:none;position:absolute;right:1rem;top:50%;width:1.1rem;height:1.1rem;color:#64748b;transform:translateY(-50%)}.vagter-checkbox-row,.vagter-rule-card{display:inline-flex;flex-direction:row;align-items:center;gap:.75rem;margin-bottom:0}.vagter-checkbox-row{font-size:1rem;font-weight:600;color:#475569}.vagter-checkbox-input{width:1.1rem;height:1.1rem;accent-color:#2563eb;flex-shrink:0}.vagter-series-count{color:#64748b;font-size:1rem;font-weight:600;white-space:nowrap}.vagter-table-wrap{overflow-x:auto}.vagter-series-table{width:100%;min-width:980px;margin-top:0;border:0;border-radius:0;box-shadow:none}.vagter-series-table thead{background:#f8fafc}.vagter-series-table th{height:56px;padding:0 1.6rem;background:transparent;border-bottom:1px solid #dbe3ef;color:#64748b;font-size:.78rem;font-weight:700;letter-spacing:.12em}.vagter-series-table td{padding:1.4rem 1.6rem;border-bottom:1px solid #dbe3ef;vertical-align:middle}.vagter-series-table tbody tr:hover{background:#f8fafc}.vagter-series-table tbody tr:last-child td{border-bottom:0}.vagter-actions-head{text-align:right}.vagter-department-cell,.vagter-action-row,.vagter-repeat-list,.vagter-counter-row,.vagter-rule-title-row,.vagter-weekday-row,.vagter-action-bar{display:flex;align-items:center}.vagter-department-cell{gap:.75rem}.vagter-department-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.vagter-department-name,.vagter-shift-name{font-size:1.05rem;font-weight:700;color:#0f172a}.vagter-muted-cell,.vagter-shift-time{font-size:1.05rem;color:#64748b}.vagter-shift-time{margin-top:.2rem;font-size:.95rem}.vagter-repeat-list{gap:.45rem;flex-wrap:wrap}.vagter-repeat-pill{display:inline-flex;align-items:center;justify-content:center;min-width:1.65rem;height:1.65rem;padding:0 .45rem;border-radius:6px;font-size:.76rem;font-weight:700}.vagter-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:.3rem .85rem;border-radius:999px;border:1px solid transparent;font-size:.92rem;font-weight:700}.vagter-action-row{justify-content:flex-end;gap:.4rem}.vagter-icon-btn{width:2.25rem;height:2.25rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid #dbe3ef;background:#fff;color:#64748b;box-shadow:0 1px 2px #0f172a0a;flex-shrink:0}.vagter-icon-btn:hover{background:#f8fafc;border-color:#cbd5e1}.vagter-icon-btn svg{width:1.05rem;height:1.05rem}.vagter-icon-btn-neutral{color:#64748b}.vagter-icon-btn-neutral:hover{color:#334155}.vagter-icon-btn-edit{color:#475569}.vagter-icon-btn-edit:hover{color:#2563eb;border-color:#bfdbfe;background:#eff6ff}.vagter-icon-btn-delete{color:#f87171}.vagter-icon-btn-delete:hover{color:#dc2626;border-color:#fecaca;background:#fef2f2}.vagter-config-body{padding:1.75rem}.vagter-config-flow{max-width:72rem;display:flex;flex-direction:column;gap:2.5rem}.vagter-step{display:grid;grid-template-columns:56px minmax(0,1fr);gap:1.5rem}.vagter-step-rail{display:flex;flex-direction:column;align-items:center;gap:.6rem}.vagter-step-badge{width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#2563eb;color:#fff;font-size:.95rem;font-weight:700;box-shadow:0 1px 2px #0f172a1f}.vagter-step-line{width:1px;flex:1;background:#e2e8f0}.vagter-step-body{padding-bottom:.25rem}.vagter-step-head{margin-bottom:1rem}.vagter-step-title{font-size:1.65rem;line-height:1.15;letter-spacing:-.02em;color:#0f172a}.vagter-step-description{margin-top:.35rem;color:#64748b;font-size:.95rem}.vagter-mode-grid,.vagter-field-grid{display:grid;gap:1rem}.vagter-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vagter-mode-card{position:relative;display:flex;flex-direction:column;gap:.5rem;width:100%;min-height:9.75rem;padding:1.4rem;border:1px solid #d8e0ea;border-radius:22px;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;text-align:left;cursor:pointer}.vagter-mode-card:hover{border-color:#93c5fd;background:#f8fafc}.vagter-mode-card.is-selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 1px 2px #2563eb14}.vagter-mode-check{position:absolute;top:1.15rem;right:1.15rem;width:1.15rem;height:1.15rem;color:#2563eb}.vagter-mode-title{font-size:1.05rem;font-weight:700;color:#0f172a}.vagter-mode-description{color:#64748b;font-size:.95rem}.vagter-field-grid-two{max-width:42rem;grid-template-columns:repeat(2,minmax(0,1fr))}.vagter-field-grid-details{max-width:48rem;grid-template-columns:repeat(2,minmax(0,1fr))}.vagter-field{display:grid;gap:.45rem;margin-bottom:0}.vagter-field-span-all{grid-column:1 / -1}.vagter-field-label{color:#334155;font-size:.94rem;font-weight:600}.vagter-field-icon-wrap{position:relative}.vagter-field-icon{position:absolute;left:1rem;top:50%;width:1rem;height:1rem;color:#94a3b8;transform:translateY(-50%)}.vagter-field-icon-small{width:.9rem;height:.9rem}.vagter-field-input-icon{padding-left:2.8rem}.vagter-field-input-icon-small{padding-left:2.55rem}.vagter-field-input.is-muted{color:#94a3b8}.vagter-period-row{display:flex;align-items:flex-end;gap:1rem;max-width:48rem}.vagter-period-separator{padding-bottom:.9rem;color:#cbd5e1}.vagter-weekday-row{gap:.75rem;flex-wrap:wrap}.vagter-weekday-btn{width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #d8e0ea;background:#fff;color:#64748b;font-size:.92rem;font-weight:700}.vagter-weekday-btn:hover{background:#f8fafc}.vagter-weekday-btn.is-active{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 1px 2px #2563eb29}.vagter-rule-stack{max-width:48rem;display:flex;flex-direction:column;gap:1.25rem}.vagter-counter-block{display:grid;gap:.55rem}.vagter-counter-row{gap:1rem}.vagter-counter-btn{width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#64748b;font-size:1.2rem}.vagter-counter-btn:hover{background:#f8fafc}.vagter-counter-value{min-width:2rem;text-align:center;color:#0f172a;font-size:2rem;font-weight:700}.vagter-counter-text{color:#64748b;font-size:.95rem}.vagter-week-counter-row{margin-top:.75rem;display:flex;flex-direction:column;gap:.4rem}.vagter-week-counter{display:flex;gap:.5rem;align-items:center}.vagter-week-counter-label{font-size:.9rem;font-weight:500}.vagter-week-help{font-size:.8rem;color:var(--clr-muted);margin:0}.vagter-rule-card{align-items:flex-start;gap:1rem;padding:1rem;border:1px solid #d8e0ea;border-radius:22px;background:#fff}.vagter-rule-card:hover{background:#f8fafc}.vagter-checkbox-input-top{margin-top:.2rem}.vagter-rule-title-row{gap:.5rem;color:#0f172a;font-size:1rem;font-weight:700}.vagter-rule-icon{width:1rem;height:1rem;color:#2563eb}.vagter-rule-copy{margin-top:.3rem;color:#64748b;font-size:.92rem}.vagter-action-bar{gap:.75rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid #f1f5f9}.vagter-secondary-btn{min-height:48px;padding:.75rem 1.35rem;border:1px solid #cbd5e1;border-radius:16px;background:#fff;color:#475569;font-size:1rem;font-weight:700}.vagter-secondary-btn:hover{background:#f8fafc}.vagter-submit-hint{font-size:.92rem;color:#64748b}@media(max-width:900px){.vagter-sticky-filter-bar-inner,.vagter-card-head-main,.vagter-series-toolbar,.vagter-period-row{flex-direction:column;align-items:stretch}.vagter-series-count{text-align:left}.vagter-period-separator{display:none}.vagter-step{grid-template-columns:1fr}.vagter-step-rail{flex-direction:row;justify-content:flex-start}.vagter-step-line{display:none}.vagter-mode-grid,.vagter-field-grid-two,.vagter-field-grid-details{grid-template-columns:1fr}}@media(max-width:640px){.vagter-card-head,.vagter-config-body{padding:1.15rem}.vagter-sticky-filter-bar-inner{padding:.85rem 1rem}.vagter-card-title,.vagter-step-title{font-size:1.65rem}.vagter-select-wrap{min-width:0;width:100%}.vagter-series-toolbar-controls{width:100%;flex-direction:column;align-items:stretch}.vagter-checkbox-row{align-items:flex-start}.vagter-series-table{min-width:860px}}@media(max-width:768px){.vagter-sticky-filter-bar{top:68px}.vagter-sticky-filter-bar-inner{padding:.85rem 1rem}}.form-row{display:flex;gap:1rem}.form-row>label{flex:1}.checkbox-label{flex-direction:row!important;align-items:center;gap:.5rem}.checkbox-label input{width:auto}.inline-form{display:flex;gap:.5rem;margin-bottom:1rem}.inline-form input{flex:1}.pref-form{background:var(--clr-surface);padding:1.5rem;border-radius:var(--radius);box-shadow:0 1px 4px #0000000a;margin-bottom:2rem}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--clr-muted)}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--clr-surface);padding:2rem;border-radius:var(--radius);box-shadow:0 8px 32px #00000026;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-content h3{margin-bottom:1rem}.fc{font-family:inherit}.calendar-workspace{display:flex;flex-direction:column;gap:1.25rem}.calendar-page-head,.calendar-shell,.calendar-compliance-card{border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.calendar-page-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1.25rem 1.25rem 1rem}.calendar-page-head h2,.calendar-compliance-header h3,.calendar-drawer-head h3{font-size:1.35rem;line-height:1.2;color:#0f172a;margin-bottom:.35rem}.calendar-kicker{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:.45rem;color:#64748b;font-size:.78rem;font-weight:600;letter-spacing:.04em}.calendar-kicker-icon,.calendar-button-icon,.calendar-legend-icon,.calendar-drawer-avatar-icon,.calendar-panel-icon{width:.95rem;height:.95rem}.calendar-page-subtitle{max-width:44rem;color:#64748b;font-size:.92rem}.calendar-page-stats,.calendar-compliance-badges{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.calendar-page-stat,.calendar-compliance-period,.calendar-drawer-chip,.calendar-alert-badge{display:inline-flex;align-items:center;min-height:32px;padding:.4rem .7rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid #e2e8f0;background:#f8fafc;color:#475569}.muted-chip{background:#f8fafc;color:#475569;border-color:#e2e8f0}.calendar-shell,.calendar-compliance-card{padding:0}.calendar-shell{overflow:visible}.calendar-shell-header-sticky{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e2e8f0;border-top-left-radius:14px;border-top-right-radius:14px}.calendar-shell-toolbar,.calendar-toolbar-main,.calendar-toolbar-filters,.calendar-toolbar-secondary,.calendar-toolbar-actions,.calendar-nav-group,.calendar-toggle-group,.calendar-legend,.calendar-compliance-header,.calendar-compliance-grid{display:flex;gap:.75rem}.calendar-shell-toolbar,.calendar-toolbar-secondary,.calendar-compliance-header{justify-content:space-between;align-items:center}.calendar-toolbar-main,.calendar-toolbar-actions{align-items:center}.calendar-shell-toolbar,.calendar-toolbar-secondary{padding:.95rem 1rem}.calendar-shell-toolbar{border-bottom:1px solid #e2e8f0}.calendar-toolbar-filters{flex-wrap:wrap;justify-content:flex-end}.calendar-toolbar-filters label{display:flex;flex-direction:column;gap:.3rem;min-width:12rem;color:#475569;font-size:.78rem;font-weight:600}.calendar-toolbar-filters select{min-height:32px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;padding:0 .75rem;font-size:.875rem}.calendar-toolbar-label{font-size:.75rem;color:#64748b}.calendar-toolbar-title{font-size:1rem;line-height:1.2}.calendar-nav-btn,.calendar-ghost-btn,.calendar-refresh-btn,.calendar-toggle-pill{min-height:32px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#475569;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.calendar-nav-btn{min-width:32px;padding:.35rem .6rem}.calendar-ghost-btn,.calendar-refresh-btn,.calendar-toggle-pill{padding:.4rem .8rem;font-size:.82rem;font-weight:600}.calendar-ghost-btn.active,.calendar-toggle-pill.active{background:#f8fafc;color:#0f172a;border-color:#cbd5e1}.calendar-refresh-btn{color:#475569}.calendar-filter-panel{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:0 1rem .5rem;padding:.9rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.calendar-filter-check{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;color:#334155}.calendar-filter-check input{width:auto}.calendar-frame{position:relative;overflow:visible;margin:0 1rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:0}.calendar-frame.is-loading .fc{opacity:.72;pointer-events:none}.calendar-loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffffb8;z-index:2}.calendar-loading-card{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:999px;font-size:.9rem}.calendar-loading-spinner{width:.9rem;height:.9rem;border:2px solid rgba(148,163,184,.45);border-top-color:#0f172a;border-radius:50%;animation:calendar-spin .7s linear infinite}.calendar-inline-empty{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .5rem .2rem;color:#64748b;font-size:.9rem}.calendar-frame .fc-theme-standard td,.calendar-frame .fc-theme-standard th,.calendar-frame .fc-scrollgrid{border-color:#e2e8f0}.calendar-frame .fc .fc-scrollgrid-section-sticky,.calendar-frame .fc .fc-scrollgrid-section-sticky>*,.calendar-frame .fc-scrollgrid-sync-table>tbody>tr>th{position:sticky!important;top:var(--sticky-header-height, 0)!important;z-index:10!important}.calendar-frame .fc .fc-scrollgrid-section-sticky th{background:#fff;box-shadow:0 1px #e2e8f0}.calendar-frame .fc-col-header-cell-cushion{padding:.75rem .35rem;font-size:.78rem;font-weight:700;color:#64748b}.calendar-frame .fc-daygrid-day{background:#fff}.calendar-frame .fc-daygrid-day-top{justify-content:flex-end;padding:.35rem .45rem 0}.calendar-frame .fc-daygrid-day-number{font-size:.82rem;font-weight:700;color:#334155}.calendar-frame .fc-day-today{background:#f8fbff!important}.calendar-frame .fc-daygrid-day-events{margin:.1rem .25rem .3rem}.calendar-frame .fc-h-event,.calendar-frame .fc-timegrid-event{border-radius:6px;margin-bottom:.22rem;box-shadow:none;overflow:hidden}.calendar-pill-content{display:flex;flex-direction:column;gap:.14rem;padding:.38rem .45rem;line-height:1.15}.calendar-pill-content.is-muted{color:#1f2937}.calendar-pill-meta{display:flex;align-items:center}.calendar-pill-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.12rem .3rem;border-radius:4px;background:#ffffff2e;font-size:.64rem;font-weight:700;opacity:1}.calendar-pill-icon{width:.7rem;height:.7rem}.calendar-pill-title{font-size:.76rem;font-weight:700}.calendar-pill-subtitle{font-size:.69rem;opacity:.92}.calendar-event-shift{color:#fff;border-width:1px;border-style:solid}.calendar-event-vacation,.calendar-event-barsel,.calendar-event-sickness,.calendar-event-afspadsering{color:#0f172a;opacity:1;border-width:1px}.calendar-event-vacation{border-style:solid;background:#dcfce7!important;border-color:#86efac!important}.calendar-event-barsel{border-style:solid;background:#ffe4e6!important;border-color:#fda4af!important}.calendar-event-sickness{border-style:solid;background:#fee2e2!important;border-color:#fca5a5!important}.calendar-event-afspadsering{border-style:dashed;background:#fef3c7!important;border-color:#fbbf24!important}.calendar-event-day{background:#2563eb!important;border-color:#1d4ed8!important}.calendar-event-evening{background:#0f766e!important;border-color:#115e59!important}.calendar-event-night{background:#4338ca!important;border-color:#3730a3!important}.calendar-frame .fc-daygrid-dot-event{align-items:stretch;white-space:normal}.calendar-frame .fc-daygrid-dot-event .fc-event-title{font-weight:inherit}.calendar-frame .fc-daygrid-event-harness{margin-top:.18rem}.calendar-frame .fc-more-link{color:#2563eb;font-weight:600;font-size:.75rem}.calendar-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.9rem 1rem 1rem}.calendar-legend-heading{color:#64748b;font-size:.72rem;font-weight:700;text-transform:uppercase}.calendar-legend-item{display:inline-flex;align-items:center;gap:.35rem;color:#475569;font-size:.8rem;font-weight:600}.calendar-legend-token{width:1.2rem;height:1.2rem;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #e2e8f0}.calendar-legend-token.is-green{color:#15803d;background:#f0fdf4}.calendar-legend-token.is-pink{color:#be185d;background:#fff1f2}.calendar-legend-token.is-red{color:#b91c1c;background:#fef2f2}.calendar-legend-token.is-amber{color:#b45309;background:#fffbeb}.soft-green{background:#10b981}.soft-pink{background:#db2777}.soft-red{background:#dc2626}.soft-amber{background:#f59e0b}.calendar-compliance-card{display:flex;flex-direction:column;gap:0}.calendar-compliance-header{align-items:flex-start;padding:1rem;border-bottom:1px solid #f1f5f9}.calendar-compliance-grid{align-items:stretch;gap:0}.calendar-compliance-panel{flex:1;padding:1rem;border-radius:0;border:0;background:#fff}.calendar-compliance-panel-header{margin-bottom:.8rem}.calendar-compliance-panel-header h4{display:flex;align-items:center;gap:.45rem;font-size:.86rem;margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.calendar-compliance-panel-header p{color:#475569;font-size:.88rem}.calendar-alert-badge.is-danger{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.calendar-alert-badge.is-success{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.calendar-panel-icon.is-danger{color:#dc2626}.calendar-panel-icon.is-warning{color:#d97706}.calendar-panel-icon.is-info{color:#2563eb}.calendar-panel-icon.is-success{color:#15803d}.calendar-compliance-list{display:flex;flex-direction:column;gap:.8rem}.calendar-compliance-group h5{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#475569;margin-bottom:.4rem}.calendar-compliance-group ul{list-style:none;display:flex;flex-direction:column;gap:.45rem}.calendar-compliance-group li{padding:.7rem .8rem;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155;font-size:.88rem}.calendar-compliance-panel.tone-danger,.calendar-compliance-panel.tone-warning,.calendar-compliance-panel.tone-info,.calendar-compliance-panel.tone-success{background:#fff}.calendar-drawer-backdrop{position:fixed;inset:0;display:flex;justify-content:flex-end;background:#0f172a2e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000}.calendar-drawer{width:min(100%,22rem);height:100%;background:#fff;border-left:1px solid #e2e8f0;box-shadow:-8px 0 24px #0f172a1f;display:flex;flex-direction:column}.calendar-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid #f1f5f9}.calendar-drawer-close,.calendar-drawer-secondary{border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:8px}.calendar-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem}.calendar-drawer-body{display:flex;flex:1;flex-direction:column;gap:1rem;padding:1rem;overflow-y:auto}.calendar-drawer-identity{display:flex;flex-wrap:wrap;gap:.5rem}.calendar-drawer-details{display:grid;gap:.75rem}.calendar-drawer-detail{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.calendar-drawer-detail-icon{width:1rem;height:1rem;color:#64748b;margin-top:.15rem}.calendar-drawer-detail span,.calendar-drawer-staff-item span{display:block;color:#64748b;font-size:.8rem}.calendar-drawer-detail strong,.calendar-drawer-staff-item strong{display:block;color:#0f172a;font-size:.9rem}.calendar-drawer-section-title{margin-bottom:.5rem;color:#64748b;font-size:.78rem;font-weight:700;text-transform:uppercase}.calendar-drawer-staff-list{display:grid;gap:.6rem}.calendar-drawer-staff-item{display:flex;gap:.75rem;align-items:center;padding:.75rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.calendar-drawer-avatar{width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#e2e8f0;color:#475569;flex-shrink:0}.calendar-drawer-footer{margin-top:auto;padding-top:.25rem}.calendar-drawer-secondary{width:100%;min-height:36px}.fc .fc-button{font-size:.85rem;padding:.35rem .75rem}.fc .fc-toolbar-title{font-size:1.15rem}.fc .fc-event{cursor:pointer;border-radius:4px;font-size:.8rem;padding:1px 4px}.empty{padding:2rem;text-align:center;color:var(--clr-muted)}@keyframes calendar-spin{to{transform:rotate(360deg)}}.mobile-tab-select{width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:600;border:2px solid var(--clr-primary);border-radius:var(--radius);background:var(--clr-surface);color:var(--clr-primary);-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;margin-bottom:1rem;min-height:48px}.mtab{position:relative;margin-bottom:1rem}.mtab-trigger{display:flex;align-items:center;gap:.6rem;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:600;border:2px solid var(--clr-primary);border-radius:var(--radius);background:var(--clr-surface);color:var(--clr-primary);cursor:pointer;min-height:48px;text-align:left}.mtab-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb26}.mtab-icon{display:flex;align-items:center;flex-shrink:0}.mtab-label{flex:1;display:flex;align-items:center;gap:.4rem}.mtab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.3rem;height:1.3rem;padding:0 .35rem;font-size:.75rem;font-weight:700;line-height:1;color:#fff;background:var(--clr-danger);border-radius:999px}.mtab-chevron{flex-shrink:0;transition:transform .2s}.mtab-chevron.open{transform:rotate(180deg)}.mtab-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;list-style:none;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius);box-shadow:0 8px 24px #0000001f;z-index:100;overflow:hidden}.mtab-item{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;font-size:.95rem;cursor:pointer;transition:background .1s}.mtab-item:hover{background:var(--clr-bg)}.mtab-item.active{background:var(--clr-primary);color:#fff;font-weight:600}@media(max-width:768px){.topbar{flex-direction:row;align-items:center;padding:.75rem 1rem}.topbar-left{flex:1;display:flex;align-items:center;gap:.5rem}.main-content{padding:0 .75rem;margin:1rem auto}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:0;padding-bottom:0}.tabs button{white-space:nowrap;flex-shrink:0;padding:.6rem .9rem;font-size:.9rem;min-height:44px}.form-row{flex-direction:column;gap:0}.inline-form{flex-direction:column}.pref-form{padding:1rem}th,td{padding:.4rem .5rem;font-size:.8rem}th{font-size:.7rem}.modal-content{margin:1rem;padding:1.25rem;max-height:85vh}button{padding:.5rem 1rem;font-size:.85rem}.fc .fc-toolbar{flex-direction:column;gap:.5rem}.calendar-hero,.calendar-shell-toolbar,.calendar-toolbar-secondary,.calendar-compliance-grid,.calendar-compliance-header{flex-direction:column}.calendar-summary-chips,.calendar-toolbar-filters,.calendar-toolbar-actions{justify-content:flex-start}.calendar-toolbar-filters label{min-width:100%}.calendar-nav-group,.calendar-toggle-group{flex-wrap:wrap}.calendar-frame{padding:.5rem}.fc .fc-toolbar-title{font-size:1rem}.fc .fc-button{font-size:.75rem;padding:.25rem .5rem}}@media(max-width:480px){.main-content{padding:0 .5rem}.topbar-left h2{font-size:1rem}th,td{padding:.3rem .35rem;font-size:.75rem}.tabs button{font-size:.85rem;padding:.55rem .75rem;min-height:44px}}
