:root{--bg: #f4f5f7;--panel: #ffffff;--ink: #1c2430;--muted: #6b7686;--line: #e3e7ee;--accent: #e8632a;--accent-dark: #c94f1c;--blue: #2b6cb0;--green: #2f855a;--amber: #b7791f;--red: #c53030;--radius: 12px;--shadow: 0 1px 2px rgba(28, 36, 48, .06), 0 4px 14px rgba(28, 36, 48, .06)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink)}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:20px 16px 80px}.topbar{background:var(--ink);color:#fff;position:sticky;top:0;z-index:20}.topbar-inner{max-width:1080px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.logo{font-size:1.15rem;letter-spacing:.2px;cursor:pointer;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.logo b{color:#ff9d6b}.logo-mark{color:#ff9d6b;font-size:1.3rem}.nav{display:flex;gap:4px;flex-wrap:wrap}.nav button{background:transparent;color:#d6dde6;padding:7px 13px;border-radius:8px;font-weight:500}.nav button:hover{background:#ffffff14;color:#fff}.nav button.active{background:var(--accent);color:#fff}.topbar-user{margin-left:auto;display:flex;align-items:center;gap:10px}.user-chip{display:flex;align-items:center;gap:8px;color:#d6dde6;font-size:.9rem}button{padding:9px 16px;border-radius:9px;border:none;background:#e8edf3;color:var(--ink);cursor:pointer;font:inherit;font-weight:500;transition:background .15s}button.primary{background:var(--accent);color:#fff}button.primary:hover{background:var(--accent-dark)}button.ok-btn{background:var(--green);color:#fff}button.ghost{background:transparent;color:inherit;border:1px solid var(--line)}.nav button.ghost,.topbar button.ghost{color:#d6dde6;border-color:#ffffff40}button.wide{width:100%;margin-top:6px}button:disabled{opacity:.45;cursor:not-allowed}button.close{position:absolute;top:12px;right:14px;background:transparent;color:var(--muted);font-size:1rem;padding:4px 8px}.hero{background:linear-gradient(120deg,#22303f,#33445a 60%,#46586f);color:#fff;border-radius:16px;padding:34px 30px;margin-bottom:20px}.hero h1{margin:0 0 8px;font-size:1.6rem;line-height:1.25}.hero p{margin:0;color:#c4cfdb;max-width:560px}.panel{background:var(--panel);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow);position:relative}.card{background:var(--panel);border-radius:var(--radius);padding:16px;margin-bottom:12px;box-shadow:var(--shadow)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.cards .card{margin-bottom:0;cursor:pointer;transition:transform .12s,box-shadow .12s}.cards .card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #1c24301f}.card-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.card-head h2,.card-head h3{margin:0}.spread{justify-content:space-between;align-items:flex-start}.avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}.avatar.lg{width:52px;height:52px;font-size:1.15rem;border-radius:14px}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge.gray{background:#e8edf3;color:var(--muted)}.badge.blue{background:#dbeafe;color:var(--blue)}.badge.green{background:#d1fae5;color:var(--green)}.badge.amber{background:#fef3c7;color:var(--amber)}.badge.red{background:#fee2e2;color:var(--red)}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.filters select{min-width:200px}input,select,textarea{padding:9px 12px;border-radius:9px;border:1px solid var(--line);font:inherit;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #ffd6c2;border-color:var(--accent)}label{display:flex;flex-direction:column;gap:5px;font-size:.88rem;color:var(--muted);font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end}.form-grid .full{grid-column:1 / -1}.check{flex-direction:row;align-items:center;gap:8px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0}.offers{margin-top:10px;border-top:1px solid var(--line)}.offer{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.offer .price{min-width:110px}.chat-layout{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}.chat-list{display:flex;flex-direction:column;gap:8px}.chat-item{text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);font-size:.9rem}.chat-item.active{border-color:var(--accent);color:var(--accent-dark);font-weight:600}.chat-window{display:flex;flex-direction:column;min-height:380px}.chat-msgs{flex:1;display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:420px}.chat-msg{max-width:75%;padding:8px 12px;border-radius:12px;background:#eef1f6;align-self:flex-start;display:flex;gap:10px;align-items:baseline}.chat-msg.mine{background:var(--accent);color:#fff;align-self:flex-end}.chat-msg.mine .chat-time{color:#ffffffbf}.chat-body{word-break:break-word}.chat-time{font-size:.7rem;color:var(--muted);flex-shrink:0}.chat-input{margin-top:12px}.chat-input input{flex:1}.rating{color:#d99a1b;font-weight:600}.price{font-weight:700;color:var(--accent-dark)}.muted{color:var(--muted)}.center{text-align:center}.geo{font-size:.9rem;color:var(--muted)}.clamp{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.empty{background:#fff;border:1px dashed var(--line);border-radius:var(--radius);padding:26px;text-align:center;color:var(--muted)}.error{color:var(--red);background:#fee2e2;padding:10px 14px;border-radius:9px;margin-bottom:14px}.table{width:100%;border-collapse:collapse}.table td{padding:8px 0;border-bottom:1px solid var(--line)}.table .num{text-align:right;white-space:nowrap;color:var(--accent-dark);font-weight:600}.review{padding:8px 0;border-bottom:1px solid var(--line);display:flex;gap:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c243073;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;z-index:50;overflow-y:auto}.modal{width:100%;max-width:620px;margin:0}.modal label{margin-bottom:12px}.modal button.primary,.modal .close{margin-top:6px}.auth-wrap{display:flex;justify-content:center;padding-top:5vh}.auth-card{width:100%;max-width:420px}.auth-card h2{margin-top:0}.tender-card button{margin-top:6px}h2{margin:18px 0 12px}h4{margin:18px 0 8px}.footer{text-align:center;color:var(--muted);font-size:.85rem;padding:20px;border-top:1px solid var(--line)}@media(max-width:640px){.hero{padding:24px 20px}.hero h1{font-size:1.3rem}.form-grid{grid-template-columns:1fr}.filters select{min-width:0;flex:1}.chat-layout{grid-template-columns:1fr}}
