*,:after,:before{box-sizing:border-box}:root{color-scheme:light;--bo-background:#fbfaff;--bo-surface:#fff;--bo-surface-alt:#f7f7fa;--bo-border:#ececf2;--bo-text-primary:#1b1b26;--bo-text-secondary:#54546a;--bo-text-tertiary:#6f6f86;--bo-brand-primary:#7c5cff;--bo-brand-600:#6748e6;--bo-brand-on:#fff;--bo-brand-muted:#e9e2ff;--bo-success:#2e7d32;--bo-warning:#ed6c02;--bo-error:#d32f2f;--bo-focus-ring:#b8a6ff;--bo-space-xs:4px;--bo-space-sm:8px;--bo-space-md:12px;--bo-space-lg:16px;--bo-space-xl:20px;--bo-space-xxl:24px;--bo-space-xxxl:32px;--bo-space-xxxxl:40px;--bo-radius-sm:10px;--bo-radius-md:14px;--bo-radius-lg:18px;--bo-radius-xl:24px;--bo-radius-pill:999px;--bo-shadow-card:0 8px 16px rgba(0,0,0,.1);--bo-shadow-float:0 12px 24px rgba(0,0,0,.14);--bo-font-title1:28px;--bo-font-title2:22px;--bo-font-headline:17px;--bo-font-body:17px;--bo-font-callout:16px;--bo-font-subhead:15px;--bo-font-footnote:13px;--bo-font-caption:12px}body{background:var(--bo-background);color:var(--bo-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}a.bo-nav-link,a.bo-nav-link:link,a.bo-nav-link:visited{color:var(--bo-text-secondary);text-decoration:none}.bo-sidebar{background:var(--bo-surface-alt);border-right:1px solid var(--bo-border)}.bo-sidebar .bo-nav-link{align-items:center;border-radius:var(--bo-radius-md);color:var(--bo-text-secondary);display:flex;font-size:var(--bo-font-callout);gap:12px;padding:var(--bo-space-md) var(--bo-space-lg);transition:background .18s ease,color .18s ease}.bo-sidebar .bo-nav-link:hover{background:var(--bo-border);color:var(--bo-text-primary);text-decoration:none}.bo-sidebar .bo-nav-link.router-link-active,a.bo-nav-link.router-link-active{background:var(--bo-brand-primary);color:var(--bo-brand-on);text-decoration:none}.bo-nav{flex:1;padding:var(--bo-space-lg)}.bo-nav-list{list-style:none;margin:0;padding:0}.bo-nav-list li{margin-bottom:4px}.bo-logout-btn{align-items:center;background:transparent;border:none;border-radius:var(--bo-radius-md);color:var(--bo-text-secondary);cursor:pointer;display:flex;font-size:var(--bo-font-callout);gap:12px;padding:var(--bo-space-md) var(--bo-space-lg);text-align:left;transition:background .18s ease;width:100%}.bo-logout-btn:hover{background:var(--bo-border)}a.bo-logo-link,a.bo-logo-link:hover,a.bo-logo-link:link,a.bo-logo-link:visited{color:var(--bo-text-primary);text-decoration:none}.bo-page-title{color:var(--bo-text-primary);font-size:var(--bo-font-title1);font-weight:700;margin-bottom:var(--bo-space-sm)}.bo-page-subtitle{color:var(--bo-text-secondary);font-size:var(--bo-font-body);margin-bottom:var(--bo-space-xxl)}.bo-card{background:var(--bo-surface);border:1px solid var(--bo-border);border-radius:var(--bo-radius-lg);box-shadow:var(--bo-shadow-card);padding:var(--bo-space-xxl)}a.bo-card-link,a.bo-card-link:hover,a.bo-card-link:link,a.bo-card-link:visited{color:var(--bo-text-primary);text-decoration:none}.bo-card-link{background:var(--bo-surface);border:1px solid var(--bo-border);border-radius:var(--bo-radius-lg);box-shadow:var(--bo-shadow-card);display:block;padding:var(--bo-space-xxl);transition:box-shadow .18s ease,border-color .18s ease}.bo-card-link:hover{border-color:var(--bo-brand-muted);box-shadow:var(--bo-shadow-float)}.bo-card-link .bo-card-desc{color:var(--bo-text-secondary)}.bo-card-icon{align-items:center;background:var(--bo-brand-muted);border-radius:var(--bo-radius-sm);color:var(--bo-brand-primary);display:flex;font-size:1.25rem;height:48px;justify-content:center;margin-bottom:var(--bo-space-lg);width:48px}.bo-card-title{color:var(--bo-text-primary);font-size:var(--bo-font-headline);font-weight:600;margin-bottom:var(--bo-space-sm)}.bo-card-desc{color:var(--bo-text-secondary);font-size:var(--bo-font-subhead)}.bo-root{background:var(--bo-background);flex-direction:row}.bo-root,.bo-sidebar{display:flex;min-height:100vh}.bo-sidebar{flex-direction:column;flex-shrink:0;width:260px}.bo-main{background:var(--bo-background);flex:1;overflow:auto;padding:var(--bo-space-xxxxl)}.bo-cards-grid{display:grid;gap:var(--bo-space-xxl);grid-template-columns:repeat(2,1fr);max-width:900px}@media(max-width:640px){.bo-cards-grid{grid-template-columns:1fr}}.bo-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--bo-space-lg);margin-bottom:var(--bo-space-xxl)}.bo-filter-group{display:flex;flex-direction:column;gap:4px}.bo-filter-group label{color:var(--bo-text-secondary);font-size:var(--bo-font-footnote);font-weight:500}.bo-link{color:var(--bo-brand-primary)}.bo-link:hover{text-decoration:underline}.bo-photo-thumb{background:var(--bo-surface-alt);border-radius:var(--bo-radius-sm);height:56px;-o-object-fit:cover;object-fit:cover;width:56px}.bo-danger{color:var(--bo-error)}.p-button.p-button-primary,.p-button:not(.p-button-secondary):not(.p-button-success):not(.p-button-info):not(.p-button-warning):not(.p-button-help):not(.p-button-danger){background:var(--bo-brand-primary);border-color:var(--bo-brand-primary)}.p-button.p-button-primary:hover,.p-button:not(.p-button-secondary):not(.p-button-success):not(.p-button-info):not(.p-button-warning):not(.p-button-help):not(.p-button-danger):hover{background:var(--bo-brand-600,#6748e6);border-color:var(--bo-brand-600,#6748e6)}.p-link,a.p-button.p-button-link{color:var(--bo-brand-primary)}.p-tag.p-tag-success{background:#e8f5e9;color:var(--bo-success)}.p-tag.p-tag-warn{background:#fff3e0;color:var(--bo-warning)}.p-tag.p-tag-danger{background:#ffebee;color:var(--bo-error)}.p-datatable .p-datatable-thead>tr>th{background:var(--bo-surface-alt)!important;border-color:var(--bo-border);color:var(--bo-text-primary)!important;font-size:var(--bo-font-subhead);font-weight:600}.p-datatable .p-datatable-tbody>tr{background:var(--bo-surface)!important;color:var(--bo-text-primary)}.p-datatable .p-datatable-tbody>tr>td{background:var(--bo-surface)!important;border-color:var(--bo-border);color:var(--bo-text-primary)!important;font-size:var(--bo-font-subhead)}.p-datatable .p-datatable-tbody>tr.p-highlight,.p-datatable .p-datatable-tbody>tr:hover{background:var(--bo-surface-alt)!important}.p-datatable .p-datatable-tbody>tr.p-highlight>td,.p-datatable .p-datatable-tbody>tr:hover>td{background:var(--bo-surface-alt)!important;color:var(--bo-text-primary)!important}.p-inputtext{background:var(--bo-surface)!important;border-color:var(--bo-border);border-radius:var(--bo-radius-sm);color:var(--bo-text-primary)!important}.p-inputtext::-moz-placeholder{color:var(--bo-text-tertiary)}.p-inputtext::placeholder{color:var(--bo-text-tertiary)}.p-inputtext:enabled:focus{box-shadow:0 0 0 2px var(--bo-focus-ring)}.p-button.p-button-secondary{background:var(--bo-surface-alt)!important}.p-button.p-button-secondary,.p-button.p-button-secondary:hover{border-color:var(--bo-border)!important;color:var(--bo-text-primary)!important}.p-button.p-button-secondary:hover{background:var(--bo-border)!important}.p-dropdown,.p-dropdown .p-dropdown-label,.p-select,.p-select-button,[data-pc-name=select],[data-pc-name=select] .p-select-button{background:var(--bo-surface)!important;border-color:var(--bo-border);color:var(--bo-text-primary)!important}.p-dropdown-panel,.p-select-overlay,[data-pc-name=overlay]{background:var(--bo-surface)!important;border-color:var(--bo-border)}.p-dropdown-item,.p-select-overlay .p-select-option{background:var(--bo-surface)!important;color:var(--bo-text-primary)!important}.p-dropdown-item:hover,.p-select-overlay .p-select-option:hover{background:var(--bo-surface-alt)!important;color:var(--bo-text-primary)!important}.bo-login-layout{align-items:center;background:var(--bo-background);display:flex;justify-content:center;min-height:100vh;padding:var(--bo-space-xxl)}.bo-login-card{max-width:400px;width:100%}.bo-login-card .bo-card{padding:var(--bo-space-xxxl)}.bo-login-form{gap:var(--bo-space-xxl)}.bo-login-field,.bo-login-form{display:flex;flex-direction:column}.bo-login-field{gap:var(--bo-space-sm)}.bo-login-field label{color:var(--bo-text-primary);font-size:var(--bo-font-subhead);font-weight:600}.bo-login-field .p-inputtext{font-size:var(--bo-font-body);padding:var(--bo-space-md) var(--bo-space-lg);width:100%}.bo-login-submit{margin-top:var(--bo-space-sm);width:100%}
