    *, *::before, *::after { box-sizing: border-box; }
    html, body { height: 100%; overflow-x:hidden; }
    body { margin:0; font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; background:var(--bg); background-image:radial-gradient(at 20% 0%,rgba(37,99,235,0.06) 0%,transparent 50%),radial-gradient(at 80% 100%,rgba(59,130,246,0.04) 0%,transparent 50%); background-attachment:fixed; color:var(--text); -webkit-font-smoothing:antialiased; }

    :root { --bg:#f0f1f5; --card:rgba(255,255,255,0.82); --card-solid:#ffffff; --text:#1a1d26; --muted:#5f6578; --brand:#2563eb; --brand-hover:#1d4ed8; --brand-light:#eef2ff; --brand-glow:rgba(37,99,235,0.25); --border:rgba(0,0,0,0.06); --radius:18px; --radius-sm:12px; --radius-xs:8px; --space:clamp(12px,2vh,20px); --space-lg:clamp(16px,3vh,28px); --maxw:720px; --shadow-sm:0 1px 3px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.06); --shadow-md:0 4px 16px rgba(0,0,0,0.06),0 1px 3px rgba(0,0,0,0.04); --shadow-lg:0 12px 40px rgba(0,0,0,0.08),0 4px 12px rgba(0,0,0,0.04); --shadow-xl:0 20px 60px rgba(0,0,0,0.12),0 8px 20px rgba(0,0,0,0.06); --transition:0.25s cubic-bezier(0.4,0,0.2,1); --transition-bounce:0.35s cubic-bezier(0.34,1.56,0.64,1); }

    .app { min-height: 100svh; min-height: 100dvh; display:flex; flex-direction:column; align-items:center; padding: calc(env(safe-area-inset-top) + var(--space-lg)) var(--space-lg) calc(env(safe-area-inset-bottom) + var(--space-lg)); gap: var(--space-lg); }
    .shell { width:100%; max-width:var(--maxw); display:flex; flex-direction:column; gap:var(--space-lg); }

    header.hero{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:var(--space-lg) var(--space) 0; }
    .hero h1{ margin:0; font-size:18px; font-weight:700; letter-spacing:-0.015em; background:linear-gradient(135deg,var(--text) 0%,#1e40af 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
    .hero p{ margin:0; color:var(--muted); font-size:13px; line-height:1.4; }
    #newObjectBtn{ font-size:13px !important; height:34px !important; padding:0 16px !important; margin-top:2px !important; }
    #statusCounters{ gap:8px; font-size:12px; }

    .card{ background:var(--card); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-md); transition:box-shadow var(--transition),transform var(--transition); }

    /* Экран поиска */
    .search{ padding:var(--space-lg); display:grid; gap:var(--space); }
    .inputs{ display:grid; grid-template-columns: 1fr auto; gap:var(--space); }
    .field{ display:flex; align-items:center; gap:10px; background:rgba(255,255,255,0.6); border:1.5px solid rgba(0,0,0,0.08); border-radius:var(--radius-sm); padding:13px 16px; transition:all var(--transition); }
    .field:focus-within{ border-color:var(--brand); background:#fff; box-shadow:0 0 0 3px var(--brand-glow); }
    .field input{ flex:1 1 auto; background:transparent; border:0; outline:none; font-size:16px; min-width:0; }
    .submit{ background:linear-gradient(135deg,var(--brand) 0%,#3b82f6 100%); color:#fff; font-weight:600; font-size:16px; height:50px; padding:0 22px; border:0; border-radius:var(--radius-sm); cursor:pointer; box-shadow:0 4px 14px var(--brand-glow),0 1px 3px rgba(0,0,0,0.08); transition:all var(--transition); }
    .submit:hover{ transform:translateY(-1px); box-shadow:0 6px 20px var(--brand-glow); }
    .submit:active{ transform:translateY(0) scale(0.98); }
    .submit:disabled{ opacity:0.5; cursor:not-allowed; transform:none; box-shadow:none; }
    .submit.secondary{ background:#fff; color:var(--brand); border:1px solid var(--brand); box-shadow:none; }
    .submit.secondary:hover{ background:#f0f2f5; }

    /* Панель над результатами */
    .summary{ display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; gap: 12px; flex-wrap: wrap; }
    .summary button{ white-space: nowrap; }
    .summary .pill{ background:linear-gradient(135deg,rgba(37,99,235,0.08) 0%,rgba(59,130,246,0.08) 100%); color:var(--brand); border:1px solid rgba(37,99,235,0.15); border-radius:999px; padding:6px 12px; font-weight:600; font-size:14px; line-height:1; }
    .summary .meta{ color:var(--muted); font-weight:500; font-size:14px; line-height:1.2; }

    /* Фильтры */
    .controls{ display:none; padding:12px 16px; gap:12px; align-items:center; flex-wrap:wrap; }
    .address-search{ display:flex; align-items:center; gap:8px; background:rgba(255,255,255,0.6); border:1.5px solid rgba(0,0,0,0.06); border-radius:var(--radius-sm); padding:10px 14px; flex:1 1 240px; min-width:200px; transition:all var(--transition); }
    .address-search:focus-within{ border-color:var(--brand); background:#fff; box-shadow:0 0 0 3px var(--brand-glow); }
    .address-search input{ flex:1 1 auto; background:transparent; border:0; outline:none; font-size:15px; color:var(--text); }
    .address-search svg{ flex-shrink:0; color:#6b7280; }
    .select{ position:relative; display:inline-block; }
    .select select{ appearance:none; height:40px; border:1px solid var(--border); border-radius:10px; padding:0 44px 0 12px; background:#fff; font-weight:500; font-size:14px; line-height:1.2; color:var(--text); background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M2 4.5l4 4 4-4" fill="none" stroke="%2364748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>'); background-repeat: no-repeat; background-position: right 12px center; background-size: 12px 12px; }
    .select select:focus{ outline:none; border-color:var(--brand); }

    /* Список результатов */
    .results{ display:grid; gap:var(--space); padding:0; }
    .empty,.info{ text-align:center; color:var(--muted); font-size:15px; }

    .project{ padding:14px 16px; display:flex; flex-direction:column; gap:8px; }
    .project .address-row{ display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
    .project .address{ margin:0; font-weight:600; font-size: clamp(14px, 0.6vw + 13px, 16px); flex:1 1 auto; }
    .project .meta{ display:flex; justify-content:space-between; align-items:center; font-size:14px; color:var(--muted); flex-wrap:wrap; gap:8px; }
    .project .meta-left{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
    .project .meta-right{ display:flex; align-items:center; }
    .project .date{ color:var(--muted); font-size:13px; font-weight:500; flex-shrink:0; }
    .project .assigned-user{ color:var(--muted); font-weight:500; }
    .project .service-name{ color:var(--text); font-weight:500; font-size:14px; }
    .project .status{ padding:4px 10px; border-radius:8px; font-size:13px; font-weight:600; background:#eef2ff; color:#1e3a8a; flex-shrink:0; }
    .project .project-actions{ margin-top:6px; padding-top:6px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
    .project .project-actions-left{ display:flex; gap:16px; flex-wrap:wrap; }
    .project .project-actions-right{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
    .project .question-buttons{ display:inline-flex; align-items:center; gap:8px; text-decoration:none; font-size:12px; font-weight:500; transition:opacity 0.2s; padding:4px 0; }
    .project .question-buttons-text{ margin-right:4px; }
    .project .telegram-btn{ display:inline-flex; align-items:center; text-decoration:none; transition:opacity 0.2s; padding:0; }
    
    .project .telegram-btn{ color:#0088cc; }
    .project .telegram-btn:hover{ opacity:0.8; }
    .project .telegram-btn:active{ opacity:0.6; }
    .project .order-service-btn{ background:linear-gradient(135deg,var(--brand) 0%,#3b82f6 100%); color:#fff; font-weight:600; font-size:13px; height:34px; padding:0 16px; border:0; border-radius:var(--radius-xs); cursor:pointer; transition:all var(--transition); box-shadow:0 2px 8px var(--brand-glow); }
    .project .order-service-btn:hover{ transform:translateY(-1px); box-shadow:0 4px 12px var(--brand-glow); }
    .project .docs-btn{ display:inline-flex; align-items:center; gap:6px; background:none; border:1.5px solid rgba(0,0,0,0.08); border-radius:var(--radius-xs); padding:0 12px; height:34px; cursor:pointer; font-size:13px; font-weight:500; color:var(--text); transition:all var(--transition); }
    .project .docs-btn:hover{ border-color:var(--brand); color:var(--brand); background:var(--brand-light); transform:translateY(-1px); }
    .project .docs-btn.has-docs{ border-color:#059669; color:#059669; background:#ecfdf5; }
    .project .docs-btn.has-docs:hover{ background:#d1fae5; transform:translateY(-1px); }
    .project .docs-btn svg{ flex-shrink:0; }
    .docs-dropdown{ position:relative; display:inline-block; }
    .docs-list{ position:absolute; top:100%; left:0; z-index:9999; background:var(--card-solid); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-xl); min-width:280px; max-width:400px; margin-top:6px; overflow:hidden; animation:fadeInScale 0.2s ease-out; }
    .docs-list-item{ display:flex; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid var(--border); text-decoration:none; color:var(--text); transition:background 0.2s; }
    .docs-list-item:last-child{ border-bottom:none; }
    .docs-list-item:hover{ background:var(--brand-light); }
    .docs-list-item .doc-icon{ flex-shrink:0; color:var(--brand); }
    .docs-list-item .doc-name{ font-size:13px; font-weight:500; word-break:break-word; }
    .docs-list-item .doc-size{ font-size:12px; color:var(--muted); }
    .docs-list-empty{ padding:14px; text-align:center; color:var(--muted); font-size:13px; }
    .docs-list-loading{ padding:14px; text-align:center; color:var(--muted); font-size:13px; }

    footer.brand{ display:flex; justify-content:center; align-items:center; gap:10px; padding:12px; color:var(--muted); opacity:0.7; transition:opacity var(--transition); }
    footer.brand:hover{ opacity:1; }


    /* Модальное окно */
    .modal{ display:none; position:fixed; inset:0; background:rgba(15,23,42,0.4); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); z-index:1000; align-items:center; justify-content:center; padding:var(--space-lg); overflow-y:auto; }
    .modal.active{ display:flex; }
    .modal-content{ background:var(--card-solid); border-radius:calc(var(--radius) + 4px); width:100%; max-width:600px; max-height:90vh; box-shadow:var(--shadow-xl); display:flex; flex-direction:column; overflow:hidden; animation:modalSlideUp 0.35s cubic-bezier(0.34,1.56,0.64,1); }
    @keyframes modalSlideUp{ from{opacity:0;transform:translateY(30px) scale(0.96);} to{opacity:1;transform:translateY(0) scale(1);} }
    .modal-header{ padding:var(--space-lg); border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:flex-start; position: sticky; top: 0; background: var(--card); z-index: 20; flex-shrink: 0; }
    .modal-header h2{ margin:0; font-size:clamp(18px, 2vw + 1rem, 22px); font-weight:700; letter-spacing:-.01em; flex: 1; }
    .modal-close{ background:none; border:0; font-size:28px; cursor:pointer; color:var(--muted); padding:0; width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:8px; flex-shrink: 0; transition: all 0.2s; margin-left: 12px; }
    .modal-close:hover{ background:#f0f2f5; color: var(--text); transform: scale(1.1); }
    .modal-body{ padding:var(--space-lg); overflow-y:auto; flex:1; display:grid; gap:28px; }
    .form-group{ display:flex; flex-direction:column; gap:10px; margin-bottom:20px; }
    .form-group label{ display:block; font-weight:600; font-size:14px; color:var(--text); line-height:1.2; }
    .form-group input,.form-group select,.form-group textarea{ width:100%; padding:13px 16px; border:1.5px solid rgba(0,0,0,0.08); border-radius:var(--radius-sm); font-size:15px; font-family:inherit; background:rgba(255,255,255,0.6); color:var(--text); transition:all var(--transition); }
    .form-group input:focus,.form-group select:focus,.form-group textarea:focus{ outline:none; border-color:var(--brand); background:#fff; box-shadow:0 0 0 3px var(--brand-glow); }
    /* Убираем стрелки у number и блокируем прокрутку значений */
    input[type="number"]{-moz-appearance:textfield;appearance:textfield;}
    input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
    .form-group textarea{ min-height:100px; resize:vertical; }
    .form-group select{ appearance:none; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path d="M2 4.5l4 4 4-4" fill="none" stroke="%2364748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>'); background-repeat: no-repeat; background-position: right 12px center; background-size: 12px 12px; padding-right:40px; }
    .address-autocomplete{ position:relative; }
    .address-suggestions{ position:absolute; top:100%; left:0; right:0; background:#fff; border:1px solid var(--border); border-radius:12px; margin-top:4px; max-height:300px; overflow-y:auto; z-index:1000; box-shadow:0 8px 24px rgba(15,23,42,0.15); display:none; }
    .address-suggestions.active{ display:block; }
    .address-suggestion-item{ padding:12px 14px; cursor:pointer; border-bottom:1px solid var(--border); transition:background 0.2s; }
    .address-suggestion-item:last-child{ border-bottom:none; }
    .address-suggestion-item:hover,.address-suggestion-item.selected{ background:#f0f2f5; }
    .address-suggestion-item .suggestion-value{ font-weight:500; color:var(--text); font-size:15px; }
    .address-suggestion-item .suggestion-unrestricted{ color:var(--muted); font-size:13px; margin-top:2px; }
    .radio-group{ display:flex; gap:16px; flex-wrap:wrap; align-items:center; padding:8px 0; }
    .radio-option{ display:flex; align-items:center; gap:8px; cursor:pointer; padding:4px 0; }
    .radio-option input[type="radio"]{ width:18px; height:18px; cursor:pointer; accent-color:var(--brand); flex-shrink:0; }
    .radio-option label{ margin:0; cursor:pointer; font-weight:500; font-size:15px; color:var(--text); line-height:1.2; }
    .form-actions{ display:flex; gap:var(--space); margin-top:var(--space); }
    .form-actions button{ flex:1; background:var(--brand); color:#fff; font-weight:600; font-size:16px; height:48px; padding:0 18px; border:0; border-radius:12px; cursor:pointer; box-shadow:0 6px 16px rgba(0,122,255,.25); transition:opacity 0.2s; }
    .form-actions button:hover{ opacity:0.9; }
    .form-actions button:disabled{ opacity:0.6; cursor:not-allowed; }
    .service-buttons{ display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:var(--space); margin-bottom:clamp(20px, 3vh, 28px); }
    .service-btn{ padding:14px 16px; border:1.5px solid rgba(0,0,0,0.06); border-radius:var(--radius-sm); background:rgba(255,255,255,0.6); cursor:pointer; font-weight:600; font-size:15px; text-align:center; transition:all var(--transition); }
    .service-btn:hover{ border-color:rgba(37,99,235,0.3); background:#fff; transform:translateY(-1px); box-shadow:var(--shadow-sm); }
    .service-btn.active{ border-color:var(--brand); background:var(--brand-light); color:var(--brand); box-shadow:0 0 0 3px var(--brand-glow); }
    .documents-note{ background:#eef2ff; border:1px solid #dbeafe; border-radius:12px; padding:var(--space); margin-top:var(--space); }
    .documents-note h3{ margin:0 0 8px 0; font-size:15px; font-weight:600; color:#1e3a8a; }
    .documents-note ul{ margin:0; padding-left:20px; color:#1e3a8a; font-size:14px; line-height:1.6; }
    .file-upload{ margin-top:var(--space); padding-top:var(--space); border-top:1px solid var(--border); }
    .file-upload input[type="file"]{ display:none; }
    .file-upload-label{ display:block; padding:16px 16px; border:2px dashed rgba(37,99,235,0.2); border-radius:var(--radius-sm); text-align:center; cursor:pointer; transition:all var(--transition); background:rgba(37,99,235,0.03); font-size:15px; color:var(--muted); font-weight:500; }
    .file-upload-label:hover{ border-color:var(--brand); background:var(--brand-light); color:var(--brand); }
    .file-list{ margin-top:var(--space); display:grid; gap:8px; }
    .file-item{ display:flex; align-items:flex-start; gap:10px; padding:12px 48px 12px 14px; background:#f0f2f5; border-radius:10px; font-size:14px; position:relative; overflow:hidden; }
    .file-item-name{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text); font-weight:500; }
    .file-item-type{ min-width:150px; flex-shrink:0; }
    .file-item-type select{ width:100%; padding:6px 10px; border:1px solid var(--border); border-radius:8px; font-size:13px; background:#fff; }
    .file-item-remove{ background:none; border:0; color:#ef4444; cursor:pointer; padding:4px 8px; font-size:18px; line-height:1; flex-shrink:0; transition:opacity 0.2s; position:absolute; top:8px; right:10px; }
    .file-item-remove:hover{ opacity:0.8; }

    /* Лоадер */
    .loader-overlay{ display:none; position:fixed; inset:0; background:rgba(15,23,42,0.5); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); z-index:2000; align-items:center; justify-content:center; }
    .loader-overlay.active{ display:flex; }
    .loader-overlay > div{ display:flex; flex-direction:column; align-items:center; justify-content:center; }
    .loader{ width:50px; height:50px; border:4px solid rgba(255,255,255,0.3); border-top-color:#fff; border-radius:50%; animation:spin 0.8s linear infinite; }
    @keyframes spin{ to{ transform:rotate(360deg); } }
    .loader-text{ margin-top:16px; color:#fff; font-size:16px; font-weight:500; text-align:center; }

    /* Уведомление о загрузке файлов */
    .upload-notification{ display:none; position:fixed; bottom:20px; right:20px; background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:0 8px 32px rgba(15,23,42,0.2); z-index:1500; min-width:320px; max-width:420px; padding:20px; }
    .upload-notification.active{ display:block; animation:slideInUp 0.3s ease-out; }
    @keyframes slideInUp{ from{ transform:translateY(100px); opacity:0; } to{ transform:translateY(0); opacity:1; } }
    .upload-notification-header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
    .upload-notification-title{ margin:0; font-size:16px; font-weight:600; color:var(--text); }
    .upload-notification-close{ background:none; border:0; font-size:20px; cursor:pointer; color:var(--muted); padding:0; width:24px; height:24px; display:flex; align-items:center; justify-content:center; border-radius:6px; transition:background 0.2s; }
    .upload-notification-close:hover{ background:#f0f2f5; }
    .upload-progress-bar{ width:100%; height:8px; background:#e5e7eb; border-radius:4px; overflow:hidden; margin-bottom:16px; }
    .upload-progress-fill{ height:100%; background:var(--brand); transition:width 0.3s ease-out; border-radius:4px; }
    .upload-progress-text{ font-size:13px; color:var(--muted); margin-bottom:12px; text-align:center; }
    .upload-files-list{ display:grid; gap:8px; max-height:200px; overflow-y:auto; }
    .upload-file-item{ display:flex; align-items:center; gap:10px; padding:8px 12px; background:#f0f2f5; border-radius:8px; font-size:13px; }
    .upload-file-item-name{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text); }
    .upload-file-item-status{ flex-shrink:0; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
    .upload-file-item-status.pending{ background:#e5e7eb; }
    .upload-file-item-status.uploading{ background:#3b82f6; animation:pulse 1.5s ease-in-out infinite; }
    .upload-file-item-status.success{ background:#10b981; }
    .upload-file-item-status.error{ background:#ef4444; }
    @keyframes pulse{ 0%, 100%{ opacity:1; } 50%{ opacity:0.5; } }
    .upload-file-item-status.pending::before{ content:''; width:8px; height:8px; background:#9ca3af; border-radius:50%; }
    .upload-file-item-status.uploading::before{ content:''; width:8px; height:8px; background:#fff; border-radius:50%; }
    .upload-file-item-status.success::before{ content:'✓'; color:#fff; font-size:10px; font-weight:bold; }
    .upload-file-item-status.error::before{ content:'✕'; color:#fff; font-size:10px; font-weight:bold; }

    /* Красивое уведомление (замена alert) */
    .toast-notification{ display:none; position:fixed; top:50%; left:50%; transform:translate(-50%, -50%); background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:0 20px 60px rgba(15,23,42,0.3); z-index:2500; min-width:320px; max-width:500px; padding:28px; animation:fadeInScale 0.3s ease-out; }
    .toast-notification.active{ display:block; }
    @keyframes fadeInScale{ from{ opacity:0; transform:translate(-50%, -50%) scale(0.9); } to{ opacity:1; transform:translate(-50%, -50()) scale(1); } }
    .toast-message{ font-size:16px; color:var(--text); line-height:1.6; margin:0 0 20px 0; text-align:center; }
    .toast-button{ width:100%; background:var(--brand); color:#fff; font-weight:600; font-size:15px; height:44px; padding:0 18px; border:0; border-radius:10px; cursor:pointer; transition:opacity 0.2s; }
    .toast-button:hover{ opacity:0.9; }
    .toast-overlay{ display:none; position:fixed; inset:0; background:rgba(15,23,42,0.4); z-index:2400; animation:fadeIn 0.3s ease-out; }
    .toast-overlay.active{ display:block; }
    @keyframes fadeIn{ from{ opacity:0; } to{ opacity:1; } }

    /* Segment control */
    .segment-control{ display:flex; gap:4px; background:rgba(0,0,0,0.05); border-radius:var(--radius-sm); padding:3px; width:100%; }
    .segment-btn{ flex:1; padding:8px 6px; border:0; background:transparent; border-radius:9px; font-size:13px; font-weight:500; color:var(--muted); cursor:pointer; transition:all var(--transition); white-space:nowrap; line-height:1.2; }
    .segment-btn.active{ background:#fff; color:var(--brand); box-shadow:0 2px 8px rgba(0,0,0,0.08),0 0 0 0.5px rgba(0,0,0,0.04); font-weight:600; }
    .segment-btn:hover:not(.active){ color:var(--text); background:rgba(255,255,255,0.5); }
    .segment-btn:hover:not(.active){ color:var(--text); }
    .segment-btn{ position:relative; }
    .seg-badge{ display:none; min-width:18px; height:18px; line-height:18px; padding:0 5px; border-radius:9px; font-size:11px; font-weight:700; text-align:center; margin-left:3px; vertical-align:1px; }
    .seg-badge.visible{ display:inline-block; }
    .seg-badge-red{ background:#ef4444; color:#fff; }
    .seg-badge-blue{ background:#3b82f6; color:#fff; }
    .seg-badge-gray{ background:rgba(0,0,0,0.10); color:var(--muted); }
    .segment-btn.active .seg-badge-gray{ background:rgba(37,99,235,0.12); color:var(--brand); }
    .segment-btn.active .seg-badge-blue{ background:var(--brand); }

    /* Deadline text */
    .deadline-text{ font-size:12px; font-weight:500; line-height:1.3; }
    .deadline-text.ok{ color:#059669; }
    .deadline-text.overdue{ color:#dc2626; }

    /* Enriched service card */
    .service-card-user-row{ display:flex; align-items:center; gap:6px; font-size:13px; color:var(--muted); font-weight:500; }
    .service-card-user-row .tg-link{ display:inline-flex; align-items:center; color:#0088cc; text-decoration:none; transition:opacity 0.2s; flex-shrink:0; }
    .service-card-user-row .tg-link:hover{ opacity:0.7; }

    /* Work count in group meta */
    .address-group-work-count{ font-weight:600; color:#1e40af; }

    /* Accordion group styles */
    .address-group{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-md); overflow:hidden; transition:box-shadow var(--transition); position:relative; }
    .address-group.open{ overflow:visible; }
    .address-group:hover{ box-shadow:var(--shadow-lg); }
    .address-group.open{ box-shadow:var(--shadow-lg); }
    .address-group-header{ display:flex; align-items:center; gap:10px; padding:14px 16px; cursor:pointer; user-select:none; -webkit-tap-highlight-color:transparent; transition:background var(--transition); border-radius:var(--radius); }
    .address-group.open .address-group-header{ border-radius:var(--radius) var(--radius) 0 0; }
    .address-group-header:hover{ background:rgba(37,99,235,0.03); }
    .address-group-header:active{ background:rgba(37,99,235,0.06); }
    .address-group-header:active{ background:#f0f2f5; }
    .address-group-chevron{ flex-shrink:0; width:20px; height:20px; transition:transform var(--transition-bounce); color:var(--muted); }
    .address-group.open .address-group-chevron{ transform:rotate(90deg); }
    .address-group-info{ flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
    .address-group-title{ font-weight:600; font-size:clamp(14px, 0.6vw + 13px, 16px); color:var(--text); word-break:break-word; }
    .address-group-meta{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:13px; color:var(--muted); }
    .address-group-count{ font-weight:600; color:#1e40af; }
    .address-group-date{ font-weight:500; }
    .address-group-badges{ display:flex; align-items:center; gap:6px; flex-shrink:0; }
    .address-group-status{ padding:4px 10px; border-radius:20px; font-size:11px; font-weight:600; white-space:nowrap; letter-spacing:0.01em; }
    .address-group-doc-icon{ color:#059669; flex-shrink:0; }
    .address-group-body{ max-height:0; overflow:hidden; transition:max-height 0.3s ease; }
    .address-group.open .address-group-body{ max-height:5000px; overflow:visible; }
    .address-group-items{ padding:0 16px 14px; display:flex; flex-direction:column; gap:10px; }
    .address-group-items .service-card{ padding:13px 15px; border:1px solid rgba(0,0,0,0.05); border-radius:var(--radius-sm); background:rgba(248,249,251,0.7); display:flex; flex-direction:column; gap:6px; transition:all var(--transition); }
    .address-group-items .service-card:hover{ background:rgba(248,249,251,1); border-color:rgba(0,0,0,0.08); box-shadow:var(--shadow-sm); }
    .address-group-items .service-card-top{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
    .address-group-items .service-card-name{ font-weight:600; font-size:14px; color:var(--text); }
    .address-group-items .service-card-status{ padding:4px 10px; border-radius:20px; font-size:11px; font-weight:600; letter-spacing:0.01em; }
    .address-group-items .service-card-bottom{ display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; font-size:13px; color:var(--muted); }
    .address-group-items .service-card-date{ font-weight:500; }
    .address-group-items .service-card-actions{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:4px; }
    .address-group-order{ margin-top:10px; padding-top:10px; border-top:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:8px; }
    .address-group-order .order-service-btn{ background:linear-gradient(135deg,var(--brand) 0%,#3b82f6 100%); color:#fff; font-weight:600; font-size:13px; height:34px; padding:0 16px; border:0; border-radius:var(--radius-xs); cursor:pointer; transition:all var(--transition); box-shadow:0 2px 8px var(--brand-glow); }
    .address-group-order .order-service-btn:hover{ transform:translateY(-1px); box-shadow:0 4px 12px var(--brand-glow); }
    .address-group-order .telegram-btn{ display:inline-flex; align-items:center; text-decoration:none; color:#0088cc; transition:opacity 0.2s; }
    .address-group-order .telegram-btn:hover{ opacity:0.8; }
    .address-group-order .messenger-buttons{ display:inline-flex; align-items:center; gap:8px; }
    .address-group-order .max-btn{ display:inline-flex; align-items:center; text-decoration:none; transition:opacity 0.2s; }
    .address-group-order .max-btn:hover{ opacity:0.8; }
    .address-group-order .max-btn.disabled{ opacity:0.4; cursor:default; }
    .service-card .docs-btn{ display:inline-flex; align-items:center; gap:6px; background:none; border:1px solid var(--border); border-radius:8px; padding:0 12px; height:32px; cursor:pointer; font-size:13px; font-weight:500; color:var(--text); transition:all 0.2s; }
    .service-card .docs-btn:hover{ border-color:var(--brand); color:var(--brand); background:#eef2ff; }
    .service-card .docs-btn.has-docs{ border-color:#059669; color:#059669; background:#ecfdf5; }
    .service-card .docs-btn.has-docs:hover{ background:#d1fae5; }
    .service-card .docs-btn svg{ flex-shrink:0; }

    @media (max-width: 480px){
      .inputs{ grid-template-columns: 1fr; gap: 10px; }
      .submit{ width: 100%; }
      .controls{ display:grid; grid-template-columns: 1fr; gap:8px; }
      .address-search{ width:100%; }
      .select{ width:100%; }
      .modal{ padding:0; align-items:flex-end; }
      .modal-content{ max-height:100vh; max-height:100dvh; border-radius:var(--radius-sm) var(--radius-sm) 0 0; margin:0; width:100%; max-width:100%; }
      .modal-body{ overflow-x:hidden; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
      .service-buttons{ grid-template-columns: repeat(2, 1fr); }
      .form-actions{ flex-direction: column; }
      .upload-notification{ bottom:10px; right:10px; left:10px; min-width:auto; max-width:none; }
      .toast-notification{ min-width:280px; max-width:90%; padding:20px; }

      /* Segment tabs — горизонтальный скролл */
      .segment-control{ overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
      .segment-control::-webkit-scrollbar{ display:none; }
      .segment-btn{ flex:0 0 auto; padding:7px 10px; font-size:12px; }
      .seg-badge{ min-width:16px; height:16px; line-height:16px; font-size:10px; padding:0 4px; }

      /* Карточка адреса */
      .address-group{ border-radius:var(--radius-sm); }
      .address-group-header{ padding:8px 10px; gap:6px; border-radius:var(--radius-sm); }
      .address-group.open .address-group-header{ border-radius:var(--radius-sm) var(--radius-sm) 0 0; }
      .address-group-title{ font-size:13px; }
      .address-group-meta{ font-size:11px; gap:4px; }
      .address-group-info{ gap:2px; }
      .address-group-chevron{ width:16px; height:16px; }
      .address-group-status{ padding:2px 8px; font-size:10px; }
      .address-group-body{ padding:0; }
      .address-group-items{ padding:0 8px 8px; }

      /* Карточка услуги — мобильный layout:
         Название + Цена
         Статус
         Дата + Срок
         Ответственный */
      .service-card{ padding:8px 10px; }
      .address-group-items .service-card-top{ display:flex; flex-wrap:wrap; gap:3px 8px; align-items:center; }
      .service-card-name{ font-size:13px; order:1; }
      .service-card-amount{ font-size:13px; order:2; margin-left:auto; flex-shrink:0; }
      .address-group-items .service-card-top{ display:flex; flex-direction:row; flex-wrap:wrap; gap:3px 8px; align-items:center; }
      .address-group-items .service-card-top::after{ content:''; flex-basis:100%; height:0; order:2; }
      .service-card-status{ font-size:10px; padding:2px 7px; order:3; }
      .address-group-items .service-card-bottom{ font-size:12px; margin-top:2px; }
      .service-card-user-row{ font-size:12px; margin-top:2px; }
      .service-card-actions{ flex-wrap:wrap; gap:6px; margin-top:4px; }
      .project .docs-btn{ height:28px; font-size:11px; padding:0 8px; }

      /* Кнопки заказ + чат */
      .address-group-order{ flex-wrap:nowrap; gap:8px; padding-top:8px; margin-top:8px; }
      .address-group-order .order-service-btn{ font-size:12px; height:30px; padding:0 12px; flex-shrink:0; }
      .address-group-order .telegram-btn svg{ width:28px; height:28px; }
      .address-group-order .max-btn img{ width:32px; height:32px; }
      .address-group-order .telegram-btn, .address-group-order .max-btn{ padding:6px; }
      .address-group-order .messenger-buttons{ gap:6px; flex-shrink:0; }

      /* Hero */

      /* Модалки */
      .modal-header h2{ font-size:16px; }
    }
  
    #newObjectBtn{ background:linear-gradient(135deg,var(--brand) 0%,#3b82f6 100%) !important; box-shadow:0 4px 14px var(--brand-glow) !important; border-radius:var(--radius-sm) !important; transition:all var(--transition) !important; }
    #newObjectBtn:hover{ transform:translateY(-1px); box-shadow:0 6px 20px var(--brand-glow) !important; }