#dashboard-container{position:relative}.dashboard-grid{display:grid;grid-template-columns:240px 1fr;min-height:80vh;position:relative}.dashboard-overlay{display:none}.dashboard-nav{background-color:var(--bg2);border-right:1px solid var(--link);padding:20px}.dashboard-content{padding:20px;overflow-y:auto}.dashboard-nav .nav-menu{list-style:none;padding:0;margin:0}.dashboard-nav .nav-menu h3{margin-top:15px;margin-bottom:10px;color:var(--fg);font-size:1.1em;border-bottom:1px solid var(--link);padding-bottom:8px}.dashboard-nav .nav-menu li a{display:block;padding:10px 15px;color:var(--link);text-decoration:none;border-radius:5px;margin-bottom:5px}.dashboard-nav .nav-menu li a:hover{background-color:#3395ff;color:#fff}.dashboard-nav .nav-menu li a.is-active{background-color:#007bff;color:#fff}.dashboard-nav .nav-section{margin-bottom:5px}.dashboard-nav .section-toggle{display:none}.dashboard-nav .section-label{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;color:var(--fg);font-weight:600;cursor:pointer;border-radius:5px;transition:background-color .2s ease;user-select:none}.dashboard-nav .section-label:hover{background-color:var(--bg3,#3a3a3a)}.dashboard-nav .section-label::after{content:'▼';font-size:.7em;transition:transform .2s ease}.dashboard-nav .section-toggle:not(:checked)+.section-label::after{transform:rotate(-90deg)}.dashboard-nav .section-toggle:not(:checked)~.section-submenu{display:none}.dashboard-nav .section-toggle:checked~.section-submenu{display:block}.dashboard-nav .section-submenu{list-style:none;padding:0;margin:0 0 10px;border-left:2px solid var(--link);margin-left:12px;padding-left:8px}.dashboard-nav .section-submenu li{margin-bottom:2px}.dashboard-nav .section-submenu li a{padding:8px 12px;font-size:.95em;margin-bottom:2px}.page-header{border-bottom:1px solid #ccc;padding-bottom:10px;margin-bottom:20px}.page-header h2{margin:0}.profile-loading{text-align:center;padding:40px 20px;color:var(--fg2)}.profile-card{background:var(--bg2);border:1px solid var(--link);border-radius:8px;padding:20px;margin-bottom:20px}.profile-card h3{margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid var(--link)}.profile-info{display:flex;flex-direction:column;gap:12px}.profile-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.profile-label{color:var(--fg2);font-weight:500}.profile-value{color:var(--fg);text-align:right}.session-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.85em;font-weight:600}.session-badge-ok{background:#28a745;color:#fff}.session-badge-warning{background:#ffc107;color:#333}.session-info{margin-bottom:20px}.session-hint{font-size:.9em;color:var(--fg2);margin-top:10px}.sessions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--link)}.sessions-header h3{margin:0;padding:0;border:none}.session-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.session-item{background:var(--bg);border:1px solid var(--link);border-radius:6px;padding:12px 15px;transition:border-color .2s ease}.session-item:hover{border-color:#3395ff}.session-item.session-current{border-color:#28a745;border-width:2px}.session-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.session-device{font-weight:600;color:var(--fg);display:flex;align-items:center;gap:8px}.session-icon{font-size:1.2em}.session-current-badge{background:#28a745;color:#fff;padding:2px 8px;border-radius:10px;font-size:.75em;font-weight:600;text-transform:uppercase}.session-item-ip{font-family:monospace;font-size:.85em;color:var(--fg);margin:4px 0;word-break:break-all;line-height:1.4}.session-item-times{font-size:.85em;color:var(--fg2);display:flex;flex-wrap:wrap;align-items:center;gap:6px}.session-separator{color:var(--fg2);opacity:.5}.session-empty{text-align:center;color:var(--fg2);padding:20px}.session-footer{padding-top:15px;border-top:1px solid var(--link)}.session-footer .session-hint{margin-top:0;margin-bottom:15px}.logout-all-section{padding-top:15px;border-top:1px solid var(--link)}.btn{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-size:1em;transition:background-color .2s ease}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-danger:disabled{background:#6c757d;cursor:not-allowed}.status-verified{color:#28a745;font-weight:500}.status-unverified{color:#ffc107;font-weight:500}.tier-preview-badge{display:inline-block;margin-left:8px;padding:2px 6px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;font-size:.7em;border-radius:3px;font-weight:600;text-transform:uppercase;vertical-align:middle}.password-form{display:flex;flex-direction:column;gap:15px}.password-input-group{display:flex;flex-direction:column;gap:5px}.password-input-group label{color:var(--fg2);font-size:14px;font-weight:500}.password-input-group input{width:100%;padding:10px 15px;border:1px solid #ddd;border-radius:20px;font-size:14px;box-sizing:border-box;background-color:#fff;color:#333}.password-input-group input:focus{outline:none;border-color:#007bff}.password-input-group input:disabled{background-color:#f0f0f0;cursor:not-allowed}.btn-primary{background:#007bff;color:#fff;padding:12px 20px;border:none;border-radius:20px;font-size:16px;cursor:pointer;transition:background-color .2s ease}.btn-primary:hover{background:#0056b3}.btn-primary:disabled{background:#6c757d;cursor:not-allowed}@media(max-width:600px){.dashboard-grid{grid-template-columns:1fr}.dashboard-nav{position:fixed;top:0;left:0;width:250px;height:100%;z-index:1020;box-shadow:2px 0 5px rgba(0,0,0,.2);transform:translateX(-100%);transition:transform .3s ease-in-out}.dashboard-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:1010;opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility .3s}.navbar label[for=dashboard].dashboard-hamburger{visibility:visible}body:has(#dashboard:not(:checked)) .dashboard-nav{transform:translateX(0)}body:has(#dashboard:not(:checked)) .dashboard-overlay{display:block;opacity:1;visibility:visible}.dashboard-content{padding:0}}.symbio-dialog{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000}.symbio-dialog.is-open{display:flex;align-items:center;justify-content:center}.symbio-dialog-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);opacity:0;animation:dialogFadeIn 150ms ease-out forwards}.symbio-dialog-container{position:relative;background:var(--bg2);border:1px solid var(--link);border-radius:8px;width:90%;max-width:500px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.3);opacity:0;transform:scale(.95);animation:dialogSlideIn 150ms ease-out forwards}.symbio-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid var(--link);flex-shrink:0}.symbio-dialog-title{margin:0;font-size:1.1em;color:var(--fg)}.symbio-dialog-close{background:0 0;border:none;font-size:1.5em;color:var(--fg2);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease,color .2s ease}.symbio-dialog-close:hover{background:var(--bg3,rgba(255,255,255,.1));color:var(--fg)}.symbio-dialog-content{padding:20px;overflow-y:auto;flex-grow:1}.symbio-dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 20px;border-top:1px solid var(--link);flex-shrink:0}.dialog-input-group{display:flex;flex-direction:column;gap:5px;margin-bottom:15px}.dialog-input-group:last-child{margin-bottom:0}.dialog-input-group label{color:var(--fg2);font-size:14px;font-weight:500}.dialog-input-group input,.dialog-input-group select,.dialog-input-group textarea{width:100%;padding:10px 15px;border:1px solid #ddd;border-radius:20px;font-size:14px;box-sizing:border-box;background-color:#fff;color:#333}.dialog-input-group textarea{border-radius:10px;resize:vertical;min-height:80px}.dialog-input-group input:focus,.dialog-input-group select:focus,.dialog-input-group textarea:focus{outline:none;border-color:#007bff}@keyframes dialogFadeIn{from{opacity:0}to{opacity:1}}@keyframes dialogSlideIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media(max-width:600px){.symbio-dialog-container{width:95%;max-height:90vh}.symbio-dialog-header{padding:12px 15px}.symbio-dialog-content{padding:15px}.symbio-dialog-footer{padding:12px 15px;flex-direction:column}.symbio-dialog-footer .btn{width:100%}}.btn-sm{padding:6px 12px;font-size:.85em}.btn-secondary{background:var(--bg3,#4a4a4a);color:var(--fg);border:1px solid var(--link)}.btn-secondary:hover{background:var(--link);color:#fff}.btn-secondary:disabled{background:var(--bg3,#4a4a4a);color:var(--fg2);opacity:.6;cursor:not-allowed}.card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--link)}.card-header-row h3{margin:0;padding:0;border:none}.item-card{display:flex;justify-content:space-between;align-items:center;background:var(--bg);border:1px solid var(--link);border-radius:6px;padding:15px;margin-bottom:10px;transition:border-color .2s ease}.item-card:hover{border-color:#3395ff}.item-card:last-child{margin-bottom:0}.item-info{flex:1;min-width:0}.item-name{margin:0 0 6px;font-size:1.1em;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px}.item-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.85em;color:var(--fg2)}.meta-item{white-space:nowrap}.item-actions{display:flex;gap:8px;margin-left:15px;flex-shrink:0;flex-wrap:wrap}.item-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.75em;font-weight:600;text-transform:uppercase}.item-badge-owner{background:linear-gradient(135deg,#ffd700 0%,#ffb347 100%);color:#333}.item-badge-admin{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.resource-group{margin-bottom:20px}.resource-group:last-child{margin-bottom:0}.resource-subheader{color:var(--fg2);font-size:.95em;font-weight:600;margin:0 0 10px}.profile-card hr{border:none;border-top:1px solid var(--link);margin:20px 0;opacity:.5}.loading-text{color:var(--fg2);text-align:center;padding:20px}.error-text{color:#dc3545;text-align:center;padding:20px}.error-text a{color:var(--link)}.empty-state{color:var(--fg2);text-align:center;padding:20px;font-style:italic}.dialog-description{color:var(--fg2);margin:0 0 15px;font-size:.95em}.dialog-error{background:rgba(220,53,69,.15);border:1px solid #dc3545;border-radius:6px;color:#ff6b7a;padding:10px 15px;margin-top:10px;font-size:.9em}.create-user-success{display:flex;align-items:center;gap:12px;background:rgba(40,167,69,.15);border:1px solid #28a745;border-radius:6px;padding:15px;margin-top:10px;margin-bottom:10px}.create-user-success .success-icon{font-size:1.5em;color:#28a745;font-weight:700}.create-user-success .success-message{color:var(--fg);font-size:.95em;line-height:1.4}.create-user-success .success-email{color:var(--link);font-family:monospace}.dialog-warning{color:var(--fg);margin:0 0 10px}.dialog-warning-emphasis{color:#dc3545;font-weight:600;margin:0}.input-hint{font-size:.8em;color:var(--fg2);margin-top:3px}.dialog-role-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.dialog-role-item{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:var(--bg);border:1px solid var(--link);border-radius:6px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.dialog-role-item:hover{border-color:#3395ff;background:var(--bg3,rgba(51,149,255,.1))}.dialog-role-info{display:flex;flex-direction:column;gap:4px}.dialog-role-name{font-weight:600;color:var(--fg)}.dialog-role-meta{font-size:.85em;color:var(--fg2)}.dialog-role-arrow{color:var(--link);font-size:1.2em;opacity:.6;transition:opacity .2s ease,transform .2s ease}.dialog-role-item:hover .dialog-role-arrow{opacity:1;transform:translateX(3px)}.filter-banner{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg3,rgba(51,149,255,.1));border:1px solid var(--link);border-radius:6px;margin-bottom:20px}.filter-text{color:var(--fg);font-size:.95em}.filter-text strong{color:var(--link)}@media(max-width:600px){.filter-banner{flex-direction:column;gap:10px;text-align:center}.filter-banner .btn{width:100%}}@media(max-width:600px){.item-card{flex-direction:column;align-items:stretch;gap:12px}.item-actions{margin-left:0;justify-content:center}.card-header-row{flex-direction:column;align-items:stretch;gap:10px}.card-header-row .btn{width:100%}}