.notification-center{position:relative}.notification-center__badge{position:relative;background:none;border:none;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.notification-center__badge:hover{background:#0000000d}.notification-center__badge:focus{outline:2px solid var(--primary-color, #d32f2f);outline-offset:2px}.notification-center__icon{font-size:24px;line-height:1}.notification-center__count{position:absolute;top:4px;right:4px;background:var(--error-color, #f44336);color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;line-height:1}.notification-center__dropdown{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:500px;background:var(--surface-primary, #ffffff);border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;z-index:1000;animation:dropdownSlide .2s ease-out}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-center__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color, #e0e0e0)}.notification-center__header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #212121)}.notification-center__header-actions{display:flex;align-items:center;gap:8px}.notification-center__mark-all{background:none;border:none;color:var(--primary-color, #d32f2f);font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.notification-center__mark-all:hover{background:#d32f2f14}.notification-center__clear-all{background:none;border:none;color:var(--text-secondary, #666);font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.notification-center__clear-all:hover{background:#0000000f;color:var(--text-primary, #212121)}.notification-center__list{overflow-y:auto;max-height:420px}.notification-center__loading,.notification-center__error,.notification-center__empty{padding:40px 20px;text-align:center;color:var(--text-secondary, #666);font-size:14px}.notification-center__error{color:var(--error-color, #f44336)}.notification-center__item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color, #e0e0e0);cursor:pointer;transition:background .2s;position:relative}.notification-center__item:hover{background:#00000008}.notification-center__item:last-child{border-bottom:none}.notification-center__item--read{opacity:.7}.notification-center__item-icon{font-size:20px;line-height:1;flex-shrink:0;margin-top:2px}.notification-center__item-content{flex:1;min-width:0;padding-right:24px}.notification-center__item-title{font-size:14px;font-weight:600;color:var(--text-primary, #212121);margin-bottom:4px;display:flex;align-items:center;gap:8px}.notification-center__unread-dot{width:8px;height:8px;background:var(--primary-color, #d32f2f);border-radius:50%;flex-shrink:0}.notification-center__item-body{font-size:13px;color:var(--text-secondary, #666);line-height:1.4;margin-bottom:4px;word-wrap:break-word}.notification-center__item-time{font-size:12px;color:var(--text-tertiary, #999)}.notification-center__item-dismiss{position:absolute;top:8px;right:8px;background:none;border:none;font-size:20px;line-height:1;color:var(--text-secondary, #666);cursor:pointer;padding:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;opacity:0;transition:all .2s}.notification-center__item:hover .notification-center__item-dismiss{opacity:1}.notification-center__item-dismiss:hover{background:#0000001a}@media(prefers-color-scheme:dark){.notification-center__badge:hover{background:#ffffff1a}.notification-center__dropdown{background:var(--surface-primary-dark, #2d2d2d);box-shadow:0 4px 20px #0006}.notification-center__header{border-bottom-color:var(--border-color-dark, #444)}.notification-center__header h3{color:var(--text-primary-dark, #ffffff)}.notification-center__mark-all:hover{background:#d32f2f33}.notification-center__clear-all{color:var(--text-secondary-dark, #b0b0b0)}.notification-center__clear-all:hover{background:#ffffff1a;color:var(--text-primary-dark, #ffffff)}.notification-center__loading,.notification-center__empty{color:var(--text-secondary-dark, #b0b0b0)}.notification-center__item{border-bottom-color:var(--border-color-dark, #444)}.notification-center__item:hover{background:#ffffff0d}.notification-center__item-title{color:var(--text-primary-dark, #ffffff)}.notification-center__item-body{color:var(--text-secondary-dark, #b0b0b0)}.notification-center__item-time{color:var(--text-tertiary-dark, #888)}.notification-center__item-dismiss{color:var(--text-secondary-dark, #b0b0b0)}.notification-center__item-dismiss:hover{background:#ffffff1a}}@media(max-width:768px){.notification-center__dropdown{position:fixed;top:60px;left:12px;right:12px;width:auto}}.notification-toast{position:relative;display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--surface-primary, #ffffff);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:320px;max-width:420px;margin-bottom:12px;animation:slideIn .3s ease-out;border-left:4px solid var(--border-color, #e0e0e0)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-toast--warning{border-left-color:var(--warning-color, #ff9800);background:var(--warning-bg, #fff8e1)}.notification-toast--error{border-left-color:var(--error-color, #f44336);background:var(--error-bg, #ffebee)}.notification-toast--success{border-left-color:var(--success-color, #4caf50);background:var(--success-bg, #e8f5e9)}.notification-toast--info{border-left-color:var(--info-color, #2196f3);background:var(--info-bg, #e3f2fd)}.notification-toast__icon{font-size:24px;line-height:1;flex-shrink:0}.notification-toast__content{flex:1;min-width:0}.notification-toast__title{font-weight:600;font-size:14px;margin-bottom:4px;color:var(--text-primary, #212121)}.notification-toast__body{font-size:13px;color:var(--text-secondary, #666);line-height:1.4;word-wrap:break-word}.notification-toast__action{margin-top:8px;padding:4px 12px;background:var(--primary-color, #d32f2f);color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s}.notification-toast__action:hover{background:var(--primary-hover, #b71c1c)}.notification-toast__close{position:absolute;top:8px;right:8px;background:none;border:none;font-size:24px;line-height:1;color:var(--text-secondary, #666);cursor:pointer;padding:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.notification-toast__close:hover{background:#0000000d}.notification-toast__close:focus{outline:2px solid var(--primary-color, #d32f2f);outline-offset:2px}.notification-toast-container{position:fixed;top:80px;right:20px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none}.notification-toast-container>*{pointer-events:auto}@media(prefers-color-scheme:dark){.notification-toast{background:var(--surface-primary-dark, #2d2d2d);box-shadow:0 4px 12px #0006}.notification-toast__title{color:var(--text-primary-dark, #ffffff)}.notification-toast__body,.notification-toast__close{color:var(--text-secondary-dark, #b0b0b0)}.notification-toast__close:hover{background:#ffffff1a}.notification-toast--warning{background:#ff980026}.notification-toast--error{background:#f4433626}.notification-toast--success{background:#4caf5026}.notification-toast--info{background:#2196f326}}@media(max-width:768px){.notification-toast-container{top:70px;right:12px;left:12px}.notification-toast{min-width:unset;max-width:unset;width:100%}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--card-bg, white);border-radius:12px;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color, #e0e0e0)}.modal-header h3{margin:0;font-size:1.25rem;color:var(--text-primary, #333)}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-secondary, #666);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.modal-close:hover{background:var(--bg-secondary, #f5f5f5)}.modal-close:disabled{opacity:.5;cursor:not-allowed}.modal-body{padding:1.5rem;overflow-y:auto}.user-info-display{background:var(--bg-secondary, #f5f5f5);padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;gap:.5rem;align-items:center}.user-info-display strong{color:var(--text-primary, #333)}.user-info-display span{color:var(--text-secondary, #666);font-family:monospace}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary, #333)}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border:1px solid var(--border-color, #ddd);border-radius:8px;font-size:1rem;font-family:inherit;color:var(--text-primary, #333);background:var(--card-bg, white);transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color, #007bff)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-secondary, #f5f5f5)}.form-textarea{resize:vertical;min-height:100px}.notification-error,.notification-success{padding:1rem;border-radius:8px;margin-top:1rem;font-weight:500}.notification-error{background:#fee;border:1px solid #fcc;color:#c33}.notification-success{background:#efe;border:1px solid #cfc;color:#3c3}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-color, #e0e0e0)}.button-primary,.button-secondary{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.button-primary{background:var(--primary-color, #007bff);color:#fff}.button-primary:hover:not(:disabled){background:var(--primary-hover, #0056b3)}.button-primary:disabled{opacity:.5;cursor:not-allowed}.button-secondary{background:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #333)}.button-secondary:hover:not(:disabled){background:var(--border-color, #e0e0e0)}.button-secondary:disabled{opacity:.5;cursor:not-allowed}@media(prefers-color-scheme:dark){.modal-content{background:var(--card-bg-dark, #2a2a2a)}.modal-header,.modal-footer{border-color:var(--border-color-dark, #444)}.modal-header h3{color:var(--text-primary-dark, #f0f0f0)}.modal-close{color:var(--text-secondary-dark, #aaa)}.modal-close:hover,.user-info-display{background:var(--bg-secondary-dark, #3a3a3a)}.user-info-display strong{color:var(--text-primary-dark, #f0f0f0)}.user-info-display span{color:var(--text-secondary-dark, #aaa)}.form-group label{color:var(--text-primary-dark, #f0f0f0)}.form-input,.form-select,.form-textarea{background:var(--card-bg-dark, #2a2a2a);color:var(--text-primary-dark, #f0f0f0);border-color:var(--border-color-dark, #444)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--bg-secondary-dark, #3a3a3a)}.button-secondary{background:var(--bg-secondary-dark, #3a3a3a);color:var(--text-primary-dark, #f0f0f0)}.button-secondary:hover:not(:disabled){background:var(--border-color-dark, #444)}}@media(max-width:640px){.modal-overlay{padding:0}.modal-content{max-height:100vh;border-radius:0}.modal-header,.modal-body,.modal-footer{padding:1rem}.modal-footer{flex-direction:column-reverse}.button-primary,.button-secondary{width:100%}}.admin-table{display:flex;flex-direction:column;gap:12px;margin-top:16px}.admin-user-row{display:flex;flex-direction:column;gap:8px;padding:16px;background-color:var(--bg);border:1px solid var(--border);border-radius:8px}.user-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.user-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.role-select{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background-color:var(--surface);color:var(--text);font-size:.95rem;cursor:pointer;flex:1;min-width:140px}.role-select:focus{outline:none;border-color:var(--suomi-blue);box-shadow:0 0 0 3px #00358026}.delete-button{padding:8px 16px;border:1px solid var(--busy);border-radius:8px;background-color:transparent;color:var(--busy);font-size:.9rem;font-weight:500;cursor:pointer}.delete-button:hover{background-color:var(--busy);color:var(--pure-white)}.notification-button{padding:8px 12px;border:1px solid var(--suomi-blue);border-radius:8px;background-color:transparent;color:var(--suomi-blue);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.notification-button:hover{background-color:var(--suomi-blue);color:var(--pure-white)}.station-form{display:flex;flex-direction:column;gap:12px;margin-top:16px;padding:16px;background-color:var(--bg);border:1px solid var(--border);border-radius:8px}.station-form input{padding:12px 16px;border:1px solid var(--border);border-radius:8px;background-color:var(--surface);color:var(--text);font-size:1rem}.station-form input:focus{outline:none;border-color:var(--suomi-blue);box-shadow:0 0 0 3px #00358026}.form-actions{display:flex;gap:8px;flex-wrap:wrap}.form-actions .primary-button,.form-actions .secondary-button{flex:1;min-width:140px;min-height:48px}.station-edit-form{display:flex;flex-direction:column;gap:8px;flex:1}.inline-input{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background-color:var(--surface);color:var(--text);font-size:.95rem}.inline-input:focus{outline:none;border-color:var(--suomi-blue);box-shadow:0 0 0 3px #00358026}.edit-button,.save-button,.cancel-button{padding:8px 16px;border:1px solid var(--border);border-radius:8px;background-color:var(--surface);color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer}.edit-button:hover{border-color:var(--suomi-blue);color:var(--suomi-blue)}.save-button{border-color:var(--available);color:var(--available)}.save-button:hover{background-color:var(--available);color:var(--pure-white)}.cancel-button{border-color:var(--muted);color:var(--muted)}.cancel-button:hover{background-color:var(--muted);color:var(--pure-white)}.search-bar{margin:16px 0}.search-input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background-color:var(--surface);color:var(--text);font-size:1rem}.search-input:focus{outline:none;border-color:var(--suomi-blue);box-shadow:0 0 0 3px #00358026}.shared-units-area-filter{margin-top:12px}.shared-units-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.shared-units-notes{width:100%;resize:vertical;min-height:72px;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background-color:var(--surface);color:var(--text);font-size:1rem}.shared-units-notes:focus{outline:none;border-color:var(--suomi-blue);box-shadow:0 0 0 3px #00358026}.shared-units-checkbox{display:inline-flex;align-items:center;gap:8px;color:var(--text)}.shared-units-station-selector{margin-top:16px;padding:16px;background-color:var(--bg);border:1px solid var(--border);border-radius:8px}.shared-units-station-selector-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.shared-units-station-selector-header h4{margin:0}.shared-units-selector-actions{display:flex;gap:8px}.shared-units-stations-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.shared-units-station-item{display:inline-flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background-color:var(--surface)}@media(min-width:600px){.admin-user-row{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}.user-actions{flex-shrink:0}.station-edit-form{flex-direction:row;flex-wrap:wrap}}.stats-section{margin-top:1rem}.stats-table{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden}.stats-table-header{display:grid;grid-template-columns:2fr 1fr 1fr;background:var(--suomi-blue);color:var(--pure-white);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.stats-table-row{display:grid;grid-template-columns:2fr 1fr 1fr;background:var(--surface);transition:background .2s;border-top:1px solid var(--border)}.stats-table-row:hover{background:var(--bg)}.stats-table-footer{display:grid;grid-template-columns:2fr 1fr 1fr;background:var(--surface);border-top:2px solid var(--suomi-blue);font-weight:600}.stats-table-cell{padding:.75rem 1rem}.stats-cell-center{text-align:center}.stats-area-name{font-weight:500}.stats-table-row .stats-value{color:var(--suomi-blue);font-weight:600}@media(max-width:640px){.stats-table-header,.stats-table-row,.stats-table-footer{grid-template-columns:2fr 1fr 1fr;font-size:.875rem}.stats-table-cell{padding:.625rem .75rem}}
