:root{--bg:#f5f3ef;--card:#fff;--ink:#222;--muted:#6b6b6b;--line:#ddd8d0;--accent:#2f5d50;
--new:#2563eb;--measure:#7c3aed;--estimate:#b88a00;--work:#d9640b;--done:#1f8a4c;--refused:#777}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:var(--accent);color:#fff}
.top a{color:#fff;text-decoration:none}
.brand{font-weight:700;font-size:1.15rem}
nav{display:flex;gap:14px;align-items:center}
nav a{display:inline-flex;align-items:center;min-height:44px}
nav form{margin:0}
main{max-width:720px;margin:0 auto;padding:16px}
h1{font-size:1.5rem;margin:.3em 0 .5em}h2{font-size:1.1rem;margin:1em 0 .4em}
.muted{color:var(--muted);font-size:.92rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:0 0 14px}
.center{text-align:center}
label{display:block;font-weight:600;margin:12px 0 4px}
input,select,textarea{width:100%;font:inherit;padding:12px;border:1px solid #bdb6aa;border-radius:10px;background:#fff;min-height:48px}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus,.btn:focus-visible,a:focus-visible{outline:3px solid #9ec5b8;outline-offset:1px}
.btn{display:inline-block;width:100%;margin-top:14px;padding:13px 18px;min-height:48px;font:inherit;font-weight:600;text-align:center;
background:var(--accent);color:#fff;border:0;border-radius:10px;cursor:pointer;text-decoration:none}
.btn.secondary{background:#e8e3da;color:var(--ink)}
button.link{background:none;border:0;color:#fff;font:inherit;cursor:pointer;padding:0;min-height:44px;text-decoration:underline}
.flash{background:#fff4d6;border:1px solid #e6cf85;border-radius:10px;padding:12px;margin-bottom:14px}
.trap{position:absolute;left:-9999px;height:0;overflow:hidden}
.filters{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:14px}
.filters input[type=search]{grid-column:1/-1}
.filters .btn{margin-top:0;width:auto;padding:0 22px}
.filters .btn.secondary{grid-column:1/-1;width:100%}
.item{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--muted);border-radius:14px;
margin-bottom:12px;overflow:hidden}
.item__main{display:flex;flex-direction:column;gap:6px;padding:14px 16px 12px;color:inherit;text-decoration:none}
.item__main:active{background:#f3f0ea}
.item__name{font-size:1.2rem}
.call{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:10px 16px;
background:var(--accent);color:#fff;text-decoration:none;font-weight:600}
.call b{font-weight:700;white-space:nowrap}
.call:active{background:#234a3f}
.card>.call{border-radius:12px;margin:6px 0 10px}
.back{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--accent)}
.row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.row h1{margin:0}
.snippet{margin-top:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.badge{flex:none;color:#fff;font-size:.82rem;font-weight:600;padding:3px 10px;border-radius:99px;white-space:nowrap}
.item.st-new{border-left-color:var(--new)}.item.st-measure{border-left-color:var(--measure)}
.item.st-estimate{border-left-color:var(--estimate)}.item.st-work{border-left-color:var(--work)}
.item.st-done{border-left-color:var(--done)}.item.st-refused{border-left-color:var(--refused)}
.badge.st-new{background:var(--new)}.badge.st-measure{background:var(--measure)}
.badge.st-estimate{background:var(--estimate)}.badge.st-work{background:var(--work)}
.badge.st-done{background:var(--done)}.badge.st-refused{background:var(--refused)}
.text{white-space:pre-wrap;overflow-wrap:anywhere}
.phone{font-size:1.2rem;font-weight:600;color:var(--accent)}
.comment{border-top:1px solid var(--line);padding:10px 0}
@media(min-width:600px){.filters{grid-template-columns:1fr 200px auto auto}.filters input[type=search],.filters .btn.secondary{grid-column:auto}
.filters .btn.secondary{width:auto}.btn{width:auto}.card .btn{min-width:200px}
.call{border-radius:0}}
