*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-card: #ffffff;--bg-card-hover: #f1f5f9;--bg-input: #f8fafc;--border-color: #e2e8f0;--border-light: #cbd5e1;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #0d9488;--accent-hover: #0f766e;--accent-dark: #115e59;--accent-light: #5eead4;--accent-bg: rgba(13, 148, 136, .08);--accent-bg-strong: rgba(13, 148, 136, .16);--danger: #ef4444;--warning: #f59e0b;--white: #ffffff;--section-padding: 80px 0;--container-max: 1200px;--transition: all .3s ease}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button,input,textarea,select{font-family:inherit;font-size:inherit;border:none;outline:none;background:none}.container{max-width:var(--container-max);margin:0 auto;padding:0 24px}.section{padding:var(--section-padding)}.section-title{font-size:2rem;font-weight:700;margin-bottom:16px;color:var(--text-primary)}.section-subtitle{font-size:1.05rem;color:var(--text-secondary);max-width:640px;margin:0 auto 48px;line-height:1.7}.text-center{text-align:center}.text-accent{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:var(--transition);border:none;white-space:nowrap}.btn-primary{background:var(--accent);color:var(--white)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #39a0cb40}.btn-outline{background:transparent;color:var(--text-primary);border:1.5px solid var(--border-color)}.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.btn-lg{padding:14px 36px;font-size:1.05rem}.btn-sm{padding:8px 20px;font-size:.85rem}.btn-block{width:100%}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:32px;transition:var(--transition)}.card:hover{border-color:var(--border-light);box-shadow:0 4px 20px #0000000f}.form-group{margin-bottom:20px}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-input{width:100%;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;transition:var(--transition)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);background:var(--white)}.form-input::placeholder{color:var(--text-muted)}textarea.form-input{resize:vertical;min-height:120px}select.form-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23475569' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-success{background:#39a0cb1a;color:var(--accent)}.badge-danger{background:#ef44441a;color:var(--danger)}.badge-popular{background:var(--accent);color:var(--white);padding:6px 16px}.alert{padding:12px 16px;border-radius:8px;font-size:.9rem;font-weight:500;margin-bottom:16px}.alert-error{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.alert-success{background:#39a0cb1a;color:var(--accent);border:1px solid rgba(57,160,203,.2)}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 0;gap:16px;color:var(--text-muted)}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:60px 0;color:var(--text-muted);font-size:1rem}.modal-overlay{position:fixed;inset:0;z-index:1000;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-card);border-radius:16px;padding:32px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:scaleIn .2s ease}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-close{position:absolute;top:16px;right:16px;cursor:pointer;color:var(--text-muted);background:none;border:none;padding:4px;border-radius:6px;transition:var(--transition)}.modal-close:hover{color:var(--text-primary);background:var(--bg-secondary)}.modal-content>.modal-close,.modal-card>.modal-close{position:sticky!important;top:12px;float:right;z-index:20;margin:-16px -16px -32px 8px;background-color:inherit;border-radius:999px!important;box-shadow:0 2px 8px #0f172a1f}.modal-content:has(>.modal-close+h2){padding-top:0!important}.modal-content:has(>.modal-close+h2)>.modal-close{top:16px;margin-top:16px;margin-bottom:-48px}.modal-content>.modal-close+h2{position:sticky;top:0;z-index:19;background-color:inherit;padding-top:30px;padding-bottom:12px}.modal-content>.modal-header,.modal-card>.modal-header,.modal-card>.modal-head{position:sticky;top:0;z-index:20;background-color:#fff}.modal-content h2{font-size:1.3rem;margin-bottom:4px;padding-right:40px}.modal-sub{color:var(--text-secondary);font-size:.9rem;margin-bottom:20px}.modal-content .form-row{display:flex;gap:12px}.modal-content .form-row .form-group{flex:1}.modal-price{display:flex;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary);border-radius:8px;margin-bottom:16px;font-size:.9rem;color:var(--text-secondary);font-weight:500}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:768px){:root{--section-padding: 48px 0}.section-title{font-size:1.6rem}.section-subtitle{font-size:1rem}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.has-error input,.has-error select,.has-error textarea,.has-error button,.has-error .admin-slot-btn,input.has-error,select.has-error,textarea.has-error,.field-error-highlight{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef444440!important;background-color:#fef2f2!important;animation:shakeError .4s ease-in-out}@keyframes shakeError{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.admin-shell select:not([multiple]):not([size]),.admin-shell input[type=text],.admin-shell input[type=search],.admin-shell input[type=email],.admin-shell input[type=tel],.admin-shell input[type=number],.admin-shell input[type=date],.admin-shell input[type=datetime-local],.admin-shell input[type=month],.admin-shell input[type=time],.admin-shell input[type=password],.admin-shell input:not([type]){box-sizing:border-box!important;height:40px!important;min-height:40px;padding-top:0!important;padding-bottom:0!important;border:1px solid #cbd5e1!important;border-radius:8px!important;background-color:#fff;color:#0f172a;font-family:inherit;font-size:.875rem!important;line-height:38px;transition:border-color .15s ease,box-shadow .15s ease;vertical-align:middle}.admin-shell select:not([multiple]):not([size]){appearance:none!important;padding-left:.8rem!important;padding-right:2.2rem!important;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .8rem center!important;background-size:12px!important;text-overflow:ellipsis}.admin-shell input[type=date]::-webkit-datetime-edit,.admin-shell input[type=datetime-local]::-webkit-datetime-edit{padding:0;line-height:1}.admin-shell input[type=date]::-webkit-date-and-time-value{text-align:left}.admin-shell select:not([multiple]):not([size]):hover,.admin-shell input[type=text]:hover,.admin-shell input[type=search]:hover,.admin-shell input[type=email]:hover,.admin-shell input[type=tel]:hover,.admin-shell input[type=number]:hover,.admin-shell input[type=date]:hover,.admin-shell input[type=datetime-local]:hover,.admin-shell input[type=password]:hover{border-color:#94a3b8!important}.admin-shell select:focus,.admin-shell input:focus,.admin-shell textarea:focus{outline:none!important;border-color:#0d9488!important;box-shadow:0 0 0 3px #0d948826!important}.admin-shell select:disabled,.admin-shell input:disabled{background-color:#f1f5f9!important;color:#94a3b8;cursor:not-allowed}.admin-shell textarea{border:1px solid #cbd5e1;border-radius:8px;font-family:inherit;font-size:.875rem}.admin-shell td select:not([multiple]):not([size]),.admin-shell .status-select,.admin-shell .bio-page-select{height:32px!important;min-height:32px;line-height:30px;font-size:.8rem!important}.admin-shell .status-picker select:not([multiple]):not([size]){height:28px!important;min-height:28px;line-height:28px;padding:0 30px 0 27px!important;border:none!important;border-radius:999px!important;background:transparent none!important;box-shadow:none!important;color:inherit;font-size:.8rem!important;font-weight:600;min-width:118px;cursor:pointer}.admin-shell .status-picker select:focus{box-shadow:none!important;border:none!important}.admin-shell .status-picker select option{color:#0f172a;background:#fff;font-weight:500}.admin-shell .toolbar .btn,.admin-shell .filters .btn,.admin-shell .filter-bar .btn{min-height:40px}.admin-shell .search-box,.admin-shell .search-input-wrap{box-sizing:border-box;height:40px;padding-top:0!important;padding-bottom:0!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:8px;transition:border-color .15s ease,box-shadow .15s ease}.admin-shell .search-box:hover,.admin-shell .search-input-wrap:hover{border-color:#94a3b8!important}.admin-shell .search-box:focus-within,.admin-shell .search-input-wrap:focus-within{border-color:#0d9488!important;box-shadow:0 0 0 3px #0d948826}.admin-shell .search-box input,.admin-shell .search-input-wrap input,.admin-shell .search-input-wrap select{height:100%!important;min-height:0!important;border:none!important;border-radius:0!important;background-color:transparent!important;box-shadow:none!important;padding-left:0!important;line-height:normal}.admin-shell .search-input-wrap select{padding-right:1.6rem!important;background-position:right .2rem center!important}.admin-shell .table-wrap,.admin-shell .data-table-wrap{overflow-x:auto;border-radius:10px}.admin-shell table:is(.admin-table,.data-table,.clean-table,.report-table,.payments-table,.bio-table,.ac-table){width:100%;border-collapse:separate;border-spacing:0;font-size:.86rem;color:#1e293b}.admin-shell table:is(.admin-table,.data-table,.clean-table,.report-table,.payments-table,.bio-table,.ac-table) th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#64748b;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:12px 16px;border-bottom:1px solid #e7ebf0;white-space:nowrap}.admin-shell table:is(.admin-table,.data-table,.clean-table,.report-table,.payments-table,.bio-table,.ac-table) td{padding:13px 16px;border-bottom:1px solid #f1f4f8;vertical-align:middle;line-height:1.45;background:#fff;transition:background-color .12s ease}.admin-shell table:is(.admin-table,.data-table,.clean-table,.report-table,.payments-table,.bio-table,.ac-table) tbody tr:last-child td{border-bottom:none}.admin-shell table:is(.admin-table,.data-table,.clean-table,.report-table,.payments-table,.bio-table,.ac-table) tbody tr:hover td{background:#f7fbfa}.admin-shell table:is(.admin-table,.data-table,.clean-table,.report-table,.payments-table,.bio-table,.ac-table) td:first-child{font-weight:600;color:#0f172a}.admin-shell .admin-table .cell-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:280px;overflow-wrap:anywhere}.admin-shell .admin-table :is(td,th):is(.col-date,.col-datetime,.col-currency,.col-status,.col-booking-status,.col-invoice-status,.col-boolean){white-space:nowrap}.admin-shell .admin-table td.col-currency{font-variant-numeric:tabular-nums;font-weight:600}.admin-shell .admin-table :is(td,th):is(.col-key-email,.col-key-phone,.col-key-phoneNumber){white-space:nowrap}.admin-shell .admin-table td:is(.col-key-email,.col-key-phone,.col-key-phoneNumber){color:#475569}.admin-shell .admin-table .actions-col{text-align:right}.admin-shell .admin-table .actions-cell{white-space:nowrap;text-align:right}.admin-shell .admin-table .actions-cell>*{vertical-align:middle;margin-left:6px}.admin-shell .admin-table .actions-cell .action-btn{display:inline-flex;width:32px;height:32px;border-radius:8px}.admin-shell .admin-table .actions-cell .status-select{height:32px;border-radius:8px;padding:0 8px;font-size:.78rem}.admin-shell .admin-table .actions-cell .btn-admin{height:32px;border-radius:8px}.admin-shell .status-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:600;line-height:1.5;white-space:nowrap;background:#f1f5f9;color:#475569;border:1px solid transparent}.admin-shell .status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.admin-shell .status-badge:is(.status-new,.status-open,.status-pending,.status-unpaid,.status-draft,.status-sent,.status-agreementsent){background:#fff7ed;color:#c2410c;border-color:#fed7aa}.admin-shell .status-badge:is(.status-inprogress,.status-in-progress,.status-partial,.status-quoted,.status-viewed){background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.admin-shell .status-badge:is(.status-resolved,.status-closed,.status-paid,.status-confirmed,.status-active,.status-approved,.status-converted,.status-signed,.status-completed,.status-accepted){background:#ecfdf5;color:#047857;border-color:#a7f3d0}.admin-shell .status-badge:is(.status-cancelled,.status-rejected,.status-failed,.status-expired,.status-overdue,.status-inactive,.status-noshow,.status-declined,.status-suspended){background:#fef2f2;color:#b91c1c;border-color:#fecaca}.field-error-text{display:block;margin-top:4px;color:#dc2626;font-size:.78rem;line-height:1.3}input.input-invalid{border-color:#ef4444!important}
