*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#f0f4f8;color:#111827}#app{min-height:100vh}.top-header{position:sticky;top:0;z-index:1000;display:flex;align-items:center;background:#1a3a5c;color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.header-content{flex:1;max-width:1400px;margin:0 auto;padding:.75rem 2rem;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:.75rem}.header-content h1{margin:0;font-size:1.4rem}.hamburger-btn{flex-shrink:0;align-self:stretch;width:2.75rem;border:none;border-right:1px solid rgba(255,255,255,.2);border-radius:0;background:transparent;color:#fff;font-size:1.1rem;line-height:1;transition:background .2s}.hamburger-btn:hover{background:#ffffff1f}.user-actions{display:flex;align-items:center;gap:.75rem}.user-name{font-weight:600}.app-sidebar{position:fixed;top:0;left:0;z-index:2200;width:240px;max-width:80vw;height:100vh;background:#0f2740;border-right:1px solid rgba(255,255,255,.1);padding:4.5rem 1rem 1rem;transform:translate(-100%);transition:transform .2s ease}.app-sidebar--open{transform:translate(0)}.sidebar-overlay{position:fixed;inset:0;z-index:2100;background:#00000073}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem}.sidebar-link{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .85rem;color:#ffffffe6;text-decoration:none;border-radius:6px;border:1px solid transparent}.sidebar-link:hover{background:#ffffff1f}.sidebar-link.router-link-active{background:#fff3;border-color:#ffffff59;font-weight:600}.nav-unread-badge{background:#dc2626;color:#fff;border-radius:999px;min-width:1.25rem;padding:.05rem .35rem;font-size:.7rem;text-align:center;font-weight:700}@media(min-width:901px){.hamburger-btn,.sidebar-overlay{display:none}.app-sidebar{transform:translate(0)}#app.has-sidebar{padding-left:240px}}.logout-btn{padding:.45rem 1rem;background:transparent;color:#ffffffd9;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s,color .2s}.logout-btn:hover{background:#ef444440;border-color:#ef444499;color:#fff}.provider-notification-wrapper{position:relative}.notification-btn{position:relative;width:2.25rem;height:2.25rem;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#ffffffe6;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}.notification-btn:hover{background:#ffffff1f;border-color:#ffffff80}.notification-icon{font-size:1rem;line-height:1}.notification-badge{position:absolute;top:-.3rem;right:-.35rem;min-width:1.2rem;height:1.2rem;padding:0 .25rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.72rem;font-weight:700;line-height:1.2rem;text-align:center}.message-toast{position:fixed;right:1rem;bottom:1rem;z-index:1200;display:flex;align-items:stretch;gap:.25rem;max-width:min(360px,calc(100vw - 2rem));background:#0f2740;color:#f8fafc;border:1px solid rgba(255,255,255,.18);border-radius:10px;box-shadow:0 12px 28px #0f274047;overflow:hidden}.message-toast-body{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.85rem 1rem;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer}.message-toast-body strong{font-size:.92rem}.message-toast-body span{font-size:.82rem;color:#f8fafcd1}.message-toast-dismiss{background:transparent;border:0;color:#f8fafcb3;padding:.65rem .75rem;cursor:pointer;font-size:.95rem}.message-toast-dismiss:hover{color:#fff;background:#ffffff14}.notification-dropdown{position:absolute;top:calc(100% + .5rem);right:0;width:min(320px,80vw);max-height:360px;overflow-y:auto;background:#fff;color:#111827;border-radius:8px;border:1px solid #d1d5db;box-shadow:0 12px 28px #00000038;z-index:3000}.notification-dropdown-header{padding:.7rem .9rem;border-bottom:1px solid #e5e7eb;font-size:.95rem;font-weight:700}.notification-status{padding:.8rem .9rem;font-size:.9rem;color:#374151}.notification-status.error{color:#b91c1c}.notification-list{list-style:none;margin:0;padding:0}.notification-section-label{padding:.55rem .9rem .2rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.notification-item{padding:.75rem .9rem;border-top:1px solid #f3f4f6}.notification-item--action{padding:0}.notification-item-btn{width:100%;padding:.75rem .9rem;border:0;background:transparent;text-align:left;cursor:pointer}.notification-item-btn:hover{background:#f3f6fb}.notification-title{font-weight:600;font-size:.88rem;color:#111827}.notification-meta{margin-top:.25rem;color:#4b5563;font-size:.8rem}.notification-count{margin-top:.3rem;color:#1d4ed8;font-size:.72rem;font-weight:600}.admin-role-badge{background:#ef4444;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:2px 8px;border-radius:4px}.feature-request-btn{padding:.4rem .9rem;background:transparent;color:#ffffffd9;border:1px dashed rgba(255,255,255,.4);border-radius:6px;font-weight:600;font-size:.78rem;letter-spacing:.04em;transition:background .2s}.feature-request-btn:hover{background:#ffffff1f;color:#fff}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:3000}.modal{background:#fff;border-radius:8px;width:90%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #ddd}.modal-header h2{margin:0;font-size:1.25rem}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.modal-content{padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600}.feature-request-help{margin:0 0 .4rem;color:#6b7280;font-size:.9rem}.feature-request-textarea{width:100%;min-height:140px;padding:.75rem;border:1px solid #ddd;border-radius:4px}.feature-request-page{margin-top:.5rem;color:#6b7280;font-size:.85rem}.feature-request-error{margin-top:.9rem;padding:.65rem .8rem;border-radius:6px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;font-size:.9rem}.feature-request-success{margin-top:.9rem;padding:.65rem .8rem;border-radius:6px;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;font-size:.9rem}.feature-request-issue-link{color:#065f46;font-weight:600;text-decoration:underline;text-underline-offset:2px}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #ddd}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:600;cursor:pointer}.btn-primary{background:#4f46e5;color:#fff}.btn-primary:hover:not(:disabled){background:#4338ca}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-primary:disabled,.btn-secondary:disabled{background:#334155;color:#e2e8f0;cursor:not-allowed}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}@media(max-width:880px){.header-content{padding:.75rem 1rem}.header-content h1{font-size:1.05rem}.user-actions{gap:.4rem;flex-wrap:wrap;justify-content:flex-end}}
