*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color:#0a1f44;--secondary-color:#1e3a5f;--accent-color:#fff;--danger-color:#e74c3c;--success-color:#27ae60;--text-primary:#000;--text-secondary:#6b7280;--border-color:#e5e7eb;--background:#f9fafb;--card-background:#fff;--chrome-primary:var(--primary-color);--chrome-secondary:var(--secondary-color)}body{background-color:var(--background);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}.app-shell,.app-sidebar{display:flex;min-height:100vh}.app-sidebar{--sidebar-width:268px;align-self:flex-start;background:linear-gradient(170deg,var(--chrome-primary) 0,var(--chrome-secondary) 100%);box-shadow:2px 0 12px rgba(15,23,42,.1);color:var(--accent-color);flex:0 0 var(--sidebar-width);flex-direction:column;max-height:100vh;position:sticky;top:0;width:var(--sidebar-width);z-index:200}.sidebar-brand{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.1);display:flex;gap:12px;justify-content:space-between;padding:22px 20px 18px}.sidebar-logo{max-height:42px;max-width:100%;object-fit:contain}.sidebar-close{background:transparent;border:0;color:hsla(0,0%,100%,.75);font-size:20px;line-height:1;padding:4px}.sidebar-close:hover{color:#fff}.sidebar-msp{padding:16px 16px 8px}.sidebar-msp__label{color:hsla(0,0%,100%,.55);display:block;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.sidebar-msp__select{appearance:none;background-color:hsla(0,0%,100%,.08);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M8 11 3 6h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:14px;border:1px solid hsla(0,0%,100%,.18);border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 34px 10px 12px;width:100%}.sidebar-msp__select:hover{background-color:hsla(0,0%,100%,.14)}.sidebar-msp__select:focus{border-color:hsla(0,0%,100%,.45);box-shadow:0 0 0 3px hsla(0,0%,100%,.12);outline:none}.sidebar-msp__select:disabled{cursor:not-allowed;opacity:.6}.sidebar-msp__select option{background:#0a1f44;color:#fff}.sidebar-nav{flex:1 1 auto;overflow-y:auto;padding:8px 12px 16px}.sidebar-group+.sidebar-group{margin-top:18px}.sidebar-group__label{color:hsla(0,0%,100%,.45);font-size:11px;font-weight:700;letter-spacing:.08em;padding:0 12px 8px;text-transform:uppercase}.nav-btn{align-items:center;background:transparent;border:0;border-radius:10px;color:hsla(0,0%,100%,.82);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;margin-bottom:2px;padding:10px 12px;text-align:left;text-decoration:none;transition:background .15s ease,color .15s ease;width:100%}.nav-btn i{flex:0 0 auto;font-size:16px;opacity:.9;text-align:center;width:18px}.nav-btn:hover{background:hsla(0,0%,100%,.1);color:#fff}.nav-btn.active{background:hsla(0,0%,100%,.16);box-shadow:inset 3px 0 0 #fff;color:#fff;font-weight:600}.sidebar-footer{align-items:center;border-top:1px solid hsla(0,0%,100%,.1);display:flex;gap:8px;padding:10px 12px}.sidebar-account{align-items:center;background:transparent;border:0;border-radius:10px;color:hsla(0,0%,100%,.82);cursor:pointer;display:flex;flex:1 1 auto;gap:10px;min-width:0;padding:6px 8px;text-align:left;text-decoration:none;transition:background .15s ease,color .15s ease}.sidebar-account:hover{background:hsla(0,0%,100%,.1);color:#fff}.sidebar-account.active{background:hsla(0,0%,100%,.16);color:#fff}.sidebar-account__avatar{align-items:center;background:hsla(0,0%,100%,.18);border:1px solid hsla(0,0%,100%,.22);border-radius:50%;color:#fff;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:800;height:32px;justify-content:center;letter-spacing:.02em;width:32px}.sidebar-account__text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.sidebar-account__label{color:#fff;font-size:13px;font-weight:600}.sidebar-account__mail{color:hsla(0,0%,100%,.58);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{align-items:center;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.16);border-radius:10px;color:hsla(0,0%,100%,.75);display:inline-flex;flex:0 0 auto;font-size:16px;height:36px;justify-content:center;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease;width:36px}.sidebar-logout:hover{background:rgba(231,76,60,.28);border-color:rgba(231,76,60,.55);color:#fff}.sidebar-overlay{background:rgba(15,23,42,.45);display:none;inset:0;position:fixed;z-index:150}.app-main{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.app-topbar{align-items:center;backdrop-filter:blur(8px);background:rgba(249,250,251,.88);border-bottom:1px solid var(--border-color);display:flex;gap:14px;padding:16px 28px;position:sticky;top:0;z-index:90}.topbar-burger{background:#fff;border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:18px;height:40px;line-height:1;width:40px}.topbar-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px}.topbar-title{color:#0f172a;font-size:18px;font-weight:700}.topbar-context{background:#fff;border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);font-size:13px;font-weight:600;padding:3px 10px}.app-content{flex:1 1 auto;padding:28px}@media (max-width:991.98px){.app-content{padding:18px 16px}.app-topbar{padding:12px 16px}.app-sidebar{height:100vh;left:0;max-height:none;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s ease}.app-shell.sidebar-open .app-sidebar{transform:translateX(0)}.app-shell.sidebar-open .sidebar-overlay{display:block}}.toast{background:var(--primary-color);border-radius:12px;bottom:-100px;box-shadow:0 4px 12px rgba(0,0,0,.15);color:#fff;left:50%;min-width:300px;padding:16px 24px;position:fixed;text-align:center;transform:translateX(-50%);transition:bottom .3s ease;z-index:1000}.toast.show{bottom:30px}.toast.success{background:var(--success-color)}.toast.error{background:var(--danger-color)}