:root{--navy-950:#1a2332;--navy-800:#2c5f7c;--cyan-500:#4a9fbf;--copper-500:#e67e22;--slate-900:#2c3e50;--slate-600:#7f8c8d;--slate-100:#ecf0f1;--pure-white:#fff;--ink-950:#1c1c1c;--success-500:#27ae60;--danger-500:#e74c3c;--text:var(--slate-900);--text-h:var(--ink-950);--text-muted:var(--slate-600);--bg:var(--slate-100);--bg-elevated:var(--pure-white);--bg-strong:var(--navy-950);--border:color-mix(in srgb, var(--slate-600) 35%, transparent);--accent:var(--navy-800);--accent-hover:var(--cyan-500);--accent-soft:color-mix(in srgb, var(--cyan-500) 22%, transparent);--cta:var(--copper-500);--shadow-soft:0 12px 26px color-mix(in srgb, var(--navy-950) 16%, transparent);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;font-size:17px;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(circle at top, #4a9fbf2e, transparent 55%), var(--bg);min-width:768px;margin:0}a{color:inherit}#root{min-height:100svh}@media (width<=1024px){:root{font-size:16px}body{min-width:0}}.app-shell{flex-direction:column;min-height:100svh;display:flex}.container{box-sizing:border-box;width:min(100%,1080px);margin:0 auto;padding-inline:24px}.topbar{border-bottom:1px solid var(--border);background:var(--bg-elevated)}.topbar-inner{justify-content:space-between;align-items:center;gap:16px;min-height:72px;display:flex}.brand{color:var(--text-h);letter-spacing:.2px;font-size:1.1rem;font-weight:600;text-decoration:none}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.session-email{background:color-mix(in srgb, var(--navy-800) 10%, var(--bg));border:1px solid var(--border);max-width:240px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;padding:8px 12px;font-size:.88rem;line-height:1;overflow:hidden}.main-content{flex:1;justify-content:center;align-items:center;padding-block:40px;display:flex}.home-main{align-items:center;padding-block:clamp(16px,2.8vw,28px)}.admin-main{align-items:flex-start}.panel{border:1px solid var(--border);background:var(--bg-elevated);width:min(100%,760px);box-shadow:var(--shadow-soft);border-radius:16px;padding:28px}.admin-panel{background:linear-gradient(#fffffffa,#ecf0f1cc);width:min(100%,1100px)}.dashboard-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.dashboard-card{border:1px solid color-mix(in srgb, var(--navy-800) 25%, transparent);min-height:180px;box-shadow:0 18px 30px color-mix(in srgb, var(--navy-950) 14%, transparent);background:linear-gradient(135deg,#2c5f7c14,#4a9fbf1f);border-radius:18px;gap:10px;padding:20px 22px;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.dashboard-card:hover{border-color:color-mix(in srgb, var(--navy-800) 40%, transparent);transform:translateY(-3px)}.card-label{text-transform:uppercase;letter-spacing:1px;color:var(--navy-800);align-items:center;gap:8px;font-size:.82rem;font-weight:600;display:inline-flex}.dashboard-card h2{color:var(--text-h);margin:0;font-size:1.25rem}.dashboard-card p{color:var(--text-muted);margin:0}.card-cta{color:var(--accent);margin-top:auto;font-weight:600}.admin-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.admin-header h1{margin:0 0 8px;font-size:clamp(1.6rem,3vw,2.2rem)}.admin-header p{color:var(--text-muted);margin:0}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.search-field{gap:6px;min-width:min(320px,100%);display:grid}.search-field span{color:var(--text-muted);font-size:.85rem}.search-field input{border:1px solid var(--border);background:var(--bg-elevated);min-height:44px;font:inherit;border-radius:12px;padding:0 14px}.search-field input:focus{outline:3px solid var(--accent-soft);border-color:var(--accent)}.table-card{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-soft);border-radius:16px;overflow:hidden}.table-card table{border-collapse:collapse;width:100%;font-size:.95rem}.table-card thead{background:color-mix(in srgb, var(--navy-800) 12%, var(--bg));text-align:left}.table-card th,.table-card td{border-bottom:1px solid var(--border);padding:14px 16px}.table-card td:last-child,.table-card th:last-child{white-space:nowrap;width:1%}.table-card th.col-status,.table-card td.col-status{white-space:nowrap;width:150px;min-width:140px}.items-table th:last-child,.items-table td:last-child{width:120px}.items-table td input{min-width:120px}.items-table th,.items-table td{text-align:left}.items-table input[type=number]{text-align:right}.items-toolbar{margin-top:8px;padding-left:12px}.btn-icon{border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:.95rem;line-height:1;display:inline-flex}.action-icon{flex:0 0 18px;width:18px;height:18px;display:block}.table-card input{border:1px solid var(--border);background:var(--bg-elevated);width:100%;min-height:36px;color:var(--text-h);font:inherit;border-radius:6px;padding:0 10px}.table-card input:focus{outline:3px solid var(--accent-soft);border-color:var(--accent)}.table-card tbody tr:hover{background:color-mix(in srgb, var(--cyan-500) 10%, transparent)}.table-card tbody tr:nth-child(2n){background:color-mix(in srgb, var(--navy-800) 4%, transparent)}.cell-title{color:var(--text-h);font-weight:600}.cell-subtitle{color:var(--text-muted);font-size:.85rem}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.btn-small{padding:8px 12px;font-size:.85rem}.badge{background:color-mix(in srgb, var(--navy-800) 12%, transparent);color:var(--navy-800);border-radius:999px;padding:6px 10px;font-size:.8rem;font-weight:600}.badge-cancelled{color:var(--danger-500);background:color-mix(in srgb, var(--danger-500) 14%, transparent);border:1px solid color-mix(in srgb, var(--danger-500) 28%, transparent);white-space:nowrap}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:6px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.status-badge.is-active{background:color-mix(in srgb, var(--success-500) 16%, transparent);color:var(--success-500)}.status-badge.is-inactive{background:color-mix(in srgb, var(--danger-500) 14%, transparent);color:var(--danger-500)}.toggle-group{background:color-mix(in srgb, var(--navy-800) 8%, transparent);border:1px solid var(--border);border-radius:999px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:6px;display:flex}.toggle-option{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;justify-content:center;align-items:center;padding:8px 14px;font-weight:600;transition:background .16s,color .16s;display:inline-flex}.toggle-option.is-active{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff}.admin-panel select,.admin-panel input,.admin-panel textarea{background:var(--bg-elevated)}.state-card{border:1px dashed color-mix(in srgb, var(--navy-800) 25%, transparent);background:#fff9;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.state-card p{color:var(--text-muted);margin:0}.state-error{border-color:color-mix(in srgb, var(--danger-500) 40%, transparent);background:color-mix(in srgb, var(--danger-500) 8%, transparent)}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:30;background:#1a233273;justify-content:center;align-items:center;padding:24px;animation:.16s fadeIn;display:flex;position:fixed;inset:0}.swal2-container{z-index:40}.modal{border:1px solid color-mix(in srgb, var(--navy-800) 25%, transparent);width:min(720px,100%);max-height:calc(100vh - 48px);box-shadow:0 24px 48px color-mix(in srgb, var(--navy-950) 30%, transparent);background:linear-gradient(#fffffffa,#ecf0f1f0);border-radius:12px;flex-direction:column;padding:24px 28px 28px;animation:.2s modalUp;display:flex;position:relative;overflow:hidden}.modal-lg{width:min(920px,100%)}.modal:before{content:"";pointer-events:none;opacity:.9;background:radial-gradient(circle at top,#4a9fbf26,#0000 55%);position:absolute;inset:0}.modal>*{z-index:1;position:relative}.modal-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.modal-form-wrapper{flex-direction:column;flex-grow:1;display:flex;overflow:hidden}.modal-scroll-area{flex-grow:1;padding-right:12px;overflow-y:auto}.modal-scroll-area::-webkit-scrollbar{width:6px}.modal-scroll-area::-webkit-scrollbar-track{background:0 0}.modal-scroll-area::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--navy-800) 20%, transparent);border-radius:99px}.modal-scroll-area::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--navy-800) 40%, transparent)}.form-section{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated) 86%, transparent);border-radius:10px;min-width:0;margin:0 0 18px;padding:16px}.form-section:last-child{margin-bottom:0}.form-section legend{color:var(--text-h);padding:0 8px;font-size:1rem;font-weight:700}.modal .form-section-help{margin:0 0 4px;font-size:.9rem}.form-section .form-grid{margin-top:14px}.modal-footer-actions{border-top:1px solid var(--border);flex-shrink:0;margin-top:16px;padding-top:16px}.modal h2{margin:0 0 6px;font-size:1.4rem}.modal p{color:var(--text-muted);margin:0}.field select{border:1px solid var(--border);background:var(--bg-elevated);width:100%;min-height:44px;color:var(--text-h);font:inherit;border-radius:6px;padding:0 12px}.field select:focus{outline:3px solid var(--accent-soft);border-color:var(--accent)}.form-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.field-full{grid-column:1/-1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalUp{0%{opacity:.6;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.home-panel,.dashboard-panel{text-align:left}.home-panel-shell{border-radius:22px;width:min(100%,1100px);padding:clamp(20px,2.8vw,30px)}.home-hero{grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr);align-items:start;gap:clamp(18px,2.2vw,26px);display:grid}.home-copy h1{color:var(--text-h)}.home-copy p{max-width:480px}.home-media{gap:12px;width:min(100%,420px);margin-left:auto;display:grid}.home-hero-image{aspect-ratio:16/10;object-fit:cover;object-position:center;border:1px solid color-mix(in srgb, var(--navy-800) 22%, transparent);width:100%;box-shadow:0 16px 28px color-mix(in srgb, var(--navy-950) 20%, transparent);border-radius:16px}.home-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.home-thumb-button{border:1px solid color-mix(in srgb, var(--navy-800) 22%, transparent);cursor:pointer;background:0 0;border-radius:10px;margin:0;padding:0;line-height:0;transition:transform .14s,border-color .14s,box-shadow .14s}.home-thumb-button:hover{border-color:color-mix(in srgb, var(--navy-800) 45%, transparent);transform:translateY(-1px)}.home-thumb-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.home-thumb-button.is-active{border-color:color-mix(in srgb, var(--navy-800) 62%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 34%, transparent)}.home-thumb-button img{aspect-ratio:4/3;object-fit:cover;object-position:center;width:100%;box-shadow:0 8px 14px color-mix(in srgb, var(--navy-950) 16%, transparent);border-radius:10px}.home-panel h1,.auth-card h1,.dashboard-panel h1{margin:0 0 12px;font-size:clamp(1.7rem,3vw,2.2rem)}.home-panel p,.auth-card p,.dashboard-panel p{color:var(--text-muted);margin:0}.home-actions{margin-top:20px}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.95rem;font-weight:500;line-height:1;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s,color .16s;display:inline-flex}.btn:disabled{opacity:.75;cursor:not-allowed}.btn-spinner{border:2px solid;border-top-color:#0000;border-radius:999px;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swal-form-popup{box-shadow:0 24px 48px color-mix(in srgb, var(--navy-950) 30%, transparent)!important;border:1px solid color-mix(in srgb, var(--navy-800) 25%, transparent)!important;box-sizing:border-box!important;background:linear-gradient(#fffffffa,#ecf0f1f2)!important;border-radius:12px!important;padding:24px 28px!important;font-family:inherit!important}.service-order-item-popup .swal2-html-container{box-sizing:border-box!important;width:100%!important;margin:18px 0 0!important;padding:0!important}.service-order-item-popup .swal2-title{color:var(--text-h)!important;text-align:left!important;box-sizing:border-box!important;width:100%!important;margin:0 0 12px!important;padding:0!important;font-size:1.35rem!important;font-weight:600!important}.swal-form-body{text-align:left;display:grid;box-sizing:border-box!important;gap:16px!important;width:100%!important}.service-order-item-body .swal-form-grid{grid-template-columns:1fr;gap:16px;width:100%;display:grid}.service-order-item-body .swal-form-field{flex-direction:column;gap:8px;width:100%;display:flex}.service-order-item-body .swal-form-field span{color:var(--text-h);font-size:.92rem;font-weight:500}.service-order-item-body .swal2-select,.service-order-item-body .swal2-input{transition:all .2s;border:1px solid var(--border)!important;background:var(--bg-elevated)!important;width:100%!important;min-height:44px!important;color:var(--text-h)!important;font:inherit!important;box-shadow:none!important;box-sizing:border-box!important;text-align:left!important;border-radius:6px!important;margin:0!important;padding:0 12px!important}.service-order-item-body .swal2-input:focus,.service-order-item-body .swal2-select:focus{outline:3px solid var(--accent-soft)!important;border-color:var(--accent)!important}.service-order-item-body .swal2-input[type=number]{text-align:right!important}.service-order-item-popup .swal2-actions{box-sizing:border-box!important;flex-direction:row!important;justify-content:flex-end!important;gap:10px!important;width:100%!important;margin:24px 0 0!important;padding:0!important;display:flex!important}.swal-form-confirm,.swal-form-cancel{box-sizing:border-box!important;border-radius:6px!important;flex:none!important;justify-content:center!important;align-items:center!important;min-width:120px!important;min-height:44px!important;margin:0!important;padding:10px 24px!important;font-size:.95rem!important;font-weight:500!important;display:inline-flex!important}.swal-form-confirm{background-color:var(--navy-800)!important;color:#fff!important;border:1px solid #0000!important}.swal-form-confirm:hover{background-color:var(--cyan-500)!important}.swal-form-cancel{background-color:color-mix(in srgb, var(--navy-800) 10%, transparent)!important;color:var(--accent)!important;border:1px solid color-mix(in srgb, var(--navy-800) 45%, transparent)!important}.swal-form-cancel:hover{background-color:color-mix(in srgb, var(--navy-800) 18%, transparent)!important}.btn[aria-disabled=true]{opacity:.75;cursor:not-allowed;box-shadow:none;transform:none}.btn[aria-disabled=true]:hover{transform:none}.btn-primary{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-hover));box-shadow:0 10px 18px color-mix(in srgb, var(--navy-800) 28%, transparent)}.btn-primary:hover{background:linear-gradient(135deg, var(--accent-hover), var(--accent));transform:translateY(-1px)}.btn-primary:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.btn-secondary{color:var(--accent);background:color-mix(in srgb, var(--navy-800) 10%, transparent);border-color:color-mix(in srgb, var(--navy-800) 45%, transparent)}.btn-secondary.btn-small{color:var(--accent);background:color-mix(in srgb, var(--navy-800) 14%, transparent)}.btn-secondary:hover{background:color-mix(in srgb, var(--navy-800) 18%, transparent);transform:translateY(-1px)}.btn-danger{color:var(--danger-500);background:color-mix(in srgb, var(--danger-500) 10%, transparent);border-color:color-mix(in srgb, var(--danger-500) 45%, transparent)}.btn-danger:hover{color:#fff;background:var(--danger-500);transform:translateY(-1px)}.btn-ghost{color:var(--text-h);border-color:var(--border);background:0 0}.btn-ghost:hover{color:var(--accent);border-color:color-mix(in srgb, var(--navy-800) 40%, transparent)}.auth-main{align-items:center}.auth-card{text-align:left;width:min(100%,460px)}.form-grid{gap:14px;margin-top:18px;display:grid}.admin-panel .form-grid,.modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cell-date{white-space:nowrap;width:120px}.row-actions{flex-wrap:nowrap}.row-actions .btn-small{padding:8px 12px;font-size:.85rem}.field{gap:8px;display:grid}.field span{color:var(--text-h);font-size:.92rem}.field input,.field textarea{border:1px solid var(--border);background:var(--bg-elevated);width:100%;min-height:44px;color:var(--text-h);box-sizing:border-box;font:inherit;border-radius:6px;padding:10px 12px}.field textarea{resize:vertical;line-height:1.45}.field input:focus,.field textarea:focus{outline:3px solid var(--accent-soft);border-color:var(--accent)}.field input:disabled,.field textarea:disabled,.field select:disabled{cursor:not-allowed;opacity:.78;background:color-mix(in srgb, var(--bg-elevated) 72%, var(--border))}.field-error,.api-error{color:var(--danger-500);margin:0;font-size:.85rem}.footer{border-top:1px solid var(--border);background:var(--bg-elevated)}.footer-inner{min-height:56px;color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.9rem;display:flex}@media (width<=1024px){.container{padding-inline:18px}.topbar-inner{min-height:64px}.session-email{max-width:180px}.panel{border-radius:14px;padding:22px}.home-panel-shell{border-radius:18px;width:min(100%,960px);padding:20px}.home-hero{grid-template-columns:1fr;gap:20px}.home-media{width:min(100%,480px);margin-left:0}.home-hero-image{width:100%}.home-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.admin-header{flex-direction:column;align-items:flex-start}.modal{padding:20px}.admin-panel .form-grid,.modal .form-grid{grid-template-columns:1fr}}@media (width>=1280px){.panel{padding:34px}}
