:root{--color-primary:#003a3a;--color-black:#000;--color-white:#fff;--color-gray-100:#f2f2f2;--color-gray-300:#d9d9d9;--color-gray-600:#666;--font-body:"Roboto", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-black);background:var(--color-white);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1,h2,h3{color:var(--color-black);margin:0;font-weight:700}p{color:var(--color-black);margin:0}button{font-family:var(--font-body);cursor:pointer;border:2px solid var(--color-primary);background:var(--color-primary);color:var(--color-white);border-radius:6px;padding:10px 20px;font-size:16px;font-weight:500;transition:background-color .15s,color .15s}button:hover,button.secondary{background:var(--color-white);color:var(--color-primary)}button.secondary:hover{background:var(--color-gray-100)}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}a{color:var(--color-primary)}.form-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.form-card{flex-direction:column;gap:16px;width:100%;max-width:360px;display:flex}.form-card h1{margin-bottom:4px;font-size:28px}.form-card .subtitle{color:var(--color-gray-600);font-size:15px}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{font-size:14px;font-weight:500}.form-field input,.form-field select{font-family:var(--font-body);border:1px solid var(--color-gray-300);background:var(--color-white);color:var(--color-black);border-radius:6px;padding:10px 12px;font-size:16px}.form-field input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.form-card button[type=submit]{width:100%;margin-top:4px}.form-card button[disabled]{opacity:.6;cursor:not-allowed}.form-footer{color:var(--color-gray-600);font-size:14px}.form-footer a{color:var(--color-primary);font-weight:500;text-decoration:none}.form-footer a:hover{text-decoration:underline}.color-picker{flex-direction:column;gap:8px;display:flex}.color-picker-label{font-size:14px;font-weight:500}.color-picker-mode{border:1px solid var(--color-gray-300);border-radius:6px;width:fit-content;display:inline-flex;overflow:hidden}.color-picker-mode button{background:var(--color-white);width:auto;color:var(--color-black);border:none;border-radius:0;padding:6px 14px;font-size:13px}.color-picker-mode button.active{background:var(--color-primary);color:var(--color-white)}.color-picker-swatches{align-items:center;gap:10px;display:flex}.color-picker-swatches input[type=color]{border:1px solid var(--color-gray-300);cursor:pointer;background:0 0;border-radius:6px;width:36px;height:36px;padding:0}.color-picker-angle{color:var(--color-gray-600);align-items:center;gap:8px;font-size:13px;display:flex}.color-picker-angle input[type=range]{flex:1}.qr-banner-editor{border:1px solid var(--color-gray-300);border-radius:8px;flex-direction:column;gap:16px;padding:20px;display:flex}.qr-banner-editor-layout{flex-wrap:wrap;gap:24px;display:flex}.qr-banner-preview{background:var(--color-gray-100);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:12px;display:flex}.qr-banner-preview canvas{max-width:100%;height:auto;box-shadow:0 1px 4px #00000026}.qr-banner-controls{flex-direction:column;flex:1;gap:16px;min-width:240px;display:flex}.qr-banner-controls input[type=file]{font-size:13px}.qr-banner-actions{flex-wrap:wrap;gap:10px;display:flex}.qr-banner-actions button{width:auto}.request-log table{border-collapse:collapse;width:100%;font-size:14px}.request-log th,.request-log td{text-align:left;border-bottom:1px solid var(--color-gray-300);padding:10px 12px}.request-log th{color:var(--color-gray-600);font-weight:500}.request-log .empty{color:var(--color-gray-600);padding:16px 0}.status-badge{border:1px solid var(--color-black);border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.reviews-list{flex-direction:column;gap:16px;display:flex}.empty{color:var(--color-gray-600)}.form-error{color:var(--color-black);background:var(--color-gray-100);border:1px solid var(--color-gray-300);border-radius:6px;padding:8px 10px;font-size:13px}.review-card{border:1px solid var(--color-gray-300);border-radius:8px;flex-direction:column;gap:8px;padding:16px;display:flex}.review-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.review-reviewer{font-weight:500}.review-stars{color:var(--color-primary);letter-spacing:2px}.review-date{color:var(--color-gray-600);font-size:13px}.review-text{color:var(--color-black)}.review-photos{flex-wrap:wrap;gap:8px;display:flex}.review-photos img{object-fit:cover;border-radius:4px;width:72px;height:72px}.review-reply{background:var(--color-gray-100);border-radius:6px;padding:10px 12px;font-size:14px}.review-reply-label{margin-bottom:4px;font-weight:500}.review-reply-form{align-items:flex-start;gap:8px;display:flex}.review-reply-form textarea{font-family:var(--font-body);border:1px solid var(--color-gray-300);resize:vertical;border-radius:6px;flex:1;min-height:40px;padding:8px 10px;font-size:14px}.review-reply-form button{width:auto}.review-trends{border:1px solid var(--color-gray-300);border-radius:8px;flex-direction:column;gap:12px;padding:20px;display:flex}.review-trends-header{justify-content:space-between;align-items:center;display:flex}.review-trends-header button{width:auto}.review-trends-charts{flex-direction:column;gap:4px;display:flex}.review-trends-chart{width:100%;height:auto;overflow:visible}.review-trends-chart .axis-line{stroke:var(--color-gray-300);stroke-width:1px}.review-trends-chart .tick-label{fill:var(--color-gray-600);font-size:10px;font-family:var(--font-body)}.review-trends-chart .mark{fill:var(--color-primary)}.review-trends-chart .mark-hover{fill:var(--color-primary);opacity:.75}.review-trends-chart .line-path{fill:none;stroke:var(--color-primary);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.review-trends-chart .crosshair{stroke:var(--color-gray-300);stroke-width:1px}.review-trends-chart .tooltip-bg{fill:var(--color-black)}.review-trends-chart .tooltip-value{fill:var(--color-white);font-size:11px;font-weight:700;font-family:var(--font-body)}.review-trends-chart .tooltip-label{fill:var(--color-gray-300);font-size:10px;font-family:var(--font-body)}.review-trends-table table{border-collapse:collapse;width:100%;font-size:14px}.review-trends-table th,.review-trends-table td{text-align:left;border-bottom:1px solid var(--color-gray-300);padding:8px 10px}.review-trends-table th{color:var(--color-gray-600);font-weight:500}.review-trends-empty{color:var(--color-gray-600)}.review-trends-hint{color:var(--color-gray-600);font-size:14px}.review-trends-stats{gap:24px;display:flex}.stat-tile{flex-direction:column;gap:4px;display:flex}.stat-tile-label{color:var(--color-gray-600);font-size:13px}.stat-tile-value{color:var(--color-black);font-size:32px;font-weight:700}.send-request-form{border:1px solid var(--color-gray-300);border-radius:8px;flex-direction:column;gap:16px;padding:20px;display:flex}.send-request-row{flex-wrap:wrap;gap:16px;display:flex}.send-request-row .form-field{flex:1;min-width:180px}.send-request-form button[type=submit]{align-self:flex-start;width:auto}.dashboard{flex-direction:column;gap:32px;max-width:720px;margin:0 auto;padding:32px 24px 64px;display:flex}.dashboard-header{justify-content:space-between;align-items:center;display:flex}.dashboard-header button{width:auto}.dashboard-loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.location-switcher{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.location-switcher button{width:auto;padding:8px 16px;font-size:14px}.dashboard-notice{background:var(--color-gray-100);border:1px solid var(--color-gray-300);border-radius:6px;padding:12px 16px;font-size:14px}.dashboard-notice.error{border-color:var(--color-black)}.google-connect-card{border:1px solid var(--color-gray-300);border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;display:flex}.google-connect-card p{color:var(--color-gray-600)}.google-connect-card button{width:auto;margin-top:4px}.page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;padding:24px;display:flex}.page h1{letter-spacing:-1px;font-size:48px}.page p{color:var(--color-gray-600);max-width:480px;font-size:18px}
