:root{--sidebar-bg:#1a2b1e;--sidebar-text:#a8c4ac;--sidebar-active:#2d6b3a;--sidebar-hover:#243328;--sidebar-brand:#f4faf5;--accent:#2d6b3a;--accent-hover:#255830;--app-bg:#f0f5f1;--card-bg:#ffffff;--border:#dae8dc;--border-strong:#b4ccb8;--text-primary:#1a2b1e;--text-secondary:#3a5040;--text-muted:#6a8470;--success:#1e7e5a;--warning:#a06800;--danger:#c0392b;--info:#2d6b3a;--accent-light:rgba(45,107,58,0.1);--info-light:rgba(13,110,253,0.06);--warning-light:rgba(160,104,0,0.08);--success-light:rgba(30,126,90,0.08);--danger-light:rgba(192,57,43,0.06);--event-performance-bg:#6b1f4d;--event-performance-text:#ffffff;--event-performance-border:#4e1638;--event-staging-bg:#f5cf80;--event-staging-text:#5c3c00;--event-staging-border:#e0b050;--event-stage-bg:#a0c6ff;--event-stage-text:#103858;--event-stage-border:#5aa0a4;--event-music-bg:#9cd9b0;--event-music-text:#114023;--event-music-border:#6abf88;--event-pno-bg:#fde0d8;--event-pno-text:#7a2010;--event-pno-border:#f0b0a0;--pno-assigned-bg:#b8302a;--pno-assigned-text:#ffffff;--pno-assigned-border:#8a2020;--pno-restricted-bg:#d3d3d3;--pno-restricted-text:#333333;--pno-restricted-border:#bbbbbb;--event-other-bg:#e5e9f0;--event-other-text:#1a202c;--event-other-border:#c8c8d0;--background:#ffffff;--foreground:#171717;--primary:#1a365d;--opera-gold:#ffd700;--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#1a365d;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:26,54,93;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41}body,html{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;padding:0;margin:0}h1{font-size:1.5rem}a{color:inherit;text-decoration:none}.label-xs{font-size:10px;letter-spacing:.08em}.label-sm,.label-xs{font-weight:500;text-transform:uppercase;color:var(--text-muted)}.label-sm{font-size:11px;letter-spacing:.07em}.mono{font-family:IBM Plex Mono,monospace}.role-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:rgba(45,107,58,.12)}.divider{height:1px;background:var(--border);margin:0 0 16px}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.app-scroll-area{zoom:1.1}@media (max-width:767.98px){.app-sidebar{display:none!important}.app-main{margin-left:0!important}}.desktop-topbar{display:block}.mobile-header{display:none}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:80px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);z-index:200;padding-bottom:env(safe-area-inset-bottom,0)}@media (max-width:767.98px){.desktop-topbar{display:none}.mobile-header{display:block}.mobile-bottom-nav{display:flex}.app-scroll-area{padding-bottom:80px}}.desktop-only{display:none!important}@media (min-width:768px){.desktop-only{display:block!important}.mobile-only{display:none!important}}.dashboard-modules-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}@media (max-width:991.98px){.dashboard-modules-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:575.98px){.dashboard-modules-grid{grid-template-columns:1fr}}.announcement-strip{display:grid;grid-template-columns:repeat(2,1fr)}.announcement-strip>div{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.announcement-strip>div:last-child,.announcement-strip>div:nth-child(2n){border-right:none}.announcement-strip>div:last-child,.announcement-strip>div:nth-last-child(2):nth-child(odd){border-bottom:none}@media (max-width:767.98px){.announcement-strip{grid-template-columns:1fr}.announcement-strip>div{border-right:none!important;border-bottom:1px solid var(--border)!important}.announcement-strip>div:last-child{border-bottom:none!important}}.contacts-top-bar{display:flex;gap:16px;align-items:center}.contacts-grid{column-count:2;column-gap:14px}.contacts-grid>div{page-break-inside:avoid;break-inside:avoid;margin-bottom:14px}@media (max-width:767.98px){.contacts-top-bar{flex-direction:column;align-items:stretch}.contacts-search-wrap{width:100%}.contacts-search-wrap input{width:100%!important}.contacts-grid{column-count:1}}.contacts-search-input{padding:8px 12px 8px 32px;border:1px solid var(--border);border-radius:5px;font-size:12px;font-family:inherit;outline:none;width:200px;color:var(--text-primary);background:#fff}.contacts-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;display:flex}.contacts-table{width:100%;border-collapse:collapse}.contacts-th{padding:6px 14px;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);background:var(--app-bg)}.contacts-td{padding:9px 14px}.email-utility-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;align-items:start}@media (max-width:767.98px){.email-utility-grid{grid-template-columns:1fr}}.pno-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.pno-assignments-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;gap:10px}@media (max-width:767.98px){.pno-assignments-grid,.pno-stats-grid{grid-template-columns:1fr}}.chorus-office-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 32px;gap:14px 32px}@media (max-width:767.98px){.chorus-office-form-grid{grid-template-columns:1fr}}.calculator-layout-grid{display:grid;grid-template-columns:380px 1fr;grid-gap:20px;gap:20px;align-items:start}@media (max-width:900px){.calculator-layout-grid{grid-template-columns:1fr}}.resources-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:767.98px){.resources-grid{grid-template-columns:1fr}}.leave-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:16px}@media (max-width:479.98px){.leave-grid{grid-template-columns:1fr}}.cba-disclaimer{padding:6px 16px;background:rgba(160,104,0,.08);border-bottom:1px solid rgba(160,104,0,.3);font-size:11px;color:var(--warning);line-height:1.4;flex-shrink:0}.cba-copy-feedback{padding:6px 16px;background:rgba(30,126,90,.1);border-bottom:1px solid rgba(30,126,90,.25);font-size:12px;color:var(--success);flex-shrink:0}.cba-controls-bar{background:#fff;border-bottom:1px solid var(--border);padding:8px 14px;display:flex;align-items:center;gap:10px;flex-shrink:0;flex-wrap:wrap}.cba-search-input{width:100%;padding:6px 10px 6px 30px;border:1px solid var(--border);border-radius:5px;font-size:12px;font-family:inherit;outline:none;color:var(--text-primary);background:#fff}.cba-status-bar{background:#fff;border-top:1px solid var(--border);padding:6px 16px;justify-content:space-between}.cba-status-bar,.sidebar-brand-area{display:flex;align-items:center;flex-shrink:0}.sidebar-brand-area{gap:10px;padding-top:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo-mark{width:34px;height:34px;background:var(--sidebar-active);border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;font-size:17px;color:#fff;letter-spacing:-.5px}.sidebar-brand-name{color:var(--sidebar-brand);font-weight:600;font-size:13px;line-height:1.2;white-space:nowrap}.sidebar-brand-sub{font-size:10px;opacity:.7}.sidebar-brand-sub,.sidebar-nav-btn{color:var(--sidebar-text);white-space:nowrap}.sidebar-nav-btn{display:flex;align-items:center;gap:11px;width:100%;height:44px;background:transparent;border:none;border-left:3px solid transparent;cursor:pointer;text-align:left;font-size:13px;font-weight:400;transition:background .15s;font-family:inherit}.sidebar-nav-btn:hover{background:var(--sidebar-hover)}.sidebar-nav-btn--active{background:var(--sidebar-active);color:#fff;font-weight:500;border-left-color:rgba(255,255,255,.5)}.sidebar-nav-icon{font-size:15px;opacity:.7;flex-shrink:0;width:16px;text-align:center}.sidebar-nav-btn--active .sidebar-nav-icon{opacity:1}.sidebar-footer{flex-shrink:0;border-top:1px solid rgba(255,255,255,.08)}.sidebar-avatar{width:28px;height:28px;border-radius:50%;background:var(--sidebar-active);display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600;flex-shrink:0}.sidebar-user-name{color:var(--sidebar-brand);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:10px;opacity:.7}.sidebar-action-btn,.sidebar-user-role{color:var(--sidebar-text);white-space:nowrap}.sidebar-action-btn{display:flex;align-items:center;gap:11px;width:100%;background:transparent;border:none;cursor:pointer;font-size:12px;opacity:.65;font-family:inherit}.sidebar-action-btn:hover{opacity:1}.sidebar-tooltip{position:fixed;left:68px;background:var(--sidebar-bg);color:var(--sidebar-brand);border:1px solid rgba(255,255,255,.12);border-radius:5px;padding:5px 10px;font-size:12px;font-weight:500;white-space:nowrap;z-index:9999;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.3);transform:translateY(-50%)}.topbar{height:52px;background:#fff;border-bottom:1px solid var(--border);justify-content:space-between;padding:0 20px;flex-shrink:0}.topbar,.topbar-breadcrumb{display:flex;align-items:center}.topbar-breadcrumb{gap:6px;font-size:12px}.topbar-avatar{width:28px;height:28px;border-radius:50%;background:var(--sidebar-active);display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600;cursor:pointer;flex-shrink:0;border:none;padding:0}.topbar-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--card-bg);border:1px solid var(--border);border-radius:7px;box-shadow:0 4px 16px rgba(0,0,0,.12);min-width:160px;z-index:500;overflow:hidden}.topbar-dropdown-header{padding:10px 14px 8px;border-bottom:1px solid var(--border)}.topbar-dropdown-name{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-dropdown-role{font-size:10px;color:var(--text-muted);margin-top:1px}.mobile-page-title{color:var(--sidebar-brand);font-weight:600;font-size:18px}.more-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:198}.more-sheet{position:fixed;bottom:80px;left:0;right:0;background:var(--app-bg);border-top-left-radius:16px;border-top-right-radius:16px;border-top:1px solid var(--border);z-index:199;padding-bottom:8px;animation:slideUp .18s ease}.more-sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--border);margin:10px auto 14px}.more-sheet-label{font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:0 16px 8px}.more-sheet-list{background:var(--card-bg);margin:0 16px;border-radius:10px;border:1px solid var(--border);overflow:hidden}.more-sheet-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;font-family:inherit}.more-sheet-item:last-child{border-bottom:none}.more-sheet-item-icon{width:34px;height:34px;border-radius:8px;background:rgba(45,107,58,.13);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.more-sheet-sign-out{width:calc(100% - 32px);margin:10px 16px 0;padding:11px;border:1px solid var(--border);border-radius:8px;color:var(--danger);font-size:13px;font-weight:500;font-family:inherit}.more-sheet-sign-out,.tab-btn{display:flex;align-items:center;justify-content:center;background:transparent;cursor:pointer}.tab-btn{flex:1 1;flex-direction:column;gap:3px;border:none;padding-bottom:16px;padding-top:8px}.tab-btn-label{font-size:10px;font-family:IBM Plex Sans,sans-serif}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}#sidebar-wrapper{z-index:1050}.menu-toggle{z-index:1060}.scroll-to-top{z-index:1040}.panel{border:1px solid var(--border);border-radius:8px}.panel,.panel-lg{background:var(--card-bg);overflow:hidden}.panel-lg{border:1px solid var(--border);border-radius:10px}.panel-header{padding:12px 18px;border-bottom:1px solid var(--border);font-size:13px;font-weight:500;color:var(--text-primary)}.panel-body{padding:18px}.panel-empty{align-items:center;justify-content:center;min-height:320px;border:1px solid var(--border);border-radius:8px}.module-tile,.panel-empty{display:flex;flex-direction:column;background:var(--card-bg)}.module-tile{border:1px solid var(--border);border-radius:7px;padding:18px 16px;cursor:pointer;gap:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .12s,box-shadow .12s,border-color .12s,background .12s}.module-tile:hover{background:var(--app-bg);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.08)}.module-tile-icon{width:34px;height:34px;background:rgba(45,107,58,.13);color:var(--accent);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.info-tile{background:var(--app-bg);border:1px solid var(--border);border-radius:6px;padding:10px 12px}.contact-callout{background:rgba(45,107,58,.1);border:1px solid rgba(45,107,58,.3);border-radius:8px;padding:14px 18px;display:flex;align-items:center;gap:14px}.contact-callout-icon{width:40px;height:40px;border-radius:50%;background:var(--sidebar-active);display:flex;align-items:center;justify-content:center;flex-shrink:0}.panel-list-row{padding:10px 18px;align-items:flex-start;gap:10px}.panel-list-row,.pdf-download-row{display:flex;justify-content:space-between}.pdf-download-row{align-items:center;padding:10px 14px;background:var(--app-bg);border:1px solid var(--border);border-radius:6px}.check-list{border:1px solid var(--border);border-radius:5px;overflow:hidden}.check-list-item{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;font-size:12px;color:var(--text-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .1s}.check-list-item:not(:last-child){border-bottom:1px solid var(--border)}.check-list-item--checked{background:var(--accent-light);font-weight:500}.clause{margin-bottom:5px;position:relative;contain:layout style paint;padding:8px 0;box-sizing:border-box}@keyframes highlight-fade{0%{background-color:#fff3cd}to{background-color:transparent}}.clause-content{line-height:1.6}.clause-heading{font-size:1.2rem;font-weight:700;color:#2c3e50;margin-bottom:.5rem}.clause-bold{font-weight:600}.clause-top-border{border-top:1px solid #dee2e6;padding-top:10px}.clause-btn-col{padding-left:5px}.clause-btn-top-border{border-top:1px solid #dee2e6;padding-top:10px}.btn-ref{font-size:.75rem;padding:.25rem .5rem;margin-bottom:.25rem}.ref-link{color:#0074d9;text-decoration:none;font-size:.85rem}.ref-link:hover{text-decoration:underline}.card,.card-header,.card-header:first-child{border-radius:0;border:0}.list-group-item.active{z-index:1}.seg-control{display:flex;border:1px solid var(--border);border-radius:5px;overflow:hidden}.seg-btn{padding:5px 11px;border:none;border-right:1px solid var(--border);background:#fff;color:var(--text-secondary);cursor:pointer;font-size:12px;font-family:inherit}.seg-btn:last-child{border-right:none}.seg-btn--active{background:var(--accent);color:#fff;font-weight:500}.seg-btn:disabled{background:#f8f8f8;color:var(--text-muted);cursor:not-allowed}.seg-btn:hover:not(:disabled){background:var(--app-bg)}.seg-btn-lg{padding:9px 8px;font-size:12px;font-weight:500;font-family:inherit;border:none;border-right:1px solid var(--border);background:#fff;color:var(--text-secondary);cursor:pointer}.seg-btn-lg:last-child{border-right:none}.seg-btn-lg:disabled{background:#f7faf7;color:var(--text-muted);cursor:not-allowed}.action-btn{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:5px;font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--text-secondary)}.action-btn:hover{opacity:.85}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn-lg{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border-radius:6px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--text-secondary);width:100%}.action-btn-lg:hover{opacity:.85}.icon-btn{width:44px;padding:0;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.btn-outline-secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:10px 16px;font-size:13px;font-weight:500;font-family:inherit;border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .12s}.btn-outline-secondary:hover:not(:disabled){background:var(--app-bg)}.btn-outline-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-outline-accent{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:500;font-family:inherit;border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--accent);text-decoration:none;cursor:pointer;transition:background .12s}.btn-outline-accent:hover{background:rgba(45,107,58,.06)}.btn-ghost{background:transparent;padding:0;display:flex;align-items:center;justify-content:center;line-height:1}.btn-ghost,.btn-primary-full{border:none;cursor:pointer;font-family:inherit}.btn-primary-full{width:100%;padding:9px 16px;font-size:13px;font-weight:500;border-radius:5px;background:var(--accent);color:#fff;transition:background .15s}.btn-primary-full:hover:not(:disabled){background:var(--accent-hover)}.btn-primary-full:disabled{opacity:.7;cursor:not-allowed}.btn-accent{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:500;font-family:inherit;border:none;border-radius:5px;background:var(--accent);color:#fff;cursor:pointer;transition:opacity .12s}.btn-accent:hover:not(:disabled){opacity:.9}.btn-accent:disabled{opacity:.7;cursor:not-allowed}.hover-item{transition:all .2s ease!important;border:none!important;background:transparent!important}.hover-item:hover{background-color:rgba(0,0,0,.08)!important;transform:translateX(2px)!important;color:inherit!important}.hover-item:active{background-color:rgba(0,0,0,.12)!important}.hover-item.text-danger:hover{background-color:rgba(220,53,69,.08)!important;color:#dc3545!important}.btn:focus,.form-control:focus,.form-select:focus{outline:none}.login-panel-left{display:flex}@media (max-width:767.98px){.login-panel-left{display:none}.login-panel-right{width:100%!important;background:#f0f5f1!important}.login-mobile-brand{display:block!important}.login-input{background:#f0f5f1!important;font-size:16px}.login-checkbox{background:#f0f5f1!important;border-color:#9cb8a2!important}.login-checkbox:checked{background:var(--accent)!important}.login-remember{background:#f0f5f1}}.login-brand-mark{background:var(--sidebar-active);border-radius:7px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0}.login-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:28px}.login-quote-rule{width:44px;height:2px;background:var(--accent);margin-bottom:28px;opacity:.8}.login-link-btn{background:none;border:none;color:var(--accent);font-size:13px;cursor:pointer;padding:0;font-family:inherit}.login-link-btn:disabled{opacity:.6;cursor:not-allowed}.login-remember{margin-bottom:24px;display:flex;align-items:center;gap:8px}.login-remember label{font-size:12px;color:var(--text-secondary);cursor:pointer;margin:0}.login-contact-footer{margin-top:32px;padding-top:20px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted);text-align:center}.login-input{width:100%;padding:11px 14px;border:1px solid #9cb8a2;border-radius:5px;font-size:13px;font-family:IBM Plex Sans,sans-serif;color:var(--text-primary);background:#f4ede0;outline:none;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(45,107,58,.18)}.login-input.is-invalid{border-color:var(--danger)}.login-input:disabled{background:#f8f9fa;opacity:.7}.login-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:14px;height:14px;border:1.5px solid #9cb8a2;border-radius:3px;background:#f4ede0;cursor:pointer;flex-shrink:0}.login-checkbox:checked{background:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 10 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4l3 3 5-6' stroke='%23fff' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:50%;background-size:10px 8px}.login-submit-btn{width:100%;padding:12px;background:var(--accent);color:#fff;border:none;border-radius:5px;font-size:14px;font-weight:500;font-family:IBM Plex Sans,sans-serif;cursor:pointer;transition:background .15s}.login-submit-btn:hover:not(:disabled){background:var(--accent-hover)}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.field-input{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:5px;font-size:12px;font-family:inherit;color:var(--text-primary);background:#fff;outline:none;transition:border-color .12s}.field-input:focus{border-color:var(--accent)}.field-input:disabled{background:#f8f9fa;opacity:.7}.field-select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:5px;font-size:12px;font-family:inherit;color:var(--text-primary);background:#fff;outline:none}.form-select option{background-color:white!important;color:#495057!important}.form-select option:checked{background-color:#007bff!important;color:white!important}.search-input{border-radius:.375rem;border:1px solid #ced4da}#clause-6 p{font-size:.9rem;font-weight:400}.feedback-success{color:var(--success);background:#f0faf4;border:1px solid #a0d8b0;border-radius:4px}.feedback-error,.feedback-success{font-size:11px;padding:6px 8px;line-height:1.4}.feedback-error{color:var(--danger);background:#fdecea;border:1px solid #f5c6cb;border-radius:4px}.feedback-warning{font-size:11px;color:var(--warning);font-style:italic;line-height:1.4}.feedback-success-lg{color:var(--success);background:#f0faf4;border:1px solid #a0d8b0;border-radius:5px}.feedback-error-lg,.feedback-success-lg{font-size:12px;padding:8px 10px;line-height:1.4}.feedback-error-lg{color:var(--danger);background:#fdecea;border:1px solid #f5c6cb;border-radius:5px}.feedback-warning-lg{font-size:12px;color:var(--warning);font-style:italic;line-height:1.4}.feedback-error-page{border-radius:6px;background:#fdecea;border:1px solid rgba(192,57,43,.3);color:var(--danger)}.feedback-error-page,.feedback-success-page{padding:10px 14px;font-size:12px;line-height:1.5}.feedback-success-page{border-radius:6px;background:rgba(30,126,90,.1);border:1px solid rgba(30,126,90,.3);color:var(--success)}.banner-info{padding:10px 14px;border-radius:6px;font-size:12px;line-height:1.5;background:rgba(45,107,58,.1);border:1px solid rgba(45,107,58,.3);color:var(--accent)}.banner-danger{background:rgba(192,57,43,.06);border:1px solid rgba(192,57,43,.2);padding:10px 12px;color:var(--danger);font-weight:500;line-height:1.4;display:flex;align-items:flex-start;gap:8px}.banner-danger,.banner-warning{border-radius:6px;font-size:12px}.banner-warning{padding:10px 14px;line-height:1.5;background:rgba(160,104,0,.08);border:1px solid rgba(160,104,0,.3);color:var(--warning)}.banner-user-info{background:var(--info-light);border:1px solid rgba(13,110,253,.2);border-radius:5px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between}.loading{opacity:.6;pointer-events:none}.week-at-a-glance *{transition:none!important;animation:none!important}.wag-section-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-left:2px}.wag-section-label{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}.wag-section-rule{flex:1 1;height:1px;background:var(--border)}.wag-legend{display:flex;gap:14px;flex-wrap:wrap;padding:9px 14px;border-top:1px solid var(--border)}.wag-legend-item{display:flex;align-items:center;gap:5px}.wag-legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0;border:1px solid}.wag-legend-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.wag-legend-item-lg{display:flex;align-items:center;gap:7px}.wag-legend-swatch-lg{width:11px;height:11px;border-radius:2px;flex-shrink:0;border:1px solid}.wag-day-row{display:flex;padding-top:12px;padding-bottom:12px}.wag-day-date-col{width:44px;flex-shrink:0;text-align:center;padding-top:2px;margin-right:12px}.wag-day-weekday{font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:500;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.wag-day-number{font-size:22px;font-weight:300;line-height:1.05;margin-top:2px;font-feature-settings:"tnum"}.wag-day-divider{width:1px;background:var(--border);align-self:stretch;margin-top:2px;margin-bottom:2px;flex-shrink:0}.wag-day-events{flex:1 1;min-width:0}.wag-rest-day{font-size:13px;color:var(--text-muted);font-style:italic;opacity:.7;padding-top:6px;padding-left:14px}.wag-event-row{display:flex;align-items:stretch;border-radius:4px}.wag-event-color-bar{width:4px;flex-shrink:0;border-top-right-radius:1px;border-bottom-right-radius:1px}.wag-event-content{flex:1 1;min-width:0;padding-left:10px;padding-top:1px;padding-bottom:1px}.wag-event-title{font-size:13px;font-weight:500;color:var(--text-primary);line-height:1.3}.wag-event-time{font-size:11px;color:var(--text-muted);margin-top:2px;font-family:IBM Plex Mono,monospace}.wag-check-empty{display:inline-block;border-radius:50%;border:1.5px solid var(--border);background:#fff}.wag-check-empty,.wag-check-filled{width:18px;height:18px;flex-shrink:0}.wag-check-filled{border-radius:50%;background:var(--accent);display:inline-flex;align-items:center;justify-content:center}.wag-check-empty-lg{display:inline-block;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--border);background:#fff}.wag-check-filled-lg{width:16px;height:16px;border-radius:50%;background:var(--accent);display:inline-flex;align-items:center;justify-content:center}.wag-pno-panel{width:220px;flex-shrink:0;border-left:1px solid var(--border);background:#fafbfc;display:flex;flex-direction:column;padding:12px}.wag-info-box{background:var(--app-bg);border:1px solid var(--border);border-radius:5px;padding:10px 12px;font-size:12px;color:var(--text-secondary);line-height:1.5}.wag-event-item{position:relative}.wag-event-item:hover{z-index:100!important}.wag-pno-tooltip{display:none;position:absolute;bottom:calc(100% + 4px);top:auto;left:0;z-index:999;background:var(--card-bg);border:1px solid var(--border);border-radius:5px;padding:7px 10px;font-size:11px;font-family:IBM Plex Sans,sans-serif;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-width:180px;width:max-content;box-shadow:0 4px 12px rgba(0,0,0,.12);line-height:1.4;pointer-events:none}.wag-event-item:hover .wag-pno-tooltip{display:block}.wag-event-item.pno-tip-below .wag-pno-tooltip{top:calc(100% + 4px);bottom:auto}.user-hover-menu{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.user-profile-container:hover .user-hover-menu{opacity:1;visibility:visible}@keyframes spin{to{transform:rotate(1turn)}}.spinner-center{flex-direction:column;padding:24px}.loading-fullscreen,.spinner-center{display:flex;align-items:center;justify-content:center}.loading-fullscreen{min-height:100vh}.text-secondary-muted{color:var(--text-muted)}.email-list{background:var(--app-bg);border:1px solid var(--border);border-radius:5px;padding:10px 12px;max-height:240px;overflow-y:auto;font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--text-secondary);line-height:1.7;word-break:break-all}.collapse:not(.show){display:none}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#29d transparent transparent #29d;border-style:solid;border-width:2px;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}