:root{--primary-50: #f0f5fa;--primary-100: #e1ebf5;--primary-200: #c4d7eb;--primary-300: #9ab8de;--primary-400: #6592cd;--primary-500: #3f72af;--primary-600: #325a8e;--primary-700: #294872;--primary-800: #263e5e;--primary-900: #23344d;--accent-500: #3b82f6;--accent-600: #2563eb;--neutral-50: #f9fafb;--neutral-100: #f3f4f6;--neutral-200: #e5e7eb;--neutral-300: #d1d5db;--neutral-400: #9ca3af;--neutral-500: #6b7280;--neutral-600: #4b5563;--neutral-700: #374151;--neutral-800: #1f2937;--neutral-900: #111827;--success-bg: #ecfdf5;--success-text: #059669;--warning-bg: #fffbeb;--warning-text: #d97706;--danger-bg: #fef2f2;--danger-text: #dc2626;--danger-hover: #b91c1c;--color-primary: var(--primary-600);--color-primary-hover: var(--primary-700);--color-primary-active: var(--primary-800);--color-accent: var(--accent-500);--color-text-main: var(--neutral-700);--color-text-heading: var(--neutral-900);--color-text-secondary: var(--neutral-500);--color-text-tertiary: var(--neutral-400);--color-bg-body: var(--neutral-50);--color-bg-surface: #ffffff;--color-border: var(--neutral-200);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: "JetBrains Mono", "Monaco", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .05), 0 4px 6px -4px rgb(0 0 0 / .05);--shadow-focus: 0 0 0 3px var(--primary-100);--transition-base: all .2s cubic-bezier(.4, 0, .2, 1)}body{margin:0;font-family:var(--font-family);background-color:var(--color-bg-body);color:var(--color-text-main);line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.card{background-color:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--neutral-200);box-shadow:var(--shadow-sm);padding:1.5rem}@media (max-width: 640px){.card{padding:1rem;border-radius:var(--radius-md);box-shadow:none}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:var(--transition-base);border:1px solid transparent;cursor:pointer;white-space:nowrap;min-height:44px}@media (min-width: 640px){.btn{min-height:38px}}.btn-sm{padding:.25rem .75rem;font-size:var(--font-size-xs);min-height:32px}.btn-xs{padding:.125rem .5rem;font-size:.7rem;min-height:24px}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-primary:active{background-color:var(--color-primary-active)}.btn-default{background-color:#fff;border-color:var(--neutral-300);color:var(--neutral-700)}.btn-default:hover{background-color:var(--neutral-50);border-color:var(--neutral-400)}.btn-danger{background-color:var(--danger-text);color:#fff}.btn-danger:hover{background-color:var(--danger-hover)}.btn-outline{background-color:transparent;border-color:var(--neutral-300);color:var(--neutral-600)}.btn-outline-primary{background-color:#fff;border-color:var(--color-primary);color:var(--color-primary)}.btn-outline-primary:hover{background-color:var(--primary-50)}.btn-outline-danger{background-color:#fff;border-color:var(--danger-text);color:var(--danger-text)}.btn-outline-danger:hover{background-color:var(--danger-bg)}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:var(--font-size-sm);color:var(--neutral-900);background-color:#fff;background-clip:padding-box;border:1px solid var(--neutral-300);border-radius:var(--radius-md);transition:var(--transition-base);min-height:44px}@media (min-width: 640px){.form-control{min-height:38px}}.form-control:focus{outline:none;border-color:var(--primary-400);box-shadow:var(--shadow-focus)}.table-container{width:100%;overflow-x:auto;border:1px solid var(--neutral-200);border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.data-table thead{background-color:var(--neutral-50);color:var(--neutral-500);text-transform:uppercase;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.025em;position:sticky;top:0;z-index:10}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--neutral-100)}@media (max-width: 640px){.data-table th,.data-table td{padding:.75rem .5rem;font-size:.8rem}}.data-table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:var(--font-weight-medium);line-height:1.25}.toast{position:fixed;bottom:24px;right:24px;background-color:#323232;color:#fff;padding:12px 24px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:.875rem;z-index:50;display:flex;align-items:center;gap:8px;animation:slideIn .3s ease-out;max-width:360px;word-wrap:break-word;overflow:hidden}@media (max-width: 640px){.toast{bottom:16px;right:16px;left:16px;max-width:none;width:auto;justify-content:center}}.toast svg{width:20px;height:20px;color:#10b981}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:1rem}.modal-content{background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.5rem;width:100%;max-width:32rem;max-height:90vh;overflow-y:auto;animation:modalPop .2s cubic-bezier(.16,1,.3,1)}@keyframes modalPop{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}*,*:before,*:after{box-sizing:border-box}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-bold);color:var(--color-text-heading)}p{margin:0 0 1rem;color:var(--color-text-secondary)}a{color:var(--color-accent);text-decoration:none;transition:var(--transition-base)}a:hover{color:var(--accent-600)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.flex-1{flex:1}.w-full{width:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.shrink-0{flex-shrink:0}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.top-0{top:0}.z-10{z-index:10}.z-20{z-index:20}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.m-0{margin:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.whitespace-nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-light{font-weight:300}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-mono{font-family:var(--font-mono)}.bg-white{background-color:var(--color-bg-surface)}.bg-gray-50{background-color:var(--neutral-50)}.bg-gray-100{background-color:var(--neutral-100)}.bg-blue-50{background-color:var(--primary-50)}.bg-blue-100{background-color:var(--primary-100)}.bg-blue-600{background-color:var(--accent-600)}.bg-slate-800{background-color:var(--neutral-800)}.bg-slate-900{background-color:var(--neutral-900)}.bg-green-100{background-color:var(--success-bg)}.bg-red-100{background-color:var(--danger-bg)}.text-white{color:#fff}.text-gray-300{color:var(--neutral-300)}.text-gray-400{color:var(--neutral-400)}.text-gray-500{color:var(--neutral-500)}.text-gray-600{color:var(--neutral-600)}.text-gray-700{color:var(--neutral-700)}.text-gray-800{color:var(--neutral-800)}.text-gray-900{color:var(--neutral-900)}.text-blue-600{color:var(--accent-600)}.text-blue-800{color:var(--primary-800)}.text-red-500{color:var(--danger-text)}.text-red-600{color:var(--danger-hover)}.text-red-700{color:#b91c1c}.text-green-700{color:var(--success-text)}.text-slate-300{color:var(--neutral-300)}.text-slate-400{color:var(--neutral-400)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-primary-600{color:var(--accent-600)}.border{border-width:1px;border-style:solid}.border-b{border-bottom-width:1px;border-bottom-style:solid}.border-t{border-top-width:1px;border-top-style:solid}.border-gray-100{border-color:var(--neutral-100)}.border-gray-200{border-color:var(--neutral-200)}.border-gray-300{border-color:var(--neutral-300)}.border-slate-800{border-color:var(--neutral-800)}.border-blue-200{border-color:var(--primary-200)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-sm{box-shadow:var(--shadow-sm)}.rounded{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.w-4{width:1rem}.h-4{height:1rem}.w-5{width:1.25rem}.h-5{height:1.25rem}.w-8{width:2rem}.h-8{height:2rem}.w-16{width:4rem}.w-64{width:16rem}.h-16{height:4rem}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.hidden{display:none}.block{display:block}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:w-48{width:12rem}.md\:col-span-2{grid-column:span 2 / span 2}}.card{background:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:1.5rem;transition:var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition-base);border:1px solid transparent;outline:none;line-height:1.5;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--accent-600);color:#fff;border-color:transparent}.btn-primary:hover:not(:disabled){background-color:var(--primary-700);box-shadow:0 2px 4px #0000001a}.btn-secondary,.btn-default{background-color:#fff;border-color:var(--neutral-300);color:var(--neutral-700)}.btn-secondary:hover:not(:disabled),.btn-default:hover:not(:disabled){border-color:var(--neutral-400);background-color:var(--neutral-50);color:var(--neutral-900)}.btn-danger{background-color:var(--danger-text);color:#fff;border-color:transparent}.btn-danger:hover:not(:disabled){background-color:var(--danger-hover)}.btn-outline-danger{background-color:#fff;border-color:var(--neutral-200);color:var(--danger-text)}.btn-outline-danger:hover:not(:disabled){background-color:var(--danger-bg);border-color:var(--danger-text)}.btn-outline-primary{background-color:#fff;border-color:var(--neutral-200);color:var(--accent-600)}.btn-outline-primary:hover:not(:disabled){background-color:var(--primary-50);border-color:var(--accent-600)}.btn-text{background:none;border:none;padding:.25rem .5rem;color:var(--accent-600)}.btn-text:hover{text-decoration:underline;color:var(--primary-800)}.btn-xs{padding:.25rem .5rem;font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.btn-sm{padding:.375rem .75rem;font-size:var(--font-size-sm)}.btn-lg{padding:.75rem 1.5rem;font-size:var(--font-size-base)}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:var(--font-size-sm);color:var(--neutral-900);background-color:var(--color-bg-surface);border:1px solid var(--neutral-300);border-radius:var(--radius-md);transition:var(--transition-base)}.form-control:hover{border-color:var(--neutral-400)}.form-control:focus{border-color:var(--accent-600);box-shadow:0 0 0 3px #2563eb1a;outline:0}label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:.375rem;color:var(--neutral-700)}input[type=checkbox]{accent-color:var(--accent-600);width:1rem;height:1rem;border-radius:var(--radius-sm)}.table-container{width:100%;overflow-x:auto;background:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);text-align:left}.data-table thead{background-color:var(--neutral-50);border-bottom:1px solid var(--neutral-200)}.data-table th{color:var(--neutral-600);font-weight:var(--font-weight-semibold);padding:.75rem 1rem;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.data-table td{padding:.875rem 1rem;border-bottom:1px solid var(--neutral-100);color:var(--neutral-700);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background-color .15s}.data-table tbody tr:hover{background-color:var(--neutral-50)}.badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;line-height:1.25}.badge-neutral{background-color:var(--neutral-100);color:var(--neutral-600)}.badge-success{background-color:var(--success-bg);color:var(--success-text)}.badge-warning{background-color:var(--warning-bg);color:var(--warning-text)}.badge-danger{background-color:var(--danger-bg);color:var(--danger-text)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s}.modal-content{background:var(--color-bg-surface);padding:1.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:95%;max-width:500px;animation:slideUp .3s;border:1px solid var(--neutral-200)}.toast{position:fixed;top:20px;right:20px;left:auto;transform:none;background:#fff;color:var(--neutral-800);padding:1rem 1.25rem;border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px #0000001a;border:1px solid var(--neutral-200);display:flex;align-items:center;gap:.75rem;z-index:2000;animation:slideLeft .3s ease-out;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-left:4px solid var(--success-text);max-width:90%;max-width:360px;word-wrap:break-word;overflow:hidden}.toast svg{width:1.25rem;height:1.25rem;color:var(--success-text);flex-shrink:0}@media (max-width: 480px){.toast{top:auto;bottom:16px;right:16px;left:16px;max-width:none;width:auto}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn .5s ease-out}.public-container{width:100%;max-width:440px;margin:2rem auto;background:var(--color-bg-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);overflow:hidden;display:flex;flex-direction:column}.public-header{background:var(--neutral-900);color:#fff;padding:2.5rem 2rem;text-align:center}.public-section{padding:0 2rem;margin-bottom:2rem}.phone-card{background:#fff;border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-lg);margin-top:-2rem;text-align:center;border:1px solid var(--neutral-100)}.phone-number{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--neutral-900);margin:.5rem 0;cursor:pointer}.code-display-area{margin-top:1rem;background:var(--neutral-50);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;border:1px dashed var(--neutral-300)}.code-content{font-size:3rem;font-weight:800;color:var(--accent-600);font-family:var(--font-mono);cursor:pointer}.public-footer{background:var(--neutral-50);padding:1rem 2rem;text-align:center;font-size:var(--font-size-xs);color:var(--neutral-500);border-top:1px solid var(--neutral-200)}.tutorial-list li:before{background:var(--neutral-200);color:var(--neutral-600)}
