:root{--navy:#13233b;--navy-soft:#1c3354;--accent:#2f6fed;--accent-soft:#e8f0ff;--bg:#f4f6f8;--surface:#fff;--line:#e4e8ee;--text:#1c2430;--muted:#667085;--success:#1f8a4c;--warning:#c47b12;--danger:#c23b3b;--shadow:0 1px 2px #13233b0f;--radius:16px;--header-h:58px;--nav-h:64px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;line-height:1.45}a{color:inherit;text-decoration:none}img{max-width:100%}button,input,select,textarea{font:inherit}.guest-body{min-height:100dvh;padding:calc(24px + var(--safe-top)) 20px calc(24px + var(--safe-bottom));justify-content:center;align-items:center;display:flex}.auth-card{background:var(--surface);border:1px solid var(--line);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:20px;padding:32px 24px}.brand-mark{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-size:13px;font-weight:700}.auth-card h1,.page-title{letter-spacing:-.03em;margin:0 0 8px;font-size:26px}.lede,.muted{color:var(--muted)}.app-shell{min-height:100dvh}.app-sidebar{display:none}.app-header{z-index:20;min-height:calc(var(--header-h) + var(--safe-top));padding:var(--safe-top) 16px 0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#f4f6f8eb;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.header-inner{width:100%;min-height:var(--header-h);justify-content:space-between;align-items:center;display:flex}.header-brand{letter-spacing:-.03em;font-weight:700}.header-actions{align-items:center;gap:8px;display:flex}.status-chip,.badge{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.status-dot.online{background:var(--success)}.status-dot.weak{background:var(--warning)}.status-dot.offline,.status-dot.unknown{background:var(--danger)}.icon-button{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--navy);border-radius:12px;justify-content:center;align-items:center;display:inline-flex;position:relative}.badge-count{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;display:flex;position:absolute;top:6px;right:6px}.app-main{width:min(880px,100%);padding:20px 16px calc(var(--nav-h) + var(--safe-bottom) + 24px);margin:0 auto}.bottom-nav{z-index:30;border-top:1px solid var(--line);padding:6px 8px calc(6px + var(--safe-bottom));background:#fffffff5;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-width:56px;min-height:52px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.bottom-nav a.active,.sidebar-nav a.active{color:var(--accent)}.hero-card,.card,.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{margin-bottom:16px;padding:20px}.hero-card h1{margin:0 0 4px;font-size:22px}.hero-meta{color:var(--muted);margin:2px 0;font-size:14px}.stat-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.stat-card{padding:16px}.stat-card span{color:var(--muted);font-size:13px;display:block}.stat-card strong{letter-spacing:-.04em;margin-top:8px;font-size:28px;display:block}.section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:8px 0 12px;font-size:13px}.event-list,.settings-list{flex-direction:column;gap:8px;display:flex}.event-row,.settings-list a{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;min-height:72px;padding:14px;display:flex}.event-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.event-icon.missed,.event-icon.offline{color:var(--danger);background:#fdecec}.event-icon.sms{color:var(--accent);background:#eef6ff}.event-icon.outgoing{color:var(--success);background:#edf8f1}.event-icon.test{color:var(--warning);background:#fff6e8}.event-body{flex:1;min-width:0}.event-body strong,.event-body .name{font-weight:650;display:block}.event-body small{color:var(--muted)}.event-time{color:var(--muted);white-space:nowrap;font-size:13px}.unread-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.tabs{-webkit-overflow-scrolling:touch;gap:8px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs a,.btn,.btn-secondary,.btn-danger{cursor:pointer;border:0;border-radius:12px;min-height:44px;padding:10px 14px;font-weight:650}.tabs a{background:var(--surface);border:1px solid var(--line);color:var(--muted);white-space:nowrap}.tabs a.active{background:var(--navy);color:#fff;border-color:var(--navy)}.btn{background:var(--navy);color:#fff;justify-content:center;align-items:center;display:inline-flex}.btn-secondary,.btn-ghost{background:var(--surface);color:var(--navy);border:1px solid var(--line)}.btn-danger{color:var(--danger);background:#fff;border:1px solid #f3caca}.btn-row,.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.form-group{margin-bottom:16px}label{margin-bottom:6px;font-size:13px;font-weight:650;display:block}input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],select,textarea{border:1px solid var(--line);width:100%;min-height:48px;color:var(--text);background:#fff;border-radius:12px;padding:12px 14px}textarea{resize:vertical;min-height:120px}.remember{align-items:center;gap:8px;display:flex}.remember input{width:18px;height:18px}.error{color:var(--danger);margin-top:6px;font-size:13px}.flash{color:var(--success);background:#edf8f1;border:1px solid #cdead6;border-radius:12px;margin-bottom:16px;padding:12px 14px}.search-bar{gap:8px;margin-bottom:16px;display:flex}.search-bar input{flex:1}.switch{width:48px;height:28px;position:relative}.switch input{opacity:0;width:0;height:0}.switch span{background:#d5dbe3;border-radius:999px;transition:all .2s;position:absolute;inset:0}.switch span:before{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:all .2s;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:before{transform:translate(20px)}.pref-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.token-box,.code-box{border:1px solid var(--line);word-break:break-all;background:#f7f9fb;border-radius:12px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.steps{padding-left:20px}.steps li{margin-bottom:10px}.warning-box{color:#7a5410;background:#fff6e8;border:1px solid #f0ddb4;border-radius:12px;margin:16px 0;padding:12px 14px}.empty{text-align:center;color:var(--muted);padding:36px 12px}.detail-card{padding:20px}.detail-card h1{margin:8px 0 4px;font-size:24px}.pagination{justify-content:center;gap:8px;margin-top:20px;display:flex}.pagination a,.pagination span{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:40px;min-height:40px;display:inline-flex}.pagination .active span{background:var(--navy);color:#fff;border-color:var(--navy)}.test-pill{color:#8a5a10;background:#fff6e8;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}@media (width>=960px){.app-shell{grid-template-columns:240px 1fr;display:grid}.app-sidebar{background:var(--navy);color:#fff;flex-direction:column;height:100dvh;padding:28px 18px;display:flex;position:sticky;top:0}.sidebar-brand{margin-bottom:28px;font-size:18px;font-weight:700}.sidebar-nav{flex-direction:column;gap:6px;display:flex}.sidebar-nav a{color:#ffffffbd;border-radius:10px;min-height:44px;padding:12px}.sidebar-nav a.active,.sidebar-nav a:hover{background:var(--navy-soft);color:#fff}.bottom-nav{display:none}.app-main{width:100%;padding:28px 32px 48px}.stat-grid{grid-template-columns:repeat(4,1fr)}}
