*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--color-bg);color:var(--color-text);min-height:100vh}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}:root{--color-primary: #0077b5;--color-primary-dark: #005f92;--color-bg: #f4f6fb;--color-surface: #ffffff;--color-surface-alt: #f8fafc;--color-text: #1f2933;--color-muted: #64748b;--color-muted-light: #94a3b8;--color-border: #e2e8f0;--color-input-border: #cbd5e1;--color-danger-bg: #fee2e2;--color-danger: #b91c1c;--color-info-bg: #eff6ff;--color-info-border: #bfdbfe;--color-info-text: #1e3a8a;--radius: 8px;--radius-lg: 12px;--shadow-card: 0 10px 30px rgba(15, 23, 42, .08);--control-h: 2.5rem;--control-h-sm: 2rem;--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}.page{min-height:100vh;padding:2rem;background:var(--color-bg);color:var(--color-text)}.card{max-width:560px;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.75rem}.card--narrow{max-width:400px}.card--medium{max-width:720px}.card--wide{max-width:1200px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.card-header-actions{display:flex;gap:.5rem}.app-logo{display:block;max-width:100%;height:auto;max-height:180px;margin:0 auto 1rem}.app-logo--sm{display:block;width:auto;height:100px;margin:0}.dashboard-header{gap:.75rem;margin-bottom:1.1rem}.dashboard-header .btn{padding:.45rem .9rem;font-size:.88rem}.card-header .app-logo--sm{height:100px;margin-bottom:0}.page-title--center{text-align:center}.page-subtitle--justify{text-align:justify}.inline-edit{display:inline-flex;align-items:center;gap:.35rem}.inline-edit input,.inline-select{width:10rem;height:var(--control-h-sm);padding:0 .5rem;border:1px solid var(--color-input-border);border-radius:var(--radius);font-size:.9rem}.inline-edit input{text-align:right}.inline-edit input.inline-input,.inline-edit input[type=tel]{text-align:left}.inline-edit--stack{display:inline-flex;flex-direction:column;align-items:stretch;gap:.35rem;min-width:20rem}.inline-edit--stack .inline-select,.inline-edit--stack input{width:100%;text-align:left}.inline-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:#fff;background-image:var(--select-chevron);background-repeat:no-repeat;background-position:right .5rem center;padding-right:1.9rem;color:inherit}.inline-edit-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.page-title{font-size:1.5rem}.card--narrow .page-title{margin-top:-.9rem;margin-bottom:.9rem}.page-subtitle{color:var(--color-muted);font-size:1rem;margin-top:.25rem}.page-subtitle--center{text-align:center;margin-top:-.5rem}.form{display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:var(--radius);padding:.6rem 1.1rem;font-size:.95rem;font-weight:600;cursor:pointer;background:var(--color-primary);color:#fff;text-decoration:none;transition:opacity .2s,transform .2s}.btn:hover{opacity:.92;transform:translateY(-1px);text-decoration:none}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn--secondary{background:var(--color-border);color:var(--color-text)}.btn--ghost{background:transparent;color:var(--color-primary);padding:.35rem .6rem}.btn--block{width:100%}.btn--small{padding:.35rem .7rem;font-size:.8rem}.btn--danger{background:var(--color-danger)}.btn--linkedin{border-radius:999px;padding:.75rem 1.5rem;font-size:1rem}.field{display:flex;flex-direction:column;gap:.4rem}.field label{font-size:.8rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.03em}.field input,.field select{width:100%;height:var(--control-h);padding:0 .75rem;border:1px solid var(--color-input-border);border-radius:var(--radius);font-size:.95rem;background:#fff;color:var(--color-text)}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:var(--select-chevron);background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.2rem}.field input:focus,.field select:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.phone-input{display:flex;gap:.5rem}.phone-input select{width:auto;min-width:7.5rem;flex-shrink:0}.phone-input input{flex:1;min-width:0}.error-box{background:var(--color-danger-bg);color:var(--color-danger);padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem}.info-panel{margin-top:1rem;padding:1rem 1.25rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:10px}.info-panel h2,.info-panel h3{margin-bottom:.5rem}.info-panel p+p{margin-top:.35rem}.info-panel--primary{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}.badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge--success{background:#dcfce7;color:#15803d}.badge--warning{background:#fef3c7;color:#b45309}.badge--muted{background:#f1f5f9;color:var(--color-muted)}.profile-list{display:grid;gap:.6rem}.profile-list .profile-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.profile-list .profile-row:last-child{padding-bottom:0;border-bottom:none}.profile-list dt{color:var(--color-muted);font-weight:600}.profile-list dd{text-align:right;word-break:break-word}.loading-text{margin-top:1rem;text-align:center;color:var(--color-muted)}.spinner{display:inline-block;width:1rem;height:1rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spinner-spin .7s linear infinite;flex-shrink:0}@keyframes spinner-spin{to{transform:rotate(360deg)}}.btn .spinner{width:.9rem;height:.9rem;border-color:#fff6;border-top-color:#fff}.progress-indicator{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:1rem;color:var(--color-muted);font-size:.875rem;text-align:center}.privacy-note{margin-top:1rem;text-align:center;font-size:.75rem;color:var(--color-muted-light)}.welcome-note{margin-bottom:1.25rem;padding:1rem 1.25rem;background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:10px;color:var(--color-info-text)}.welcome-note h2{font-size:1.05rem;margin-bottom:.25rem}.welcome-note p{font-size:.875rem}.messages-panel{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.messages-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.messages-title{font-size:1.1rem}.messages-subtitle{margin-top:.25rem;font-size:.85rem;color:var(--color-muted)}.messages-note{margin-bottom:1rem;padding:.7rem 1rem;background:#fef3c7;border:1px solid #fde68a;border-radius:var(--radius);font-size:.8rem;color:#92400e}.messages-group-title{margin:1rem 0 .6rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.messages-empty{padding:1rem;text-align:center;font-size:.85rem;color:var(--color-muted-light);background:var(--color-surface-alt);border:1px dashed var(--color-border);border-radius:10px}.messages-list{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}.message-card{padding:1rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:10px}.message-card--example{background:#eef2f7;border-color:#cbd5e1;color:var(--color-muted);opacity:.85}.message-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.message-card__title{font-size:.95rem}.message-card__rate{font-weight:700;color:var(--color-primary);white-space:nowrap}.message-card__description{margin-top:.4rem;font-size:.85rem;color:var(--color-muted)}.message-card__meta{display:inline-block;margin-top:.5rem;font-size:.75rem;color:var(--color-muted-light)}.message-card__actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.message-card__actions-left{display:flex;flex-wrap:wrap;gap:.5rem}.message-card__actions--end{justify-content:flex-end}.btn--muted{background:#e2e8f0;color:#475569}.btn--muted:hover{background:#d7dee8}@media (max-width: 560px){.message-card__head{flex-direction:column;gap:.25rem}.message-card__actions{justify-content:flex-start}}.spec-chips{display:flex;flex-wrap:wrap;gap:.3rem}.field .spec-chips{margin-bottom:.5rem}.spec-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .5rem;border-radius:999px;background:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-info-text);font-size:.75rem;font-weight:500;white-space:nowrap}.spec-chip--suggestion{background:var(--color-muted);border-color:var(--color-border);color:var(--color-text);font-style:italic}.spec-chip__remove{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;padding:0;border:none;border-radius:50%;background:transparent;color:inherit;font-size:.9rem;line-height:1;cursor:pointer}.spec-chip__remove:hover{background:var(--color-border)}.spec-combobox{position:relative}.spec-dropdown{position:absolute;top:100%;left:0;right:0;z-index:20;list-style:none;margin:.25rem 0 0;padding:.25rem 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);max-height:200px;overflow-y:auto}.spec-dropdown-item{padding:.45rem .75rem;font-size:.875rem;cursor:pointer}.spec-dropdown-item:hover{background:var(--color-info-bg)}.spec-dropdown-footer{margin-top:.25rem;padding:.45rem .75rem;font-size:.8125rem;color:var(--color-primary);border-top:1px solid var(--color-border);cursor:pointer;font-weight:500}.spec-dropdown-footer:hover{background:var(--color-info-bg)}@media (max-width: 560px){.spec-options{grid-template-columns:1fr}}@media (max-width: 640px){.page{padding:1rem}.card{padding:1.25rem}.card-header{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.card-header-actions{width:100%}.card-header-actions .btn{flex:1}.profile-list .profile-row{flex-direction:column;align-items:flex-start;gap:.25rem}.profile-list dd{text-align:left}.inline-edit,.inline-edit--stack,.inline-edit input,.inline-select{width:100%}.inline-edit-actions .btn{flex:1}.welcome-note,.info-panel{padding:.85rem 1rem}.message-card{padding:.9rem}.messages-header{flex-wrap:wrap}.messages-note{padding:.6rem .8rem}.app-logo{max-height:100px}.app-logo--sm{height:44px}.card-header .app-logo--sm{height:65px}}.admin-layout{display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg)}.admin-topbar{display:flex;align-items:center;gap:1.25rem;padding:.7rem 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.admin-topbar .app-logo--sm{height:100px;margin:0}.admin-topbar-nav{display:flex;gap:.5rem;margin-right:auto}.admin-topbar-nav button{border:none;background:transparent;padding:.55rem 1rem;border-radius:var(--radius);font-size:.9rem;font-weight:500;color:var(--color-text);cursor:pointer;transition:background .15s}.admin-topbar-nav button:hover{background:var(--color-surface-alt)}.admin-topbar-nav button.active{background:var(--color-info-bg);color:var(--color-info-text);font-weight:600}.admin-sidebar{width:230px;flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:1.5rem;padding:1.25rem 1rem;position:sticky;top:0;height:100vh}.admin-sidebar-brand{font-size:1.1rem;font-weight:700;color:var(--color-primary)}.admin-sidebar-group{display:flex;flex-direction:column;gap:.5rem}.admin-sidebar-group-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}.admin-sidebar-nav{display:flex;flex-direction:column;gap:.25rem}.admin-sidebar-nav button{text-align:left;border:none;background:transparent;padding:.55rem .7rem;border-radius:var(--radius);font-size:.9rem;font-weight:500;color:var(--color-text);cursor:pointer;transition:background .15s}.admin-sidebar-nav button:hover{background:var(--color-surface-alt)}.admin-sidebar-nav button.active{background:var(--color-info-bg);color:var(--color-info-text);font-weight:600}.admin-sidebar-footer{margin-top:auto}.admin-sidebar-footer .btn{width:100%}.admin-main{flex:1;min-width:0}.admin-main .page{min-height:100%}.admin-filters{display:grid;grid-template-columns:2fr 1fr 1fr .7fr .7fr 2fr;gap:1rem;margin-bottom:1.25rem;padding:1rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:10px}.spec-create{display:flex;align-items:flex-end;gap:.75rem;margin-bottom:1.25rem;padding:1rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:10px}.spec-create .field{flex:1}.spec-actions{display:flex;flex-wrap:wrap;gap:.4rem}.admin-table td input{height:var(--control-h-sm);width:100%;padding:0 .55rem;border:1px solid var(--color-input-border);border-radius:var(--radius);font-size:.9rem}@media (max-width: 640px){.admin-topbar{flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem}.admin-topbar-nav{flex-wrap:wrap}.admin-topbar .app-logo--sm{height:65px}.admin-sidebar{gap:.75rem;padding:.85rem 1rem}.admin-sidebar-nav{flex-direction:row;flex-wrap:wrap}.admin-filters{grid-template-columns:1fr}.spec-create{flex-direction:column;align-items:stretch}.spec-create .btn{width:100%}.admin-pagination{flex-direction:column;align-items:flex-start}.admin-pagination .admin-controls{width:100%;justify-content:space-between;flex-wrap:wrap}}@media (max-width: 900px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.admin-sidebar-footer{margin-top:0}.admin-filters{grid-template-columns:1fr 1fr}}.admin-table-wrapper{overflow-x:auto;border:1px solid var(--color-border);border-radius:10px}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th{background:#f1f5f9;color:#475569;text-align:left;padding:.75rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-bottom:1px solid var(--color-border)}.admin-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-table th.sortable:hover{color:var(--color-primary)}.admin-table th .sort-indicator{margin-left:.35rem;color:var(--color-primary)}.admin-table td{padding:.7rem .75rem;border-bottom:1px solid #f1f5f9;vertical-align:middle}.admin-table .col-name{min-width:260px;white-space:nowrap}.admin-table .col-phone{width:170px;white-space:nowrap}.admin-table .col-created{width:180px;white-space:nowrap}.admin-table tbody tr:hover{background:var(--color-surface-alt)}.admin-user-cell{display:flex;align-items:center;gap:.6rem}.admin-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.admin-empty{padding:2.5rem;text-align:center;color:var(--color-muted-light)}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;flex-wrap:wrap}.admin-pagination .admin-page-info{font-size:.85rem;color:var(--color-muted)}.admin-pagination .admin-controls{display:flex;align-items:center;gap:.5rem}.admin-pagination select{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:var(--control-h-sm);padding:0 1.9rem 0 .6rem;border:1px solid var(--color-input-border);border-radius:var(--radius);background:#fff;background-image:var(--select-chevron);background-repeat:no-repeat;background-position:right .5rem center;font-size:.9rem}.admin-summary{margin-top:1.25rem;padding:1rem 1.25rem;background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:10px;font-size:.95rem;color:var(--color-info-text);display:flex;flex-wrap:wrap;gap:1.5rem}.admin-summary strong{color:#1d4ed8}.admin-loading{padding:2rem;text-align:center;color:var(--color-muted)}
