:root,:root[data-theme=light]{--bg:#f6f8fb;--surface:#fff;--surface-2:#f1f5f9;--border:#e5e9f0;--muted:#6b7280;--text:#111827;--primary:#0ea5e9;--primary-hover:#0284c7;--secondary:#10b981;--warning:#f59e0b;--danger:#ef4444;--radius:10px;--shadow:0 1px 2px #0f172a0a, 0 1px 3px #0f172a0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0b1220;--surface:#111c33;--surface-2:#1a253f;--border:#233356;--muted:#94a3b8;--text:#e2e8f0;--primary:#38bdf8;--primary-hover:#0ea5e9;--secondary:#34d399;--warning:#fbbf24;--danger:#f87171;--shadow:0 1px 2px #00000040, 0 4px 12px #0003;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:.95rem}input,textarea,select{font-family:inherit;font-size:.95rem}.app-shell{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.topbar .brand{align-items:center;gap:.75rem;font-weight:600;display:flex}.topbar .brand img{width:auto;height:36px}.topbar nav{gap:.25rem;display:flex}.topbar nav a{border-radius:var(--radius);color:var(--muted);padding:.5rem .9rem;font-weight:500}.topbar nav a.active,.topbar nav a:hover{color:var(--primary);background:#0ea5e914;text-decoration:none}.topbar .user-block{align-items:center;gap:.75rem;display:flex}.topbar .user-block .who{color:var(--muted);font-size:.85rem}main{width:100%;max-width:1100px;margin:0 auto;padding:1.5rem}.auth-shell{background:radial-gradient(circle at 20% 20%, #0ea5e91f, transparent 60%), radial-gradient(circle at 80% 80%, #10b9811a, transparent 60%), var(--bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid;position:relative}.auth-theme-corner{position:absolute;top:1.25rem;right:1.25rem}.auth-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:16px;padding:2rem}.auth-card-wide{max-width:520px}.wizard-progress{align-items:center;gap:.5rem;margin:0 0 1.5rem;display:flex}.wizard-step{color:var(--muted);white-space:nowrap;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.wizard-step .dot{background:var(--surface-2);width:26px;height:26px;color:var(--muted);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.wizard-step.active .dot{background:var(--primary);color:#fff;border-color:var(--primary)}.wizard-step.active{color:var(--text);font-weight:600}.wizard-step.completed .dot{background:var(--secondary);color:#fff;border-color:var(--secondary)}.wizard-step.completed{color:var(--text)}.wizard-line{background:var(--border);border-radius:1px;flex:1;height:2px}.wizard-actions{justify-content:space-between;gap:.5rem;margin-top:1.25rem;display:flex}.wizard-actions .btn,.wizard-actions .btn:only-child{flex:1}.hint{margin:.35rem 0 0;font-size:.78rem}.req{color:var(--danger)}.checkbox-row{cursor:pointer;align-items:flex-start;gap:.6rem;font-size:.9rem;display:flex}.checkbox-row input{accent-color:var(--primary);margin-top:.2rem}.review-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.review-card h3{margin:0 0 .5rem;font-size:.95rem}input[readonly]{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.profile-grid{grid-template-columns:1fr 1fr;align-items:start;gap:1rem;display:grid}.profile-grid>.card:first-child{grid-row:span 2}@media (width<=860px){.profile-grid{grid-template-columns:1fr}.profile-grid>.card:first-child{grid-row:auto}}.auth-card .brand{flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.auth-card .brand img{height:64px}.auth-card h1{text-align:center;margin:0;font-size:1.25rem}.auth-card p.subtitle{text-align:center;color:var(--muted);margin:.25rem 0 1.5rem;font-size:.9rem}.auth-card .alt{color:var(--muted);text-align:center;margin-top:1rem;font-size:.9rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.card+.card{margin-top:1rem}.page-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.page-head h2{margin:0;font-size:1.4rem}.form-stack{flex-direction:column;gap:1rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.form-row{grid-template-columns:1fr}.topbar{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem}.topbar nav{order:3;width:100%;overflow-x:auto}}label{color:var(--text);margin-bottom:.35rem;font-size:.85rem;font-weight:500;display:block}input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);outline:none;padding:.7rem .85rem;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--primary)}textarea{resize:vertical;min-height:110px}.btn{border-radius:var(--radius);background:var(--primary);color:#fff;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.1rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--primary-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover{background:var(--surface-2)}.btn-danger{background:var(--danger)}.btn-danger:hover{background:#dc2626}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--text);background:var(--surface-2)}.theme-toggle{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text);justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.theme-toggle:hover{background:var(--surface-2);color:var(--primary);border-color:var(--primary)}.theme-toggle svg{width:18px;height:18px}.btn-block{width:100%}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;padding:1.5rem;transition:border-color .15s,background .15s}.upload-zone:hover{border-color:var(--primary);background:#0ea5e90a}.upload-zone p{color:var(--muted);margin:.5rem 0 0;font-size:.9rem}.upload-zone img.preview{object-fit:cover;border-radius:var(--radius);width:100%;max-height:200px;margin-top:.75rem}#location-map,.map-block{border-radius:var(--radius);border:1px solid var(--border);width:100%;height:280px}.report-grid{gap:1rem;display:grid}.report-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:1fr auto;align-items:start;gap:.5rem 1rem;padding:1rem 1.25rem;display:grid}.report-card h3{margin:0 0 .25rem;font-size:1rem}.report-card .desc{color:var(--muted);margin:0 0 .25rem;font-size:.9rem}.report-card .meta{color:var(--muted);font-size:.78rem}.status-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.status-pending{color:#b45309;background:#f59e0b24}.status-accepted{color:#0369a1;background:#0ea5e924}.status-completed{color:#047857;background:#10b98124}.status-rejected{color:#b91c1c;background:#ef444424}:root[data-theme=dark] .status-pending{color:#fbbf24}:root[data-theme=dark] .status-accepted{color:#38bdf8}:root[data-theme=dark] .status-completed{color:#34d399}:root[data-theme=dark] .status-rejected{color:#f87171}.detail-grid{grid-template-columns:minmax(0,1fr) 320px;gap:1rem;display:grid}@media (width<=860px){.detail-grid{grid-template-columns:1fr}}.detail-image{border-radius:var(--radius);border:1px solid var(--border);object-fit:cover;width:100%;max-height:360px}.meta-row{border-bottom:1px dashed var(--border);justify-content:space-between;padding:.5rem 0;font-size:.9rem;display:flex}.meta-row:last-child{border-bottom:none}.meta-row .label{color:var(--muted)}.empty-state{text-align:center;color:var(--muted);padding:3rem 1rem}#toast-root{z-index:9999;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}.toast{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius);box-shadow:var(--shadow);min-width:240px;padding:.7rem 1rem;font-size:.9rem;animation:.18s ease-out toast-in}.toast.success{border-left-color:var(--secondary)}.toast.error{border-left-color:var(--danger)}.toast.warning{border-left-color:var(--warning)}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.error-text{color:var(--danger);margin-top:.25rem;font-size:.85rem}.muted{color:var(--muted)}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.gap-1{gap:.5rem}.gap-2{gap:1rem}.between{justify-content:space-between}.center{align-items:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.rating-card{background:#fbbf240f;border:1px solid #fbbf2459}:root[data-theme=dark] .rating-card{background:#fbbf2414}.rating-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.rating-icon{font-size:1.1rem}.rating-title{color:#b45309;font-size:.95rem;font-weight:700}:root[data-theme=dark] .rating-title{color:#fbbf24}.stars-picker{gap:.25rem;margin-bottom:.25rem;display:flex}.star-btn{color:#fbbf244d;cursor:pointer;background:0 0;border:none;padding:0 .1rem;font-size:2.2rem;line-height:1;transition:color .1s,transform .1s}.star-btn:hover,.star-btn.active{color:#f59e0b;transform:scale(1.15)}.star-btn:disabled{cursor:default;transform:none}.stars-display{gap:.2rem;margin-bottom:.25rem;display:flex}.star-static{color:#fbbf2440;font-size:2rem;line-height:1}.star-static.filled{color:#f59e0b}.rating-label{color:#b45309;min-height:1.25em;margin:.25rem 0 0;font-size:.85rem;font-weight:600}:root[data-theme=dark] .rating-label{color:#fbbf24}
