.app-nav{border-bottom:1px solid var(--border);background:var(--ink);z-index:50;justify-content:space-between;align-items:center;padding:16px 40px;display:flex;position:sticky;top:0}.app-nav-logo{font-family:var(--serif);color:var(--cream);font-size:20px;font-weight:500;text-decoration:none}.app-nav-logo span{color:var(--amber)}.app-nav-right{align-items:center;gap:32px;display:flex}.app-nav-email{color:var(--cream-dim);font-size:13px;font-weight:300}.app-nav-link{color:var(--cream-dim);font-size:13px;text-decoration:none;transition:color .2s}.app-nav-link:hover{color:var(--cream)}.app-signout{color:#f2ead899;cursor:pointer;font-size:13px;font-weight:300;font-family:var(--sans);background:0 0;border:none;text-decoration:none;transition:color .2s}.app-signout:hover{color:var(--cream-dim)}.dash-wrap{max-width:900px;margin:0 auto;padding:48px 24px 100px}.dash-top{margin-bottom:40px}.dash-title{font-family:var(--serif);color:var(--cream);margin-bottom:6px;font-size:clamp(32px,4vw,48px);font-weight:500}.dash-meta{color:var(--cream-dim);margin-bottom:4px;font-size:13px;font-weight:300}.dash-door-link{color:var(--amber);align-items:center;gap:6px;font-size:13px;text-decoration:none;transition:opacity .2s;display:inline-flex}.dash-door-link:hover{opacity:.75}.dash-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:40px;display:grid}.dash-stat{background:var(--ink-2);border:1px solid var(--border);border-radius:4px;padding:24px 20px}.dash-stat-num{font-family:var(--serif);color:var(--amber);margin-bottom:6px;font-size:40px;font-weight:500;line-height:1}.dash-stat-label{color:var(--cream-dim);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:300}.dash-section-title{font-family:var(--serif);color:var(--cream);margin-bottom:16px;font-size:22px;font-weight:500}.knocks-table{border:1px solid var(--border);border-radius:4px;width:100%;margin-bottom:32px;overflow:hidden}.knocks-table-header{background:var(--ink-2);border-bottom:1px solid var(--border);grid-template-columns:100px 1fr 100px 100px;padding:12px 20px;display:grid}.knocks-table-header span{letter-spacing:.1em;text-transform:uppercase;color:#f2ead899;font-size:11px;font-weight:400}.knocks-table-row{border-bottom:1px solid var(--border);grid-template-columns:100px 1fr 100px 100px;padding:14px 20px;transition:background .15s;display:grid}.knocks-table-row:last-child{border-bottom:none}.knocks-table-row:hover{background:#f2ead805}.knocks-table-row span{color:var(--cream-dim);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:300;overflow:hidden}.knock-status-ended{color:#f2ead899!important}.knock-status-answered{color:#4ade80!important}.knock-status-knocking{color:var(--amber)!important}.knock-status-declined{color:#f87171!important}.dash-actions{flex-wrap:wrap;gap:8px;display:flex}.dash-action-btn{font-family:var(--sans);color:var(--cream-dim);background:var(--ink-2);border:1px solid var(--border);cursor:pointer;border-radius:2px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:400;text-decoration:none;transition:all .2s;display:inline-flex}.dash-action-btn:hover{border-color:var(--border-amber);color:var(--cream)}.dash-action-btn.primary{background:var(--amber);border-color:var(--amber);color:var(--ink);font-weight:500}.dash-action-btn.primary:hover{background:var(--amber-dim);border-color:var(--amber-dim);color:var(--ink)}.settings-wrap{max-width:640px;margin:0 auto;padding:48px 24px 100px}.settings-section{background:var(--ink-2);border:1px solid var(--border);border-radius:4px;margin-bottom:16px;padding:28px}.settings-section-title{font-family:var(--serif);color:var(--cream);margin-bottom:16px;font-size:18px;font-weight:500}.settings-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:14px 0;display:flex}.settings-row:last-child{border-bottom:none}.settings-row-label{color:var(--cream);font-size:14px;font-weight:400}.settings-row-desc{color:var(--cream-dim);margin-top:2px;font-size:12px;font-weight:300}.toggle{flex-shrink:0;width:44px;height:24px;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle-slider{background:var(--ink-3);border:1px solid var(--border);cursor:pointer;border-radius:12px;transition:all .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#f2ead899;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:3px;left:3px}.toggle input:checked+.toggle-slider{background:var(--amber);border-color:var(--amber)}.toggle input:checked+.toggle-slider:before{background:var(--ink);transform:translate(20px)}.settings-link-val{color:var(--amber);font-size:13px;font-weight:300;text-decoration:none;transition:opacity .2s}.settings-link-val:hover{opacity:.75}.contacts-wrap{max-width:720px;margin:0 auto;padding:48px 24px 100px}.contacts-list{border:1px solid var(--border);border-radius:4px;flex-direction:column;gap:0;margin-bottom:24px;display:flex;overflow:hidden}.contact-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;transition:background .15s;display:flex}.contact-row:last-child{border-bottom:none}.contact-row:hover{background:#f2ead805}.contact-avatar{background:var(--ink-3);border:1px solid var(--border-amber);width:36px;height:36px;font-family:var(--serif);color:var(--amber);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:14px;font-size:14px;font-weight:500;display:flex}.contact-info{flex:1;min-width:0}.contact-name{color:var(--cream);margin-bottom:2px;font-size:14px;font-weight:400}.contact-email{color:var(--cream-dim);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:300;overflow:hidden}.contact-actions{flex-shrink:0;gap:8px;display:flex}.add-contact-card{background:var(--ink-2);border:1px solid var(--border);border-radius:4px;padding:24px}.history-wrap{max-width:800px;margin:0 auto;padding:48px 24px 100px}.answer-wrap{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex}.answer-card{background:var(--ink-2);border:1px solid var(--border);border-radius:4px;width:100%;max-width:420px;padding:40px 32px}.answer-avatar{background:var(--ink-3);border:1px solid var(--border-amber);width:72px;height:72px;font-family:var(--serif);color:var(--amber);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:28px;font-weight:500;display:flex}.answer-label{letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:12px;font-size:11px}.answer-caller{font-family:var(--serif);color:var(--cream);margin-bottom:4px;font-size:24px;font-weight:500}.answer-email{color:var(--cream-dim);margin-bottom:8px;font-size:13px;font-weight:300}.answer-note{color:var(--cream-dim);margin-bottom:32px;font-size:14px;font-style:italic;font-weight:300;line-height:1.6}.answer-btns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.btn-answer{background:var(--amber);font-family:var(--sans);color:var(--ink);cursor:pointer;border:none;border-radius:2px;justify-content:center;align-items:center;padding:14px;font-size:15px;font-weight:500;text-decoration:none;transition:background .2s;display:flex}.btn-answer:hover{background:var(--amber-dim)}.btn-decline{border:1px solid var(--border);font-family:var(--sans);color:var(--cream-dim);cursor:pointer;background:0 0;border-radius:2px;padding:14px;font-size:15px;font-weight:400;transition:all .2s}.btn-decline:hover{color:#f87171;border-color:#f87171}.waiting-wrap{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex;position:relative}.waiting-glow{pointer-events:none;background:radial-gradient(circle,#e8a62a12 0%,#0000 70%);width:400px;height:400px;animation:3s ease-in-out infinite waitGlow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes waitGlow{0%,to{opacity:1;transform:translate(-50%,-50%)scale(1)}50%{opacity:.5;transform:translate(-50%,-50%)scale(1.15)}}.waiting-ring{border:1px solid var(--border-amber);border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin:0 auto 32px;animation:2s ease-in-out infinite ringPulse;display:flex;position:relative}@keyframes ringPulse{0%,to{box-shadow:0 0 #e8a62a33}50%{box-shadow:0 0 0 20px #e8a62a00}}.waiting-ring-inner{font-family:var(--serif);color:var(--amber);font-size:36px;font-weight:500}.waiting-label{letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:16px;font-size:11px}.waiting-title{font-family:var(--serif);color:var(--cream);margin-bottom:8px;font-size:clamp(24px,3vw,36px);font-weight:500}.waiting-sub{color:var(--cream-dim);margin-bottom:48px;font-size:14px;font-weight:300}.call-wrap{text-align:center;background:var(--ink);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex}.call-timer{font-family:var(--serif);color:var(--cream);letter-spacing:.05em;font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:56px;font-weight:400}.call-with{color:var(--cream-dim);margin-bottom:64px;font-size:14px;font-weight:300}.call-controls{align-items:center;gap:20px;display:flex}.call-ctrl-btn{border:1px solid var(--border);background:var(--ink-2);cursor:pointer;width:56px;height:56px;color:var(--cream-dim);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.call-ctrl-btn:hover{border-color:var(--border-amber);color:var(--cream)}.call-ctrl-btn.active{background:var(--amber);border-color:var(--amber);color:var(--ink)}.call-end-btn{cursor:pointer;color:#fff;background:#dc2626;border:none;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:background .2s;display:flex}.call-end-btn:hover{background:#b91c1c}.door-wrap{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex;position:relative}.door-glow{pointer-events:none;background:radial-gradient(60% 50% at 50% 100%,#e8a62a26 0%,#0000 70%);width:600px;height:200px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.door-card{width:100%;max-width:480px;position:relative}.door-host-label{letter-spacing:.18em;text-transform:uppercase;color:var(--amber);text-align:center;margin-bottom:16px;font-size:11px}.door-host-name{font-family:var(--serif);color:var(--cream);text-align:center;margin-bottom:8px;font-size:clamp(32px,5vw,52px);font-weight:500;line-height:1.1}.door-host-sub{color:var(--cream-dim);text-align:center;margin-bottom:40px;font-size:15px;font-weight:300}.door-closed{text-align:center;padding:48px 24px}.door-closed-icon{opacity:.4;margin-bottom:20px;font-size:48px}.door-closed-title{font-family:var(--serif);color:var(--cream-dim);margin-bottom:8px;font-size:28px;font-weight:500}.door-closed-sub{color:#f2ead899;font-size:14px;font-weight:300}.admin-wrap{max-width:900px;margin:0 auto;padding:48px 24px 100px}.admin-table{border:1px solid var(--border);border-radius:4px;width:100%;margin-bottom:24px;overflow:hidden}.admin-table-row{border-bottom:1px solid var(--border);color:var(--cream-dim);grid-template-columns:1fr 1fr 80px;padding:12px 20px;font-size:13px;font-weight:300;display:grid}.admin-table-row:last-child{border-bottom:none}.admin-table-row.header{background:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;color:#f2ead899;font-size:11px}.profile-avatar-section{border-bottom:1px solid var(--border);align-items:center;gap:20px;margin-bottom:4px;padding:20px 0;display:flex}.profile-avatar-lg{background:var(--ink-3);border:1px solid var(--border-amber);width:64px;height:64px;font-family:var(--serif);color:var(--amber);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;font-weight:500;display:flex}@media (max-width:768px){.app-nav{padding:14px 20px}.app-nav-email{display:none}.dash-wrap,.settings-wrap,.contacts-wrap,.history-wrap,.admin-wrap{padding:32px 16px 80px}.dash-stats{grid-template-columns:1fr 1fr}.knocks-table-header,.knocks-table-row{grid-template-columns:80px 1fr 80px}.knocks-table-header span:last-child,.knocks-table-row span:last-child{display:none}.dash-actions{flex-direction:column}.dash-action-btn{justify-content:center}.answer-btns{grid-template-columns:1fr}}
