*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#0f172a;color:#e2e8f0;overflow-x:hidden}.app{width:min(100%,860px);max-width:860px;margin:0 auto;padding:1rem}.login-screen{width:100%;min-height:min(100vh,920px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem}.login-card{width:min(100%,400px);max-width:400px;margin:0 auto}.app-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin-bottom:1rem;width:100%;max-width:100%}.app-topbar__identity{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;min-width:0;flex:1 1 auto}.app-topbar__logo{flex-shrink:0}.app-topbar__connected{font-size:.9rem;color:#cbd5e1;white-space:normal;overflow:visible;text-overflow:unset;max-width:none;line-height:1.25;flex:1 1 auto;min-width:0}.app-topbar__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;margin-left:auto;flex:0 0 auto}.app-header{justify-content:center;align-items:center;margin-bottom:1rem;gap:.75rem}.app-header__title{margin:0;flex:1;min-width:140px}.app-logo{display:block;object-fit:contain}.app-logo--header{width:48px;height:48px;flex-shrink:0}.app-logo--login{width:min(120px,40vw);height:auto;max-height:120px;margin:0 auto .75rem}.app-logo-fallback{font-weight:600;line-height:1.2}.app-logo-fallback--header{font-size:.95rem;flex:1;min-width:140px}.app-logo-fallback--login{font-size:1.25rem;text-align:center;margin-bottom:.75rem}.app-header__logo{margin-right:.25rem}.app-header__actions{margin-left:auto;flex:0 1 auto}.app-header__logout{margin-left:0}.app-main{margin-bottom:1.25rem}.app-main__status{margin-top:.75rem}.app-secondary{display:flex;flex-direction:column;gap:1rem;padding-top:1rem;border-top:1px solid #334155}.call-view--primary{margin-bottom:0}.call-view__header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.75rem}.call-view__header--warning .call-view__time{color:#fca5a5}.call-view__title{margin:0;font-size:1.15rem;font-weight:600;flex:1 1 auto;min-width:0}.call-view__time{margin:0;font-size:1.15rem;font-weight:600;color:#bfdbfe;white-space:nowrap;text-align:right}.call-view__time-warning{margin:-.35rem 0 .75rem;padding:.5rem .65rem;border-radius:8px;background:#7f1d1d40;border:1px solid rgba(239,68,68,.45);color:#fca5a5;font-size:.9rem}@media(max-width:700px){.call-view__header{flex-direction:column;align-items:center;text-align:center}.call-view__time{width:100%;text-align:center;white-space:normal}}.call-view--primary .videos{min-height:220px}.outgoing-call-card{margin-top:1rem}.outgoing-call-actions,.login-release-user{margin-top:.75rem}.login-retry-row{margin-top:.5rem}.login-release-user__hint{margin:0 0 .5rem;font-size:.85rem;color:#94a3b8}.login-release-user__status{margin:.5rem 0 0;font-size:.85rem;color:#86efac}.instance-duplicate-modal__actions{justify-content:center;margin-top:1rem}.media-devices__help{margin:.5rem 0 0;font-size:.8rem;color:#64748b;line-height:1.4}.media-devices__actions{flex-wrap:wrap}.media-devices__defaults{flex:1 1 auto;min-width:10rem}.media-devices__open{flex:1 1 100%}.local-media-preview{width:100%;margin-bottom:1rem;display:flex;flex-direction:column;align-items:center}.local-media-preview__label{width:min(100%,34rem);margin:0 0 .5rem;font-size:.85rem;color:#94a3b8;text-align:center}.local-media-preview__frame{position:relative;display:flex;justify-content:center;align-items:center;margin-inline:auto;background:#020617;border-radius:8px;overflow:hidden}.local-media-preview__frame[data-aspect="16:9"]{aspect-ratio:16 / 9;width:min(100%,34rem);max-width:34rem;max-height:320px}.local-media-preview__frame[data-aspect="9:16"]{aspect-ratio:9 / 16;width:min(100%,18rem);max-width:18rem;max-height:360px}.local-media-preview--with-controls .video-settings{width:min(100%,34rem);max-width:34rem;margin-inline:auto}.local-media-preview__frame video{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.local-media-preview__hint{margin:0;padding:1rem;text-align:center;font-size:.85rem;color:#94a3b8}.local-media-preview--placeholder{width:min(100%,34rem);max-width:34rem;margin-inline:auto;padding:.5rem 0;text-align:center}.card{background:#1e293b;border-radius:12px;padding:1.25rem;box-shadow:0 8px 24px #00000040}.row,.button-row,.actions-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.button-row.center,.actions-row.center{justify-content:center}input[type=text],input[type=password]{flex:1;min-width:180px;padding:.6rem .75rem;border-radius:8px;border:1px solid #334155;background:#0f172a;color:#f8fafc}button{padding:.55rem 1rem;border:none;border-radius:8px;cursor:pointer;font-weight:600}button.primary{background:#2563eb;color:#fff}button.danger{background:#dc2626;color:#fff}button.secondary{background:#475569;color:#fff}button:disabled{opacity:.5;cursor:not-allowed}.users-list{list-style:none;padding:0;margin:1rem 0 0}.users-list li,.online-user-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.65rem 0;border-bottom:1px solid #334155}.badge{font-size:.75rem;padding:.2rem .5rem;border-radius:999px;background:#334155}.badge.busy{background:#b45309}.call-view{margin-top:1rem}.videos{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:700px){.videos{grid-template-columns:1fr}}.video-tile{position:relative;display:flex;flex-direction:column;gap:.35rem;min-width:0}.video-tile__caption{margin:0;font-size:.85rem;color:#94a3b8;text-align:center}.video-pane{position:relative;width:100%}.video-pane>.video-wrap{position:relative;z-index:1}.call-video-frame{position:relative;display:inline-block;width:100%;height:100%;overflow:hidden;border-radius:inherit}.call-video-frame--fullscreen{display:block;width:100%;height:100%}.video-wrap{position:relative;background:#020617;border-radius:10px;overflow:hidden;width:100%;max-width:100%;margin-left:auto;margin-right:auto;max-height:min(70vh,520px)}.video-wrap[data-aspect="16:9"]{aspect-ratio:16 / 9;width:min(100%,28rem);max-width:28rem}.video-wrap[data-aspect="9:16"]{aspect-ratio:9 / 16;width:min(100%,14rem);max-width:14rem;margin-inline:auto}.video-wrap--remote{min-height:12rem}.video-wrap--remote[data-aspect="16:9"]{width:min(100%,28rem);max-width:28rem}.video-wrap--remote[data-aspect="9:16"]{aspect-ratio:9 / 16;width:min(100%,14rem);max-width:14rem;margin-inline:auto}.video-wrap.video-placeholder{display:flex;align-items:center;justify-content:center;border:1px dashed #334155}.video-placeholder-text{padding:1rem;text-align:center;font-size:.9rem;color:#94a3b8;max-width:90%}.video-placeholder--remote-off{color:#fca5a5;font-weight:600}.remote-media-status{margin-top:.75rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.remote-media-status__item{margin:0;padding:.35rem .65rem;border-radius:999px;font-size:.8rem;font-weight:600}.remote-media-status__item--muted{background:#f59e0b33;border:1px solid rgba(245,158,11,.45);color:#fcd34d}.remote-media-status__item--video-off{background:#ef444433;border:1px solid rgba(239,68,68,.45);color:#fca5a5}.video-tile__overlay-badge{position:absolute;left:.5rem;top:.5rem;bottom:auto;z-index:3;margin:0;padding:.3rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;pointer-events:none}.video-tile__overlay-badge--muted{background:#f59e0bd9;color:#1e293b}.video-tile__overlay-badge--video-off{background:#ef4444d9;color:#fff}.call-media-notice{margin:0 0 .75rem;padding:.6rem .75rem;border-radius:8px;background:#422006;color:#fcd34d;font-size:.9rem}.video-orientation-layer{position:relative;width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;transform-origin:center center}.video-orientation-layer .call-video-frame{width:100%;height:100%;display:block}.video-orientation-layer video,.video-tile__video{display:block;width:100%;max-width:100%;height:100%;margin-left:auto;margin-right:auto;object-fit:cover;object-position:center center;background:#000}.video-orientation-layer .video-placeholder-text{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.video-metadata-overlay{position:absolute;left:.45rem;bottom:.45rem;z-index:3;display:inline-flex;align-items:center;gap:.35rem;max-width:calc(100% - .9rem);padding:.2rem .45rem;border-radius:.45rem;background:#000000a6;color:#fff;font-size:clamp(.62rem,1.4vw,.8rem);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;box-sizing:border-box}.video-metadata-overlay__datetime{display:inline;color:inherit;background:transparent;padding:0;border-radius:0;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none}.video-metadata-overlay__status{display:inline;max-width:min(10rem,38vw);color:#ffffffe6;background:transparent;padding:0;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.call-wait-notice{margin:.35rem 0 .5rem;padding:.45rem .65rem;border-radius:.5rem;background:#1e293beb;border:1px solid #475569;color:#e2e8f0;font-size:.82rem;text-align:center}.call-local-send-controls{margin:.75rem 0 0;padding:.65rem .75rem;border-radius:.65rem;background:#0f172a8c;border:1px solid #334155}.call-local-send-controls__title{margin:0 0 .45rem;font-size:.82rem;color:#cbd5e1;font-weight:600}.call-local-send-controls__row{display:flex;flex-wrap:wrap;gap:.5rem}.call-local-send-controls__btn{flex:1 1 12rem;min-width:0;text-align:left}.call-local-send-controls__btn--active{border-color:#64748b}.call-local-send-controls__hint{margin:.45rem 0 0;font-size:.72rem;line-height:1.35;color:#94a3b8}.video-wrap--clickable{cursor:pointer}.video-wrap--clickable:focus-visible{outline:2px solid #38bdf8;outline-offset:2px}.video-settings{margin-top:.15rem}.video-settings__toggle{width:100%;font-size:.8rem}.video-settings__panel{margin-top:.5rem;padding:.65rem;border:1px solid #334155;border-radius:8px;background:#0f172a}.video-settings__row{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem}.video-settings__row button{flex:1 1 auto;min-width:4.8rem;font-size:.75rem;padding:.35rem .5rem}.video-settings__aspect{margin:0 0 .6rem;padding:0;border:none;display:flex;flex-wrap:wrap;gap:.75rem;font-size:.8rem}.video-settings__aspect legend{width:100%;margin-bottom:.35rem;font-size:.78rem;color:#94a3b8}.video-settings__aspect--compact{margin:0;display:block}.video-settings-format-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.video-settings-format-row__actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.gps-map-inline-button{display:inline-flex;align-items:center;gap:.3rem;border:1px solid #475569;border-radius:999px;background:#1e293b;color:#e2e8f0;padding:.2rem .55rem;font-size:.78rem;cursor:pointer;white-space:nowrap}.gps-map-inline-button:hover:not(:disabled){background:#334155;border-color:#64748b}.gps-map-inline-button:disabled{opacity:.4;cursor:not-allowed}.gps-map-inline-button__glyph{font-size:.95rem;line-height:1}.gps-map-inline-button__label{font-size:.78rem}.video-settings-format-title{margin:0;padding:0;font-size:.78rem;color:#94a3b8;font-weight:600}.video-settings-remote-toggle{display:inline-flex;align-items:center;gap:.4rem;margin:0;white-space:nowrap;font-size:.8rem;color:#e2e8f0;cursor:pointer;-webkit-user-select:none;user-select:none}.video-settings-remote-toggle input{margin:0;flex-shrink:0}.video-settings-aspect-options-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;margin-top:.35rem;flex-wrap:wrap}.video-settings-aspect-options{display:inline-flex;align-items:center;gap:.8rem;flex-wrap:wrap;font-size:.8rem}.video-settings-aspect-options label{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.gps-local-map-inline{margin-left:auto;flex-shrink:0}.video-settings-help-text{margin:.35rem 0 0;font-size:.72rem;line-height:1.35;color:#64748b}@media(max-width:520px){.video-settings-format-row{align-items:flex-start;flex-direction:column;gap:.45rem}.video-settings-format-row__actions{width:100%;justify-content:flex-start}.video-settings-remote-toggle{white-space:normal}.video-settings-aspect-options-row{align-items:center;gap:.5rem}.gps-local-map-inline{margin-left:auto}}.video-settings__local-view-hint{margin:0 0 .45rem;font-size:.78rem;line-height:1.35;color:#94a3b8}.video-settings__remote{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;margin:.35rem 0 0;cursor:pointer}.video-settings__hint{font-size:.72rem;color:#64748b;font-weight:400}.video-settings__status{margin:.35rem 0 0;font-size:.78rem;color:#94a3b8}.video-settings__status--error{color:#fca5a5}body.call-fullscreen-active{overflow:hidden;overscroll-behavior:none}.call-fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;width:100vw;height:100dvh;min-height:100vh;display:flex;align-items:stretch;justify-content:stretch;padding:0;background:#000}.call-fullscreen-overlay--css{z-index:9999;background:#000;pointer-events:auto}.call-fullscreen-overlay--native{background:transparent;pointer-events:none}.call-fullscreen-overlay--native .call-fullscreen__stage{pointer-events:auto}.call-fullscreen-overlay--contain-mode{align-items:center;justify-content:center}.call-fullscreen__stage{position:relative;width:100vw;height:100dvh;min-height:100vh;max-width:none;max-height:none;background:#000;border-radius:0;overflow:hidden;border:none;display:flex;align-items:stretch;justify-content:stretch}.call-fullscreen__stage:fullscreen{width:100vw;height:100dvh;min-height:100vh;max-width:none;max-height:none;aspect-ratio:unset;border-radius:0;border:none;background:#000}.call-fullscreen__stage--with-aspect{width:100vw;height:100dvh;min-height:100vh;max-width:none;max-height:none;margin:auto}.call-fullscreen__stage--placeholder{border:none}.call-fullscreen__orientation-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;transform-origin:center center}.call-fullscreen__orientation-layer .call-fullscreen__video{display:block;width:100%;max-width:100%;height:100%;margin-left:auto;margin-right:auto;object-position:center center;background:#000}.call-fullscreen__video--hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}.video-reconnect-hint{position:absolute;left:50%;bottom:12px;transform:translate(-50%);margin:0;padding:.35rem .65rem;border-radius:999px;background:#0f172ad1;color:#e2e8f0;font-size:.78rem;z-index:3;max-width:min(92%,22rem);text-align:center;line-height:1.35;pointer-events:none}.call-fullscreen__orientation-layer .video-reconnect-hint{bottom:56px;z-index:6}.video-tile__video--recovery-pulse{opacity:.99}.call-fullscreen__stage--cover .call-fullscreen__video{object-fit:cover;object-position:center center}.call-fullscreen__stage--contain .call-fullscreen__video{object-fit:contain;object-position:center center}.call-fullscreen__orientation-layer .call-fullscreen__placeholder-text{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.call-fullscreen__placeholder-text{padding:2rem;text-align:center;font-size:1.15rem;color:#94a3b8;max-width:28rem}.call-fullscreen__play-error{position:absolute;left:50%;bottom:12px;transform:translate(-50%);margin:0;padding:.4rem .7rem;border-radius:999px;background:#7f1d1dcc;color:#fecaca;font-size:.8rem;z-index:6}.call-fullscreen__stage .call-video-frame .video-metadata-overlay{left:.55rem;bottom:.55rem;z-index:4}@media(max-width:480px){.call-local-send-controls__btn{flex:1 1 100%}}.call-fullscreen__stage--clean .call-fullscreen__exit,.call-fullscreen__stage--clean .call-fullscreen__fit-toggle{z-index:5}.call-fullscreen__exit{position:absolute;top:10px;right:10px;z-index:5;padding:.35rem .65rem;font-size:.72rem;opacity:.85;background:#0f172a8c;border:1px solid rgba(148,163,184,.35)}.call-fullscreen__fit-toggle{position:absolute;top:10px;left:10px;z-index:5;padding:.35rem .65rem;font-size:.72rem;opacity:.85;background:#0f172a8c;border:1px solid rgba(148,163,184,.35);color:#e2e8f0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617bf;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#1e293b;padding:1.5rem;border-radius:12px;min-width:280px;text-align:center}.incoming-call-modal .ringtone-status{margin:.75rem 0 0;font-size:.9rem;color:#93c5fd}.ringtone-actions{margin-top:.75rem}.ringtone-controls{justify-content:center;margin-top:.75rem}.incoming-call-actions{justify-content:center;margin-top:1rem}.status-bar{margin-top:.75rem;font-size:.9rem;color:#94a3b8}.call-time-policy{margin-top:.75rem;padding:.6rem .75rem;border-radius:8px;background:#2563eb1f;border:1px solid rgba(59,130,246,.35)}.call-time-policy--warning{background:#7f1d1d33;border-color:#ef444473}.call-time-policy__item{margin:0;font-size:.9rem;color:#bfdbfe}.call-time-policy__warning{margin:.45rem 0 0;font-size:.85rem;color:#fca5a5}.error{color:#fca5a5;margin-top:.5rem}.socket-diagnostic{margin-top:1rem;font-size:.85rem}.socket-diagnostic ul{margin:.5rem 0 0;padding-left:1.2rem}.socket-diagnostic li.error code{color:#fca5a5}.media-devices{margin-bottom:1rem}.media-devices--compact{margin-top:.75rem;margin-bottom:0;padding:.85rem 1rem}.media-devices__title{margin:0 0 .65rem;font-size:.95rem;font-weight:600}.media-devices__label{display:block;margin:.35rem 0 .2rem;font-size:.8rem;color:#94a3b8}.media-devices__select{width:100%;max-width:420px;padding:.5rem .65rem;border-radius:8px;border:1px solid #334155;background:#0f172a;color:#f8fafc;margin-bottom:.35rem}.media-devices__actions{margin-top:.65rem;flex-wrap:wrap}.media-devices__actions .primary{flex:1 1 100%;max-width:320px}.media-devices__hint,.media-devices__status{margin:.5rem 0 0;font-size:.85rem;color:#94a3b8}.pwa-install{margin-top:.75rem}.pwa-install--login{max-width:420px;margin-left:auto;margin-right:auto}.pwa-install--header{margin-top:0;flex:0 0 auto}.pwa-install--header .pwa-install__ios-hint,.pwa-install--header .pwa-install__hint{display:none}.pwa-install__btn{width:100%;max-width:280px}.pwa-install__ios-hint,.pwa-install__hint{margin:.5rem 0 0;font-size:.82rem;color:#94a3b8;line-height:1.35}.notification-settings{margin-bottom:1rem}.notification-settings--compact{margin-top:.75rem;padding:.75rem 1rem;background:#0f172a;border:1px solid #334155;border-radius:10px}.notification-settings__title{margin:0 0 .5rem;font-size:.95rem}.notification-settings__status{margin:0 0 .5rem;font-size:.85rem;color:#94a3b8}.notification-settings__hint{margin:.5rem 0 0;font-size:.78rem;color:#64748b;line-height:1.35}.notification-settings__actions{flex-wrap:wrap}.notification-settings__checkbox{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.88rem;color:#cbd5e1;cursor:pointer}.notification-settings__checkbox input{width:1rem;height:1rem;accent-color:#38bdf8}.call-controls-row{margin-top:1rem}.call-controls-footer{display:flex;flex-direction:column;align-items:center;gap:.65rem;width:100%;margin-top:1rem}.call-controls-single{display:flex;justify-content:center;align-items:center;width:100%;flex-wrap:wrap;gap:.75rem}.call-end-button{min-width:12rem;font-weight:600}.call-remote-volume{width:min(100%,22rem);padding:.5rem .65rem;border-radius:8px;border:1px solid #334155;background:#0f172a}.call-remote-volume__label{display:block;font-size:.78rem;color:#94a3b8;margin-bottom:.35rem}.call-remote-volume__row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.call-remote-volume__slider{flex:1 1 8rem;min-width:6rem;margin:0;accent-color:#38bdf8}.call-remote-volume__value{font-size:.8rem;font-variant-numeric:tabular-nums;color:#e2e8f0;min-width:2.5rem;text-align:right}.call-remote-volume__mute{font-size:.72rem;padding:.3rem .5rem;white-space:nowrap}@media(max-width:520px){.call-remote-volume{width:100%}.call-remote-volume__mute{width:100%;white-space:normal}}.settings-app-panel__build-line{margin:.15rem 0;font-size:.82rem;color:#cbd5e1}.settings-app-panel__build{margin:0 0 .5rem;font-size:.85rem;color:#94a3b8}.settings-app-panel__build code{font-size:.8rem;word-break:break-all}.settings-app-panel__hint{margin:0 0 .75rem;font-size:.88rem;color:#94a3b8;line-height:1.4}@media(max-width:700px){.app-topbar{flex-wrap:wrap;align-items:flex-start}.app-topbar__identity{flex:1 1 12rem;min-width:0}.app-topbar__connected{font-size:.82rem;white-space:normal;overflow:visible;text-overflow:unset;max-width:none;line-height:1.25}.app-topbar__actions{flex:0 0 auto;margin-left:0}.app-header{flex-direction:column;align-items:center}.app-header__actions,.app-top-actions{margin-left:0;width:100%;justify-content:center}.icon-action-button__label{display:none}.icon-action-button{min-width:2.75rem;padding:.5rem}.app-modal-overlay{padding:.5rem;align-items:flex-end}.app-modal{width:calc(100vw - 1rem);max-height:94vh;border-bottom-left-radius:0;border-bottom-right-radius:0}.app{width:calc(100vw - 1rem);max-width:none;padding:.75rem}.login-screen{min-height:calc(100vh - 1rem);justify-content:flex-start;padding-top:1.5rem}.login-card{width:calc(100vw - 2rem);max-width:400px}.login-form input[type=text],.login-form input[type=password],.login-form button{flex-basis:100%}}.login-form{width:100%;display:flex;flex-direction:column;gap:.75rem;align-items:stretch}.login-form input[type=text],.login-form input[type=password],.login-form button{flex:0 0 auto;width:100%;min-width:0;max-width:100%}.login-form button{white-space:normal}.login-submit{width:100%}.users-list__groups{font-size:.85rem;color:#94a3b8}.users-list__label{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem}.online-user-main-row{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;flex:1 1 auto;min-width:0}.online-user-identity{line-height:1.35}.online-user-device-icons{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;flex-shrink:0}.online-user-device-icon{font-size:.95rem;line-height:1;opacity:.92}.online-user-call-btn{flex-shrink:0;margin-left:auto}@media(max-width:520px){.online-user-main-row{flex:1 1 calc(100% - 5.5rem);max-width:calc(100% - 5.5rem)}}.call-event-notice{position:fixed;top:.75rem;left:50%;transform:translate(-50%);z-index:4600;display:flex;align-items:center;gap:.75rem;max-width:min(24rem,calc(100vw - 1.5rem));padding:.75rem 1rem;border-radius:12px;box-shadow:0 8px 24px #00000059;color:#f8fafc;animation:call-event-notice-in .25s ease-out}.call-event-notice--success{background:linear-gradient(135deg,#1d4ed8,#1e40af);border:1px solid #60a5fa}.call-event-notice--warning{background:linear-gradient(135deg,#b45309,#92400e);border:1px solid #fbbf24}@keyframes call-event-notice-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.call-event-notice__message{margin:0;font-size:.92rem;font-weight:600}.call-event-notice__close{flex-shrink:0;border:none;background:transparent;color:inherit;font-size:1.25rem;line-height:1;cursor:pointer;padding:0 .15rem}.app-top-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;margin-left:auto;flex:0 1 auto}.icon-action-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .75rem;min-height:2.5rem;border-radius:8px;border:1px solid #475569;background:#1e293b;color:#e2e8f0;font-size:.9rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.icon-action-button:hover{background:#334155;border-color:#64748b}.icon-action-button--danger{border-color:#7f1d1d;background:#3f1d1d}.icon-action-button--danger:hover{background:#7f1d1d;border-color:#ef4444}.icon-action-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.icon-action-button__icon{font-size:1.15rem;line-height:1}.icon-action-button__label{font-size:.85rem;font-weight:500}.incoming-call-backdrop{z-index:4000}.incoming-call-modal{position:relative;z-index:4001}.usage-balance-empty{margin:0 0 .75rem;padding:.55rem .65rem;border-radius:8px;background:#7f1d1d40;border:1px solid rgba(248,113,113,.35);color:#fecaca;font-size:.88rem;line-height:1.4}.admin-panel__section--call-minutes{border:1px solid rgba(56,189,248,.28);border-radius:10px;padding:.65rem .7rem;margin-bottom:.75rem;background:#0f172a8c}.admin-call-minutes__intro{margin-bottom:.35rem}.admin-call-minutes__future-note{margin:0 0 .65rem;font-size:.78rem;line-height:1.4;color:#94a3b8}.admin-balance-scroll{max-height:min(42vh,340px);overflow-y:auto;overflow-x:hidden;padding-right:.15rem}.admin-balance-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.admin-balance-card{padding:.55rem .65rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#0f172aa6}.admin-balance-card--empty{border-color:#f8717159;background:#7f1d1d1f}.admin-balance-card__head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-bottom:.2rem}.admin-balance-card__name{font-size:.95rem;color:#f1f5f9}.admin-balance-card__badge{font-size:.72rem;font-weight:600;padding:.12rem .45rem;border-radius:999px;background:#f8717133;color:#fecaca;border:1px solid rgba(248,113,113,.35)}.admin-balance-card__role{margin:0 0 .45rem;font-size:.8rem;color:#94a3b8}.admin-balance-card__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:0 0 .55rem}.admin-balance-card__stats div{min-width:0}.admin-balance-card__stats dt{margin:0;font-size:.72rem;color:#64748b}.admin-balance-card__stats dd{margin:.1rem 0 0;font-size:.88rem;font-weight:600;color:#e2e8f0}.admin-balance-card__stat--warn{color:#fca5a5}.admin-balance-card__actions{display:flex;flex-wrap:wrap;gap:.4rem}.admin-balance-card__actions .secondary{flex:1 1 auto;min-width:7.5rem}.call-balance-dialog-overlay{z-index:150}.call-balance-dialog__user{margin:0 0 .75rem;font-size:.9rem;color:#cbd5e1}.call-balance-dialog__username{font-weight:400;color:#94a3b8}.call-panel--time-critical{border-color:#fbbf2473;box-shadow:0 0 0 1px #fbbf2433,0 8px 24px #00000059}.call-time-warning-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .75rem;margin:0 0 .55rem;padding:.45rem .65rem;border-radius:8px;font-size:.88rem;line-height:1.35}.call-time-warning-banner--critical{background:linear-gradient(90deg,#78350f8c,#7f1d1d73);border:1px solid rgba(251,191,36,.4);color:#fde68a;animation:call-time-warning-pulse 2.2s ease-in-out infinite}.call-time-warning-banner__label{font-weight:600}.call-time-warning-banner__count{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}.call-time-remaining--warning{color:#fcd34d;text-shadow:0 0 12px rgba(251,191,36,.35)}.call-view__header--warning{border-bottom-color:#fbbf2440}.video-tile__top-overlay{position:absolute;top:.5rem;left:.5rem;right:auto;z-index:6;display:flex;justify-content:flex-start;pointer-events:none;max-width:calc(100% - 1rem)}.video-balance-badge{display:inline-block;max-width:100%;padding:.22rem .5rem;border-radius:6px;font-size:.68rem;font-weight:600;line-height:1.3;color:#e2e8f0;background:#0f172ad1;border:1px solid rgba(148,163,184,.35);white-space:normal;word-break:break-word;text-align:left}.media-devices__test-sound{margin-top:.65rem}.video-balance-badge--warning{color:#fde68a;border-color:#fbbf2473;background:#78350fbf}.video-balance-badge--empty{color:#fecaca;border-color:#f8717173;background:#7f1d1dbf}.call-time-warning-banner__detail{font-weight:500;opacity:.92}@keyframes call-time-warning-pulse{0%,to{opacity:1;box-shadow:0 0 #fbbf2400}50%{opacity:.92;box-shadow:0 0 14px #fbbf2438}}.settings-section__header-text{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;text-align:left;min-width:0}.settings-section__header-subtitle{font-size:.75rem;font-weight:400;color:#94a3b8;line-height:1.3}@media(max-width:480px){.admin-balance-card__stats{grid-template-columns:1fr}.admin-balance-card__actions .secondary{width:100%;min-width:0}}.app-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617c7;display:flex;align-items:center;justify-content:center;z-index:1000;padding:.75rem}.app-modal{width:min(96vw,640px);max-height:min(92vh,900px);display:flex;flex-direction:column;padding:0;text-align:left;overflow:hidden;overflow-x:hidden;box-sizing:border-box}.app-modal--settings{width:min(96vw,720px)}.app-modal__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid rgba(148,163,184,.2);flex-shrink:0}.app-modal__title{margin:0;font-size:1.15rem;font-weight:600}.app-modal__close{flex-shrink:0;min-width:2.25rem;min-height:2.25rem;padding:.25rem .5rem;font-size:1.35rem;line-height:1}.app-modal__body{padding:1rem 1.25rem 1.25rem;overflow-y:auto;overflow-x:hidden;flex:1 1 auto;box-sizing:border-box}.app-modal input,.app-modal select,.app-modal textarea{box-sizing:border-box;min-width:0;max-width:100%}.app-modal input[type=text],.app-modal input[type=password],.app-modal select,.app-modal textarea{width:100%;flex:0 0 auto}.app-modal button{max-width:100%;white-space:normal}.settings-section{margin-bottom:.75rem;padding-bottom:0;border-bottom:none}.settings-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.settings-section__header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .9rem;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#0f172ad9;cursor:pointer;color:#e2e8f0;font-weight:650}.settings-section__header:hover{border-color:#64748be6;background:#0f172a}.settings-section__header-title{font-size:.95rem}.settings-section__chevron{color:#94a3b8;font-size:.95rem;flex-shrink:0}.settings-section__body{padding-top:.75rem;padding-bottom:1rem;border-bottom:1px solid rgba(148,163,184,.2)}.settings-section:last-child .settings-section__body{border-bottom:none;padding-bottom:0}.usage-section{display:flex;flex-direction:column;gap:.85rem;max-width:100%;overflow-x:hidden}.usage-block{display:flex;flex-direction:column;gap:.5rem}.usage-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.usage-panel-header__title{margin:0;font-size:.94rem;font-weight:600}.usage-panel-header__refresh{margin-left:auto;flex-shrink:0}.usage-subtitle{margin:0;font-size:.88rem;font-weight:600;color:#cbd5e1}.usage-summary-box{padding:.55rem .65rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#0f172aa6;max-width:100%}.usage-summary-box__head{display:flex;align-items:center;justify-content:space-between;gap:.45rem;margin-bottom:.35rem}.usage-summary-box__title{margin:0;font-size:.92rem;font-weight:600}.usage-summary-box__refresh{flex-shrink:0;font-size:.78rem;padding:.3rem .55rem}.usage-summary-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem 0;margin:.15rem 0 0;font-size:.82rem;line-height:1.45;color:#e2e8f0}.usage-summary-item{display:inline;white-space:nowrap}.usage-summary-item__label{color:#94a3b8}.usage-summary-item__value{font-weight:600;color:#f1f5f9}.usage-summary-sep{color:#64748b}.usage-history-list{display:flex;flex-direction:column;gap:.32rem}.usage-history-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.2rem .55rem;padding:.38rem .55rem;border:1px solid rgba(148,163,184,.18);border-radius:6px;background:#0f172a80;max-width:100%;font-size:.8rem;line-height:1.35}.usage-history-meta{flex:1 1 12rem;min-width:0;color:#cbd5e1;word-break:break-word}.usage-history-meta__sep{color:#64748b}.usage-history-stats{display:flex;flex-wrap:wrap;align-items:center;gap:0;color:#94a3b8;flex-shrink:0}.usage-history-stats__sep{color:#64748b}.usage-badge{display:inline;padding:0;border:none;background:transparent;color:#93c5fd;font-size:inherit;line-height:inherit;word-break:break-word}.usage-badge--inline{font-weight:500}.usage-badge--muted{color:#94a3b8}.usage-empty{margin:.25rem 0;font-size:.85rem;color:#94a3b8}.call-history-settings{display:flex;flex-direction:column;gap:.55rem}.call-history-settings__head{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.call-history-settings__title{margin:0;font-size:.92rem;font-weight:600}.call-history-settings__refresh{flex-shrink:0;font-size:.78rem;padding:.3rem .55rem}.call-history-settings__empty{margin:0;font-size:.85rem;color:#94a3b8}.call-history-list--compact,.call-history-settings__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.18rem}.call-history-item--compact,.call-history-item,.call-history-settings__item{display:flex;flex-direction:column;gap:0;padding:.35rem .45rem;min-height:unset;border:none;border-bottom:1px solid rgba(148,163,184,.14);border-radius:0;background:transparent;font-size:.74rem;line-height:1.15;color:#e2e8f0}.call-history-item:last-child,.call-history-settings__item:last-child{border-bottom:none}.call-history-date,.call-history-when{display:inline;font-size:.72rem;line-height:1.15;white-space:nowrap;color:#cbd5e1}.call-history-row-main,.call-history-main{display:flex;align-items:center;flex-wrap:wrap;gap:.28rem;line-height:1.15;min-width:0}.call-history-sep-dot{color:#64748b;flex-shrink:0;line-height:1;-webkit-user-select:none;user-select:none}.call-history-direction-icon{display:inline-flex;align-items:center;justify-content:center;width:auto;flex:0 0 auto;font-size:.88rem;font-weight:700;line-height:1;color:#93c5fd}.call-history-direction-icon--outgoing{color:#7dd3fc}.call-history-direction-icon--incoming{color:#86efac}.call-history-peer{font-weight:600;color:#f8fafc;min-width:0;max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-history-status{color:#94a3b8;white-space:nowrap}.call-history-row-meta,.call-history-meta{margin-top:.15rem;font-size:.72rem;line-height:1.15;color:#94a3b8;padding-left:0;word-break:break-word}@media(max-width:520px){.call-history-list--compact,.call-history-settings__list{gap:.12rem}.call-history-item--compact,.call-history-item,.call-history-settings__item{padding:.32rem .4rem;gap:0}.call-history-row-main,.call-history-main{width:100%;gap:.24rem}.call-history-row-meta,.call-history-meta{margin-top:.12rem;padding-left:0}}.usage-admin{display:flex;flex-direction:column;gap:.65rem;margin-top:.25rem;padding-top:.65rem;border-top:1px solid rgba(148,163,184,.2)}.usage-filter{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.usage-filter__label{font-size:.82rem;color:#cbd5e1;flex-shrink:0}.usage-filter__input{flex:1 1 8rem;min-width:0;max-width:100%}.settings-section__title{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:#cbd5e1}.settings-section--account{padding-top:.25rem}.admin-panel--embedded{width:100%;max-height:none;overflow:visible;padding:0;background:transparent;box-shadow:none}.admin-panel--embedded .admin-panel__section:first-of-type{border-top:none;padding-top:0;margin-top:0}.admin-panel-backdrop{z-index:120}.admin-panel{width:min(96vw,720px);max-height:90vh;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.admin-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.admin-panel__section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(148,163,184,.25)}.admin-panel__section h3{margin:0 0 .75rem;font-size:1rem}.admin-panel__form{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.admin-panel__list{list-style:none;padding:0;margin:.5rem 0 0}.admin-panel__list li{padding:.5rem 0;border-bottom:1px solid rgba(148,163,184,.15)}.admin-panel__user-item{display:flex;flex-direction:column;gap:.35rem}.admin-panel__user-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.admin-panel__danger-hint{margin:.4rem 0 0;color:#fca5a5;font-size:.82rem;line-height:1.35}.admin-panel__checkbox-row{display:flex;align-items:center;gap:.5rem;color:#e2e8f0;font-size:.92rem}.admin-panel__checkbox-row input[type=checkbox]{width:1rem;height:1rem}.admin-panel__inline-label{margin-top:.25rem;font-size:.85rem;color:#cbd5e1}.admin-panel__hint{margin:.1rem 0 0;font-size:.82rem;color:#94a3b8;line-height:1.35}.admin-panel__hint--langs{margin-top:.5rem}.admin-panel__select{width:100%;max-width:100%;margin-top:.25rem;padding:.45rem .5rem;border-radius:8px;border:1px solid rgba(148,163,184,.35);background:#0f172a;color:#e2e8f0;font-size:.9rem}.admin-panel__lang-grid{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:.35rem 0 .5rem}.admin-panel__section--translation{border-top:1px solid rgba(148,163,184,.15);padding-top:.75rem}.call-translation-panel{margin:.65rem 0 .25rem;padding:.65rem .75rem;border-radius:10px;background:#0f172abf;border:1px solid rgba(148,163,184,.28);max-width:100%}.call-translation-panel__title{display:block;font-size:.88rem;font-weight:600;color:#e2e8f0;margin-bottom:.4rem}.call-translation-panel__toggle{display:flex;align-items:center;gap:.45rem;font-size:.86rem;color:#cbd5e1;cursor:pointer}.call-translation-panel__note{margin:.45rem 0 0;font-size:.78rem;color:#94a3b8;line-height:1.35}.call-translation-hint{margin:.5rem 0;font-size:.82rem;color:#94a3b8}.video-tile__pane-wrap{position:relative;display:flex;justify-content:center;align-items:center;width:100%;max-width:100%;margin-left:auto;margin-right:auto}.call-subtitle-overlay{position:absolute;left:.5rem;right:.5rem;bottom:.5rem;z-index:4;max-width:calc(100% - 1rem);padding:.5rem .75rem;border-radius:8px;background:#000000b8;color:#f5f5f5;font-size:clamp(.95rem,2.8vw,1.15rem);line-height:1.35;text-align:center;word-break:break-word;pointer-events:none}.call-subtitle-overlay--partial{opacity:.88;font-style:italic}.call-translation-saving-banner{margin:.35rem 0 .5rem;padding:.5rem .65rem;border-radius:6px;background:#ffc1072e;color:#ffe082;font-size:.9rem}.call-translation-panel__select-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.35rem 0}.call-translation-panel__select-row select{min-width:8rem}.call-translation-panel__status{margin:.35rem 0 0;font-size:.85rem;opacity:.9}.call-translation-captions{display:grid;gap:.75rem;margin:.75rem 0;padding:.75rem;border-radius:8px;background:#0f172a8c;border:1px solid rgba(148,163,184,.25)}.call-translation-captions__block{display:grid;gap:.25rem}.call-translation-captions__label{font-size:.78rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em}.call-translation-captions__original,.call-translation-captions__translated{margin:0;padding:.45rem .55rem;border-radius:6px;background:#00000059;color:#f8fafc;line-height:1.35;word-break:break-word}.call-translation-captions__translated{color:#fde68a}.admin-translation-toggle{min-width:4.6rem;font-size:.78rem;font-weight:700}.admin-translation-toggle--on{background:#22c55e33;border-color:#22c55e8c}.admin-translation-toggle--off{background:#94a3b81f;border-color:#94a3b859;opacity:.9}.call-translation-panel__capture-mode{margin:.5rem 0 0;font-size:.85rem;color:#93c5fd}.call-translation-panel__privacy{margin:.35rem 0 0;font-size:.82rem;color:#94a3b8;font-style:italic}.call-translation-panel__stop-btn,.call-translation-panel__diag-toggle,.call-translation-panel__test-btn,.call-translation-panel__mic-test-btn,.call-translation-panel__start-btn,.call-translation-panel__resume-btn,.call-translation-manual-caption__send{margin-top:.5rem;width:100%}.call-translation-panel__start-btn,.call-translation-panel__resume-btn{font-size:1rem;padding:.75rem 1rem}.call-translation-panel__listening{margin:.65rem 0 0;padding:.65rem;border-radius:8px;background:#22c55e26;color:#bbf7d0;text-align:center;font-weight:600}.call-translation-mic-meter{margin-top:.5rem;padding:.5rem;border-radius:8px;background:#02061759}.call-translation-mic-meter__label{font-size:.82rem;color:#cbd5e1;margin-bottom:.35rem}.call-translation-mic-meter__bar{height:10px;border-radius:999px;background:#94a3b840;overflow:hidden}.call-translation-mic-meter__fill{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#eab308,#ef4444);transition:width .12s ease}.call-translation-mic-meter__device{margin:.35rem 0 0;font-size:.78rem;color:#94a3b8}.call-translation-manual-caption{margin-top:.65rem;display:grid;gap:.35rem}.call-translation-manual-caption__label{font-size:.85rem;color:#cbd5e1}.call-translation-manual-caption__input{width:100%;padding:.5rem .65rem;border-radius:8px;border:1px solid rgba(148,163,184,.35);background:#02061773;color:#f8fafc}.call-translation-diagnostics{margin:.5rem 0 0;padding:.65rem;border-radius:8px;background:#02061773;font-size:.82rem}.call-translation-diagnostics div{display:grid;grid-template-columns:minmax(9rem,42%) 1fr;gap:.35rem .5rem;margin-bottom:.35rem}.call-translation-diagnostics dt{margin:0;color:#94a3b8}.call-translation-diagnostics dd{margin:0;color:#f8fafc;word-break:break-word}.admin-panel__hint--translation-legend{margin-top:.35rem}.call-translation-hint--disabled{font-style:italic}.app-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617bf;display:flex;align-items:center;justify-content:center;z-index:1500;padding:.75rem}.app-dialog{width:min(96vw,460px);max-width:460px;background:#1e293b;border:1px solid rgba(148,163,184,.25);border-radius:12px;box-shadow:0 10px 32px #00000059;overflow:hidden;color:#e2e8f0}.app-dialog__header{padding:.9rem 1rem .6rem;border-bottom:1px solid rgba(148,163,184,.2)}.app-dialog__header h3{margin:0;font-size:1rem}.app-dialog__body{padding:.85rem 1rem}.app-dialog__body p{margin:0;line-height:1.4;white-space:pre-line}.app-dialog__label{display:flex;flex-direction:column;gap:.45rem;margin-top:.8rem;font-size:.85rem;color:#cbd5e1}.app-dialog__input{width:100%;border-radius:8px;border:1px solid #334155;background:#0f172a;color:#f8fafc;padding:.6rem .75rem;box-sizing:border-box}.app-dialog__error{margin-top:.65rem!important;color:#fca5a5;font-size:.85rem}.app-dialog__actions{padding:.85rem 1rem 1rem;display:flex;gap:.65rem;justify-content:flex-end;flex-wrap:wrap}.app-dialog__button{min-width:8.5rem}.app-dialog__button--primary{background:#2563eb;color:#fff}.app-dialog__button--secondary{background:#475569;color:#fff}.app-dialog__button--danger{background:#dc2626;color:#fff}.app-dialog--success .app-dialog__header h3{color:#86efac}.user-login-notify-banner{position:fixed;top:.75rem;left:50%;transform:translate(-50%);z-index:4500;display:flex;align-items:flex-start;gap:.75rem;max-width:min(22rem,calc(100vw - 1.5rem));padding:.85rem 1rem;background:linear-gradient(135deg,#0f766e,#115e59);border:1px solid #2dd4bf;border-radius:12px;box-shadow:0 8px 24px #00000059;color:#ecfdf5;animation:user-login-notify-in .25s ease-out}@keyframes user-login-notify-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.user-login-notify-banner__title{margin:0;font-size:.92rem;font-weight:700}.user-login-notify-banner__body{margin:.25rem 0 0;font-size:.85rem;opacity:.95}.user-login-notify-banner__close{flex-shrink:0;border:none;background:transparent;color:#ecfdf5;font-size:1.25rem;line-height:1;cursor:pointer;padding:0 .15rem}.pwa-update-banner{position:sticky;top:0;z-index:50;margin:0 0 .75rem;padding:.65rem .85rem;border-radius:10px;background:#1e3a5f;border:1px solid #3b82f6}.pwa-update-banner__text{margin:0 0 .5rem;font-size:.9rem;color:#e2e8f0}.pwa-update-banner__actions{gap:.5rem}.app-version-short,.login-version{font-size:.72rem;line-height:1.35;color:#64748b}.login-version{margin:.75rem 0 0;text-align:center}.app-topbar__version{display:block;margin-top:.15rem;font-size:.68rem;font-weight:500;color:#64748b;line-height:1.2}.app-version-footer{margin:1rem auto .75rem;padding:.35rem .75rem;text-align:center}.app-version-debug{margin:.5rem 0 .75rem;padding:.45rem .55rem;border-radius:6px;background:#0f172a59;font-size:.78rem;line-height:1.4;color:#cbd5e1}.app-version-debug__line{margin:.15rem 0}.app-version-footer code{font-size:.72rem;color:#94a3b8;word-break:break-all}.media-devices__status{color:#fcd34d}.gps-required-banner{position:fixed;top:3.5rem;left:50%;transform:translate(-50%);z-index:4550;display:flex;align-items:flex-start;gap:.65rem;max-width:min(28rem,calc(100vw - 1.5rem));padding:.6rem .85rem;border-radius:10px;box-shadow:0 6px 18px #00000047;font-size:.88rem}.gps-required-banner__content{flex:1;min-width:0}.gps-required-banner__detail{margin:.35rem 0 0;font-size:.82rem;opacity:.95}.gps-required-banner__actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.5rem}.gps-required-banner__action{font-size:.82rem;padding:.35rem .65rem}.gps-required-banner--info{background:#1e3a5f;border:1px solid #3b82f6;color:#e0f2fe}.gps-required-banner--warning{background:#78350f;border:1px solid #f59e0b;color:#fffbeb}.gps-required-banner--error{background:#7f1d1d;border:1px solid #f87171;color:#fee2e2}.gps-required-banner__message{margin:0;flex:1}.gps-required-banner__close{border:none;background:transparent;color:inherit;font-size:1.2rem;cursor:pointer;line-height:1}.gps-permission-gate{display:flex;align-items:flex-start;gap:.65rem;margin:0 0 .75rem;padding:.75rem .9rem;border-radius:10px;background:#7f1d1d;border:1px solid #f87171;color:#fee2e2}.gps-permission-gate__content{flex:1;min-width:0}.gps-permission-gate__message{margin:0;font-size:.9rem}.gps-permission-gate__detail{margin:.4rem 0 0;font-size:.84rem;opacity:.95}.gps-permission-gate__action{margin-top:.55rem;font-size:.85rem}.gps-location-debug{margin:0 0 .65rem;padding:.55rem .75rem;border-radius:8px;background:#0f172a;border:1px dashed #475569;font-size:.75rem;color:#cbd5e1}.gps-location-debug__title{margin:0 0 .35rem;font-weight:600}.gps-location-debug__list{margin:0;padding:0;list-style:none}.gps-location-debug__list li{display:flex;gap:.5rem;margin:.1rem 0}.gps-location-debug__key{min-width:9rem;color:#94a3b8}.gps-location-debug__value{word-break:break-all}.gps-permission-gate__close{border:none;background:transparent;color:inherit;font-size:1.2rem;cursor:pointer}.call-location-panel{margin:.75rem 0 0;padding:.75rem .9rem;border-radius:10px;background:#0f172a;border:1px solid #334155}.call-location-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.call-location-panel__title{margin:0;font-size:.95rem}.call-location-panel__toggle{border:1px solid #475569;background:#1e293b;color:#e2e8f0;border-radius:6px;padding:.2rem .55rem;font-size:.78rem;cursor:pointer}.call-location-panel__body{margin-top:.65rem;display:flex;flex-direction:column;gap:.55rem}.call-location-panel__row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.45rem;padding:.45rem 0;border-top:1px solid #1e293b}.call-location-panel__row:first-child{border-top:none;padding-top:0}.call-location-panel__meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.call-location-panel__label{font-weight:600;font-size:.85rem}.call-location-panel__coords{font-family:ui-monospace,monospace;font-size:.8rem;color:#cbd5e1}.call-location-panel__precision{font-size:.78rem;color:#94a3b8}.call-location-panel__precision--low{color:#fbbf24}.call-location-panel__waiting{font-size:.82rem;color:#94a3b8}.call-location-panel__map-link{font-size:.8rem;color:#60a5fa;text-decoration:none;white-space:nowrap}.call-location-panel__map-link:hover{text-decoration:underline}@media(max-width:640px){.gps-required-banner{top:.5rem;font-size:.82rem}.call-location-panel--collapsed .call-location-panel__body{display:none}}.gps-map-icon-button{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid #475569;border-radius:999px;background:#1e293b;color:#e2e8f0;cursor:pointer;box-shadow:0 2px 8px #00000040;z-index:40}.gps-map-icon-button:hover{background:#334155;border-color:#64748b}.gps-map-icon-button__glyph{font-size:1.1rem;line-height:1}.gps-map-icon-button--inline{width:2rem;height:2rem;box-shadow:none}.gps-map-icon-button:disabled{opacity:.35;cursor:not-allowed}.gps-map-icon-button:disabled:hover{background:#1e293b;border-color:#475569}.gps-location-map-bar{display:flex;flex-direction:column;gap:.35rem;padding:.45rem .6rem;border-radius:10px;background:#0f172aeb;border:1px solid #334155}.gps-location-map-bar--call{margin:.5rem 0 0;align-self:flex-end}.gps-location-map-bar__row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.gps-location-map-bar__info{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.gps-location-map-bar__status{font-size:.75rem;color:#94a3b8;line-height:1.35}.gps-location-map-bar__label{font-size:.82rem;color:#cbd5e1}.gps-map-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172ab8;display:flex;align-items:center;justify-content:center;padding:1rem}.gps-map-modal{width:min(560px,100%);max-height:min(90vh,720px);overflow:auto;background:#0f172a;border:1px solid #334155;border-radius:12px;color:#e2e8f0;box-shadow:0 12px 40px #00000073}.gps-map-modal__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid #334155}.gps-map-modal__tabs{display:flex;gap:.35rem;padding:.55rem 1rem 0}.gps-map-modal__tab{flex:1;border:1px solid #475569;background:#1e293b;color:#cbd5e1;border-radius:8px 8px 0 0;padding:.4rem .55rem;font-size:.82rem;cursor:pointer}.gps-map-modal__tab--active{background:#334155;color:#f8fafc;border-bottom-color:#334155}.gps-map-modal__title{margin:0;font-size:1rem}.gps-map-modal__close{border:1px solid #475569;background:#1e293b;color:#e2e8f0;border-radius:8px;padding:.35rem .75rem;cursor:pointer;font-size:.85rem}.gps-map-modal__body{padding:.85rem 1rem 1rem;display:flex;flex-direction:column;gap:.85rem}.gps-map-modal__map-wrap{position:relative;border-radius:8px;overflow:hidden;border:1px solid #334155;min-height:280px}.gps-map-modal__iframe{display:block;width:100%;height:280px;border:0}.gps-map-modal__marker-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;align-items:center;justify-content:center}.gps-map-modal__pin{width:22px;height:22px;background:#ef4444;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 10px #00000080;z-index:2}.gps-map-modal__pin-label{position:absolute;top:calc(50% + 16px);left:50%;transform:translate(-50%);background:#0f172ae0;color:#f8fafc;font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;white-space:nowrap;z-index:2}.gps-map-modal__marker-overlay--remote .gps-map-modal__pin{background:#3b82f6}.gps-map-modal__accuracy-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid rgba(59,130,246,.55);background:#3b82f61f;border-radius:50%;pointer-events:none;z-index:1}.gps-map-modal__actions{display:flex;flex-wrap:wrap;gap:.5rem}.gps-map-modal__action-btn{border:1px solid #475569;background:#1e293b;color:#e2e8f0;border-radius:8px;padding:.4rem .75rem;cursor:pointer;font-size:.82rem;text-decoration:none;display:inline-flex;align-items:center}.gps-map-modal__action-btn:hover:not(:disabled){background:#334155}.gps-map-modal__action-btn:disabled{opacity:.5;cursor:not-allowed}.gps-map-modal__empty-state{display:flex;flex-direction:column;gap:.65rem;padding:1rem;border:1px dashed #475569;border-radius:8px;background:#1e293b}.gps-map-modal__here-label{margin:0;font-size:.92rem;font-weight:600;color:#f8fafc}.gps-map-modal__meta--hint{color:#93c5fd}.gps-map-modal__debug{margin:0;padding:.55rem .65rem;border-radius:8px;background:#1e293b;border:1px solid #475569;font-family:ui-monospace,monospace;font-size:.75rem;color:#94a3b8}.gps-map-modal__debug p{margin:.15rem 0}.gps-map-modal__section-title{margin:0 0 .35rem;font-size:.9rem}.gps-map-modal__coords{margin:0;font-family:ui-monospace,monospace;font-size:.82rem}.gps-map-modal__meta,.gps-map-modal__waiting,.gps-map-modal__empty{margin:.2rem 0 0;font-size:.82rem;color:#94a3b8}.gps-map-modal__external{display:inline-block;margin-top:.45rem;font-size:.82rem;color:#60a5fa;text-decoration:none}.gps-map-modal__external:hover{text-decoration:underline}.missed-calls-panel{margin-top:.85rem;padding:.75rem .85rem;background:#0f172aeb;border:1px solid #334155}.missed-calls-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.missed-calls-panel__title{margin:0;font-size:.95rem;color:#f8fafc}.missed-calls-panel__count{margin:.15rem 0 0;font-size:.75rem;color:#94a3b8}.missed-calls-panel__clear-all{border:1px solid #475569;background:#1e293b;color:#cbd5e1;border-radius:8px;padding:.3rem .55rem;font-size:.75rem;cursor:pointer}.missed-calls-panel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.missed-calls-panel__item{display:flex;gap:.65rem;align-items:flex-start;padding:.55rem .45rem;border-radius:8px;background:#1e293ba6}.missed-calls-panel__avatar{width:2rem;height:2rem;border-radius:999px;background:#334155;color:#f8fafc;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.missed-calls-panel__body{flex:1;min-width:0}.missed-calls-panel__text{margin:0 0 .35rem;font-size:.84rem;color:#e2e8f0;line-height:1.35}.missed-calls-panel__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.missed-calls-panel__map-btn,.missed-calls-panel__call-btn,.missed-calls-panel__dismiss-btn{border:1px solid #475569;background:#1e293b;color:#e2e8f0;border-radius:8px;padding:.25rem .5rem;font-size:.78rem;cursor:pointer}.missed-calls-panel__map-btn--disabled{opacity:.45;cursor:not-allowed}.missed-calls-panel__offline{font-size:.75rem;color:#94a3b8}.missed-calls-panel__dismiss-btn{margin-left:auto}.call-connecting-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.call-connecting-modal{background:#1e293b;border-radius:16px;padding:2rem;max-width:360px;width:100%;text-align:center;box-shadow:0 8px 32px #0000004d}.call-connecting-modal__title{margin:0 0 .5rem;font-size:1.2rem;color:#f8fafc}.call-connecting-modal__body{margin:0 0 1rem;font-size:.95rem;color:#94a3b8}.call-connecting-modal__spinner{width:40px;height:40px;margin:0 auto 1rem;border:3px solid #334155;border-top-color:#60a5fa;border-radius:50%;animation:call-connecting-spin .8s linear infinite}@keyframes call-connecting-spin{to{transform:rotate(360deg)}}.call-connecting-modal__cancel{background:#475569;color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.9rem;cursor:pointer}.call-connecting-modal__cancel:hover{background:#334155}.gps-popup-blocked-fallback{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);background:#1e293b;border:1px solid #334155;border-radius:12px;padding:1rem;z-index:999;text-align:center;box-shadow:0 4px 16px #0000004d;max-width:90vw}.gps-popup-blocked-fallback a{color:#60a5fa;text-decoration:underline}.admin-panel__root-only{color:#f59e0b;font-style:italic;font-size:.85rem;padding:.5rem;text-align:center}.admin-summary{background:#1e293b;border-radius:10px;padding:.75rem 1rem;margin-bottom:.75rem}.admin-summary--root{border-left:3px solid #f59e0b}.admin-summary__title{margin:0 0 .25rem;font-weight:700;font-size:.95rem;color:#f8fafc}.admin-summary__stats{margin:0;font-size:.78rem;color:#94a3b8}.role-chip{display:inline-block;padding:.1rem .45rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.role-chip--root{background:#f59e0b20;color:#f59e0b}.role-chip--admin{background:#3b82f620;color:#60a5fa}.role-chip--user{background:#10b98120;color:#34d399}.role-chip--inactive{opacity:.5}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:.35rem}.status-dot--on{background:#10b981;box-shadow:0 0 4px #10b98180}.status-dot--off{background:#64748b}.admin-group-section{margin-bottom:.75rem}.admin-group-section__title{margin:0 0 .35rem;font-size:.9rem;font-weight:600;color:#94a3b8;padding:.35rem 0;border-bottom:1px solid #334155}.admin-user-row{display:flex;align-items:center;justify-content:space-between;padding:.35rem 0;gap:.5rem;flex-wrap:wrap}.admin-user-row--root{opacity:.8}.admin-user-row__info{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.admin-user-row__name{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-row__meta{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.admin-user-row__actions{display:flex;align-items:center;gap:.15rem;flex-shrink:0;flex-wrap:wrap}.admin-action-btn{background:none;border:none;cursor:pointer;font-size:.9rem;padding:.2rem .3rem;border-radius:4px;transition:background .15s;line-height:1}.admin-action-btn:hover:not(:disabled){background:#334155}.admin-action-btn:disabled{opacity:.35;cursor:not-allowed}.admin-action-btn--locked{opacity:.5;cursor:default;font-size:.85rem}.admin-action-btn--danger:hover:not(:disabled){background:#7f1d1d60}.admin-panel__toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.admin-panel__form--inline{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#1e293b;border-radius:8px;margin-bottom:.75rem}.admin-grouped-users{max-height:60vh;overflow-y:auto;padding-right:.25rem}@media(max-width:640px){.admin-user-row{flex-direction:column;align-items:flex-start;padding:.5rem 0}.admin-user-row__actions{width:100%;justify-content:flex-start}.admin-summary{padding:.5rem .75rem}}.instance-duplicate-modal__hint{margin:.75rem 0 0;font-size:.82rem;color:#94a3b8;text-align:center}.admin-panel__field-label{display:block;font-size:.82rem;color:#94a3b8;margin:.5rem 0 .2rem}.admin-panel__required{color:#f87171}.admin-panel__optional{color:#64748b;font-style:italic;font-weight:400}.admin-form-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;align-items:center;width:100%;margin-top:.75rem}.admin-form-actions__hint{flex:1 1 100%;margin:0;font-size:.82rem;color:#94a3b8;text-align:center}.admin-modal-footer{flex-shrink:0;padding-top:1rem;margin-top:.5rem;border-top:1px solid rgba(148,163,184,.25);background:#1e293b}.admin-save-button,.admin-cancel-button{min-height:2.75rem;min-width:8.5rem;padding:.65rem 1.1rem}.admin-save-button:disabled{opacity:.55;cursor:not-allowed}.admin-edit-modal-backdrop{z-index:2000;padding:.75rem;align-items:center;justify-content:center}.admin-edit-modal{width:min(96vw,440px);max-height:min(92vh,560px);display:flex;flex-direction:column;text-align:left;padding:1.25rem;overflow:hidden;box-sizing:border-box}.admin-edit-modal__title{margin:0 0 1rem;font-size:1.05rem;flex-shrink:0}.admin-edit-modal__body{flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem;min-height:0}.admin-edit-modal__body input,.admin-edit-modal__body select{width:100%;box-sizing:border-box}.admin-edit-modal__readonly{opacity:.65}.admin-edit-modal__error{margin:0 0 .5rem}@media(max-width:640px){.admin-edit-modal-backdrop{align-items:flex-end}.admin-edit-modal{width:100%;max-height:min(88vh,560px);border-bottom-left-radius:0;border-bottom-right-radius:0}.admin-modal-footer{position:sticky;bottom:0;z-index:1}.admin-form-actions{flex-direction:column}.admin-save-button,.admin-cancel-button{width:100%;max-width:none}}.app-error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0f1419;color:#e8edf2}.app-error-boundary__card{max-width:28rem;width:100%;padding:1.75rem;border-radius:12px;background:#1a2332;border:1px solid #2d3a4d;text-align:center}.app-error-boundary__card h1{margin:0 0 .5rem;font-size:1.35rem}.app-error-boundary__version{margin:0 0 1rem;font-size:.85rem;color:#8fa3b8}.app-error-boundary__message{margin:0 0 1rem;line-height:1.5}.app-error-boundary__detail{margin:0 0 1rem;font-size:.8rem;color:#c9a227;word-break:break-word}.app-error-boundary__reload{padding:.6rem 1.2rem;border:none;border-radius:8px;background:#2b6cb0;color:#fff;font-size:1rem;cursor:pointer}.app-error-boundary__reload:hover{background:#2c5282}
