:root{--bg:#eef2ed;--surface:#fffefa;--surface-strong:#e8f0e7;--ink:#20221e;--muted:#696d62;--line:#d5ddcf;--green:#2f6f4e;--green-strong:#1f593d;--red:#9f3f35;--yellow:#b98027;--shadow:0 18px 48px #3b31241a}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{color:var(--ink);background:linear-gradient(90deg, #20221e0a 1px, transparent 1px) 0 0 / 32px 32px, linear-gradient(#20221e08 1px, transparent 1px) 0 0 / 32px 32px, var(--bg);letter-spacing:0;margin:0;font-family:Trebuchet MS,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.app-nav{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8db;flex-direction:column;gap:28px;height:100vh;padding:22px 18px;display:flex;position:sticky;top:0}.brand-mark{align-items:center;gap:12px;min-height:42px;font-size:20px;font-weight:800;display:flex}.brand-icon{width:38px;height:38px;color:var(--green-strong);background:#e7f0e5;border:1px solid #2f6f4e47;border-radius:8px;place-items:center;display:inline-grid}.brand-name{overflow-wrap:anywhere}.nav-links{gap:6px;display:grid}.nav-link{min-height:42px;color:var(--muted);border-radius:8px;align-items:center;gap:11px;padding:0 12px;transition:background .16s,color .16s,transform .16s;display:flex}.nav-link:hover,.nav-link.is-active{color:var(--ink);background:var(--surface-strong)}.nav-link:hover{transform:translate(2px)}.nav-footer{align-items:center;gap:10px;margin-top:auto;display:flex}.icon-button{border:1px solid var(--line);width:40px;height:40px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:8px;flex:none;place-items:center;display:inline-grid;position:relative}.icon-button:hover,.icon-button.is-active{color:var(--green-strong);background:var(--surface-strong)}.notification-badge{border:2px solid var(--surface);color:#fffefa;background:var(--red);border-radius:50%;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:800;display:inline-grid;position:absolute;top:-5px;right:-5px}.user-chip{align-items:center;gap:9px;min-width:0;display:flex}.user-avatar{color:#fffdf8;background:var(--green);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:inline-grid}.user-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.app-main{min-width:0}.page{width:min(1180px,100vw - 320px);margin:0 auto;padding:34px 30px 54px}.page-header{justify-content:space-between;align-items:end;gap:18px;margin-bottom:24px;display:flex}.eyebrow{color:var(--green-strong);text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}.page-title{margin:0;font-size:46px;line-height:1}.page-subtitle{max-width:620px;color:var(--muted);margin:12px 0 0;font-size:16px;line-height:1.55}.toolbar{grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(130px,.7fr)) auto;align-items:center;gap:10px;margin-bottom:22px;display:grid}.field,.select,.action-button{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:44px}.field,.select{width:100%;color:var(--ink);padding:0 12px}textarea.field{resize:vertical;padding-top:12px;padding-bottom:12px}.text-area{min-height:112px}.field::placeholder{color:#8c8d85}.action-button{color:#fffdf8;background:var(--green);border-color:var(--green);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:800;display:inline-flex}.action-button:disabled{cursor:not-allowed;opacity:.64}.action-button.is-neutral,.profile-follow-button.is-neutral{color:var(--ink);background:var(--surface);border-color:var(--line)}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.profile-follow-button{min-width:150px}.full-width{width:100%}.check-control{border:1px solid var(--line);min-height:44px;color:var(--muted);background:var(--surface);border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-weight:700;display:inline-flex}.toolbar-district{grid-column:1/2}.search-grid{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:18px;display:grid}.list-surface,.side-surface,.section-surface{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffdf8e0;border-radius:8px}.list-surface{min-height:420px;padding:16px}.side-surface,.section-surface{padding:18px}.result-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px 0;display:grid}.card-result-row{grid-template-columns:132px minmax(0,1fr) auto;align-items:start}.card-result-media{min-width:0;display:block}.card-result-body{min-width:0}.result-row-link{transition:color .16s,transform .16s}.result-row-link:hover{color:var(--green-strong);transform:translate(2px)}.result-row:last-child{border-bottom:0}.card-result-row{color:inherit}.card-cover-image{aspect-ratio:4/3;border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden}.card-cover-image-element{object-fit:cover;width:100%;height:100%;display:block}.card-cover-image-empty,.card-image-gallery-empty{min-height:120px;color:var(--muted);background:#f0eee6e0;align-content:center;place-items:center;gap:6px;display:grid}.card-image-gallery{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.card-image-frame{aspect-ratio:4/3;border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:0;overflow:hidden}.card-image-element{object-fit:cover;width:100%;height:100%;display:block}.upload-row-stacked{align-items:start}.field-hint{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.card-upload-gallery{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:12px;display:grid}.card-upload-item{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);border-radius:8px;position:relative;overflow:hidden}.card-upload-image{object-fit:cover;width:100%;height:100%;display:block}.card-upload-remove{min-width:32px;min-height:32px;color:var(--ink);box-shadow:var(--shadow);background:#fffdf8e6;border-color:#fffdf8bd;justify-content:center;padding:0;position:absolute;top:8px;right:8px}.result-title{margin:0;font-size:18px}.result-meta,.empty-text,.metric-label{color:var(--muted);font-size:14px;line-height:1.45}.result-offer,.detail-text{color:var(--ink);margin:10px 0 0;line-height:1.55}.leaf-score{color:var(--green-strong);white-space:nowrap;align-items:center;gap:6px;font-weight:800;display:inline-flex}.leaf-score.is-gray{color:var(--muted)}.leaf-score.is-red{color:var(--red)}.leaf-score.is-yellow{color:var(--yellow)}.leaf-score.is-green{color:var(--green-strong)}.status-stack{gap:10px;display:grid}.status-line{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding-bottom:9px;display:flex}.status-line:last-child{border-bottom:0;padding-bottom:0}.placeholder-stack{gap:14px;display:grid}.profile-layout{grid-template-columns:minmax(280px,420px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.profile-form,.profile-summary{gap:16px;min-width:0;display:grid}.profile-form-head,.profile-section-head,.profile-title-row,.profile-history-head{justify-content:space-between;align-items:flex-start;gap:14px;min-width:0;display:flex}.profile-form-head{color:var(--green-strong);justify-content:flex-start;align-items:center}.profile-form-head h2,.profile-section-head h3,.profile-name,.profile-history-head h4{margin:0}.profile-form-head h2,.profile-section-head h3{font-size:18px;line-height:1.25}.profile-identity{grid-template-columns:auto minmax(0,1fr);gap:14px;min-width:0;display:grid}.profile-avatar-large{color:#fffefa;background:var(--green);border-radius:50%;place-items:center;width:58px;height:58px;font-size:22px;font-weight:800;display:inline-grid}.profile-identity-main{gap:10px;min-width:0;display:grid}.profile-name{font-size:24px;line-height:1.1}.profile-location{color:var(--muted);align-items:center;gap:6px;margin:7px 0 0;font-size:14px;display:inline-flex}.profile-about,.profile-review-text{overflow-wrap:anywhere;margin:0;line-height:1.55}.profile-history{border-top:1px solid var(--line);gap:12px;min-width:0;padding-top:16px;display:grid}.profile-history-list{gap:10px;display:grid}.profile-history-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.profile-history-head h4{font-size:16px;line-height:1.3}.profile-review-tags{flex-wrap:wrap;gap:6px;display:flex}.profile-review-tags span{border:1px solid var(--line);min-height:26px;color:var(--muted);background:var(--surface-strong);border-radius:8px;align-items:center;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.profile-save-note{color:var(--green-strong);margin:0;font-size:13px;font-weight:800}.notifications-list{gap:10px;display:grid}.notification-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:12px;display:grid}.notification-row.is-unread{background:var(--surface-strong);border-color:#2f6f4e47}.notification-main{gap:6px;min-width:0;display:grid}.notification-head{flex-wrap:wrap;justify-content:space-between;gap:8px 12px;min-width:0;display:flex}.notification-head strong,.notification-head time{overflow-wrap:anywhere;min-width:0}.notification-head time{color:var(--muted);font-size:12px}.notification-main p{overflow-wrap:anywhere;margin:0;line-height:1.45}.notification-read-button{min-height:38px}.admin-complaints-list{gap:12px;display:grid}.admin-dashboard-grid{gap:16px;display:grid}.admin-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-section-head h2{overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.2}.admin-complaint-row{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:16px}.admin-complaint-main{gap:10px;min-width:0;display:grid}.admin-complaint-head{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;font-size:12px;display:flex}.admin-status-pill{border:1px solid var(--line);min-height:26px;color:var(--muted);background:var(--surface);text-transform:capitalize;border-radius:8px;align-items:center;padding:0 9px;font-weight:800;display:inline-flex}.admin-status-pill.is-open{color:var(--red);background:#fff4f2eb;border-color:#9f3f353d}.admin-complaint-meta-item{align-items:center;gap:5px;display:inline-flex}.admin-complaint-side{gap:14px;min-width:0;display:grid}.admin-complaint-actions{gap:8px;display:grid}.admin-action-button{justify-content:center;width:100%;padding:0 12px}.admin-action-button.is-neutral{color:var(--ink);background:var(--surface);border-color:var(--line)}.admin-action-button.is-success{color:#fffdf8;background:var(--green);border-color:var(--green)}.admin-action-button.is-danger{color:#fffdf8;background:var(--red);border-color:var(--red)}.admin-complaint-error{margin:0}.placeholder-row{border:1px solid var(--line);background:#e8f0e7b8;border-radius:8px;min-height:58px}.form-grid{gap:16px;display:grid}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-field{gap:7px;display:grid}.upload-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.file-upload-button{min-width:138px}.file-upload-button input{display:none}.field-label{color:var(--muted);font-size:13px;font-weight:800}.field-error{color:var(--red);font-size:13px;line-height:1.35}.form-actions{justify-content:flex-end;display:flex}.auth-page{align-items:center;min-height:100vh;display:grid}.auth-layout{grid-template-columns:minmax(0,.95fr) minmax(320px,460px);align-items:center;gap:28px;display:grid}.auth-intro{gap:14px;max-width:620px;display:grid}.auth-leaf{width:48px;height:48px}.auth-card{gap:18px;display:grid}.auth-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;padding-top:16px;font-size:14px;display:flex}.auth-footer-separator{color:var(--line)}.auth-state{min-width:0;color:var(--green-strong);text-align:center;justify-items:center;gap:10px;padding:18px;display:grid}.detail-grid{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:18px;display:grid}.detail-main{gap:24px;display:grid}.detail-side{gap:18px;display:grid}.text-link{color:var(--green-strong);font-weight:800}.author-link,.detail-author-link{width:fit-content;color:var(--green-strong);align-items:center;gap:6px;margin-top:10px;font-size:14px;font-weight:800;display:inline-flex}.detail-author-link{text-align:right;justify-content:flex-end;margin-top:0}.chat-shell{grid-template-columns:320px minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.chat-list-panel,.chat-thread-panel{border:1px solid var(--line);min-height:560px;box-shadow:var(--shadow);background:#fffdf8e0;border-radius:8px}.chat-list-panel{padding:12px}.chat-list{gap:8px;display:grid}.chat-list-item{color:var(--muted);border:1px solid #0000;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px;transition:background .16s,border-color .16s,color .16s;display:grid}.chat-list-item strong,.chat-list-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.chat-list-item strong{color:var(--ink);font-size:15px}.chat-list-item small{margin-top:4px;font-size:12px}.chat-list-item:hover,.chat-list-item.is-selected{color:var(--green-strong);background:var(--surface-strong);border-color:#2f6f4e3d}.chat-thread-panel{grid-template-rows:auto minmax(260px,1fr) auto;min-width:0;display:grid}.chat-thread-header{border-bottom:1px solid var(--line);padding:18px}.chat-card-title{margin:0;font-size:24px;line-height:1.2}.chat-thread-body{grid-template-rows:auto minmax(220px,1fr);min-width:0;min-height:0;display:grid}.chat-agreements-section{border-bottom:1px solid var(--line);gap:14px;min-width:0;padding:18px;display:grid}.chat-section-header{justify-content:space-between;align-items:end;gap:14px;display:flex}.chat-section-header h3,.agreement-form h3{margin:0;font-size:18px;line-height:1.25}.agreement-list{gap:10px;display:grid}.agreement-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.agreement-card-header{color:var(--green-strong);justify-content:space-between;gap:12px;font-size:13px;display:flex}.agreement-card-header span{color:var(--muted)}.agreement-confirmations{gap:6px;min-width:0;display:grid}.agreement-confirmation-line{min-width:0;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.agreement-confirmation-line span,.agreement-confirmation-line strong{overflow-wrap:anywhere;min-width:0}.agreement-confirmation-line span{font-weight:800}.agreement-confirmation-line strong{color:var(--ink);text-align:right;font-weight:700}.agreement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;display:grid}.agreement-line{min-width:0}.agreement-line span{color:var(--muted);margin-bottom:3px;font-size:12px;font-weight:800;display:block}.agreement-line p{overflow-wrap:anywhere;margin:0;line-height:1.45}.agreement-steps{border-top:1px solid var(--line);gap:6px;min-width:0;padding-top:10px;display:grid}.agreement-step{min-width:0;color:var(--muted);grid-template-columns:minmax(72px,auto) minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px;display:grid}.agreement-step span,.agreement-step strong,.agreement-step time{overflow-wrap:anywhere;min-width:0}.agreement-step span{color:var(--green-strong);font-weight:800}.agreement-step strong{color:var(--ink);font-weight:700}.agreement-step time{text-align:right}.agreement-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;display:flex}.agreement-confirm-button,.agreement-step-button{min-height:38px}.agreement-step-button{padding:0 12px}.agreement-form{border-top:1px solid var(--line);gap:14px;min-width:0;padding-top:14px;display:grid}.agreement-review-form{border-top:1px solid var(--line);gap:12px;min-width:0;padding-top:14px;display:grid}.agreement-review-note{color:var(--green-strong);align-items:center;gap:7px;margin:0;font-weight:800;display:inline-flex}.agreement-review-button{min-height:38px}.chat-messages{flex-direction:column;gap:12px;min-width:0;min-height:0;padding:18px;display:flex;overflow:auto}.chat-message{justify-content:flex-start;display:flex}.chat-message.is-own{justify-content:flex-end}.chat-message-bubble{border:1px solid var(--line);background:var(--surface);border-radius:8px;max-width:min(72%,640px);padding:11px 12px}.chat-message.is-own .chat-message-bubble{color:#fffefa;background:var(--green);border-color:#2f6f4e47}.chat-message-bubble p{overflow-wrap:anywhere;margin:0;line-height:1.5}.chat-message-meta{color:var(--muted);margin-top:7px;font-size:12px;display:block}.chat-message.is-own .chat-message-meta{color:#fffefac7}.chat-composer{border-top:1px solid var(--line);gap:10px;padding:14px;display:grid}.chat-input{min-height:86px}.chat-send-button{min-width:150px}.chat-state{text-align:center;align-content:center;place-items:center;gap:8px;min-height:100%;padding:28px;display:grid}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.app-nav{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.nav-links{grid-template-columns:repeat(auto-fit,minmax(52px,1fr))}.nav-link{justify-content:center;padding:0 8px}.nav-link span{display:none}.page{width:min(100%,760px);padding:24px 16px 44px}.page-header,.search-grid{grid-template-columns:1fr}.page-header{align-items:start;display:grid}.page-header-actions{justify-content:flex-start}.page-title{font-size:32px;line-height:1.05}.toolbar,.form-row,.detail-grid,.profile-layout,.auth-layout,.chat-shell{grid-template-columns:1fr}.profile-title-row,.profile-history-head{display:grid}.chat-list-panel,.chat-thread-panel{min-height:auto}.chat-thread-panel{grid-template-rows:auto minmax(240px,1fr) auto}.agreement-grid{grid-template-columns:1fr}.chat-message-bubble{max-width:92%}.toolbar-district{grid-column:auto}.card-result-row{grid-template-columns:1fr}.card-result-media{max-width:100%}.admin-complaint-row,.notification-row{grid-template-columns:1fr}}
