.layout{display:flex;min-height:100vh;background-color:var(--color-background)}.sidebar{width:260px;background-color:var(--color-surface);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100}.sidebar-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.logo{display:flex;align-items:center;gap:var(--spacing-md)}.logo-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--color-primary-orange),var(--color-primary-orange-dark));color:#fff;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;letter-spacing:-.5px}.logo-text{flex:1}.logo-title{font-size:1.125rem;font-weight:700;color:var(--color-secondary-blue);line-height:1.2}.logo-subtitle{font-size:.75rem;color:var(--color-text-secondary);margin-top:2px}.sidebar-nav{flex:1;padding:var(--spacing-md) 0;overflow-y:auto}.nav-list{list-style:none;padding:0;margin:0}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-secondary);text-decoration:none;font-size:.9375rem;font-weight:500;transition:all .2s ease;position:relative}.nav-item:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.nav-item.nav-item--active{color:var(--color-primary-orange);background-color:#e1700014}.nav-item.nav-item--active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--color-primary-orange)}.nav-children{list-style:none;padding:0;margin:0}.nav-item--child{padding-left:2.25rem;font-size:.8125rem}.nav-item--child svg{opacity:.7}.nav-children:before{content:"";display:block;margin:.125rem .75rem .125rem 2.25rem;border-top:1px solid var(--color-border-light, #e5e7eb)}.sidebar-footer{border-top:1px solid var(--color-border-light);padding:var(--spacing-md) 0}.main-content{flex:1;margin-left:260px;min-height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.content-wrapper{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.content-wrapper input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=button]),.content-wrapper select,.content-wrapper textarea{background-color:var(--color-surface, #fff)}@media (max-width: 1024px){.sidebar{width:220px}.main-content{margin-left:220px}.content-wrapper{padding:var(--spacing-lg)}}@media (max-width: 768px){.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.content-wrapper{padding:var(--spacing-md)}}.card-deadlines{margin-bottom:var(--spacing-xl)}.deadline-widget-empty,.deadline-widget-muted{margin:0;color:var(--color-text-muted, #64748b);font-size:.95rem}.deadline-widget-empty{padding:var(--spacing-md) 0}.dashboard-deadline-table{font-size:.95rem}.dashboard{width:100%}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stat-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);text-decoration:none;transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card.stat-orange .stat-icon{background-color:#e170001a;color:var(--color-primary-orange)}.stat-card.stat-blue .stat-icon{background-color:#1542731a;color:var(--color-secondary-blue)}.stat-card.stat-green .stat-icon{background-color:#28a7451a;color:var(--color-success)}.stat-card.stat-purple .stat-icon{background-color:#8b5cf61a;color:#8b5cf6}.stat-card.stat-sma .stat-icon{background-color:#b453091f;color:#b45309}.stat-content{flex:1}.stat-label{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:4px}.stat-value{font-size:2rem;font-weight:700;color:var(--color-text-primary);line-height:1}.dashboard-content{display:grid;gap:var(--spacing-lg)}.card-keuringen .card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm)}.card-keuringen .card-title{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-warning, #f97316)}.keuringen-intro{margin-bottom:var(--spacing-md);font-size:.9375rem}.keuringen-lijst{list-style:none;padding:0;margin:0}.keuring-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light);flex-wrap:wrap}.keuring-item:last-child{border-bottom:none}.keuring-badge{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:4px}.keuring-item.keuring-verlopen .keuring-badge,.keuring-item.keuring-rood .keuring-badge{background-color:#ef4444;color:#fff}.keuring-item.keuring-vervalt_binnenkort .keuring-badge,.keuring-item.keuring-oranje .keuring-badge{background-color:#f97316;color:#fff}.keuring-item.keuring-geldig .keuring-badge,.keuring-item.keuring-groen .keuring-badge{background-color:#22c55e;color:#fff}.keuring-item.keuring-onbekend .keuring-badge{background-color:#94a3b8;color:#fff}.keuring-code{font-family:monospace;font-size:.875rem;color:var(--color-text-secondary)}.keuring-dagen{margin-left:auto;font-size:.875rem;color:var(--color-text-secondary)}.quick-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg);flex-wrap:wrap}.card-dia-verdeling .card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm)}.dia-verdeling-intro{margin:0 0 var(--spacing-md);font-size:.9375rem;color:var(--color-text-secondary, #64748b)}.dia-verdeling-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-md)}.dia-verdeling-card{border:1px solid var(--color-border-light, #e2e8f0);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--color-surface, #fff)}.dia-verdeling-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap}.dia-verdeling-naam{font-weight:700;color:var(--color-text-primary);font-size:1rem}.dia-verdeling-badge{font-size:.8125rem;font-weight:600;color:var(--color-secondary-blue, #154273);background:#15427314;padding:2px 10px;border-radius:999px}.dia-verdeling-project-list{list-style:none;margin:0;padding:0}.dia-verdeling-project-list li{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border-light, #f1f5f9);font-size:.9375rem}.dia-verdeling-project-list li:last-child{border-bottom:none;padding-bottom:0}.dia-verdeling-meta{font-size:.8125rem;color:var(--color-text-secondary, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-bureau-actie .card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm)}.card-header-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.bureau-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.bureau-kpi{padding:var(--spacing-md);border-radius:var(--radius-md);background:var(--color-surface, #f8fafc);border:1px solid var(--color-border-light, #e2e8f0);text-align:center}.bureau-kpi-warning{border-color:#e1700059;background:#e170000f}.bureau-kpi-action{border-color:#15427359;background:#1542730f}.bureau-kpi-danger{border-color:#dc262659;background:#dc26260f}.bureau-kpi-value{display:block;font-size:1.75rem;font-weight:700;line-height:1.2;color:var(--color-text-primary)}.bureau-kpi-label{display:block;font-size:.8125rem;color:var(--color-text-secondary, #64748b);margin-top:4px}.bureau-actie-table-wrap{overflow-x:auto}.bureau-actie-table{font-size:.9375rem}.bureau-project-link{font-weight:600;color:var(--color-secondary-blue, #154273);text-decoration:none}.bureau-project-link:hover{text-decoration:underline}.bureau-badge{display:inline-block;font-size:.8125rem;font-weight:600;padding:4px 10px;border-radius:6px;white-space:nowrap}.bureau-badge--muted{background:#f1f5f9;color:#64748b}.bureau-badge--info{background:#e0f2fe;color:#0369a1}.bureau-badge--warning{background:#ffedd5;color:#c2410c}.bureau-badge--action{background:#dbeafe;color:#1d4ed8}.bureau-badge--ok{background:#d1fae5;color:#047857}.bureau-badge--danger{background:#fee2e2;color:#b91c1c}.badge{display:inline-block;padding:.2rem .5rem;border-radius:var(--radius-md, .375rem);font-size:.8rem;font-weight:600}.badge--red{background:#fee2e2;color:#991b1b}.badge--orange{background:#fed7aa;color:#9a3412}.badge--amber{background:#fef3c7;color:#92400e}.badge--yellow{background:#fef9c3;color:#854d0e}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}.quick-actions{flex-direction:column}.quick-actions .btn{width:100%}}.contactpersonen-section{background-color:var(--color-surface);border:2px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-top:var(--spacing-md)}.contactpersonen-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.contactpersonen-title{display:flex;align-items:center;gap:var(--spacing-sm)}.contactpersonen-title svg{color:var(--color-secondary-blue)}.contactpersonen-title h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text)}.contact-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background-color:var(--color-secondary-blue);color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.contactpersonen-loading{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-xl);color:var(--color-text-secondary)}.spinner-small{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary-orange);border-radius:50%;animation:spin .8s linear infinite}.contactpersonen-empty{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl);text-align:center}.contactpersonen-empty .empty-icon{color:var(--color-text-light)}.contactpersonen-empty p{margin:0;color:var(--color-text-secondary)}.contactpersonen-list{overflow-x:auto}.contactpersonen-table{width:100%;border-collapse:separate;border-spacing:0}.contactpersonen-table thead th{padding:var(--spacing-sm) var(--spacing-md);background-color:#f8f9fa;color:var(--color-text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:left;border-bottom:2px solid var(--color-border-light)}.contactpersonen-table thead th:first-child{border-top-left-radius:var(--radius-md)}.contactpersonen-table thead th:last-child{border-top-right-radius:var(--radius-md)}.contactpersonen-table tbody tr{transition:background-color .15s ease}.contactpersonen-table tbody tr:hover{background-color:#f8f9fa}.contactpersonen-table tbody tr.primair{background-color:#fffbf0}.contactpersonen-table tbody tr.primair:hover{background-color:#fff4db}.contactpersonen-table tbody td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light);font-size:.9375rem}.contact-naam{display:flex;align-items:center;gap:var(--spacing-sm)}.contact-icon{color:var(--color-text-light);flex-shrink:0}.contact-naam-text{font-weight:500;color:var(--color-text)}.primair-icon{color:#f59e0b;fill:#f59e0b;flex-shrink:0}.contact-functie{color:var(--color-text-secondary);font-size:.875rem}.contact-link{display:inline-flex;align-items:center;gap:6px;color:var(--color-secondary-blue);text-decoration:none;font-size:.875rem;transition:all .15s ease}.contact-link:hover{color:var(--color-primary-orange);text-decoration:underline}.contact-link svg{flex-shrink:0}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-secondary{background-color:#f1f5f9;color:#475569}.primair-checkbox-icon{color:#f59e0b;margin-left:var(--spacing-xs)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox]{cursor:pointer}.form-hint{margin-top:var(--spacing-xs);font-size:.8125rem;color:var(--color-text-light)}@media (max-width: 768px){.contactpersonen-header{flex-direction:column;gap:var(--spacing-md);align-items:stretch}.contactpersonen-table{font-size:.875rem}.contactpersonen-table tbody td{padding:var(--spacing-sm)}}.klanten-page{width:100%}.klanten-page .text-numeric{text-align:right;font-variant-numeric:tabular-nums}.filters-bar{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:300px}.search-icon{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--color-text-light);pointer-events:none}.search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);padding-left:40px;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;background-color:var(--color-surface);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--color-primary-orange);box-shadow:0 0 0 3px #e170001a}.filter-stats{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-text-secondary);white-space:nowrap}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md)}.klant-naam-cell{display:flex;flex-direction:column;gap:4px}.klant-naam-cell strong{color:var(--color-secondary-blue);font-weight:600}.contact-cell{display:flex;flex-direction:column;gap:6px}.contact-item{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--color-text-secondary)}.contact-item svg{color:var(--color-text-light);flex-shrink:0}.contact-item a{color:var(--color-text-secondary);text-decoration:none;transition:color .2s ease}.contact-item a:hover{color:var(--color-primary-orange);text-decoration:underline}.locatie-cell{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--color-text-secondary)}.locatie-cell svg{color:var(--color-text-light);flex-shrink:0}.kvk-nummer{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-secondary)}.action-buttons{display:flex;gap:var(--spacing-sm);justify-content:flex-end}@media (max-width: 1024px){.page-header__actions .btn{width:100%;justify-content:center}.filters-bar{flex-direction:column;align-items:stretch}.search-box{width:100%}.filter-stats{text-align:center}}@media (max-width: 768px){.table-container{overflow-x:auto}.table{min-width:800px}}.expand-icon{color:var(--color-text-light);transition:transform .2s ease,color .2s ease}.klant-row{transition:background-color .15s ease}.klant-row:hover{background-color:#f8f9fa}.klant-row:hover .expand-icon{color:var(--color-secondary-blue)}.klant-row.expanded{background-color:#f1f5f9}.klant-row.expanded .expand-icon{color:var(--color-primary-orange)}.contactpersonen-expanded-row{background-color:#fafbfc}.contactpersonen-expanded-row td{padding:0;border-bottom:2px solid var(--color-border)}.contactpersonen-expanded-row>td>div{animation:slideDown .3s ease-out}.opdrachtgever-invite-bar{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.invite-message--success{color:#198754;font-size:.875rem}.invite-message--error{color:#dc3545;font-size:.875rem}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.klant-lopend-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;padding:.15rem .5rem;border-radius:999px;font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums}.klant-lopend-badge--zero{background:#e2e8f0;color:#64748b}.klant-lopend-badge--active{background:#ffedd5;color:#c2410c}@media (max-width: 768px){.klant-row td:first-child{width:30px}.expand-icon{width:16px;height:16px}}.vastgoed-page{width:100%}.vastgoed-page__title-row{display:flex;align-items:flex-start;gap:var(--spacing-md)}.vastgoed-page__title-icon{color:var(--color-primary-orange);flex-shrink:0;margin-top:4px}.vastgoed-toolbar__search{position:relative;flex:1;min-width:220px}.vastgoed-toolbar__search svg{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--color-text-light);pointer-events:none}.vastgoed-toolbar__search input{width:100%;padding:var(--spacing-sm) var(--spacing-md);padding-left:2.5rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;background:var(--color-surface)}.vastgoed-toolbar__search input:focus{outline:none;border-color:var(--color-primary-orange);box-shadow:0 0 0 3px #e170001a}.vastgoed-row{cursor:pointer;transition:background-color .15s ease}.vastgoed-row:hover{background:var(--color-surface-hover)}.vastgoed-row--open{background:#1542730a}.vastgoed-expand-cell{color:var(--color-text-light);width:2.5rem}.vastgoed-type-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.8125rem;font-weight:500;background:#1542731a;color:var(--color-secondary-blue)}.vastgoed-detail-cell{font-size:.875rem;color:var(--color-text-secondary)}.vastgoed-detail-line{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:4px}.vastgoed-detail-line:first-child{margin-top:0}.vastgoed-actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs)}.vastgoed-expanded{background:var(--color-background)}.vastgoed-expanded__bar{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-hover);border-bottom:1px solid var(--color-border-light);font-size:.875rem;color:var(--color-text-secondary)}.vastgoed-expanded__body{border-top:1px solid var(--color-border-light)}.bag-callout{grid-column:1 / -1;border:2px solid rgba(21,66,115,.25);border-radius:var(--radius-lg);padding:var(--spacing-lg);background:linear-gradient(145deg,var(--color-surface) 0%,rgba(21,66,115,.06) 100%);box-shadow:var(--shadow-sm)}.bag-callout__head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.bag-callout__icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-secondary-blue);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bag-callout__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:var(--spacing-sm);align-items:end}@media (min-width: 640px){.bag-callout__grid{grid-template-columns:repeat(6,minmax(0,1fr))}.bag-callout__search-btn{grid-column:span 2}}.bag-result-list{list-style:none;margin:var(--spacing-md) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.bag-result-btn{width:100%;text-align:left;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);font-size:.875rem;cursor:pointer;transition:border-color .15s ease,background .15s ease;font-family:var(--font-sans)}.bag-result-btn:hover{border-color:var(--color-secondary-blue)}.modal-footer--split{display:flex;gap:var(--spacing-md);padding-top:var(--spacing-lg);margin-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.modal-footer--split .btn{flex:1}.form-hint-inline{margin:var(--spacing-xs) 0 0;font-size:.8125rem;color:var(--color-text-secondary)}.link-inline{color:var(--color-secondary-blue);font-weight:500}.link-inline:hover{text-decoration:underline}.inspecties-page{width:100%}.inspecties-page .page-header{margin-bottom:var(--spacing-lg)}.inspecties-page .page-header h1{display:flex;align-items:center;gap:var(--spacing-sm);margin:0 0 var(--spacing-xs)}.inspecties-page .page-desc{margin:0;color:var(--color-text-secondary);font-size:.9375rem}.inspecties-error,.inspecties-warning{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:.9375rem}.inspecties-error{background-color:#fef2f2;color:#991b1b;border:1px solid #fecaca}.inspecties-warning{background-color:#fffbeb;color:#92400e;border:1px solid #fde68a}.filter-row{display:flex;gap:var(--spacing-md);align-items:center;margin-bottom:var(--spacing-md)}.filter-row label{font-weight:500;font-size:.875rem}.btn-secondary{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;cursor:pointer}.btn-secondary:hover{border-color:var(--color-primary-orange);color:var(--color-primary-orange)}.loading-msg,.empty-msg{color:var(--color-text-secondary);font-size:.9375rem;margin:var(--spacing-lg) 0}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.inspecties-table{width:100%;border-collapse:collapse;font-size:.9375rem}.inspecties-table th,.inspecties-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border-light)}.inspecties-table th{background:#f1f5f9;font-weight:600}.inspecties-table th.num,.inspecties-table td.num{text-align:right}.project-row{cursor:pointer;transition:background-color .15s ease}.project-row:hover{background-color:#f8fafc}.project-row.expanded{background-color:#f1f5f9}.expand-cell{width:40px;color:var(--color-text-secondary)}.expanded-detail-row td{padding:0;vertical-align:top;border-bottom:1px solid var(--color-border)}.expanded-inspectie{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);padding:var(--spacing-lg);background:#f8fafc}.expanded-section h4{display:flex;align-items:center;gap:var(--spacing-xs);margin:0 0 var(--spacing-sm);font-size:.875rem;color:var(--color-text-secondary)}.expanded-section ul{margin:0;padding-left:1.25rem}.expanded-section li{margin-bottom:4px}.expanded-section li.bron-clickable{cursor:pointer;padding:2px 0}.expanded-section li.bron-clickable:hover{text-decoration:underline}.expanded-section li.bron-clickable .badge{margin-left:6px}.badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500}.bron-detail-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.bron-detail-modal{background:#fff;border-radius:var(--radius-md);box-shadow:0 8px 32px #00000026;max-width:560px;width:95%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.bron-detail-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.bron-detail-modal-header h2{margin:0;font-size:1rem;font-weight:600}.bron-detail-close{padding:4px;background:none;border:none;cursor:pointer;color:var(--color-text-secondary)}.bron-detail-close:hover{color:var(--color-text)}.bron-detail-body{padding:var(--spacing-lg);overflow-y:auto}.bron-detail-info{margin-bottom:var(--spacing-md)}.bron-detail-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500}.bron-detail-meta{color:var(--color-text-secondary);font-size:.875rem}.bron-detail-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.bron-detail-section h3{display:flex;align-items:center;gap:var(--spacing-xs);margin:0 0 var(--spacing-sm);font-size:.9375rem}.bron-detail-empty{color:var(--color-text-secondary);font-size:.875rem;margin:.5em 0}.bron-detail-error{margin-top:var(--spacing-md);padding:var(--spacing-sm);background:#fef2f2;color:#991b1b;border-radius:var(--radius-sm);font-size:.875rem}.bron-detail-beheer-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm);margin-bottom:var(--spacing-xs);border-radius:var(--radius-sm);font-size:.875rem}.bron-detail-beheer-row--red{background:#fef2f2}.bron-detail-beheer-row--orange{background:#fff7ed}.bron-detail-beheer-row--yellow{background:#fefce8}.bron-detail-beheer-main{flex:1;min-width:0}.bron-detail-beheer-meta{color:var(--color-text-secondary);font-size:.75rem;margin:2px 0 0}.bron-detail-beheer-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.bron-detail-beheer-badge--red{background:#fee2e2;color:#991b1b}.bron-detail-beheer-badge--orange{background:#fed7aa;color:#9a3412}.bron-detail-beheer-badge--yellow{background:#fef08a;color:#854d0e}.bron-detail-beheer-actions{flex-shrink:0}.btn-beheer-uitvoer{font-size:.8125rem;padding:4px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;cursor:pointer}.btn-beheer-uitvoer:hover:not(:disabled){border-color:var(--color-primary-orange);color:var(--color-primary-orange)}.btn-beheer-uitvoer:disabled{opacity:.6;cursor:not-allowed}.bron-detail-monster-tabs{display:flex;gap:4px;margin-bottom:var(--spacing-sm)}.bron-detail-monster-tabs .tab{padding:6px 12px;font-size:.8125rem;border:1px solid var(--color-border);background:#fff;border-radius:var(--radius-sm);cursor:pointer}.bron-detail-monster-tabs .tab.active{background:var(--color-primary-orange);color:#fff;border-color:var(--color-primary-orange)}.bron-detail-cert-list ul,.bron-detail-sanering-list{margin:0 0 var(--spacing-sm);padding-left:1.25rem}.bron-detail-cert-list li,.bron-detail-sanering-list li{margin-bottom:4px;font-size:.875rem}.btn-add-cert{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:.875rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.btn-add-cert:hover{border-color:var(--color-primary-orange);color:var(--color-primary-orange)}.bron-detail-form .form-row{margin-bottom:var(--spacing-sm)}.bron-detail-form .form-row label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:2px}.bron-detail-form .form-row input,.bron-detail-form .form-row select{width:100%;padding:6px 10px;font-size:.875rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.bron-detail-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.bron-detail-form .form-grid-4{grid-template-columns:repeat(4,1fr)}.bron-detail-form .form-note,.bron-detail-form .form-warning{font-size:.8125rem;color:var(--color-text-secondary);margin:var(--spacing-xs) 0}.bron-detail-form .form-warning{color:#b45309}.bron-detail-form .form-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.bron-detail-form .form-actions button{padding:8px 16px;font-size:.875rem;border-radius:var(--radius-sm)}.bron-detail-form .form-actions button[type=submit]{background:var(--color-primary-orange);color:#fff;border:none}.bron-detail-form .form-actions button[type=button]{background:#fff;border:1px solid var(--color-border)}.badge-bron-verdacht{background-color:#fef08a;color:#854d0e}.badge-bron-gesaneerd{background-color:#86efac;color:#166534}.badge-bron-vrijgegeven{background-color:#93c5fd;color:#1e40af}.badge-bron-beheermaatregel{background-color:#e9d5ff;color:#6b21a8}.badge-bron-vrijverklaard{background-color:#bbf7d0;color:#15803d}.badge-bron-bemonsterd{background-color:#fde68a;color:#92400e}.badge-bron-geanalyseerd{background-color:#bfdbfe;color:#1e3a8a}.badge-bron-definitief{background-color:#a7f3d0;color:#047857}@media (max-width: 768px){.expanded-inspectie{grid-template-columns:1fr}.bron-detail-form .form-grid-4{grid-template-columns:1fr 1fr}}.deadline-overdue{color:#c62828;font-weight:600}.deadline-soon{color:#e17000;font-weight:600}.projecten-page{width:100%}.projecten-no-bedrijf{display:flex;flex-direction:column;gap:var(--spacing-md)}.projecten-no-bedrijf p{margin:0}.projecten-no-bedrijf .btn{align-self:flex-start;display:inline-flex;align-items:center;gap:8px}.filter-row{display:flex;gap:var(--spacing-md);align-items:center}.filter-select{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;min-width:180px;background-color:var(--color-surface)}.filter-select:focus{outline:none;border-color:var(--color-primary-orange)}.project-row{transition:background-color .15s ease}.project-row:hover,.project-row.expanded{background-color:var(--color-surface)}.project-expanded-row td{padding:var(--spacing-md) var(--spacing-lg);background-color:#f8fafc;border-bottom:1px solid var(--color-border-light);vertical-align:top}.expanded-content{font-size:.9375rem;color:var(--color-text-secondary);max-height:min(75vh,calc(100vh - 10rem));overflow-y:auto;overflow-x:hidden;padding-right:4px}.expanded-content p{margin:0 0 var(--spacing-sm)}.expanded-content p:last-child{margin-bottom:0}.badge-status-concept{background-color:#e2e8f0;color:#475569}.badge-status-deskresearch{background-color:#dbeafe;color:#1e40af}.badge-status-veldwerk{background-color:#fef3c7;color:#b45309}.badge-status-lab{background-color:#fce7f3;color:#9d174d}.badge-status-rapport{background-color:#d1fae5;color:#065f46}.badge-status-lavs{background-color:#e0e7ff;color:#3730a3}.badge-status-definitief{background-color:#a7f3d0;color:#047857}.badge-status-gearchiveerd{background-color:#f1f5f9;color:#64748b}.project-modal .form-row{margin-bottom:var(--spacing-md)}.project-modal .form-row label{display:block;margin-bottom:4px;font-weight:600;font-size:.875rem}.project-modal .form-row input,.project-modal .form-row select,.project-modal .form-row textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem}.project-modal .modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.alert-warning{background-color:#fef3c7;border:1px solid #f59e0b;color:#92400e;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.alert-warning a{color:#b45309;font-weight:600;text-decoration:underline}.alert-warning a:hover{color:#92400e}.inventarisatieplannen-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.inventarisatieplannen-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.inventarisatieplannen-section .section-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.plan-list{list-style:none;margin:0;padding:0}.plan-item{padding:var(--spacing-sm) var(--spacing-md);background:#fff;border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.plan-main{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.plan-beschrijving{font-weight:500;flex:1;min-width:0}.plan-actions{display:flex;gap:4px}.plan-details{display:flex;gap:var(--spacing-md);margin-top:4px;font-size:.875rem;color:var(--color-text-secondary)}.badge-goedkeurd{background-color:#d1fae5;color:#065f46;padding:2px 8px;border-radius:4px;font-size:.75rem;display:inline-flex;align-items:center;gap:4px}.plan-form .form-row{margin-bottom:var(--spacing-md)}.plan-form .form-row label{display:block;margin-bottom:4px;font-weight:600;font-size:.875rem}.plan-form .form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.vooronderzoek-samenvatting-paneel{padding:var(--spacing-md);background:#f8fafc;border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.vooronderzoek-header{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--color-text-secondary);margin-bottom:8px}.vooronderzoek-readonly{white-space:pre-wrap;font-size:.85rem;font-family:inherit;margin:0 0 var(--spacing-sm) 0;padding:0;color:var(--color-text);background:transparent;border:none}.form-checkbox-label{display:inline-flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.tekeningen-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.tekeningen-section .section-header{margin-bottom:var(--spacing-md)}.tekeningen-section .section-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.tekeningen-upload{padding:var(--spacing-md);background:#f8fafc;border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.beperkingen-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.beperkingen-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.beperkingen-section .section-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.beperking-list{list-style:none;margin:0;padding:0}.beperking-item{padding:var(--spacing-sm) var(--spacing-md);background:#fff;border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.beperking-main{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.beperking-ruimte{min-width:80px;font-weight:500}.beperking-element{min-width:70px;font-size:.875rem;color:var(--color-text-secondary)}.beperking-omschrijving{flex:1;min-width:0}.beperking-actions{display:flex;gap:4px}.beperking-details{margin-top:4px;font-size:.875rem;color:var(--color-text-secondary)}.beperking-inline-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.beperking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);align-items:center}.beperking-form-grid .form-input-wide{grid-column:1 / -1}.beperking-form-grid .form-input-sm{padding:var(--spacing-xs) var(--spacing-sm);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem}.beperking-form-actions{display:flex;gap:var(--spacing-sm)}.beperking-form .form-row{margin-bottom:var(--spacing-md)}.beperking-form .form-row label{display:block;margin-bottom:4px;font-weight:600;font-size:.875rem}.beperking-form .form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.plan-form-layout{display:grid;grid-template-columns:1fr 280px;gap:var(--spacing-xl);align-items:start}@media (max-width: 768px){.plan-form-layout{grid-template-columns:1fr}}.plan-form-sidebar{position:sticky;top:var(--spacing-md)}.beperkingen-readonly-paneel{padding:var(--spacing-md);background:#f8fafc;border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.beperkingen-readonly-header{display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-sm)}.beperkingen-readonly-list{list-style:none;margin:0;padding:0}.beperkingen-readonly-item{padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border-light);font-size:.875rem}.beperkingen-readonly-item:last-child{border-bottom:none}.beperking-readonly-main{display:block;font-weight:500;color:var(--color-text)}.beperking-readonly-reden{display:block;color:var(--color-text-secondary);margin-top:2px}.beperking-readonly-omschrijving{display:block;font-size:.8rem;color:var(--color-text-secondary);margin-top:2px}.projecten-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;justify-content:flex-end}.projecten-weergave-tabs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.projecten-weergave-tabs .btn{display:inline-flex;align-items:center;gap:.35rem}.inspecties-page--embedded{padding-top:0}.project-detail-page{width:100%;max-width:1100px}.project-detail-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.9rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.project-detail-breadcrumb a{color:var(--color-secondary-blue);text-decoration:none}.project-detail-breadcrumb a:hover{text-decoration:underline}.project-detail-breadcrumb__sep{color:var(--color-border);flex-shrink:0}.project-detail-breadcrumb__current{color:var(--color-text-primary);font-weight:500}.project-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-primary-orange)}.project-detail-header h1{margin:0 0 var(--spacing-sm) 0;font-size:1.5rem;color:var(--color-secondary-blue)}.project-detail-header__meta{margin:0;font-size:.95rem;color:var(--color-text-secondary)}.project-detail-tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light);padding-bottom:0}.project-detail-tablink{display:inline-block;padding:10px 16px;margin-bottom:-1px;border:1px solid transparent;border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--color-text-secondary);text-decoration:none;font-weight:500;font-size:.95rem}.project-detail-tablink:hover{color:var(--color-secondary-blue);background:var(--color-background)}.project-detail-tablink--active{color:var(--color-secondary-blue);background:var(--color-surface);border-color:var(--color-border-light);border-bottom-color:var(--color-surface);position:relative;z-index:1}.project-detail-outlet{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:0 var(--radius-md) var(--radius-md) var(--radius-md);padding:var(--spacing-lg) var(--spacing-xl);min-height:200px}.project-detail-tab__actions{margin-bottom:16px}.project-detail-section{margin-bottom:24px}.project-detail-section h3{margin:0 0 12px;font-size:1.05rem;font-weight:600;color:var(--color-secondary-blue)}.project-voorbereiding-tab .project-detail-section{margin-bottom:0}.project-detail-tab.project-voorbereiding-tab .project-voorbereiding-tab__intro{margin:0}.project-workflow-strip{background:linear-gradient(135deg,var(--color-background) 0%,var(--color-surface) 100%);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:16px 18px}.project-workflow-strip__actions .btn{margin-top:4px}.project-detail-loading,.project-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px}.project-detail-tab p{margin:0 0 8px}.badge-rapport{display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:4px}.badge-rapport-concept{background:#94a3b8;color:#fff}.badge-rapport-ter_goedkeuring{background:#e17000;color:#fff}.badge-rapport-goedgekeurd{background:#16a34a;color:#fff}.badge-rapport-afgekeurd{background:#dc2626;color:#fff}.badge-rapport-definitief{background:#154273;color:#fff}.badge-rapport-gearchiveerd{background:#64748b;color:#fff}.rapporten-page{width:100%}.rapporten-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.rapporten-table-wrap{overflow-x:auto;border:1px solid var(--border-color, #e2e8f0);border-radius:8px}.rapporten-table{width:100%;border-collapse:collapse;font-size:.9rem}.rapporten-table th,.rapporten-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--border-color, #e2e8f0)}.rapporten-table th{background:#f8fafc;font-weight:600}.rapporten-table tr:hover td{background:#fafafa}.rapport-detail__header{margin-bottom:1.5rem}.rapport-detail__title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem}.rapport-detail__subtitle{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.badge-versie{font-size:.85rem;font-weight:600;padding:.15rem .5rem;border-radius:4px}.badge-versie--concept{background:#e2e8f0;color:#475569}.badge-versie--definitief{background:#154273;color:#fff}.rapport-section{margin-bottom:1.5rem;padding:1rem;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;background:#fff}.rapport-section h3{margin:0 0 .75rem;font-size:1rem}.rapport-dl{display:grid;grid-template-columns:160px 1fr;gap:.35rem 1rem;font-size:.9rem}.rapport-dl dt{color:#64748b;margin:0}.rapport-dl dd{margin:0}.rapport-field{margin-bottom:.75rem}.rapport-field label{display:block;font-size:.8rem;font-weight:600;color:#475569;margin-bottom:.25rem}.rapport-field textarea,.rapport-field select{width:100%;max-width:640px;padding:.5rem .6rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.9rem}.rapport-field textarea{min-height:88px;resize:vertical}.rapport-sticky-actions{position:sticky;bottom:0;z-index:10;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:2rem;padding:.75rem 1rem;background:#fffffff2;border-top:1px solid #e2e8f0;box-shadow:0 -4px 12px #0f172a0f}.rapport-muted{font-size:.8rem;color:#64748b;margin-right:auto;align-self:center}.afkeur-box{padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#991b1b;font-size:.9rem;margin-bottom:1rem}.rapport-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.rapport-modal{background:#fff;border-radius:8px;max-width:440px;width:100%;padding:1.25rem;box-shadow:0 20px 40px #00000026}.rapport-modal h4{margin:0 0 .75rem}.version-timeline{margin-top:2rem;padding-top:1rem;border-top:1px solid #e2e8f0}.version-timeline__title{font-size:1rem;margin:0 0 .75rem}.version-timeline__list{list-style:none;padding:0;margin:0}.version-timeline__item{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem;border-left:2px solid #cbd5e1;padding:.5rem 0 .5rem .75rem;margin-left:.35rem}.version-timeline__item--danger .version-timeline__text{color:#991b1b}.version-timeline__item--def .version-timeline__badge{background:#154273;color:#fff}.version-timeline__badge{flex-shrink:0;font-size:.7rem;font-weight:700;padding:.1rem .35rem;border-radius:4px;background:#e2e8f0;color:#475569}.version-timeline__text{flex:1;min-width:0;font-size:.85rem;line-height:1.4}.version-timeline__download{color:#154273;display:flex;align-items:center}.analyse-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172a73;display:flex;align-items:flex-start;justify-content:center;padding:var(--spacing-lg);overflow-y:auto}.analyse-modal{width:100%;max-width:720px;margin:var(--spacing-xl) auto;background:var(--color-surface, #fff);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:0 20px 40px #0f172a26}.analyse-modal-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.analyse-modal-header h2{margin:0 0 var(--spacing-xs);font-size:1.125rem}.analyse-modal-sub{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.analyse-modal-body{padding:var(--spacing-md) var(--spacing-lg);max-height:min(70vh,640px);overflow-y:auto}.analyse-modal-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.analyse-modal-rows{display:flex;flex-direction:column;gap:var(--spacing-md)}.analyse-modal-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-end}.analyse-modal-row .analyse-modal-field:first-of-type{flex:1;min-width:200px}.analyse-modal-row .analyse-modal-field:nth-of-type(2){min-width:120px;max-width:180px}.analyse-modal-field label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:4px}.analyse-modal-field input,.analyse-modal-field select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem}.analyse-modal-field input:focus,.analyse-modal-field select:focus{outline:none;border-color:var(--color-primary-orange)}.analyse-modal-row-remove{align-self:end;padding:var(--spacing-sm) var(--spacing-md)}.analyse-modal-hint-block{grid-column:1 / -1;margin:0 0 var(--spacing-md);font-size:.8125rem;color:var(--color-text-secondary);line-height:1.45}.analyse-modal-meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}@media (max-width: 540px){.analyse-modal-meta{grid-template-columns:1fr}}.analyse-modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border)}.analyse-modal-error{margin:0 0 var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:#fef2f2;color:#991b1b;border-radius:var(--radius-md);font-size:.875rem}.analyse-modal-eenheid-hint{font-size:.75rem;color:var(--color-text-secondary);margin-top:4px}.monsters-page{width:100%}.monsters-page--embedded .monsters-toolbar{margin-top:0}.monsters-project-link--static{font-weight:600;color:var(--color-text-primary);cursor:default}.monsters-page .page-header h1{display:flex;align-items:center;gap:var(--spacing-sm);margin:0 0 var(--spacing-xs)}.monsters-page .page-desc{margin:0 0 var(--spacing-lg);color:var(--color-text-secondary);font-size:.9375rem}.monsters-error{padding:var(--spacing-md);border-radius:var(--radius-md);background:#fef2f2;color:#991b1b;border:1px solid #fecaca;margin-bottom:var(--spacing-md)}.monsters-toolbar{margin-bottom:var(--spacing-lg)}.monsters-kpi-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-md);font-size:.9375rem}.monsters-kpi{color:var(--color-text-secondary)}.monsters-kpi strong{color:var(--color-text-primary);font-weight:700;margin-right:4px}.monsters-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:center}.monsters-filters .filter-select{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;min-width:180px;background-color:var(--color-surface)}.monsters-filters .filter-select:focus{outline:none;border-color:var(--color-primary-orange)}.monsters-search{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:200px;max-width:420px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.monsters-search input{flex:1;border:none;background:transparent;font-size:.9375rem;min-width:0}.monsters-search input:focus{outline:none}.monsters-search:focus-within{border-color:var(--color-primary-orange)}.monsters-muted{color:var(--color-text-secondary);font-size:.9375rem}.monsters-table-wrap{overflow-x:auto}.monsters-table{font-size:.9375rem}.monsters-project-row td{padding:var(--spacing-sm) var(--spacing-md);background:linear-gradient(to bottom,#f1f5f9,#f8fafc);border-bottom:2px solid var(--color-border, #e2e8f0)}.monsters-project-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.monsters-bulk-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--spacing-md)}.monsters-bulk-lab{display:flex;flex-direction:column;gap:4px;min-width:200px}.monsters-bulk-lab-label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.monsters-lab-select,.monsters-cell-select{min-width:160px;max-width:240px;font-size:.875rem}.monsters-project-bar-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--spacing-md)}.monsters-project-bar-count{font-size:.8125rem;color:var(--color-text-secondary)}.monsters-bulk-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);white-space:nowrap}.monsters-project-repeat{font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.monsters-project-link{font-weight:600;color:var(--color-secondary-blue, #154273);text-decoration:none}.monsters-project-link:hover{text-decoration:underline}.monsters-code{font-size:.875rem;background:var(--color-surface, #f8fafc);padding:2px 6px;border-radius:4px}.monster-status{display:inline-block;font-size:.8125rem;font-weight:600;padding:4px 10px;border-radius:6px;white-space:nowrap}.monster-status-genomen{background:#fef3c7;color:#b45309}.monster-status-verstuurd{background:#dbeafe;color:#1d4ed8}.monster-status-in-analyse{background:#ede9fe;color:#5b21b6}.monster-status-gereed{background:#d1fae5;color:#047857}.monster-status-unknown{background:#f1f5f9;color:#64748b}.monsters-status-stack{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.monsters-cert-bron{font-size:.75rem;color:var(--color-text-secondary);line-height:1.35;max-width:260px}.monsters-lab-readonly{display:inline-block;font-size:.875rem;font-weight:600;color:var(--color-text-primary);padding:6px 0;max-width:240px;line-height:1.35}.monsters-analyse-cell{vertical-align:top;min-width:140px}.monsters-analyse-summary{font-size:.8125rem;color:var(--color-text-secondary);margin-bottom:6px;line-height:1.35;max-width:220px}.monsters-analyse-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.monster-cert-yes{color:#047857;font-weight:600}.monster-cert-no{color:var(--color-text-secondary)}.monsters-status-cell{display:block;margin:0}.monsters-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.monster-status-wrap{display:inline-flex;align-items:center;max-width:100%}.monster-status-select{margin:0;padding:2px 8px 2px 4px;max-width:min(220px,100%);font:inherit;font-size:.8125rem;font-weight:600;line-height:1.3;border:none;background:transparent;color:inherit;cursor:pointer;border-radius:4px}.monster-status-select:focus{outline:2px solid var(--color-primary-orange, #e17000);outline-offset:1px}.monster-status-select:disabled{opacity:.65;cursor:wait}.monsters-filters .btn-secondary{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.monsters-filters .spin{animation:monsters-spin .8s linear infinite}@keyframes monsters-spin{to{transform:rotate(360deg)}}.instellingen-page{width:100%}.instellingen-page .instellingen-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.instellingen-section{margin-bottom:var(--spacing-2xl)}.section-title{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);font-size:1.25rem}.section-description{color:var(--color-text-secondary);font-size:.9375rem;margin:0 0 var(--spacing-lg)}.section-actions{margin-bottom:var(--spacing-lg)}.bedrijf-row:hover{background-color:var(--color-surface)}.bedrijf-modal .form-row{margin-bottom:var(--spacing-md)}.bedrijf-modal .form-row label{display:block;margin-bottom:4px;font-weight:600;font-size:.875rem}.bedrijf-modal .form-row input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem}.bedrijf-modal .field-hint{margin:6px 0 0;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.4}.bedrijf-modal .form-row.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.bedrijf-modal .form-row.two-cols>div{min-width:0}.bedrijf-modal .modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.contact-cell{display:flex;flex-direction:column;gap:4px;font-size:.875rem}.contact-cell a{color:var(--color-secondary-blue);text-decoration:none}.contact-cell a:hover{text-decoration:underline}.bedrijf-inline-form .form-grid{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:600px}.bedrijf-inline-form .form-actions{margin-top:var(--spacing-lg)}.input-with-button{display:flex;gap:var(--spacing-sm);align-items:center}.input-with-button input{flex:1;min-width:0}.btn-kvk{white-space:nowrap}.spinner-small{display:inline-block;width:18px;height:18px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.badge-keuring-groen{background-color:#22c55e;color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.badge-keuring-oranje{background-color:#f97316;color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.badge-keuring-rood{background-color:#ef4444;color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.badge-keuring-onbekend{background-color:#94a3b8;color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.badge-koppeling-actief{background-color:#22c55e;color:#fff}.badge-koppeling-handmatig{background-color:#94a3b8;color:#fff}.rva-nr-cell{display:inline-flex;align-items:center;gap:6px}.rva-link-btn{flex-shrink:0}.section-title-toggle{background:none;border:none;font:inherit;cursor:pointer;text-align:left;width:100%;padding:0;margin-bottom:var(--spacing-xs)}.section-title-toggle:hover{color:var(--color-primary)}.form-section-label{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--spacing-xs)}.btn-icon{display:inline-flex;align-items:center;margin-left:4px;color:var(--color-secondary-blue)}.btn-icon:hover{color:var(--color-primary)}.text-muted{color:var(--color-text-secondary);font-size:.9375rem}@media (max-width: 768px){.bedrijf-modal .form-row.two-cols{grid-template-columns:1fr}.input-with-button{flex-direction:column;align-items:stretch}}.rapport-composer{width:100%;max-width:1600px;margin:0 auto}.rapport-composer__breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.85rem;color:#64748b;margin-bottom:.75rem}.rapport-composer__crumb{color:#154273;text-decoration:none}.rapport-composer__crumb:hover{text-decoration:underline}.rapport-composer__crumb--current{color:#0f172a;font-weight:600}.rapport-composer__crumb-sep{color:#cbd5e1}.rapport-composer__toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.rapport-composer__back{display:inline-flex;align-items:center;gap:.35rem}.rapport-composer__split{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:1rem;min-height:min(78vh,900px);align-items:stretch}@media (max-width: 960px){.rapport-composer__split{grid-template-columns:1fr}}.rapport-composer__left{border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:1rem;background:#fafafa;display:flex;flex-direction:column;gap:.75rem}.rapport-composer__readonly-banner{background:#154273;color:#fff;padding:.75rem 1rem;border-radius:6px;font-size:.9rem;line-height:1.45;margin:0}.rapport-composer__readonly-banner p{margin:0}.rapport-composer__zone-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin:0 0 .35rem;cursor:help}.rapport-composer__nav{list-style:none;margin:0 0 .75rem;padding:0}.rapport-composer__nav-btn{width:100%;text-align:left;padding:.4rem .5rem;border:none;background:transparent;border-radius:4px;font-size:.9rem;color:#0f172a;cursor:pointer}.rapport-composer__nav-btn:hover{background:#f1f5f9}.rapport-composer__nav-btn--active{background:#e8f4fc;color:#154273;font-weight:600}.rapport-composer__nav-hint{font-size:.75rem;color:#94a3b8;font-weight:400}.rapport-composer__editor-panel{flex:1;min-height:200px}.rapport-composer__field{display:flex;flex-direction:column;gap:.35rem}.rapport-composer__field span{font-size:.85rem;font-weight:600;color:#334155}.rapport-composer__field textarea{width:100%;font-family:inherit;font-size:.9rem;padding:.5rem .6rem;border:1px solid #cbd5e1;border-radius:6px;resize:vertical}.rapport-composer__field textarea:disabled{background:#f1f5f9;color:#64748b}.rapport-composer__auto{padding:.75rem;background:#f1f5f9;border-radius:6px;font-size:.9rem;color:#475569}.rapport-composer__muted{margin-top:.5rem;font-size:.85rem;color:#64748b}.rapport-composer__actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.rapport-composer__unsaved{font-size:.85rem;font-weight:500;color:#e17000}.rapport-composer__bijlagen{font-size:.9rem}.rapport-composer__bijlagen-block{margin-bottom:1rem}.rapport-composer__bijlagen-label{display:block;font-weight:600;color:#0f172a;margin-bottom:.35rem}.rapport-composer__voorblad-radios{display:flex;flex-direction:column;gap:.35rem;max-height:220px;overflow-y:auto}.rapport-composer__radio{display:flex;align-items:center;gap:.35rem;cursor:pointer}.rapport-composer__foto-label{word-break:break-word}.rapport-composer__foto-meta{color:#64748b;font-size:.85em}.rapport-composer__bron-fotos{margin-bottom:.75rem;border:1px solid #e2e8f0;border-radius:6px;padding:.35rem .5rem;background:#fff}.rapport-composer__bron-fotos summary{cursor:pointer;font-weight:500;color:#154273}.rapport-composer__foto-count{font-weight:400;color:#64748b;font-size:.85em;margin-left:.25rem}.rapport-composer__foto-checks{list-style:none;margin:.5rem 0 0;padding:0}.rapport-composer__foto-checks li{margin-bottom:.35rem}.rapport-composer__check{display:flex;align-items:flex-start;gap:.35rem;cursor:pointer}.rapport-composer__warn{font-size:.8rem;color:#b45309;margin:.35rem 0}.rapport-composer__right{border:1px solid var(--border-color, #e2e8f0);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;background:#fff;min-height:480px}.rapport-composer__iframe-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:.5rem .75rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.85rem;font-weight:600;color:#334155}.rapport-composer__iframe-hint{font-size:.75rem;font-weight:400;color:#94a3b8;flex:1;min-width:100px}.rapport-composer__iframe-head .btn{display:inline-flex;align-items:center;gap:.35rem}.rapport-composer__iframe{flex:1;width:100%;min-height:560px;border:none;background:#fff}.rapport-composer__ai-details{border:1px solid #e9d5ff;border-radius:8px;background:#faf5ff;overflow:hidden}.rapport-composer__ai-summary{cursor:pointer;list-style:none;font-size:.85rem;font-weight:600;color:#581c87;padding:.5rem .65rem;-webkit-user-select:none;user-select:none}.rapport-composer__ai-summary::-webkit-details-marker{display:none}.rapport-composer__ai-summary:before{content:"▸";display:inline-block;margin-right:.35rem;transition:transform .15s ease;color:#7c3aed}details[open]>.rapport-composer__ai-summary:before{transform:rotate(90deg)}.rapport-composer__ai-body{padding:0 .65rem .65rem;border-top:1px solid #ede9fe;display:flex;flex-direction:column;gap:.5rem}.rapport-composer__ai-lead{margin:.5rem 0 0;font-size:.72rem;line-height:1.35;color:#6b7280}.rapport-composer__code-ref{font-size:.7rem;background:#f3e8ff;padding:0 .25rem;border-radius:4px;color:#5b21b6}.rapport-composer__field--compact span{font-size:.8rem}.rapport-composer__field--compact textarea{font-size:.85rem}.rapport-composer__check-row{display:flex;align-items:flex-start;gap:.4rem;font-size:.82rem;color:#334155;cursor:pointer;margin-top:-.15rem}.rapport-composer__check-row input[type=checkbox]{margin-top:.15rem;flex-shrink:0}.rapport-composer__check-row:has(input:disabled){cursor:default;opacity:.75}.rapport-composer__ai-hint{margin:-.1rem 0 0;font-size:.72rem;color:#64748b;line-height:1.3}.rapport-composer__ai-generate-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.rapport-composer__ai-btn{border:1px solid #c084fc;background:#fae8ff;color:#581c87;display:inline-flex;align-items:center;gap:.35rem}.rapport-composer__ai-btn:hover:not(:disabled){background:#f5d0fe}.rapport-composer__ai-btn:disabled{opacity:.55;cursor:not-allowed}.rapport-composer__spin{animation:rapport-composer-spin .8s linear infinite}@keyframes rapport-composer-spin{to{transform:rotate(360deg)}}.rapport-composer__ai-loading{font-size:.82rem;color:#64748b}.rapport-composer__ai-disclaimer{margin:0;font-size:.72rem;color:#64748b;line-height:1.35}:root{--color-primary-orange: #E17000;--color-primary-orange-dark: #C76000;--color-primary-orange-light: #F08819;--color-secondary-blue: #154273;--color-secondary-blue-dark: #0D2B4A;--color-secondary-blue-light: #1E5A96;--color-background: #F8F9FA;--color-surface: #FFFFFF;--color-surface-hover: #F1F3F5;--color-border: #DEE2E6;--color-border-light: #E9ECEF;--color-text-primary: #212529;--color-text-secondary: #6C757D;--color-text-light: #ADB5BD;--color-text-muted: #64748B;--color-success: #28A745;--color-success-light: #D4EDDA;--color-warning: #FFC107;--color-warning-light: #FFF3CD;--color-danger: #DC3545;--color-danger-light: #F8D7DA;--color-info: #17A2B8;--color-info-light: #D1ECF1;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);color:var(--color-text-primary);background-color:var(--color-background);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=button]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea{background-color:var(--color-surface)}#root{min-height:100vh}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border-light)}.page-header h1{margin:0 0 var(--spacing-xs) 0;font-size:1.75rem;font-weight:600;color:var(--color-secondary-blue);letter-spacing:-.02em;line-height:1.2}.page-description{margin:0;color:var(--color-text-secondary);font-size:.9375rem;line-height:1.5;max-width:42rem}.page-header__actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:var(--spacing-sm)}.page-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.page-toolbar .page-toolbar__grow{flex:1;min-width:min(100%,220px)}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch}.page-header__actions{justify-content:flex-start}.page-toolbar{flex-direction:column;align-items:stretch}}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-grid-2 .form-grid-2__full{grid-column:1 / -1}@media (max-width: 640px){.form-grid-2{grid-template-columns:1fr}}.modal--wide{max-width:720px}.modal--xlarge{max-width:880px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease}.icon-btn:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-secondary-blue)}.icon-btn--danger:hover:not(:disabled){background:var(--color-danger-light);color:var(--color-danger)}.list-page-muted{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);color:var(--color-text-secondary);font-size:.9375rem}.kantoor-stack{display:flex;flex-direction:column;gap:var(--spacing-md)}.kantoor-panel{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.kantoor-panel__row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);gap:var(--spacing-md);cursor:pointer;transition:background .15s ease}.kantoor-panel__row:hover{background:var(--color-surface-hover)}.kantoor-panel__title{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;font-weight:600;color:var(--color-text-primary)}.kantoor-panel__meta{font-size:.875rem;font-weight:400;color:var(--color-text-secondary)}.kantoor-panel__actions{display:flex;align-items:center;gap:var(--spacing-xs)}.kantoor-panel__nested{border-top:1px solid var(--color-border-light);padding:var(--spacing-md);background:var(--color-background)}.kantoor-subpanel{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--spacing-sm)}.kantoor-subpanel:last-child{margin-bottom:0}.kantoor-subpanel__row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm);cursor:pointer;transition:background .15s ease}.kantoor-subpanel__row:hover{background:var(--color-surface-hover)}.kantoor-subpanel__nested{border-top:1px solid var(--color-border-light);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background);font-size:.875rem}.kantoor-inline-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.kantoor-inline-heading h2,.kantoor-inline-heading h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-secondary-blue)}.kantoor-inline-heading h3{font-size:1rem}.kantoor-hint-block{padding:var(--spacing-lg);background:var(--color-background);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.9375rem}.kantoor-vastgoed-link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-primary);text-decoration:none;transition:border-color .15s ease,background .15s ease}.kantoor-vastgoed-link:hover{border-color:var(--color-primary-orange);background:#e170000a}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--color-secondary-blue)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}p{line-height:1.6;color:var(--color-text-secondary)}.btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-family:var(--font-sans)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary-orange);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-orange-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-secondary-blue);color:#fff}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-blue-dark)}.btn-outline{background-color:transparent;border:2px solid var(--color-border);color:var(--color-text-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-primary-orange);color:var(--color-primary-orange)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:#c82333}.btn-sm{padding:6px 12px;font-size:.8125rem}.btn-lg{padding:12px 24px;font-size:1rem}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.form-label-required:after{content:" *";color:var(--color-danger)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:.9375rem;font-family:var(--font-sans);border:2px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary-orange);box-shadow:0 0 0 3px #e170001a}.form-input::placeholder{color:var(--color-text-light)}.form-textarea{resize:vertical;min-height:100px}.form-error{display:block;margin-top:var(--spacing-xs);font-size:.8125rem;color:var(--color-danger)}.form-hint{font-size:.8125rem;color:var(--color-text-secondary)}.form-hint a{color:var(--color-secondary-blue);font-weight:500}.form-hint a:hover{text-decoration:underline}.form-checkbox-label{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-size:.9375rem;color:var(--color-text-primary);cursor:pointer}.form-checkbox-label input{width:auto}.card{background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-light);background-color:var(--color-background)}.card-title{font-size:1.125rem;font-weight:600;color:var(--color-secondary-blue);margin:0}.card-body{padding:var(--spacing-lg)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}.table{width:100%;border-collapse:collapse;background-color:var(--color-surface)}.table thead{background-color:var(--color-background);border-bottom:2px solid var(--color-border)}.table th{padding:var(--spacing-md);text-align:left;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-secondary-blue)}.table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.table tbody tr:hover{background-color:var(--color-surface-hover)}.table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:12px;text-transform:uppercase;letter-spacing:.025em}.badge-success{background-color:var(--color-success-light);color:var(--color-success)}.badge-warning{background-color:var(--color-warning-light);color:#856404}.badge-danger{background-color:var(--color-danger-light);color:var(--color-danger)}.badge-info{background-color:var(--color-info-light);color:var(--color-info)}.modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:720px;width:100%;max-height:90vh;overflow-y:auto;padding:var(--spacing-lg)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.modal{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.25rem;font-weight:600;color:var(--color-secondary-blue);margin:0}.modal-close{background:none;border:none;cursor:pointer;padding:var(--spacing-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:all .2s ease}.modal-close:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.modal-body{padding:var(--spacing-lg)}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border-light);display:flex;gap:var(--spacing-sm);justify-content:flex-end}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);border-left:4px solid;display:flex;align-items:center;gap:var(--spacing-sm)}.alert-success{background-color:var(--color-success-light);border-color:var(--color-success);color:#155724}.alert-error{background-color:var(--color-danger-light);border-color:var(--color-danger);color:#721c24}.alert-warning{background-color:var(--color-warning-light);border-color:var(--color-warning);color:#856404}.alert-info{background-color:var(--color-info-light);border-color:var(--color-info);color:#0c5460}.spinner{border:3px solid var(--color-border-light);border-top-color:var(--color-primary-orange);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner-sm{width:20px;height:20px;border-width:2px}.empty-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg)}.empty-state-icon{width:64px;height:64px;margin:0 auto var(--spacing-lg);color:var(--color-text-light)}.empty-state-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.empty-state-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing-xs)}.gap-2{gap:var(--spacing-sm)}.gap-3{gap:var(--spacing-md)}.gap-4{gap:var(--spacing-lg)}.w-full{width:100%}.h-full{height:100%}.grid{display:grid;gap:var(--spacing-md)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 768px){.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}}
