@font-face{font-family:Montserrat;src:url('/assets/fonts/Montserrat.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--plan-blue:#4a6da7;--plan-blue-soft:#e4eafa;--plan-ink:#343b49;--plan-bg:#f3f5f9}
body{background:var(--plan-bg);color:var(--plan-ink);font-family:Montserrat,Arial,sans-serif}.app-navbar{background:var(--plan-blue)}.guest-bg{background:linear-gradient(135deg,#eef2f8,#dce5f3);min-height:100vh}
.auth-card{max-width:470px;margin:auto;border:0;border-radius:1rem}.auth-divider{display:flex;align-items:center;gap:1rem;color:#7b8494;margin:1.25rem 0}.auth-divider::before,.auth-divider::after{content:"";height:1px;background:#dfe3ea;flex:1}.auth-divider span{font-size:.875rem}.page-title{color:var(--plan-blue);font-weight:750}.card{border:0;border-radius:.9rem}.stat-card{border-left:5px solid var(--plan-blue)}
.password-requirements{padding:.8rem .9rem;border:1px solid #d7dfeb;border-radius:.65rem;background:#f7f9fc}.password-strength-progress{height:.55rem;background:#e6eaf0}
.badge-draft{background:#6c757d}.badge-published{background:#198754}.badge-archived{background:#343a40}.off-highlight{color:var(--plan-blue);font-weight:800}.sticky-actions{position:sticky;bottom:.75rem;z-index:10;background:rgba(255,255,255,.96);border-radius:.8rem;padding:.65rem;box-shadow:0 4px 18px rgba(0,0,0,.15)}
.plan-editor-shell>.card-body{padding:clamp(1rem,2.6vw,2rem)}.plan-sheet{max-width:1120px;margin-inline:auto}.plan-week{display:grid;grid-template-columns:4rem minmax(0,1fr);border:1px solid var(--plan-blue);border-top-width:3px;border-radius:.6rem;overflow:hidden;background:#fff;margin-bottom:1rem;box-shadow:0 2px 8px rgba(48,66,99,.07)}.plan-week-number{display:flex;align-items:center;justify-content:center;background:var(--plan-blue);color:#fff;border-right:3px solid var(--plan-blue);overflow:hidden}.plan-week-number span{display:block;white-space:nowrap;font-size:1rem;font-weight:800;letter-spacing:.025em;transform:rotate(-90deg)}.plan-week-rows{min-width:0}.meeting-card.plan-meeting-row{border:0;border-radius:0;background:#fff;box-shadow:none;margin:0}.meeting-card.plan-meeting-row+.meeting-card.plan-meeting-row{border-top:1px solid #5969bd}.meeting-card.plan-meeting-row.saturday{background:#e4eaf3}.meeting-card.plan-meeting-row .card-body{padding:.7rem .75rem}.meeting-card.plan-meeting-row .form-label{display:block;margin:0 0 .2rem;text-align:center;font-size:.76rem;line-height:1.1;color:#536078}.meeting-card.plan-meeting-row .form-control,.meeting-card.plan-meeting-row .form-select{min-height:2.25rem;border:1px solid transparent;background-color:transparent;text-align:center;font-size:.88rem;padding-top:.3rem;padding-bottom:.3rem}.meeting-card.plan-meeting-row .form-control:hover,.meeting-card.plan-meeting-row .form-select:hover{border-color:#b7c5dc;background-color:rgba(255,255,255,.55)}.meeting-card.plan-meeting-row .form-control:focus,.meeting-card.plan-meeting-row .form-select:focus{border-color:var(--plan-blue);background:#fff;box-shadow:0 0 0 .18rem rgba(74,109,167,.16)}.meeting-card.plan-meeting-row .leader-free-name{margin-top:.25rem!important}.plan-date-cell .form-label{font-size:.9rem!important;font-weight:750;color:var(--plan-ink)!important}.plan-off-cell{font-weight:700}.plan-row-action{text-align:right;padding:0 .75rem .55rem}.plan-row-action .btn{border:0;font-size:.72rem;padding:.15rem .4rem}.plan-summary-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.gtm-plan-editor .plan-meeting-row .row{align-items:center}.gtm-plan-editor .plan-meeting-row .small{font-size:.86rem!important}
.form-label{font-weight:600}.table thead th{background:#e9eef7;color:#344d78}.notification-card{border-left:4px solid #f0ad4e}.completion-complete{color:#198754}.completion-open{color:#b26a00}
.nav-pills .nav-link.active{background:var(--plan-blue)}.small-muted{font-size:.86rem;color:#6c757d}.special-card{border-left:5px solid #dc8b14}.autocomplete-list{position:absolute;z-index:20;width:100%}
.gtm-guide{border-left:5px solid var(--plan-blue);background:linear-gradient(135deg,#fff,#f2f6fc)}.gtm-guide li::marker{color:var(--plan-blue);font-weight:800}
@media(max-width:767.98px){.desktop-table{display:none}.page-actions .btn{width:100%;margin-bottom:.45rem}.sticky-actions{display:grid;gap:.4rem}.sticky-actions .btn{width:100%}.navbar-text{display:block;margin:.5rem 0}.card-body{padding:1rem}.plan-editor-shell>.card-body{padding:.75rem}.plan-week{grid-template-columns:2.65rem minmax(0,1fr);border-radius:.5rem}.plan-week-number span{font-size:.82rem}.meeting-card.plan-meeting-row .card-body{padding:.75rem}.meeting-grid>div{margin-bottom:.55rem}.meeting-card.plan-meeting-row .form-label{text-align:left}.meeting-card.plan-meeting-row .form-control,.meeting-card.plan-meeting-row .form-select{text-align:left;border-color:#d7deea;background-color:rgba(255,255,255,.72)}.plan-summary-head{display:block}.plan-summary-head>span{display:block;margin-top:.4rem}.plan-row-action{text-align:left}}
@media(min-width:768px){.mobile-cards{display:none}.meeting-grid{display:grid;grid-template-columns:1.05fr .65fr 1.2fr 1.1fr;gap:.35rem;align-items:end}.meeting-grid.with-off{grid-template-columns:1.05fr .65fr 1.2fr 1.1fr 1fr}}

/* Formularbaseret editor til den overordnede plan */
.plan-form-shell>.card-body{padding:clamp(1rem,2.5vw,2rem)}
.plan-form-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:2rem;align-items:end;padding-bottom:1.5rem;border-bottom:1px solid #e3e8f0}
.plan-title-field .form-control{font-size:1.05rem;font-weight:600}
.plan-form-weeks{display:grid;gap:1.25rem;margin-top:1.5rem}
.plan-form-week{border:1px solid #d8e0ec;border-radius:.85rem;overflow:hidden;background:#f8fafc}
.plan-form-week-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;background:#eef3f9;border-bottom:1px solid #d8e0ec}
.plan-form-week-badge{display:inline-flex;align-items:center;justify-content:center;min-width:5.3rem;padding:.38rem .7rem;border-radius:999px;background:var(--plan-blue);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.045em}
.plan-form-week-body{display:grid;gap:.8rem;padding:.8rem}
.plan-form-meeting{border:1px solid #d9e0ea!important;border-left:5px solid var(--plan-blue)!important;border-radius:.7rem!important;background:#fff!important;box-shadow:0 2px 7px rgba(42,59,88,.055)}
.plan-form-meeting.saturday{border-left-color:#c38416!important;background:#fffdf7!important}
.plan-form-meeting.extra{border-left-color:#5279b1!important;background:#f8fbff!important}
.plan-form-meeting.is-overridden{opacity:.63}
.plan-form-meeting-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid #e4e8ef}
.plan-day-chip{display:inline-flex;padding:.24rem .55rem;border-radius:999px;background:#e7eef9;color:#34598f;font-size:.75rem;font-weight:800}
.plan-day-chip.is-saturday{background:#fff0cf;color:#855b0c}
.plan-day-chip.is-extra{background:#dfe9f7;color:#294f82}
.plan-meeting-date{font-size:1rem}.plan-meeting-kind{color:#687386;font-size:.86rem}
.plan-form-grid{display:grid;grid-template-columns:minmax(160px,1fr) 125px minmax(220px,1.35fr) minmax(220px,1.35fr);gap:1rem;padding:1rem;align-items:start}
.plan-form-grid.with-off{grid-template-columns:minmax(150px,1fr) 115px minmax(190px,1.25fr) minmax(190px,1.25fr) minmax(155px,.9fr)}
.plan-form-field{min-width:0}.plan-form-field .form-label{margin-bottom:.35rem;color:#354866;font-size:.78rem;text-transform:uppercase;letter-spacing:.035em}
.plan-form-field .form-control,.plan-form-field .form-select{border-color:#cdd6e3;background-color:#fff;min-height:2.55rem}
.plan-form-field .form-control:focus,.plan-form-field .form-select:focus{border-color:var(--plan-blue);box-shadow:0 0 0 .2rem rgba(74,109,167,.13)}
.plan-form-field .form-sub-label{display:block;margin:.7rem 0 .28rem;color:#7b8492;font-size:.74rem;font-weight:600}
.meeting-title-input-group .meeting-color-toggle{display:flex;align-items:center;justify-content:center;min-width:3rem;border-color:#cdd6e3;background:#f7f9fc}.meeting-title-input-group .meeting-color-toggle:hover,.meeting-title-input-group .meeting-color-toggle[aria-expanded="true"]{border-color:#8da8cf;background:#eaf1fb}.meeting-color-preview{display:inline-block;color:var(--meeting-selected-color);font-size:1.3rem;line-height:1;text-shadow:0 0 1px rgba(0,0,0,.2)}.meeting-color-palette{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.45rem 0 0;padding:.55rem .65rem;border:1px solid #dce7f5;border-radius:.7rem;background:linear-gradient(135deg,#f8fbff,#f4f0ff)}.meeting-color-palette legend{float:none;width:100%;margin:0 0 .08rem;color:#61718a;font-size:.74rem;font-weight:700}.meeting-color-swatch{display:inline-block;width:1.72rem;height:1.72rem;margin:0;border:.2rem solid #fff;border-radius:50%;background:var(--meeting-swatch);box-shadow:0 0 0 1px #bac7d9,0 2px 5px rgba(48,66,99,.12);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.meeting-color-swatch:hover{transform:scale(1.1)}.meeting-color-input:focus-visible+.meeting-color-swatch{box-shadow:0 0 0 3px rgba(74,109,167,.3)}.meeting-color-input:checked+.meeting-color-swatch{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--plan-blue),0 4px 9px rgba(48,66,99,.18);transform:scale(1.08)}
.plan-off-field{padding:.75rem;border-radius:.6rem;background:#fff5df;border:1px solid #f0d9a9}
.plan-form-meeting.is-group-mode .plan-form-grid.with-off{grid-template-columns:minmax(180px,.9fr) minmax(260px,1.5fr) minmax(180px,.9fr)}
.plan-form-meeting.is-cancelled-mode .plan-form-grid,.plan-form-meeting.is-cancelled-mode .plan-form-grid.with-off{grid-template-columns:minmax(180px,.65fr) minmax(0,2.35fr);align-items:start}
.plan-form-meeting.is-cancelled-mode .plan-text-field{width:100%}
.visit-week-summary{display:flex;min-height:9rem;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1.25rem;text-align:center;border:1px solid #a9cbb2;border-radius:.7rem;background:#e8f3eb;color:#315f3c}
.visit-week-summary strong{font-size:1.15rem}.visit-week-summary span{font-size:1rem}.visit-week-summary small{margin-top:.45rem;color:#587461}
.plan-notes-section{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid #e3e8f0}
.plan-note-card{height:100%;padding:1rem;border:1px solid #dce3ed;border-radius:.7rem;background:#f9fbfd}
.plan-save-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.9rem 1rem;border:1px solid #cbd7e8;border-radius:.8rem;background:#fff;box-shadow:0 4px 14px rgba(34,49,74,.09)}
.pdf-preview-modal-content{overflow:hidden}.pdf-preview-frame{display:block;width:100%;height:min(76vh,980px);border:0;background:#eef2f7}
#revision-list .accordion-button{align-items:flex-start}#autosave-status{transition:color .2s ease}
.access-link-card{color:inherit;border:1px solid #d7e0ed;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.access-link-card:hover{color:inherit;transform:translateY(-2px);border-color:#8da8cf;box-shadow:0 .75rem 1.5rem rgba(40,66,104,.14)!important}.access-card-icon{display:inline-flex;align-items:center;justify-content:center;width:2.65rem;height:2.65rem;margin-bottom:1rem;border-radius:.75rem;background:#e7eef8;color:#345d98;font-weight:800}.activity-table th{white-space:nowrap}.activity-table td{vertical-align:top}.activity-json{max-width:32rem;max-height:15rem;margin:.25rem 0 .75rem;padding:.7rem;border-radius:.5rem;background:#f3f6fa;color:#26354b;font-size:.75rem;white-space:pre-wrap;overflow:auto}.activity-table summary{cursor:pointer;white-space:nowrap}
.plan-status-panel{overflow:hidden;border-color:#cbd8ea}.plan-status-summary{display:flex;flex-wrap:wrap;gap:.5rem}.plan-status-pill,.publish-step-state{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:700;white-space:nowrap}.plan-status-pill.is-success,.publish-step-state.is-success{background:#dff3e7;color:#24613d}.plan-status-pill.is-danger,.publish-step-state.is-danger{background:#fde2e3;color:#9b2e35}.plan-status-pill.is-warning,.publish-step-state.is-warning{background:#fff0cd;color:#885f00}.plan-status-pill.is-neutral,.publish-step-state.is-neutral{background:#eaf0f8;color:#52657f}.plan-status-tabs{gap:.25rem;border-bottom-color:#d7e0ed}.plan-status-tabs .nav-link{color:#52657f;font-weight:600;border-radius:.55rem .55rem 0 0}.plan-status-tabs .nav-link.active{color:#345d98}.publish-wizard-steps{display:grid;gap:.75rem}.publish-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;border:1px solid #d7e0ed;border-radius:.75rem;background:#fff;transition:border-color .2s ease,background-color .2s ease}.publish-step.is-running{border-color:#6e91c5;background:#f2f7fd}.publish-step.is-complete{border-color:#86b99a;background:#f4fbf7}.publish-step.has-warning{border-color:#e0b958;background:#fffaf0}.publish-step.has-error{border-color:#df8d93;background:#fff6f6}.publish-step-number{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:#4f74ad;color:#fff;font-weight:800}.publish-step p{font-size:.86rem}.publish-step-state.is-running{background:#dce9fa;color:#315e99}.publish-step-state.is-complete{background:#dff3e7;color:#24613d}.publish-step-state.has-warning{background:#fff0cd;color:#885f00}.publish-step-state.has-error{background:#fde2e3;color:#9b2e35}
.plan-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.plan-toolbar .btn{white-space:nowrap}.plan-toolbar-history .btn{display:inline-flex;align-items:center;justify-content:center;width:2.55rem;padding-inline:.55rem;font-size:1.25rem;line-height:1}.plan-toolbar .dropdown-menu{min-width:15rem;padding:.45rem}.plan-toolbar .dropdown-item{border-radius:.35rem;padding:.6rem .75rem}.plan-toolbar .dropdown-item:active{background:var(--plan-blue)}
@media(max-width:1199.98px){.plan-form-grid,.plan-form-grid.with-off,.plan-form-meeting.is-group-mode .plan-form-grid.with-off{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-form-meeting.is-cancelled-mode .plan-form-grid,.plan-form-meeting.is-cancelled-mode .plan-form-grid.with-off{grid-template-columns:minmax(180px,.65fr) minmax(0,2.35fr)}.plan-off-field{align-self:stretch}}
@media(max-width:767.98px){.plan-form-intro{grid-template-columns:1fr;gap:1rem}.plan-form-week-header,.plan-form-meeting-header,.plan-save-bar{align-items:flex-start}.plan-form-meeting-header,.plan-save-bar{flex-direction:column}.plan-form-meeting-header .btn{width:100%}.plan-form-grid,.plan-form-grid.with-off,.plan-form-meeting.is-group-mode .plan-form-grid.with-off,.plan-form-meeting.is-cancelled-mode .plan-form-grid,.plan-form-meeting.is-cancelled-mode .plan-form-grid.with-off{grid-template-columns:1fr;padding:.8rem}.plan-form-meeting.is-cancelled-mode .meeting-color-palette{display:flex;width:100%;gap:.35rem;padding:.5rem}.plan-form-meeting.is-cancelled-mode .meeting-color-palette legend{width:100%;margin:0 0 .08rem}.plan-form-meeting.is-cancelled-mode .meeting-color-swatch{width:1.55rem;height:1.55rem}.plan-form-week-body{padding:.55rem}.plan-save-bar>div:last-child,.plan-save-bar .btn{width:100%}.page-actions.plan-toolbar{width:100%;justify-content:flex-start}.page-actions.plan-toolbar .btn{width:auto;margin-bottom:0}.plan-toolbar .dropdown{margin-left:auto}.plan-toolbar .dropdown-menu .dropdown-item{width:100%}.pdf-preview-frame{height:72vh}.pdf-preview-modal-content .modal-footer{align-items:stretch;flex-direction:column}.pdf-preview-modal-content .modal-footer>*,.pdf-preview-modal-content .modal-footer .btn{width:100%}.plan-status-tabs{flex-wrap:nowrap;overflow-x:auto}.plan-status-tabs .nav-link{white-space:nowrap}.publish-step{grid-template-columns:auto minmax(0,1fr)}.publish-step-state{grid-column:2;justify-self:start}.publish-wizard-steps+.alert{font-size:.9rem}#publishWizardModal .modal-footer,#publishWizardModal .modal-footer>div{align-items:stretch;flex-direction:column;width:100%}#publishWizardModal .modal-footer .btn{width:100%}}
