*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{color:#111;background:#fff;font-family:system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.landing{background:#000;min-height:100%;position:relative}.login-btn{color:#fff;background:0 0;border:1px solid #fff;padding:8px 16px;position:absolute;top:24px;right:24px}.login-btn:hover{color:#000;background:#fff}.login-page{color:#fff;background:#000;place-items:center;min-height:100%;padding:24px;display:grid;position:relative}.login-back{color:#fff;position:absolute;top:24px;left:24px}.login-card{gap:16px;width:min(360px,100%);display:grid}.login-google{color:#3c4043;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:6px;width:100%;padding:.75rem 1rem;font-weight:500}.login-google:hover{background:#f8f9fa}.login-google:disabled{opacity:.6;cursor:not-allowed}.login-divider{color:#888;align-items:center;gap:.75rem;margin:0;font-size:.85rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:#444;flex:1;height:1px}.login-card h1{margin:0;font-size:1.5rem;font-weight:600}.login-card form{gap:12px;display:grid}.login-card label{gap:6px;font-size:.875rem;display:grid}.login-card input{color:#fff;background:#111;border:1px solid #444;padding:10px 12px}.login-card button{color:#000;cursor:pointer;background:#fff;border:none;padding:10px 12px}.login-card button:disabled{opacity:.6;cursor:default}.login-hint{color:#aaa;margin:0;font-size:.875rem}.login-error{color:#f66;margin:0;font-size:.875rem}.cabinet{--cab-sidebar-w:260px;--cab-sidebar-bg:#f9f9f9;--cab-main-bg:#fff;--cab-text:#0d0d0d;--cab-text-secondary:#676767;--cab-border:#e5e5e5;--cab-hover:#0000000d;--cab-active:#ececec;--cab-radius:10px;background:var(--cab-main-bg);min-height:100%;color:var(--cab-text);display:flex}.cabinet--collapsed{--cab-sidebar-w:68px}.cabinet-sidebar{width:var(--cab-sidebar-w);background:var(--cab-sidebar-bg);border-right:1px solid var(--cab-border);flex-direction:column;flex-shrink:0;padding:8px;transition:width .2s;display:flex;overflow:hidden}.cabinet-sidebar__top{justify-content:space-between;align-items:center;min-height:44px;padding:4px 4px 12px;display:flex}.cabinet-sidebar__brand{white-space:nowrap;align-items:center;gap:10px;display:flex;overflow:hidden}.cabinet-sidebar__logo{background:var(--cab-text);color:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:.875rem;font-weight:700;display:grid}.cabinet-sidebar__name{font-size:1rem;font-weight:600}.cabinet-sidebar__toggle{border-radius:var(--cab-radius);width:36px;height:36px;color:var(--cab-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;display:grid}.cabinet-sidebar__toggle:hover{background:var(--cab-hover);color:var(--cab-text)}.cabinet-sidebar__nav{flex-direction:column;flex:1;gap:2px;padding:4px 0;display:flex;overflow-y:auto}.cabinet-nav-link{border-radius:var(--cab-radius);color:var(--cab-text);white-space:nowrap;align-items:center;gap:12px;padding:10px 12px;font-size:.875rem;transition:background .15s;display:flex;overflow:hidden}.cabinet-nav-link:hover{background:var(--cab-hover)}.cabinet-nav-link--active{background:var(--cab-active);font-weight:500}.cabinet-nav-link__icon{opacity:.7;flex-shrink:0;place-items:center;display:grid}.cabinet-nav-link--active .cabinet-nav-link__icon{opacity:1}.cabinet-nav-link__label{text-overflow:ellipsis;overflow:hidden}.cabinet-sidebar__bottom{border-top:1px solid var(--cab-border);padding-top:8px;position:relative}.cabinet-user-menu{position:relative}.cabinet-user-btn{border-radius:var(--cab-radius);cursor:pointer;text-align:left;width:100%;color:var(--cab-text);background:0 0;border:none;align-items:center;gap:10px;padding:8px;display:flex;overflow:hidden}.cabinet-user-btn:hover{background:var(--cab-hover)}.cabinet-user-btn__avatar{color:#fff;background:#10a37f;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:.75rem;font-weight:600;display:grid}.cabinet-user-btn__info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.cabinet-user-btn__name{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;overflow:hidden}.cabinet-user-btn__role{color:var(--cab-text-secondary);font-size:.6875rem}.cabinet-user-btn__chevron{color:var(--cab-text-secondary);flex-shrink:0}.cabinet-user-dropdown{border:1px solid var(--cab-border);border-radius:var(--cab-radius);z-index:10;background:#fff;padding:4px;position:absolute;bottom:calc(100% + 4px);left:0;right:0;box-shadow:0 4px 16px #00000014}.cabinet-user-dropdown__item{text-align:left;cursor:pointer;width:100%;color:var(--cab-text);background:0 0;border:none;border-radius:8px;padding:10px 12px;font-size:.875rem}.cabinet-user-dropdown__item:hover{background:var(--cab-hover)}.cabinet-main{flex:1;min-width:0;overflow-y:auto}.cabinet-page{max-width:768px;margin:0 auto;padding:48px 24px}.cabinet-page--center{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;display:flex}.cabinet-hero{margin-bottom:40px}.cabinet-hero__title{letter-spacing:-.02em;margin:0 0 8px;font-size:1.75rem;font-weight:600}.cabinet-hero__subtitle{color:var(--cab-text-secondary);max-width:420px;margin:0;font-size:1rem}.cabinet-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;width:100%;max-width:520px;display:grid}.cabinet-card{border:1px solid var(--cab-border);border-radius:var(--cab-radius);text-align:left;background:#fff;align-items:flex-start;gap:14px;padding:16px;transition:background .15s,border-color .15s;display:flex}.cabinet-card:hover{background:var(--cab-sidebar-bg);border-color:#d0d0d0}.cabinet-card__icon{background:var(--cab-sidebar-bg);width:36px;height:36px;color:var(--cab-text-secondary);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.cabinet-card__body{flex-direction:column;gap:2px;min-width:0;display:flex}.cabinet-card__title{font-size:.875rem;font-weight:500}.cabinet-card__desc{color:var(--cab-text-secondary);font-size:.8125rem}.cabinet-header{margin-bottom:24px}.cabinet-header__title{letter-spacing:-.02em;margin:0 0 4px;font-size:1.5rem;font-weight:600}.cabinet-header__desc{color:var(--cab-text-secondary);margin:0;font-size:.875rem}.cabinet-toolbar{margin-bottom:24px}.cabinet-search{border:1px solid var(--cab-border);border-radius:var(--cab-radius);color:var(--cab-text-secondary);background:#fff;align-items:center;gap:10px;padding:10px 14px;display:flex}.cabinet-search input{color:var(--cab-text);background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.cabinet-search input::placeholder{color:var(--cab-text-secondary)}.cabinet-search input:disabled{opacity:.6;cursor:not-allowed}.cabinet-empty{text-align:center;flex-direction:column;align-items:center;padding:48px 24px;display:flex}.cabinet-empty__icon{background:var(--cab-sidebar-bg);width:56px;height:56px;color:var(--cab-text-secondary);border-radius:50%;place-items:center;margin-bottom:16px;display:grid}.cabinet-empty__title{margin:0 0 6px;font-size:1rem;font-weight:500}.cabinet-empty__desc{color:var(--cab-text-secondary);max-width:320px;margin:0;font-size:.875rem}.cabinet-status{color:var(--cab-text-secondary);margin:0;font-size:.875rem}.cabinet-status--error{color:#d00}.cabinet-user-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.cabinet-user-row{border-radius:var(--cab-radius);align-items:center;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.cabinet-user-row:hover{background:var(--cab-hover)}.cabinet-user-row__avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:36px;height:36px}.cabinet-user-row__avatar--initials{color:#fff;background:#10a37f;place-items:center;font-size:.75rem;font-weight:600;display:grid}.cabinet-user-row__info{flex-direction:column;gap:1px;min-width:0;display:flex}.cabinet-user-row__name{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.cabinet-user-row__email{color:var(--cab-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}
