.dashboard-shell{display:grid;grid-template-columns:256px 1fr;min-height:100vh;background:var(--background-light, #f5f7f8);color:#0f172a}.sidebar{display:flex;flex-direction:column;background:#fff;border-right:1px solid #e5e7eb;color:#0f172a}.sidebar-logo{display:flex;align-items:center;gap:1rem;font-weight:700;font-size:1.25rem;letter-spacing:-.015em;height:65px;padding:0 1.5rem;border-bottom:1px solid #e5e7eb}.sidebar-logo-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--primary, #0f6df0)}.sidebar-logo-icon svg{width:28px;height:28px}.sidebar-logo-icon-ring{fill:none;stroke:currentColor;stroke-width:2.5}.sidebar-logo-icon-check{fill:currentColor}.sidebar-logo-text{font-weight:700;color:#0f172a}.sidebar-nav{flex:1;display:flex;flex-direction:column;padding:1rem;gap:1rem}.sidebar-footer{padding:1rem;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:1rem}.sidebar-user{display:flex;align-items:center;gap:.75rem;padding:.5rem}.sidebar-user-avatar{width:40px;height:40px;border-radius:9999px;background:linear-gradient(135deg,#94a3b8,#64748b)}.sidebar-user-info{flex:1}.sidebar-user-label{display:none}.sidebar-user-name{margin:0;font-size:.875rem;font-weight:600;color:#0f172a}.sidebar-user-email{margin:0;font-size:.75rem;color:#6b7280}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;box-sizing:border-box;color:#374151;text-decoration:none;border:none;background:transparent;width:100%;font:inherit;text-align:left;font-weight:500;font-size:.875rem;justify-content:flex-start;border-radius:.5rem;transition:background .15s ease,color .15s ease}.sidebar .button-pill{width:100%;justify-content:flex-start;background:transparent;color:#374151;padding:.5rem 1rem;border-radius:.5rem}.sidebar .button-pill:hover{background:#f3f4f6;color:#111827}.sidebar .button-pill.active{background:#f3f4f6;color:#0f172a;font-weight:600}.sidebar .button-pill.active .nav-icon{color:var(--primary, #0f6df0)}.nav-icon{display:grid;place-items:center;width:24px;height:24px;font-size:1rem;color:#6b7280}.sidebar-logout{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.5rem 1rem;border-radius:.5rem;border:none;background:transparent;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s ease}.sidebar-logout:hover{background:#f3f4f6}.nav-group{display:flex;flex-direction:column;gap:.25rem}.nav-group-title{margin:0;padding:.5rem 1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:#6b7280}.dashboard-main{display:flex;flex-direction:column}.dashboard-main-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 1rem 0 2.5rem;height:65px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.dashboard-main-header-actions{display:flex;align-items:center;gap:1rem}.dashboard-header-notification{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9999px;border:none;background:transparent;color:#6b7280;cursor:pointer;transition:background .15s ease}.dashboard-header-notification:hover{background:#f3f4f6}.dashboard-header-avatar{width:40px;height:40px;border-radius:9999px;background:linear-gradient(135deg,#94a3b8,#64748b)}.dashboard-menu-toggle{display:none;align-items:center;gap:.5rem;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#374151;font-weight:600;padding:.5rem .9rem;cursor:pointer;transition:background .2s ease,border .2s ease}.dashboard-menu-toggle:focus-visible{outline:2px solid var(--primary, #0f6df0);outline-offset:2px}.dashboard-menu-toggle:hover{background:#f3f4f6}.dashboard-menu-toggle-icon{position:relative;width:18px;height:2px;background:currentColor;border-radius:999px}.dashboard-menu-toggle-icon:before,.dashboard-menu-toggle-icon:after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;border-radius:999px;transition:transform .2s ease}.dashboard-menu-toggle-icon:before{transform:translateY(-6px)}.dashboard-menu-toggle-icon:after{transform:translateY(6px)}.dashboard-shell.is-sidebar-open .dashboard-menu-toggle-icon{background:transparent}.dashboard-shell.is-sidebar-open .dashboard-menu-toggle-icon:before{transform:rotate(45deg)}.dashboard-shell.is-sidebar-open .dashboard-menu-toggle-icon:after{transform:rotate(-45deg)}.dashboard-welcome{font-size:.9rem;opacity:.8;margin:0 0 .25rem}.dashboard-title{margin:0;font-size:1.25rem;font-weight:700;color:#0f172a;line-height:1.4;letter-spacing:-.015em}.dashboard-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;background:var(--primary, #0f6df0);border:none;border-radius:.5rem;color:#fff;font-size:.875rem;font-weight:700;cursor:pointer;transition:background .15s ease}.dashboard-primary:hover{background:#0b5ed7}.dashboard-content{flex:1;padding:2rem 2.5rem}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;border:none;background:#0f172a8c;padding:0;margin:0;cursor:pointer}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.panel{background:#fff;border-radius:.75rem;border:1px solid #e5e7eb;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;color:#0f172a}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.panel-header h2{margin:0;font-size:1.1rem}.panel-table{display:grid;gap:.75rem}.table-row{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;align-items:center;font-size:.9rem;padding:.6rem .75rem;border-radius:12px}.table-head{font-weight:600;background:#2563eb14}.table-row:not(.table-head):hover{background:#2563eb0f}.calendar-panel{grid-column:span 2}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.calendar-day{min-height:80px;background:#f1f5ffd9;border-radius:16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:.75rem;position:relative;font-size:.85rem}.calendar-day-label{background:transparent;font-weight:600;color:#0f172ab3;min-height:auto;padding:0}.day-number{font-weight:600}.day-badge{margin-top:.5rem;padding:.25rem .5rem;background:#2563eb;color:#fff;border-radius:999px;font-size:.7rem;font-weight:600;box-shadow:0 8px 20px #2563eb59}.calendar-nav{border:none;background:#2563eb26;color:#1d4ed8;width:36px;height:36px;border-radius:999px;cursor:pointer;font-size:1.1rem}.panel-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.panel-list li{padding-bottom:.75rem;border-bottom:1px solid rgba(37,99,235,.1);font-size:.95rem}.panel-list li:last-child{border-bottom:none}.report-panel select{border-radius:999px;border:none;padding:.5rem 1rem;background:#2563eb26;color:#1d4ed8;font-weight:600}.report-form{display:grid;gap:1rem}.report-form label{display:grid;gap:.35rem;font-size:.85rem;color:#0f172abf}.report-form input,.report-form select{padding:.65rem .75rem;border-radius:12px;border:1px solid rgba(148,163,184,.5);font-size:.95rem;background:#fff}.report-form fieldset{border:1px dashed rgba(37,99,235,.3);border-radius:14px;padding:.75rem 1rem;display:grid;gap:.5rem}.report-form fieldset legend{font-weight:600;color:#0f172ab3}.report-form fieldset label{display:flex;align-items:center;gap:.5rem}.users-panel{grid-column:span 2}.users-list-view{display:grid;gap:1.5rem}.panel-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem}.panel-header-actions .table-filter{display:flex}.panel-header-actions .table-filter input{border:1px solid rgba(15,23,42,.2);border-radius:999px;padding:.45rem 1rem;font-size:.9rem;background:#ffffffeb;min-width:240px}.panel-header-actions .table-filter input:focus-visible{outline:2px solid rgba(37,99,235,.35);outline-offset:2px}.users-table table{width:100%;border-collapse:collapse;font-size:.9rem}.users-table th,.users-table td{padding:.75rem;text-align:left;border-bottom:1px solid rgba(148,163,184,.25)}.users-table th{font-weight:600;color:#0f172ab3}.users-table .sortable-header{display:inline-flex;align-items:center;gap:.35rem;border:none;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:0}.users-table .sortable-header:focus-visible{outline:2px solid rgba(37,99,235,.45);outline-offset:2px}.users-table .sort-indicator{font-size:.8em;color:#0f172ab3}.users-table tbody tr{background:#fff}.users-table tbody tr:hover{background:#2563eb12}.users-form-view{display:grid;gap:1.25rem;background:#fff;border-radius:18px;padding:1.9rem;border:1px solid #d9e2ec;box-shadow:0 6px 14px #0f172a0a}.users-form-view label{display:grid;gap:.35rem;font-size:.95rem;color:#0f172ae6;letter-spacing:.01em}.users-form-view input,.users-form-view select{padding:.9rem 1rem;border-radius:14px;border:1px solid #d7e0ec;font-size:1rem;line-height:1.4;background:#f5f7f8;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.users-form-view input:focus-visible,.users-form-view select:focus-visible{outline:none;border-color:#0f6df0;box-shadow:0 0 0 3px #0f6df033;background:#fff}.users-form-view fieldset{border:1px dashed rgba(37,99,235,.3);border-radius:14px;padding:1rem 1.1rem;display:grid;gap:.6rem;background:#f5f7f8}.roles-grid{display:grid;gap:.5rem}.roles-grid label{display:flex;gap:.5rem;align-items:center}.users-empty{padding:1rem;border-radius:12px;background:#2563eb1a;color:#0f172abf}.form-error{background:#ef44441f;border-radius:10px;padding:.6rem .8rem;color:#b91c1c;font-size:.85rem}.form-success{background:#22c55e1f;border-radius:10px;padding:.6rem .8rem;color:#15803d;font-size:.85rem}.secondary-button{border:none;background:#2563eb26;color:#1d4ed8;padding:.45rem .95rem;border-radius:10px;font-weight:600;cursor:pointer}.secondary-button:disabled{opacity:.45;cursor:not-allowed}.pagination-controls{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding:1rem 0;background:#0f172a08;border-radius:0 0 12px 12px}.pagination-info{font-size:.9rem;color:#0f172aa6}.pagination-buttons{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.button-tertiary{border:none;border-radius:999px;padding:.6rem 1.2rem;font-weight:600;cursor:pointer;background:#e7e9ee;color:#1f2937;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.form-header{display:flex;align-items:center;justify-content:space-between}@media (max-width: 1180px){.dashboard-main{padding:2rem 2.25rem}.dashboard-grid{gap:1.75rem}.panel{padding:1.35rem}}@media (max-width: 1024px){.dashboard-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(320px,85vw);max-width:85vw;transform:translate(-100%);transition:transform .3s ease,opacity .2s ease;z-index:40;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 28px 65px #0f172a59;opacity:0;pointer-events:none;visibility:hidden}.dashboard-shell.is-sidebar-open .sidebar{transform:translate(0);opacity:1;pointer-events:auto;visibility:visible}.sidebar-overlay{display:block;z-index:30}.dashboard-content{padding:1.5rem}.dashboard-menu-toggle{display:inline-flex}.dashboard-title{font-size:1.1rem}.dashboard-grid{grid-template-columns:1fr;gap:1.5rem}.calendar-panel,.users-panel{grid-column:span 1}}@media (max-width: 768px){.sidebar{width:min(300px,90vw);max-width:90vw}.dashboard-content,.panel{padding:1rem}.panel-header{flex-direction:column;align-items:flex-start;gap:.75rem}.panel-header-actions{width:100%;justify-content:flex-start}.dashboard-grid{gap:1.25rem}.panel-table{gap:.6rem}.table-row{grid-template-columns:1fr;gap:.35rem;align-items:flex-start}.calendar-grid{grid-template-columns:repeat(7,minmax(110px,1fr));overflow-x:auto;padding-bottom:.5rem}.calendar-day{min-width:110px}.dashboard-primary{width:100%}.users-table{overflow-x:auto}.users-table table{min-width:520px}.users-actions{flex-direction:column;gap:.35rem;align-items:stretch;justify-content:flex-start}.actions-column>*{margin-left:0}.users-actions button{width:100%}}@media (max-width: 600px){.sidebar{width:100vw;max-width:100vw}.dashboard-menu-toggle{padding:.45rem .75rem;gap:.4rem}.dashboard-menu-toggle-icon,.dashboard-menu-toggle-icon:before,.dashboard-menu-toggle-icon:after{width:16px}.dashboard-main-header>div{flex:1 1 100%}.dashboard-title{font-size:1.45rem}}.management-page{display:flex;flex-direction:column;gap:1.5rem;color:#0f172a}.management-group{display:flex;flex-direction:column;gap:0}.management-group .panel{padding:0}.management-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem;padding:1.5rem}.management-toolbar h2{display:none}.toolbar-actions{display:flex;align-items:center;gap:1rem;flex:1 1 100%;width:100%;justify-content:space-between;flex-wrap:wrap}.toolbar-actions-left,.toolbar-actions-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.toolbar-actions-left{flex:1 1 320px}.toolbar-actions-right{justify-content:flex-end;margin-left:auto}.management-tabs{display:flex;flex-direction:column;gap:1.5rem}.tab-navigation{display:inline-flex;flex-wrap:wrap;gap:.5rem;border-bottom:1px solid rgba(15,23,42,.12);padding-bottom:.5rem}.tab-button{border:none;background:#0f172a0d;color:#0f172a;padding:.55rem 1.35rem;border-radius:999px 999px 0 0;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .2s ease,color .2s ease}.tab-button:focus-visible{outline:2px solid rgba(37,99,235,.45);outline-offset:2px}.tab-button--active{background:#1d4ed8;color:#fff}.tab-button--disabled{background:#0f172a14;color:#0f172a59;cursor:not-allowed}.tab-panel{display:flex;flex-direction:column;gap:1.5rem}.form-section{display:flex;flex-direction:column;gap:1.1rem;padding:1.6rem;border:1px solid #d9e2ec;border-radius:18px;background:#fff;box-shadow:0 6px 14px #0f172a0a}.form-section h3{margin:0;font-size:1.05rem;color:#0f172ad9}.form-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.checkbox-list{display:flex;flex-direction:column;gap:.5rem}.checkbox-option{display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;color:#0f172ad9}.info-text{color:#0f172ab3;font-size:.95rem;background:#0f172a0d;border-radius:12px;padding:1rem 1.25rem}.table-filter{position:relative;flex:0 1 320px}.table-filter .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:1.25rem;pointer-events:none}.table-filter input{border:1px solid #e5e7eb;border-radius:.5rem;padding:.5rem 1rem .5rem 2.5rem;font-size:.875rem;background:#fff;width:100%}.table-filter input::placeholder{color:#9ca3af}.table-filter input:focus-visible{outline:2px solid var(--primary, #0f6df0);outline-offset:-1px;border-color:transparent}.filter-group{display:inline-flex;background:transparent;border-radius:0;padding:0;gap:0}.filter-button{display:none}.filter-select{border:1px solid #e5e7eb;border-radius:.5rem;padding:.5rem 2.5rem .5rem 1rem;font-size:.875rem;background:#fff;color:#0f172a;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem}.filter-select:focus-visible{outline:2px solid var(--primary, #0f6df0);outline-offset:-1px;border-color:transparent}.customers-table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.customers-table{width:100%;border-collapse:collapse;text-align:left}.customers-table thead{background:#f9fafb}.customers-table thead th{text-align:left;font-weight:500;font-size:.875rem;color:#374151;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb}.customers-table thead .sortable-header{display:inline-flex;align-items:center;gap:.35rem;border:none;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:0}.customers-table thead .sortable-header:focus-visible{outline:2px solid var(--primary, #0f6df0);outline-offset:2px}.customers-table thead .sort-indicator{font-size:.8em;color:#6b7280}.customers-table tbody tr{background:#fff;transition:background .15s ease}.customers-table tbody tr:hover{background:#f9fafb}.inspection-calendar{display:flex;flex-direction:column;gap:1.5rem}.calendar-meta h3{margin:0;font-size:1.1rem;font-weight:600;color:#0f172a;text-transform:capitalize}.calendar-meta-range{margin:.35rem 0 0;color:#0f172aa6;font-size:.9rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem}.calendar-weekday{text-align:center;font-weight:600;font-size:.85rem;text-transform:uppercase;color:#0f172a8c}.calendar-day{min-height:140px;border-radius:14px;border:1px solid rgba(15,23,42,.08);background:#f8fafcbf;padding:.85rem;display:flex;flex-direction:column;gap:.5rem}.calendar-day:focus-visible{outline:2px solid rgba(37,99,235,.45);outline-offset:2px}.calendar-day--today{border-color:#2563eb73;box-shadow:0 0 0 2px #2563eb26}.calendar-day--empty{background:transparent;border:none;min-height:auto;padding:0}.calendar-day-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.calendar-day-number{font-weight:700;font-size:1.1rem;color:#0f172ae6}.calendar-day-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;border-radius:999px;background:#2563eb1f;color:#1d4ed8;font-size:.75rem;font-weight:600}.calendar-entries{display:flex;flex-direction:column;gap:.45rem;margin-top:.25rem}.calendar-entry{background:#fff;border-radius:12px;padding:.5rem .65rem;box-shadow:0 1px 2px #0f172a0f;display:flex;flex-direction:column;gap:.2rem}.calendar-entry--button{border:none;background:#fff;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none}.calendar-entry--button:hover{box-shadow:0 2px 4px #0f172a1f}.calendar-entry--button:focus-visible{outline:2px solid rgba(37,99,235,.55);outline-offset:2px}.calendar-entry-time{margin:0;font-size:.8rem;font-weight:600;color:#0f172aa6}.calendar-entry-customer,.calendar-entry-site,.calendar-entry-technician{margin:0;font-size:.85rem;color:#0f172ad9}.calendar-entry-technician{font-weight:600}.calendar-empty-state{margin:0;padding:.75rem 1rem;border-radius:12px;background:#0f172a0d;color:#0f172ab3;font-size:.95rem}.customers-table tbody tr{background:#fff}.customers-table td{padding:1rem;font-size:.875rem;color:#4b5563;vertical-align:middle;border-bottom:1px solid #e5e7eb;height:72px}.customers-table tbody tr:last-child td{border-bottom:none}.customers-table th:first-child,.customers-table td:first-child{padding-left:1rem}.customers-table th:last-child,.customers-table td:last-child{padding-right:1rem}.status-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.status-pill.active,.status-pill--active{background:#dcfce7;color:#166534}.status-pill.inactive,.status-pill--inactive{background:#fee2e2;color:#991b1b}.status-pill.archived{background:#f3f4f6;color:#4b5563}.status-pill.identifier-pill{background:#10b98129;color:#047857}.form-field label .label-pill{margin-left:.5rem}.actions-column{text-align:right}.actions-column>*{margin-left:auto}.actions-column .sortable-header{justify-content:flex-end}.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-left:auto}.table-action-link{color:var(--primary, #0f6df0);font-size:.875rem;font-weight:700;cursor:pointer;background:none;border:none;padding:0;text-decoration:none;letter-spacing:.015em}.table-action-link:hover{text-decoration:underline}.table-action-link--danger{color:#dc2626}.table-action-link--danger:hover{color:#b91c1c}.table-actions .button-pill{padding:.45rem .85rem;background:transparent;color:var(--primary, #0f6df0);font-size:.875rem;font-weight:700}.table-actions .button-pill:hover{text-decoration:underline;background:transparent}.table-actions .button-pill.button-pill--danger{background:transparent;color:#dc2626}.table-actions .button-pill.button-pill--danger:hover{text-decoration:underline;background:transparent}.table-action-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:transparent;color:var(--primary, #0f6df0);cursor:pointer;border-radius:.375rem;padding:0;transition:background-color .15s ease,color .15s ease}.table-action-icon:hover{background-color:#0f6df01a}.table-action-icon:focus-visible{outline:2px solid var(--primary, #0f6df0);outline-offset:2px}.table-action-icon.table-action-icon--danger{color:#dc2626}.table-action-icon.table-action-icon--danger:hover{background-color:#dc26261a;color:#b91c1c}.table-action-icon .material-symbols-outlined{font-size:1.25rem}.table-action-icon:disabled{opacity:.4;cursor:not-allowed}.table-action-icon:disabled:hover{background-color:transparent;color:inherit}.field-options-display{display:flex;flex-wrap:wrap;gap:.4rem}.field-options-display__pill{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.15rem;border-radius:999px;background:#2563eb1f;color:#1d4ed8;padding:.35rem .85rem;font-size:.85rem;font-weight:600}.field-options-display__pill small{font-size:.75rem;font-weight:500;color:#2563ebbf}.field-options-display__empty{color:#0f172a66}.empty-state{padding:2rem 0;text-align:center;color:#6b7280;font-size:.875rem}.pagination-controls{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;background:#f9fafb;border-top:1px solid #e5e7eb}.pagination-info{font-size:.875rem;color:#4b5563}.pagination-info strong{font-weight:600}.pagination-buttons{display:flex;align-items:center;gap:.25rem}.pagination-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.875rem;cursor:pointer;transition:background .15s ease,color .15s ease}.pagination-button:hover:not(:disabled){background:#f3f4f6}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-button.active{background:var(--primary, #0f6df0);border-color:var(--primary, #0f6df0);color:#fff}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;color:#6b7280}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1.5rem;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.modal-dialog{background:#fff;border-radius:16px;box-shadow:0 30px 70px #0f172a73;max-width:720px;width:min(720px,100%);display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(15,23,42,.08)}.modal-header h2{margin:0;font-size:1.2rem}.modal-close{border:none;background:transparent;font-size:1.5rem;cursor:pointer;color:#0f172aa6;line-height:1}.modal-close:hover,.modal-close:focus-visible{color:#0f172af2}.modal-body{padding:1.5rem;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid rgba(15,23,42,.08);background:#f8fafccc}.back-button{align-self:flex-start;margin-bottom:-.5rem}.detail-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;background:#0f172a0a;border-radius:16px;padding:1.25rem 1.5rem}.detail-summary>div{display:flex;flex-direction:column;gap:.35rem}.detail-label{font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:#0f172a99}.detail-value{font-size:1rem;font-weight:600;color:#0f172a}.compact-table-layout{gap:1rem}.compact-table-layout .management-toolbar{padding:0;align-items:center;gap:.75rem}.compact-table-layout .management-toolbar h3,.compact-table-layout .management-toolbar h2{margin:0;font-size:1rem}.compact-table-layout .toolbar-actions{flex:1 1 100%;width:100%;gap:.75rem;justify-content:space-between}.compact-table-layout .table-filter{flex:0 1 260px}.compact-table-layout .customers-table-wrapper{margin-top:.25rem}.compact-table-layout .customers-table thead th{padding:.65rem .75rem}.compact-table-layout .customers-table td{padding:.65rem .75rem;height:auto}.compact-table-layout .pagination-controls{padding:.75rem}.compact-table-layout .form-actions{margin-top:.5rem}.detail-section{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.detail-section__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.detail-section__header h3{margin:0}.detail-section__subtitle{margin:.5rem 0 0;font-size:.9rem;color:#0f172aa6;max-width:520px}.option-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.option-label{font-weight:600}.option-description{display:block;font-size:.85rem;color:#0f172a99}.modal-form{display:flex;flex-direction:column;gap:1rem}.checkbox-field label{display:inline-flex;align-items:center;gap:.6rem;font-weight:600}.predefined-values{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#0f172a0a;border-radius:12px}.predefined-values__header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-weight:600}.predefined-value-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr)) auto;gap:.75rem;align-items:end}.predefined-value-row .button-pill{height:fit-content}.empty-state.small{font-size:.85rem;padding:.5rem 0}@media (max-width: 992px){.management-toolbar{flex-direction:column;align-items:stretch}.toolbar-actions{flex-direction:column;align-items:stretch;gap:.75rem}.toolbar-actions-left,.toolbar-actions-right{width:100%;justify-content:flex-start;gap:.75rem}.toolbar-actions-right{margin-left:0}.table-filter{flex:1 1 100%}.table-filter input{width:100%}}@media (max-width: 768px){.filter-group{width:100%;justify-content:center}.toolbar-actions-left,.toolbar-actions-right{flex-direction:column;align-items:stretch}.toolbar-actions-right .button-secondary,.toolbar-actions-right .button-tertiary,.toolbar-actions-right button{width:100%}}@media (max-width: 640px){.customers-table{min-width:100%}.customers-table thead{display:none}.customers-table tbody{display:flex;flex-direction:column;gap:1rem}.customers-table tbody tr{display:grid;gap:.75rem;background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:.75rem;padding:1rem}.customers-table tbody tr{background:#fff}.customers-table td{display:flex;justify-content:space-between;align-items:flex-start;padding:0;gap:1rem;font-size:.9rem}.customers-table td:before{content:attr(data-label);font-weight:600;color:#0f172aa6}.customers-table td:not([data-label]):before{display:none}.customers-table td[data-label=Aktionen]{flex-direction:column;gap:.5rem}.table-actions{flex-direction:column;align-items:stretch;justify-content:flex-start;margin-left:0}.actions-column>*{margin-left:0}.table-actions .button-pill{width:100%;justify-content:center}.pagination-controls{flex-direction:column;align-items:flex-start;gap:.75rem}.detail-summary{grid-template-columns:1fr}.detail-section__header{flex-direction:column;gap:1rem}.detail-section__header .button-secondary{width:100%}.predefined-value-row{grid-template-columns:1fr}.predefined-value-row .button-pill{justify-self:flex-end}.predefined-values__header{flex-direction:column;align-items:stretch;gap:.5rem}.predefined-values__header .button-tertiary{align-self:flex-end}.back-button{width:100%;margin-bottom:0}}.button-secondary,.button-tertiary{border:none;border-radius:.5rem;padding:.625rem 1rem;font-weight:700;font-size:.875rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:background .15s ease}.button-secondary{background:var(--primary, #0f6df0);color:#fff}.button-secondary:hover{background:#0b5ed7}.button-secondary:disabled{background:#0f172a59;cursor:not-allowed}.button-tertiary{background:#e7e9ee;color:#1f2937;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.button-tertiary:hover:not(:disabled),.button-tertiary:focus-visible:not(:disabled){background:#d7dae2}.button-tertiary:focus-visible:not(:disabled){box-shadow:0 0 0 2px #94a3b866;outline:none}.button-tertiary:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.confirmation-banner{background:#22c55e26;border:1px solid rgba(34,197,94,.4);color:#15803d;border-radius:12px;padding:.75rem 1rem;font-size:.9rem}.form-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#b91c1c;border-radius:12px;padding:.75rem 1rem;font-size:.9rem}.customer-form{display:grid;gap:1.75rem}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-field label{font-weight:600;font-size:.95rem;color:#0f172ae6;letter-spacing:.01em}.form-field input,.form-field textarea,.form-field select{border:1px solid #d7e0ec;border-radius:14px;padding:.9rem 1rem;font-size:1rem;line-height:1.4;background:#f5f7f8;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.form-field select{cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(15,23,42,.55) 50%),linear-gradient(135deg,rgba(15,23,42,.55) 50%,transparent 50%);background-position:right 1.15rem center,right .6rem center;background-size:.45rem .45rem;background-repeat:no-repeat;padding-right:2.75rem}.form-field input::placeholder,.form-field textarea::placeholder{color:#9aa6b8}.form-field input:focus-visible,.form-field textarea:focus-visible,.form-field select:focus-visible{outline:none;border-color:#0f6df0;box-shadow:0 0 0 3px #0f6df033;background:#fff}.selector-field{display:flex;align-items:center;gap:.75rem}.selector-field input{flex:1 1 auto}.selector-field .button-tertiary{flex-shrink:0;white-space:nowrap}.form-hint{font-size:.85rem;color:#0f172aa6;margin:0}.form-field textarea{min-height:110px;resize:vertical}.error-text{color:#b91c1c;font-size:.8rem}.field-meta{margin-top:.25rem;font-size:.8rem;color:#0f172a99}.form-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.form-actions__group{display:inline-flex;align-items:center;gap:.75rem}.form-actions .button-secondary{min-width:150px}.loading-state{color:#0f172ab3;font-size:.9rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (max-width: 1024px){.management-toolbar{flex-direction:column;align-items:stretch;gap:1.25rem}.toolbar-actions{width:100%;flex-direction:column;align-items:stretch;gap:.75rem}.toolbar-actions-left,.toolbar-actions-right{width:100%;justify-content:flex-start}.toolbar-actions-right{margin-left:0}.tab-navigation{gap:.35rem}.form-grid{grid-template-columns:1fr}}@media (max-width: 820px){.management-group .panel{padding:1.4rem}.table-filter{flex:1 1 220px}.table-filter input{width:100%;min-width:0}}@media (max-width: 720px){.management-page{gap:1.25rem}.filter-group{justify-content:space-between}.button-secondary{width:100%}.customers-table{display:block;width:100%;overflow-x:auto;border-spacing:0;min-width:640px}.customers-table thead th,.customers-table tbody td{white-space:nowrap}.table-actions{flex-direction:column;align-items:stretch;justify-content:flex-start;margin-left:0}.table-actions .button-pill{width:100%;justify-content:center}.pagination-controls{flex-direction:column;align-items:stretch;gap:.75rem}.pagination-buttons{justify-content:flex-end}.customer-form{gap:1rem}.form-actions{flex-direction:column;align-items:stretch}.form-actions .button-secondary,.form-actions .button-tertiary{width:100%}}@media (max-width: 520px){.management-group .panel{padding:1.25rem}.filter-group{flex-direction:column;align-items:stretch}.filter-button{width:100%;text-align:center}.toolbar-actions{gap:.65rem}.pagination-buttons{flex-direction:column;gap:.75rem}.pagination-buttons .button-tertiary{width:100%}}.templates-tab{display:flex;flex-direction:column;gap:2rem;padding:1rem 0}.templates-section{display:flex;flex-direction:column;gap:1rem}.section-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.section-header h3{margin:0;font-size:1.125rem;font-weight:600}.template-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.template-form h4{margin:0 0 .5rem;font-size:1rem;font-weight:600}.template-form .form-field{display:flex;flex-direction:column;gap:.375rem}.template-form .form-field label{font-size:.875rem;font-weight:500;color:#334155}.template-form .form-field input,.template-form .form-field select,.template-form .form-field textarea{padding:.5rem .75rem;border:1px solid #cbd5e1;border-radius:.375rem;font-size:.875rem}.template-form .form-field input[type=file]{padding:.375rem;background:#fff}.template-form .form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.info-text{font-size:.75rem;color:#64748b}.empty-state{color:#64748b;font-style:italic;padding:1rem 0}.reports-tab{display:flex;flex-direction:column;gap:2rem;padding:1rem 0}.report-generate-section,.reports-list-section{display:flex;flex-direction:column;gap:1rem}.report-generate-section h3,.reports-list-section h3{margin:0;font-size:1.125rem;font-weight:600}.report-generate-form{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.report-generate-form .form-field{flex:1;min-width:200px;max-width:400px}.job-status{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:.375rem;color:#0369a1;font-size:.875rem}.job-status-indicator{width:.5rem;height:.5rem;background:#0ea5e9;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:.5rem;padding:1.5rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.modal-content h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600}.modal-info{margin:0 0 1rem;padding:.75rem;background:#f3f4f6;border-radius:.375rem;font-size:.875rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.recipient-list{max-height:200px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:.375rem;padding:.5rem}.recipient-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;cursor:pointer;border-radius:.25rem}.recipient-item:hover{background:#f9fafb}.recipient-item input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.recipient-name{font-weight:500;flex:1}.recipient-email{color:#6b7280;font-size:.875rem}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background-color:#f5f7f8;--primary: #0f6df0;--background-light: #f5f7f8}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}body,#root{margin:0;min-height:100vh}body{scrollbar-gutter:stable both-edges}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:linear-gradient(160deg,#0b1f4b,#12357e,#0b1f4b)}.login-form{display:flex;flex-direction:column;gap:1rem;padding:2.5rem 2.25rem;background:#fffffff2;border-radius:18px;box-shadow:0 35px 65px #0f172a59;width:min(360px,100%)}.login-form label{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem}.login-form input{padding:.65rem;border-radius:10px;border:1px solid rgba(148,163,184,.4);font-size:1rem}.login-form button{padding:.8rem;border-radius:12px;border:none;background:#2563eb;color:#fff;font-size:1rem;cursor:pointer;font-weight:600;box-shadow:0 18px 38px #2563eb59}.login-form button:disabled{opacity:.7;cursor:not-allowed}.login-form .error{color:#ef4444;font-size:.85rem}.button-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .95rem;border-radius:12px;border:none;background:#2563eb1f;color:#1d4ed8;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.button-pill:hover{background:#2563eb2e}.button-pill:focus-visible{outline:2px solid rgba(37,99,235,.35);outline-offset:2px}.button-pill:disabled{opacity:.55;cursor:not-allowed}.button-pill--danger{background:#ef44441f;color:#b91c1c}.button-pill--danger:hover{background:#ef44442e}
