*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #faf7f4;--surface: #ffffff;--border: #e8ddd3;--text: #2d2418;--muted: #8c7a65;--primary: #e07a3a;--primary-dark: #c4622a;--primary-light:#fef0e7;--accent: #5ba88c;--accent-light: #e8f5f0;--danger: #d94f4f;--success: #4a9e6e;--warning: #d4940a;--purple: #7c6bc4;--purple-light: #f0edfa;--radius: 10px;--shadow: 0 1px 3px rgba(45,36,24,.06), 0 1px 2px rgba(45,36,24,.04);--shadow-md: 0 4px 12px rgba(45,36,24,.08)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(ellipse at 20% 50%,rgba(224,122,58,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(91,168,140,.08) 0%,transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(124,107,196,.06) 0%,transparent 50%),var(--bg)}.login-card{background:var(--surface);padding:2.5rem 2rem;border-radius:16px;box-shadow:var(--shadow-md);width:100%;max-width:380px;border:1px solid var(--border)}.login-logo{max-width:200px;width:100%;margin-bottom:1.5rem;display:block;margin-left:auto;margin-right:auto}.login-card h1{font-size:1.6rem;margin-bottom:.15rem;color:var(--primary)}.login-subtitle{color:var(--muted);margin-bottom:1.75rem;font-size:.9rem}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.field label{font-size:.85rem;font-weight:500}input[type=email],input[type=password],input[type=text],input[type=time],input:not([type=checkbox]){width:100%;padding:.5rem .8rem;border:1.5px solid var(--border);border-radius:8px;font-size:.9rem;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e07a3a26}button{cursor:pointer;border:none;border-radius:8px;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:background .15s,opacity .15s,transform .1s}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-ghost{background:transparent;border:1.5px solid var(--border);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--bg)}.btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.btn-danger:hover:not(:disabled){background:#d94f4f0f}.btn-sm{padding:.25rem .65rem;font-size:.8rem}.btn-full{width:100%;margin-top:.5rem}.btn-small{cursor:pointer;border:1.5px solid var(--border);border-radius:6px;font-size:.8rem;font-weight:500;padding:.2rem .6rem;background:var(--surface);color:var(--text);transition:background .15s}.btn-small:hover{background:var(--bg)}.btn-small.btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.btn-small.btn-danger:hover{background:#d94f4f0f}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:.7rem 1.5rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.app-title{font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:var(--primary);display:flex;align-items:center;gap:.5rem}.header-logo{height:28px;width:auto}.app-body{display:flex;flex:1;overflow:hidden}.children-nav{width:200px;background:var(--surface);border-right:1px solid var(--border);padding:1.25rem 1rem;flex-shrink:0;overflow-y:auto}.nav-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:.75rem}.children-nav ul{list-style:none;display:flex;flex-direction:column;gap:2px}.child-btn{width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:.55rem .75rem;font-size:.9rem;color:var(--text);font-weight:400}.child-btn:hover{background:var(--bg)}.child-btn.active{background:var(--primary-light);color:var(--primary);font-weight:600}.detail-panel{flex:1;padding:1.75rem 2rem;overflow-y:auto}.child-name{font-size:1.2rem;font-weight:600;margin-bottom:1.1rem}.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:1.75rem}.tab-btn{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:.5rem 1.1rem;font-size:.9rem;color:var(--muted);border-radius:0;font-weight:400}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.tab-btn:hover{color:var(--text)}.settings-panel{max-width:520px}.settings-section{margin-bottom:2.25rem}.settings-section h3{font-size:.95rem;font-weight:600;margin-bottom:.6rem}.toggle-label{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.9rem}.toggle-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.hint{margin-bottom:1rem;font-size:.85rem}.day-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.day-label{display:flex;align-items:center;gap:.3rem;font-size:.85rem;cursor:pointer}.day-label input[type=checkbox]{width:14px;height:14px;cursor:pointer}.time-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.field-inline{display:flex;align-items:center;gap:.4rem;font-size:.875rem}.field-inline input[type=time]{width:auto}.button-row{display:flex;gap:.6rem;flex-wrap:wrap}.phonebook-panel{max-width:580px}.phonebook-panel section{margin-bottom:2rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.section-header h3{font-size:.95rem;font-weight:600}.add-form{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.add-form input{flex:1;min-width:130px}.contact-table{width:100%;border-collapse:collapse}.contact-table td{padding:.5rem .6rem;border-bottom:1px solid var(--border);font-size:.875rem;vertical-align:middle}.contact-table tr:last-child td{border-bottom:none}.contact-table .actions{text-align:right;white-space:nowrap}.contact-table .actions button{margin-left:.3rem}.inline-input{padding:.25rem .5rem;border:1px solid var(--border);border-radius:4px;font-size:.85rem;width:100%}.badge{font-size:.7rem;background:var(--primary-light);border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);padding:.1rem .45rem;border-radius:6px;color:var(--primary);margin-left:.4rem;font-weight:500}.calllog-panel{overflow-x:auto}.call-table{width:100%;border-collapse:collapse;font-size:.875rem}.call-table th{text-align:left;padding:.45rem .7rem;border-bottom:2px solid var(--border);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.call-table td{padding:.55rem .7rem;border-bottom:1px solid var(--border)}.call-table tr:last-child td{border-bottom:none}.call-table tr.missed td{color:var(--danger)}.direction-badge{display:inline-block;padding:.15rem .45rem;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap}.direction-badge.inbound{background:#4a9e6e1a;color:#2d7a50}.direction-badge.outbound{background:#e07a3a1a;color:var(--primary-dark)}.direction-badge.unknown{background:var(--bg);color:var(--muted)}.disposition{font-size:.8rem;font-weight:500}.disposition.answered{color:var(--success)}.disposition.no-answer,.disposition.missed{color:var(--danger)}.disposition.busy{color:#d4940a}.disposition.failed{color:var(--muted)}.load-more{margin-top:.75rem}.error{color:var(--danger);font-size:.875rem;margin:.5rem 0}.success{color:var(--success);font-size:.875rem;margin:.5rem 0}.muted{color:var(--muted);font-size:.875rem}.mono{font-family:ui-monospace,SF Mono,monospace;font-size:.85rem}.admin-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:var(--accent);color:#fff;padding:.15rem .45rem;border-radius:6px;margin-left:.4rem;vertical-align:middle}.admin-tab-nav{display:flex;gap:.25rem}.admin-main{flex:1;padding:2rem;overflow-y:auto}.admin-section{max-width:860px}.admin-section.wide{max-width:none}.admin-section h2{font-size:1.15rem;font-weight:700}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.admin-table th{text-align:left;padding:.5rem .7rem;border-bottom:2px solid var(--border);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;background:var(--bg)}.admin-table td{padding:.6rem .7rem;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table td.actions{text-align:right;white-space:nowrap}.clickable-row{cursor:pointer;transition:background .1s}.clickable-row:hover td{background:var(--primary-light)}.link-btn{background:none;border:none;padding:0;color:var(--primary);font-size:inherit;cursor:pointer;font-weight:500;border-radius:0;text-decoration:underline;text-underline-offset:2px}.admin-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow)}.admin-card h3{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.5rem}.admin-card p{font-size:.875rem;line-height:1.5}.admin-list-item{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.875rem}.admin-list-item:last-child{border-bottom:none}.status-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-bottom:.35rem}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.ok{background:var(--success)}.status-dot.pending{background:var(--warning)}.status-chip{font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:6px;background:var(--bg);color:var(--muted)}.status-chip.provisioned,.status-chip.complete{background:#4a9e6e1a;color:var(--success)}.status-chip.pending{background:#d4940a1a;color:var(--warning)}.status-chip.failed{background:#d94f4f1a;color:var(--danger)}.status-chip.ordering_did,.status-chip.registering_e911,.status-chip.configuring_asterisk{background:var(--primary-light);color:var(--primary)}.onboard-form{max-width:720px}.onboard-fieldset{border:1.5px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem 1.25rem;margin-bottom:1.25rem}.onboard-fieldset legend{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:0 .4rem}.onboard-row{display:flex;gap:.75rem;align-items:flex-end}.onboard-person-row,.onboard-child-row{display:flex;gap:.65rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.onboard-person-row:last-of-type,.onboard-child-row:last-of-type{border-bottom:none;margin-bottom:.5rem}.onboard-person-row .field,.onboard-child-row .field{flex:1;min-width:130px}select{width:100%;padding:.5rem .8rem;border:1.5px solid var(--border);border-radius:8px;font-size:.9rem;background:var(--surface);color:var(--text)}.voicemail-panel{overflow-x:auto}
