:root{--brand:#0b7a63;--brand-deep:#086351;--brand-soft:#d4ece4;--brand-softer:#e8f3ee;--bg:#f4f6f3;--surface:#fff;--ink:#0f1a17;--ink-soft:#2b3a35;--muted:#5b6e68;--line:#e4ebe7;--field:#a9bdb5;--line-soft:#eef2ef;--red:#e63946;--red-soft:#fce7e8;--amber:#8a5a12;--amber-soft:#f7ebd5;--radius:10px;--nav-width:236px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;font-size:15px;line-height:1.5}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.02em;margin:0 0 4px;font-size:26px}h2{letter-spacing:-.01em;margin:0 0 12px;font-size:18px}p{margin:0 0 12px}.subtitle{color:var(--muted);max-width:70ch;margin:0 0 24px}.shell{min-height:100vh;display:flex}.nav{width:var(--nav-width);flex:0 0 var(--nav-width);background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:2px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.nav-brand{flex-direction:column;gap:2px;padding:2px 10px 18px;display:flex}.nav-brand-sub{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.nav-group{letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--brand-deep);border-radius:6px;margin:18px 0 8px;padding:6px 10px;font-size:11.5px;font-weight:800;display:block}.nav>div:first-of-type .nav-group{margin-top:2px}.nav-link{color:var(--ink-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.nav-link:hover{background:var(--line-soft);text-decoration:none}.nav-count{background:var(--brand);color:#fff;font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;flex:none;min-width:20px;padding:1px 6px;font-size:12px;font-weight:700}.nav-link[aria-current=page] .nav-count{background:var(--brand-deep)}.nav-link[aria-current=page]{background:var(--brand-softer);color:var(--brand-deep);font-weight:600}.nav-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding:16px 10px 0;font-size:13px}.main{flex:1;min-width:0;padding:28px 32px 64px}.page{max-width:1080px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.tile-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.tile-label{color:var(--muted);margin-top:2px;font-size:12.5px}.tile-alert{border-color:var(--red);background:var(--red-soft)}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;border-bottom:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:700}td{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:11px 14px}tr:last-child td{border-bottom:0}td.num{text-align:right;font-variant-numeric:tabular-nums}.pager{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;display:flex}.pager-range{font-variant-numeric:tabular-nums;margin-right:auto}.pager-page{font-variant-numeric:tabular-nums}.pager select{width:auto;padding:5px 8px;font-size:13.5px}button,.button{font:inherit;border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600}button:hover:not(:disabled){background:var(--brand-deep);border-color:var(--brand-deep)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{color:var(--brand);background:0 0}button.ghost:hover:not(:disabled){background:var(--brand-softer)}button.danger{background:var(--red);border-color:var(--red)}button.danger:hover:not(:disabled){background:#c92b38;border-color:#c92b38}button.small{padding:5px 10px;font-size:13px}input,textarea,select{font:inherit;border:1.5px solid var(--field);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;padding:9px 11px}input:focus,textarea:focus,select:focus{border-width:2px;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-softer);outline:none}input[type=checkbox],input[type=radio]{border-width:1.5px;width:auto}textarea{resize:vertical;min-height:110px}label{color:var(--ink-soft);margin-bottom:5px;font-size:13px;font-weight:600;display:block}.field{margin-bottom:14px}.hint{color:var(--muted);margin-top:4px;font-size:12.5px}.badge{letter-spacing:.04em;white-space:nowrap;background:var(--line);color:var(--muted);border-radius:999px;padding:3px 8px;font-size:11.5px;font-weight:700;display:inline-block}.badge.ok{background:var(--brand-softer);color:var(--brand-deep)}.badge.warn{background:var(--amber-soft);color:var(--amber)}.badge.bad{background:var(--red-soft);color:var(--red)}.notice{border-radius:var(--radius);margin-bottom:16px;padding:12px 14px;font-size:14px}.notice.info{background:var(--brand-softer);color:var(--brand-deep)}.notice.error{background:var(--red-soft);color:var(--red)}.notice.warn{background:var(--amber-soft);color:var(--amber)}.empty{color:var(--muted);text-align:center;padding:22px}@media (max-width:900px){.shell{flex-direction:column}.nav{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;flex:none;width:100%;height:auto;position:static}.nav-group,.nav-foot{display:none}.main{padding:20px 16px 48px}}.mono{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.skill-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.skill{text-align:center;background:var(--surface);min-height:156px;color:var(--ink-soft);border:1px solid var(--line);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:14px 8px;font-size:13px;font-weight:400;line-height:1.35;display:flex;position:relative}.skill:hover:not(:disabled){border-color:var(--brand)}.skill:disabled{opacity:1;cursor:default}.skill-icon{object-fit:contain;width:64px;height:64px}.skill-label{display:block}.skill-check{background:var(--brand);color:#fff;border-radius:10px;place-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:grid;position:absolute;top:6px;right:6px}.skill-on{border-width:2px;border-color:var(--brand);background:var(--brand-soft);color:var(--ink);font-weight:600}.count-table th{color:var(--brand-deep);letter-spacing:.05em;text-align:center;font-size:13px}.count-table td{text-align:center}.count-table th:first-child,.count-table td:first-child{text-align:left}.count-cell{color:var(--brand);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:6px;min-width:52px;padding:4px 12px;font-size:20px;font-weight:700}.count-cell:hover:not(:disabled){background:var(--brand-softer);border-color:var(--brand-soft)}.count-cell:disabled{color:var(--muted);opacity:.55;cursor:default}.count-cell-on{background:var(--brand);border-color:var(--brand);color:#fff}.count-cell-on:hover:not(:disabled){background:var(--brand-deep);border-color:var(--brand-deep)}.thumb{object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg);width:140px;height:140px;display:block}.thumb-empty{color:var(--muted);place-items:center;display:grid}.media-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-top:16px;display:grid}.media-card{border:1px solid var(--line);border-radius:var(--radius);padding:10px}.thumb-lg{width:100%;height:200px}.moderation-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.bad-text{color:var(--red)}.mail-list{flex-direction:column;gap:8px;display:flex}.mail{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);border-left:3px solid #0000;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.mail.unread{border-left-color:var(--brand);background:var(--brand-softer)}.mail-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.mail-from{color:var(--ink);font-weight:600}.mail.unread .mail-from{font-weight:700}.mail-date{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.mail-subject{align-items:center;gap:8px;font-weight:500;display:flex}.mail.unread .mail-subject{font-weight:700}.mail-flag{color:var(--brand-deep);font-size:15px}.mail-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{border:1px solid var(--field);background:var(--surface);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:500}.chip:hover{background:var(--line-soft)}.chip.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.facts{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;margin:0;display:grid}.facts .fact{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(0,1fr);align-items:baseline;gap:12px;min-width:0;padding:5px 0;display:grid}.facts .fact.wide{grid-column:1/-1}.facts dt{color:var(--muted);font-size:12px;line-height:1.35}.facts dd{overflow-wrap:anywhere;margin:0;font-weight:500;line-height:1.35}@media (max-width:780px){.facts{grid-template-columns:minmax(0,1fr)}.facts .fact{grid-template-columns:130px minmax(0,1fr)}}.stars{white-space:nowrap;letter-spacing:.08em;line-height:1;display:inline-block;position:relative}.stars-ground{color:var(--line)}.stars-fill{color:#e8a317;position:absolute;inset:0;overflow:hidden}.reputation-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:stretch;gap:16px;display:grid}.reputation-rating{align-items:center;gap:12px;display:flex}.reputation-score{font-variant-numeric:tabular-nums;font-size:24px}.reputation-score .over{color:var(--muted);font-size:15px;font-weight:400}.reputation-figure{border-left:1px solid var(--line);flex-direction:column;gap:2px;padding-left:16px;display:flex}.reputation-figure strong{font-variant-numeric:tabular-nums;font-size:24px}.reputation-figure.flagged strong{color:var(--red)}.reputation-label{font-size:13px;font-weight:600}.reputation-figure .muted{font-size:12px}@media (max-width:640px){.reputation-figure{border-left:0;border-top:1px solid var(--line);padding-top:12px;padding-left:0}}.rating-cell{align-items:center;gap:6px;display:inline-flex}td.num,.num{font-variant-numeric:tabular-nums;text-align:left}.modes{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.modes .hint{flex:260px}.fact-hint{color:var(--muted);font-size:12px;display:block}.facts .fact dd input,.facts .fact dd select{width:100%}.save-bar{z-index:5;border:1px solid var(--brand-soft);border-radius:var(--radius);background:var(--brand-softer);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;bottom:16px;box-shadow:0 6px 20px #0f1a171f}.save-bar span{flex:1;font-weight:600}.checks{flex-wrap:wrap;gap:6px 16px;display:flex}.check{white-space:nowrap;flex:none;align-items:center;gap:6px;font-size:14px;display:inline-flex}.check input{width:auto}.media-card.media-online{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.address-map{border-radius:var(--radius);border:1px solid var(--line);z-index:0;height:260px;overflow:hidden}.map-pin{background:var(--brand);border:3px solid var(--surface);border-radius:50% 50% 50% 0;width:22px;height:22px;display:block;transform:rotate(-45deg);box-shadow:0 2px 6px #0f1a1759}.leaflet-container{font:inherit}.skill-decide{gap:6px;margin-top:4px;display:flex}.skill-decide button{flex:1}.skill.decided-approved{border-color:var(--brand);background:var(--brand-softer)}.skill.decided-rejected{opacity:.55}.trade-block{border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:12px;padding:14px;display:flex}.trade-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.trade-head .skill-icon{width:56px;height:56px}.trade-head .trade-title{flex:200px;font-weight:600}.attr-row{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.attr-row img,.attr-icon-empty{object-fit:contain;flex-shrink:0;width:44px;height:44px}.attr-label{flex:1;font-weight:500}.attr-answers{gap:6px;display:flex}.attr-answers .chip:disabled{cursor:default;opacity:1}.trade-fold{border:1px solid var(--line);background:var(--surface);border-radius:14px}.trade-fold.open{border-color:var(--brand)}.trade-fold-head{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;display:flex}.trade-fold-head:hover:not(:disabled){background:var(--brand-softer)}.trade-fold-head img{object-fit:contain;width:40px;height:40px}.trade-fold-head strong{flex:1;font-size:15px}.trade-fold-chevron{color:var(--muted);font-size:20px;line-height:1}.trade-fold-body{padding:4px 14px 16px}.city-picker{border:1px solid var(--line);background:var(--surface);border-radius:10px;max-height:220px;padding:10px;overflow-y:auto}.save-blockers{color:var(--red);font-size:13px;font-weight:600}.fold-heading{font-size:inherit;margin:0}.fold-head{text-align:left;cursor:pointer;width:100%;color:var(--ink);letter-spacing:-.01em;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;margin:0;padding:2px 0;font-weight:700;display:flex}.fold-head:hover:not(:disabled){color:var(--brand-deep);background:0 0}.fold-2>.fold-heading .fold-head{font-size:21px}.fold-3>.fold-heading .fold-head{font-size:17px}.fold-chevron{width:18px;color:var(--muted);flex-shrink:0;font-size:16px}.fold-title{flex:1}.fold-summary{color:var(--muted);font-size:13px;font-weight:500}.fold.open>.fold-body{margin-top:14px}.fold-3{border-top:1px solid var(--line);padding-top:12px}tr.row-link{cursor:pointer}tr.row-link:hover>td{background:var(--brand-softer)}tr.row-link.selected>td{background:var(--brand-soft)}tr.row-link:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
