/* ═══════════════════════════════════════════════════════════════
   agency-office.css — стили страницы agency-office-1.2.html
   Вынесено из инлайнового <style> без изменений (шаг 1 разгрузки файла).
   Подключать ПОСЛЕ troy-theme.css — тёмная тема в конце файла
   переопределяет базовые токены и полагается на этот порядок каскада.
   ═══════════════════════════════════════════════════════════════ */
        :root {
            --font-xs:       clamp(0.6875rem, 0.6rem  + 0.25vw, 0.8125rem);
            --font-sm:       clamp(0.75rem,   0.65rem + 0.35vw, 0.9375rem);
            --font-base:     clamp(0.8125rem, 0.65rem + 0.5vw,  1.0625rem);
            --font-lg:       clamp(1rem,      0.85rem + 0.6vw,  1.375rem);
            --font-xl:       clamp(1.125rem,  0.9rem  + 0.85vw, 1.6rem);
            --font-title:    clamp(1.25rem,   1rem    + 1vw,    1.875rem);
            --space-1: clamp(0.25rem,  0.2rem  + 0.2vw,  0.5rem);
            --space-2: clamp(0.5rem,   0.4rem  + 0.35vw, 0.875rem);
            --space-3: clamp(0.75rem,  0.6rem  + 0.5vw,  1.25rem);
            --space-4: clamp(1rem,     0.75rem + 0.75vw, 1.75rem);
            --space-5: clamp(1.25rem,  0.9rem  + 1.1vw,  2.25rem);
            --topbar-h:      clamp(40px, 3.2vw, 60px);
            --card-radius:   clamp(10px, 1vw, 18px);
            --card-gap:      clamp(14px, 1.8vw, 32px);
            --card-pad:      clamp(14px, 1.6vw, 26px);
            --icon-nav:      clamp(16px, 1.4vw, 22px);
            --icon-card:     clamp(20px, 1.8vw, 28px);
            --icon-verified: clamp(16px, 1.2vw, 22px);
            --btn-radius-pill: 100px;
            --btn-font:        var(--font-sm);
            --color-brand:    #004d40;
            --color-brand-mid:#00695c;
            --color-accent:   #007bff;
            --color-green:    #00aa00;
            --color-red:      #dc3545;
            --color-orange:   #e67700;
            --color-verified: #0d31a6;
            --color-border:   #e0e0e0;
            --color-bg:       #f8f9fa;
            --color-surface:  #ffffff;
            --color-text:     #333333;
            --color-muted:    #888888;
            --color-light:    #666666;
            --shadow-card:    0 clamp(4px,.5vw,8px) clamp(12px,1.5vw,24px) rgba(0,0,0,.10);
            --shadow-profile: 0 2px 16px rgba(0,77,64,.10);
            --ease:           0.2s ease;
            --logo-size:      clamp(58px, 5.5vw, 88px);
            --tab-line:       3px;
            /* spacing / font scale used by the ported Docs subsystem */
            --fs-xs:clamp(10px,.85vw,12px);--fs-sm:clamp(11px,.95vw,13px);--fs-base:clamp(13px,1.05vw,15px);
            --fs-md:clamp(14px,1.15vw,16px);--fs-lg:clamp(16px,1.4vw,20px);
            --sp-1:clamp(3px,.3vw,5px);--sp-2:clamp(5px,.5vw,8px);--sp-3:clamp(8px,.75vw,12px);
            --sp-4:clamp(12px,1.1vw,18px);--sp-5:clamp(16px,1.5vw,24px);--sp-6:clamp(20px,1.9vw,30px);
        }
        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
        html { font-size: clamp(14px, .875rem + .278vw, 18px); text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
        body {
            font-family: Arial, Helvetica, sans-serif;
            font-size: var(--font-base);
            line-height: 1.5;
            background: var(--color-bg);
            color: var(--color-text);
            display: flex;
            flex-direction: column;
            height: 100dvh;
            overflow: hidden;
        }
        .material-symbols-outlined {
            font-family: 'Material Symbols Outlined';
            font-weight: normal; font-style: normal; line-height: 1;
            letter-spacing: normal; text-transform: none;
            display: inline-flex; align-items: center; justify-content: center;
            vertical-align: middle; white-space: nowrap; word-wrap: normal;
            direction: ltr;
            -webkit-font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased;
            font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
            flex-shrink: 0;
        }
        /* alias so ported Docs markup (.ms) renders Material Symbols */
        .ms{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;line-height:1;
            letter-spacing:normal;text-transform:none;display:inline-flex;align-items:center;justify-content:center;
            vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;
            -webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;
            font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;flex-shrink:0}

        /* ═══════════════ DOCS SUBSYSTEM (ported from showing-room-agency) ═══════════════ */
        .modal-ov{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.87);
          display:flex;align-items:center;justify-content:center;padding:18px}
        .modal-ov.hidden{display:none!important}
        /* Docs preview — Open / Download buttons in toolbar */
        .docs-preview-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}
        .docs-open-btn,.docs-dl-btn{display:flex;align-items:center;gap:5px;
          padding:6px 11px;border-radius:7px;background:#fff;border:1px solid rgba(0,0,0,.12);
          color:#333;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}
        .docs-open-btn:hover,.docs-dl-btn:hover{background:#f5f7f9;color:#004d40;border-color:rgba(0,77,64,.25)}
        .docs-open-btn .ms,.docs-dl-btn .ms{font-size:15px}
        .docs-open-btn:disabled,.docs-dl-btn:disabled{opacity:.4;cursor:not-allowed}
        .docs-open-btn:disabled:hover,.docs-dl-btn:disabled:hover{background:#fff;color:#333;border-color:rgba(0,0,0,.12)}
        .docs-card{background:#fff;border:1px solid rgba(0,77,64,.15);border-radius:18px;
          width:min(94vw,920px);height:min(86dvh,680px);display:flex;flex-direction:column;overflow:hidden;
          box-shadow:0 24px 64px rgba(0,0,0,.18)}
        .docs-head{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid rgba(0,0,0,.09);
          display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:var(--sp-3)}
        .docs-title{font-size:var(--fs-md);font-weight:700;color:#333;display:flex;align-items:center;gap:var(--sp-2);min-width:0}
        .docs-title .ms{color:#004d40;font-size:20px;flex-shrink:0}
        .docs-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        .docs-x{width:34px;height:34px;border-radius:8px;background:rgba(0,0,0,.05);border:none;
          color:#666;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .18s}
        .docs-x:hover{color:#333;background:rgba(0,0,0,.08)}
        .docs-body{flex:1;display:flex;min-height:0;overflow:hidden}
        .docs-sidebar{width:clamp(220px,26vw,300px);border-right:1px solid rgba(0,0,0,.09);
          display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;
          padding:var(--sp-3);gap:6px;background:#fafbfc;flex-shrink:0}
        .docs-list-item{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:9px;
          background:#fff;border:1.5px solid rgba(0,0,0,.08);cursor:pointer;transition:all .15s;text-align:left;width:100%;position:relative}
        .docs-list-item:hover{border-color:rgba(0,77,64,.25);background:#f5f7f9}
        .docs-list-item.active{border-color:rgba(0,77,64,.55);background:rgba(0,77,64,.07)}
        .docs-list-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;
          color:#fff;font-size:16px;flex-shrink:0}
        .docs-list-icon.pdf{background:linear-gradient(135deg,#c62828,#e53935)}
        .docs-list-icon.img{background:linear-gradient(135deg,#1565c0,#1e88e5)}
        .docs-list-icon.doc{background:linear-gradient(135deg,#2e7d32,#43a047)}
        .docs-list-icon.csv{background:linear-gradient(135deg,#0277bd,#039be5)}
        .docs-list-icon.xls{background:linear-gradient(135deg,#1b5e20,#388e3c)}
        .docs-list-icon.other{background:linear-gradient(135deg,#6a1b9a,#8e24aa)}
        .docs-list-info{flex:1;min-width:0}
        .docs-list-name{font-size:var(--fs-sm);font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .docs-list-meta{font-size:var(--fs-xs);color:#888;margin-top:2px}
        .docs-preview{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#eef0f2;min-width:0}
        .docs-preview-toolbar{padding:10px var(--sp-4);background:#fff;border-bottom:1px solid rgba(0,0,0,.06);
          display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:var(--sp-2);flex-wrap:wrap}
        .docs-preview-name{font-size:var(--fs-sm);font-weight:600;color:#333;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        .docs-action-btn{display:flex;align-items:center;gap:5px;padding:6px 11px;border-radius:7px;
          background:rgba(0,77,64,.08);border:1px solid rgba(0,77,64,.18);color:#004d40;
          font-size:var(--fs-xs);font-weight:600;cursor:pointer;transition:all .15s}
        .docs-action-btn:hover{background:rgba(0,77,64,.14)}
        .docs-action-btn .ms{font-size:14px}
        .docs-preview-body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;
          display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}
        .docs-preview-img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.15);background:#fff}
        .docs-preview-pdf{width:min(100%,560px);min-height:clamp(320px,55vh,520px);
          background:#fff;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.15);
          padding:clamp(24px,4vw,46px);display:flex;flex-direction:column;gap:12px}
        .docs-pdf-head{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:2px solid #c62828}
        .docs-pdf-badge{padding:3px 10px;border-radius:5px;background:#c62828;color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em}
        .docs-pdf-title{font-size:clamp(15px,1.7vw,19px);font-weight:700;color:#222}
        .docs-pdf-row{display:flex;justify-content:space-between;gap:12px;
          padding:8px 0;border-bottom:1px solid #eee;font-size:clamp(11px,1.1vw,13px)}
        .docs-pdf-row:last-child{border-bottom:none}
        .docs-pdf-row-k{color:#666;font-weight:500}
        .docs-pdf-row-v{color:#222;font-weight:600;text-align:right}
        .docs-pdf-foot{margin-top:auto;padding-top:18px;border-top:1px solid #eee;
          display:flex;justify-content:space-between;font-size:10px;color:#999}
        .docs-preview-doc{width:min(100%,560px);background:#fff;border-radius:10px;
          box-shadow:0 6px 24px rgba(0,0,0,.15);padding:clamp(24px,4vw,46px);min-height:clamp(280px,45vh,440px);
          display:flex;flex-direction:column;gap:14px}
        .docs-doc-title{font-size:clamp(16px,1.8vw,20px);font-weight:700;color:#222;margin-bottom:6px}
        .docs-doc-p{font-size:clamp(12px,1.2vw,14px);color:#444;line-height:1.7}
        .docs-empty{text-align:center;color:#666;font-size:var(--fs-sm);padding:var(--sp-6)}
        .docs-empty .ms{font-size:42px;display:block;margin-bottom:10px;color:#aaa}
        .docs-preview-img-real{max-width:100%;max-height:75vh;width:auto;height:auto;
          border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.18);background:#fff;display:block}
        .docs-preview-iframe{width:min(100%,720px);height:clamp(360px,72vh,640px);
          border-radius:10px;border:1px solid rgba(0,0,0,.10);background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.15)}
        .docs-preview-doc-text{width:min(100%,560px);font-family:'Courier New',ui-monospace,monospace;
          font-size:clamp(11px,1.1vw,13px);line-height:1.6;color:#1a1a1a;
          white-space:pre-wrap;word-break:break-word;
          background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:14px 16px;
          max-height:60vh;overflow:auto;margin-top:10px}
        .docs-preview-csv{width:min(100%,820px);background:#fff;border-radius:10px;
          box-shadow:0 6px 24px rgba(0,0,0,.12);padding:18px;display:flex;flex-direction:column;gap:10px}
        .docs-csv-scroll{overflow:auto;max-height:65vh;border:1px solid #e0e0e0;border-radius:8px}
        .docs-csv-table{border-collapse:collapse;width:100%;font-size:12px;font-family:'Inter',sans-serif}
        .docs-csv-table th,.docs-csv-table td{padding:8px 12px;border:1px solid #e8eaed;
          text-align:left;vertical-align:top;white-space:nowrap}
        .docs-csv-table th{background:#f5f7f9;color:#222;font-weight:700;
          position:sticky;top:0;z-index:2;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
        .docs-csv-table tr:nth-child(even) td{background:#fafbfc}
        .docs-csv-table tr:hover td{background:#f0f9f7}
        .docs-preview-noinline{width:min(100%,460px);background:#fff;border-radius:14px;
          padding:clamp(22px,4vw,36px);text-align:center;
          box-shadow:0 6px 24px rgba(0,0,0,.12);display:flex;flex-direction:column;align-items:center;gap:14px}
        .dpn-icon{width:72px;height:72px;border-radius:18px;background:rgba(0,77,64,.08);
          border:1px solid rgba(0,77,64,.20);display:flex;align-items:center;justify-content:center;color:#004d40}
        .dpn-icon .ms{font-size:36px}
        .dpn-title{font-size:15px;font-weight:700;color:#222;word-break:break-word}
        .dpn-text{font-size:12px;color:#5a6e6a;line-height:1.6;max-width:360px}
        .dpn-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 18px;border-radius:9px;
          background:#004d40;color:#fff;border:none;cursor:pointer;font-size:13px;font-weight:600;
          font-family:inherit;transition:background .15s}
        .dpn-btn:hover{background:#00695c}
        .dpn-btn .ms{font-size:17px}
        .fc-card{background:#fff;border-radius:18px;width:min(92vw,420px);padding:var(--sp-5);
          display:flex;flex-direction:column;gap:var(--sp-4);box-shadow:0 24px 64px rgba(0,0,0,.22)}
        .fc-icon{width:56px;height:56px;border-radius:14px;background:rgba(224,92,92,.10);
          border:1px solid rgba(224,92,92,.25);display:flex;align-items:center;justify-content:center;
          color:#e05c5c;font-size:30px;margin:0 auto}
        .fc-title{font-size:var(--fs-lg);font-weight:700;color:#333;text-align:center}
        .fc-text{font-size:var(--fs-sm);color:#666;text-align:center;line-height:1.55}
        .fc-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}
        .fc-btn{flex:1;padding:11px var(--sp-3);border-radius:9px;font-size:var(--fs-sm);font-weight:600;
          border:1px solid rgba(0,0,0,.12);background:#f5f7f9;color:#666;cursor:pointer;transition:all .15s}
        .fc-btn:hover{color:#333}
        .fc-btn.danger{background:#e05c5c;border-color:#e05c5c;color:#fff}
        .fc-btn.danger:hover{background:#c84747;border-color:#c84747}
        @media(max-width:768px){
          .docs-card{width:100vw;height:100dvh;max-height:none;border-radius:0}
          .docs-body{position:relative}
          .docs-sidebar{width:100%;border-right:none;background:#fafbfc;padding:var(--sp-3)}
          .docs-preview{position:absolute;inset:0;background:#eef0f2;transform:translateX(100%);
            transition:transform .25s ease;z-index:2;display:flex;flex-direction:column}
          .docs-card.show-preview .docs-preview{transform:translateX(0)}
          .docs-card.show-preview .docs-sidebar{visibility:hidden}
          .docs-back-btn{display:flex !important}
        }
        .docs-back-btn{display:none;align-items:center;gap:5px;padding:6px 11px;border-radius:7px;
          background:#fff;border:1px solid rgba(0,0,0,.12);color:#333;font-size:12px;font-weight:600;
          cursor:pointer;transition:all .15s}
        .docs-back-btn:hover{background:#f5f7f9}
        .docs-back-btn .ms{font-size:14px}
        /* per-doc menu, send flow, add doc */
        .docs-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
        .docs-send-trigger{display:flex;align-items:center;gap:6px;padding:7px 13px;border-radius:8px;
          background:#004d40;border:1px solid #004d40;color:#fff;font-size:12px;font-weight:600;
          cursor:pointer;transition:all .15s}
        .docs-send-trigger:hover{background:#00695c;border-color:#00695c}
        .docs-send-trigger .ms{font-size:15px}
        .docs-send-trigger:disabled{opacity:.4;cursor:not-allowed}
        .doc-menu-wrap{position:relative;margin-left:auto;flex-shrink:0}
        .doc-menu-btn{width:28px;height:28px;border-radius:7px;border:1px solid transparent;background:transparent;
          color:#888;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:all .15s}
        .doc-menu-btn:hover{background:rgba(0,0,0,.04);color:#222;border-color:rgba(0,0,0,.08)}
        .doc-menu-btn.open{background:rgba(0,77,64,.08);color:#004d40;border-color:rgba(0,77,64,.18)}
        .doc-menu-dd{position:absolute;top:calc(100% + 5px);right:0;min-width:130px;
          background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:9px;
          box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:60;padding:4px}
        .doc-menu-dd.hidden{display:none}
        .doc-menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;
          background:transparent;border:none;color:#222;font-size:12.5px;font-weight:500;
          cursor:pointer;text-align:left;width:100%;font-family:inherit;transition:background .12s}
        .doc-menu-item:hover{background:#f5f7f9}
        .doc-menu-item .ms{font-size:15px;color:#666}
        .doc-menu-item.danger{color:#e05c5c}
        .doc-menu-item.danger .ms{color:#e05c5c}
        .doc-menu-item.danger:hover{background:rgba(224,92,92,.07)}
        .docs-list-edit-input{width:100%;font-size:var(--fs-sm);font-weight:600;color:#222;
          border:1.5px solid #004d40;border-radius:6px;padding:4px 7px;background:#fff;outline:none;font-family:inherit}
        .docs-add-btn{display:flex;align-items:center;justify-content:center;gap:7px;
          padding:10px;border-radius:9px;background:rgba(0,77,64,.06);border:1.5px dashed rgba(0,77,64,.30);
          color:#004d40;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s;
          margin-top:8px;width:100%;font-family:inherit}
        .docs-add-btn:hover{background:rgba(0,77,64,.12);border-style:solid}
        .docs-add-btn .ms{font-size:15px}
        .docs-main-screen{flex:1;display:flex;min-height:0;overflow:hidden}
        .docs-main-screen.hidden{display:none}
        .docs-send-screen{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#fff}
        .docs-send-screen.hidden{display:none}
        .docs-send-head{padding:var(--sp-3) var(--sp-5);border-bottom:1px solid rgba(0,0,0,.07);
          display:flex;align-items:center;gap:10px;flex-shrink:0}
        .docs-send-back{display:flex;align-items:center;gap:5px;padding:6px 11px;border-radius:7px;
          background:#f5f7f9;border:1px solid #e0e0e0;color:#444;font-size:12px;font-weight:600;
          cursor:pointer;transition:all .15s;font-family:inherit}
        .docs-send-back:hover{background:#e8eaed}
        .docs-send-back .ms{font-size:14px}
        .docs-send-title{font-size:var(--fs-md);font-weight:700;color:#222}
        .docs-send-sub{font-size:11px;color:#888;margin-left:auto}
        .docs-send-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--sp-4) var(--sp-5);
          display:flex;flex-direction:column;gap:8px;background:#fafbfc}
        .docs-send-section-title{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.07em;
          font-weight:700;margin:6px 0 4px}
        .docs-send-item{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:10px;
          background:#fff;border:1.5px solid #e3e8e6;cursor:pointer;transition:all .15s;font-family:inherit;text-align:left;width:100%}
        .docs-send-item:hover{border-color:rgba(0,77,64,.30);background:#f0f9f7}
        .docs-send-item.selected{border-color:#004d40;background:rgba(0,77,64,.07)}
        .docs-send-item-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;
          color:#fff;font-size:17px;flex-shrink:0}
        .docs-send-item-icon.client{background:linear-gradient(135deg,#004d40,#00897b)}
        .docs-send-item-icon.other{background:linear-gradient(135deg,#5a6e6a,#a8b8b4)}
        .docs-send-item-info{flex:1;min-width:0}
        .docs-send-item-name{font-size:13px;font-weight:600;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .docs-send-item-meta{font-size:11px;color:#888;margin-top:1px}
        .docs-send-item-chk{width:22px;height:22px;border-radius:50%;border:2px solid rgba(0,0,0,.15);
          flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:transparent;
          font-weight:800;transition:all .15s;font-family:inherit}
        .docs-send-item.selected .docs-send-item-chk{background:#004d40;border-color:#004d40;color:#fff}
        .docs-send-foot{padding:var(--sp-3) var(--sp-5);border-top:1px solid rgba(0,0,0,.07);
          display:flex;gap:10px;justify-content:flex-end;flex-shrink:0;flex-wrap:wrap}
        .docs-send-foot-btn{padding:10px 18px;border-radius:9px;font-size:13px;font-weight:600;
          cursor:pointer;border:none;transition:all .15s;display:flex;align-items:center;gap:6px;font-family:inherit}
        .docs-send-foot-btn.primary{background:#004d40;color:#fff}
        .docs-send-foot-btn.primary:hover{background:#00695c}
        .docs-send-foot-btn.primary:disabled{background:#9bb5b0;cursor:not-allowed}
        .docs-send-foot-btn.secondary{background:#f5f7f9;color:#666;border:1px solid #e0e0e0}
        .docs-send-foot-btn.secondary:hover{color:#333}
        .docs-send-empty{text-align:center;padding:30px;color:#888;font-size:13px;font-style:italic}
        .docs-send-search-wrap{position:relative;margin-bottom:8px}
        .docs-send-search-wrap .ms{position:absolute;left:11px;top:50%;transform:translateY(-50%);
          color:#9aa8a4;font-size:17px;pointer-events:none}
        .docs-send-search{width:100%;background:#fff;border:1.5px solid #dce3e1;border-radius:10px;
          padding:10px 12px 10px 36px;color:#1a2e2a;font-size:13px;outline:none;
          font-family:inherit;transition:border-color .15s}
        .docs-send-search:focus{border-color:#004d40}
        .docs-send-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);
          width:24px;height:24px;border-radius:6px;background:#f5f7f9;border:none;color:#888;
          cursor:pointer;display:none;align-items:center;justify-content:center;font-size:14px}
        .docs-send-search-wrap.has-q .docs-send-search-clear{display:flex}
        /* Add Doc modal */
        .adoc-card{background:#fff;border-radius:18px;width:min(92vw,440px);max-height:88dvh;
          display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.22)}
        .adoc-head{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid #eef0ef;
          display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0}
        .adoc-title{font-size:15px;font-weight:700;color:#222;display:flex;align-items:center;gap:8px}
        .adoc-title .ms{color:#004d40;font-size:19px}
        .adoc-x{width:32px;height:32px;border-radius:8px;background:#f5f7f9;border:none;color:#666;
          font-size:17px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}
        .adoc-x:hover{background:#e8eaed;color:#333}
        .adoc-body{padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:14px;flex:1;overflow-y:auto}
        .adoc-foot{padding:var(--sp-3) var(--sp-5);border-top:1px solid #eef0ef;display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}
        .adoc-foot-btn{padding:10px 18px;border-radius:9px;font-size:13px;font-weight:600;
          cursor:pointer;border:none;transition:all .15s;font-family:inherit;display:flex;align-items:center;gap:5px}
        .adoc-foot-btn.primary{background:#004d40;color:#fff}
        .adoc-foot-btn.primary:hover{background:#00695c}
        .adoc-foot-btn.primary:disabled{background:#9bb5b0;cursor:not-allowed}
        .adoc-foot-btn.secondary{background:#f5f7f9;color:#666;border:1px solid #e0e0e0}
        .adoc-file-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
        .adoc-pick-group{display:flex;flex-direction:column;gap:10px}
        .adoc-pick-group.hidden{display:none}
        .adoc-file-pick{display:flex;flex-direction:column;align-items:center;gap:10px;
          padding:clamp(22px,5vw,32px) 18px;border-radius:14px;
          background:rgba(0,77,64,.04);border:2px dashed rgba(0,77,64,.30);
          color:#004d40;cursor:pointer;transition:all .15s;width:100%;font-family:inherit;text-align:center}
        .adoc-file-pick:hover{background:rgba(0,77,64,.08);border-color:rgba(0,77,64,.45)}
        .adoc-file-pick.hidden{display:none}
        .adoc-file-pick-icon{width:52px;height:52px;border-radius:14px;
          background:rgba(0,77,64,.10);display:flex;align-items:center;justify-content:center;color:#004d40}
        .adoc-file-pick-icon .ms{font-size:28px}
        .adoc-file-pick-title{font-size:13.5px;font-weight:700;color:#004d40;margin-bottom:4px}
        .adoc-file-pick-sub{font-size:11.5px;color:#5a6e6a;font-weight:500}
        .adoc-file-info{display:flex;align-items:center;gap:11px;padding:13px;border-radius:12px;
          background:#f5f7f9;border:1.5px solid #dce3e1}
        .adoc-file-info.hidden{display:none}
        .adoc-file-info-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;
          color:#fff;font-size:19px;flex-shrink:0;background:linear-gradient(135deg,#004d40,#00897b)}
        .adoc-file-info-icon.pdf{background:linear-gradient(135deg,#c62828,#e53935)}
        .adoc-file-info-icon.img{background:linear-gradient(135deg,#1565c0,#1e88e5)}
        .adoc-file-info-icon.doc{background:linear-gradient(135deg,#2e7d32,#43a047)}
        .adoc-file-info-icon.csv{background:linear-gradient(135deg,#0277bd,#039be5)}
        .adoc-file-info-icon.xls{background:linear-gradient(135deg,#1b5e20,#388e3c)}
        .adoc-file-info-text{flex:1;min-width:0}
        .adoc-file-info-name{font-size:13px;font-weight:700;color:#222;
          white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .adoc-file-info-meta{font-size:11px;color:#888;margin-top:2px}
        .adoc-file-clear{width:30px;height:30px;border-radius:8px;background:#fff;border:1px solid #e0e0e0;
          color:#888;display:flex;align-items:center;justify-content:center;cursor:pointer;
          flex-shrink:0;transition:all .15s}
        .adoc-file-clear:hover{color:#e05c5c;border-color:#e05c5c}
        /* Docs tab inline list */
        .docs-tab-list{display:flex;flex-direction:column;gap:8px;max-width:780px}
        .docs-tab-list .docs-list-item{padding:12px 13px}

        .top-panel {
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            align-items: center;
            padding: 0 var(--space-4);
            height: var(--topbar-h);
            background: var(--color-brand);
            border-bottom: 1px solid rgba(0,0,0,.08);
            box-shadow: 0 2px 6px rgba(0,0,0,.12);
            position: relative; z-index: 100; flex-shrink: 0;
            gap: var(--space-3);
        }
        .tp-center { font-size: clamp(1rem, 0.86rem + 0.62vw, 1.45rem); font-weight: bold; color: #fff; text-align: center; white-space: nowrap; }
        .tp-left, .tp-right { display: flex; align-items: center; gap: var(--space-1); }
        .tp-right { justify-self: end; }
        .tp-icon {
            width: clamp(32px,3vw,44px); height: clamp(32px,3vw,44px);
            background: transparent; border: none; border-radius: 50%;
            cursor: pointer; display: flex; align-items: center; justify-content: center;
            transition: background var(--ease); position: relative; flex-shrink: 0;
            text-decoration: none; color: #fff;
        }
        .tp-icon:hover { background: rgba(255,255,255,.14); }
        .tp-icon .material-symbols-outlined { font-size: var(--icon-nav); color: #fff; }
        .tp-icon .counter {
            position: absolute; top: -3px; right: -3px;
            background: var(--color-red); color: #fff; font-size: var(--font-xs);
            width: clamp(14px,1.2vw,18px); height: clamp(14px,1.2vw,18px);
            border-radius: 50%; display: flex; align-items: center; justify-content: center;
            border: 2px solid var(--color-brand);
        }
        /* single Menu button (replaces 3 nav icons), styled like showing-room-agency */
        .tp-menu { position: relative; justify-self: start; }
        .tp-menu-btn {
            display: flex; align-items: center; gap: 7px;
            padding: 7px 14px; border-radius: 10px;
            background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22);
            color: #fff; font-size: var(--font-sm); font-weight: 600; cursor: pointer;
            font-family: inherit; transition: background var(--ease);
        }
        .tp-menu-btn:hover { background: rgba(255,255,255,.22); }
        .tp-menu-btn .material-symbols-outlined { font-size: var(--icon-nav); color: #fff; }
        .tp-menu-dd {
            position: absolute; top: calc(100% + 8px); left: 0; min-width: 200px; z-index: 300;
            background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 12px;
            box-shadow: 0 10px 30px rgba(0,0,0,.18); padding: 6px; display: none;
        }
        .tp-menu-dd.open { display: block; }
        .tp-menu-item {
            display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 8px;
            color: var(--color-text); text-decoration: none; font-size: var(--font-sm); font-weight: 500;
            transition: background var(--ease);
        }
        .tp-menu-item:hover { background: rgba(0,77,64,.07); color: var(--color-brand); }
        .tp-menu-item .material-symbols-outlined { font-size: 20px; color: var(--color-brand); }
        .agency-header {
            background: var(--color-surface);
            border-bottom: 1px solid var(--color-border);
            padding: var(--space-3) var(--space-4);
            flex-shrink: 0;
            display: flex;
            align-items: center;
            gap: var(--space-4);
            box-shadow: var(--shadow-profile);
            position: relative; z-index: 10;
            /* «Обесцвечивание» по мере ухода под полосу вкладок: --collapse (0…1)
               ставит скролл-обработчик на .office-scroll, отсюда наследуется. */
            opacity: calc(1 - var(--collapse, 0) * 1.25);
            filter: saturate(max(0, calc(1 - var(--collapse, 0) * 1.1)));
        }
        .agency-logo {
            width: var(--logo-size); height: var(--logo-size);
            border-radius: var(--card-radius);
            background: linear-gradient(135deg, var(--color-brand) 0%, var(--color-brand-mid) 60%, #26a69a 100%);
            flex-shrink: 0;
            display: flex; align-items: center; justify-content: center;
            font-size: clamp(1.1rem,1.8vw,1.75rem); font-weight: bold; color: #fff;
            letter-spacing: .04em;
            box-shadow: 0 2px 14px rgba(0,77,64,.28);
            border: 3px solid rgba(255,255,255,.85);
            outline: 2px solid rgba(0,77,64,.18);
        }
        .agency-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: clamp(3px,.3vw,6px); }
        .agency-name-row { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
        .agency-name { font-size: var(--font-xl); font-weight: bold; color: var(--color-text); white-space: nowrap; line-height: 1.2; }
        .agency-index {
            font-size: var(--font-sm); color: var(--color-muted); font-weight: 500;
            background: var(--color-bg); border: 1px solid var(--color-border);
            padding: 2px 9px; border-radius: var(--btn-radius-pill); white-space: nowrap;
        }
        .agency-verified {
            display: inline-flex; align-items: center; gap: 3px;
            font-size: var(--font-xs); color: var(--color-verified); font-weight: 600;
        }
        .agency-verified .material-symbols-outlined {
            font-size: var(--icon-verified); color: var(--color-verified);
            font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
        }
        .agency-owner-badge {
            font-size: var(--font-xs); font-weight: 700;
            background: #fff3e0; color: var(--color-orange);
            border: 1px solid #ffcc80; padding: 2px 9px;
            border-radius: var(--btn-radius-pill); white-space: nowrap;
        }
        .agency-meta { font-size: var(--font-sm); color: var(--color-muted); display: flex; gap: var(--space-3); flex-wrap: wrap; }
        .agency-meta span { display: flex; align-items: center; gap: 4px; }
        .agency-meta .material-symbols-outlined { font-size: 14px; color: var(--color-muted); }
        .agency-stats-quick {
            display: flex; gap: var(--space-4); flex-shrink: 0;
            flex-wrap: wrap; justify-content: flex-end;
        }
        .qs { text-align: center; }
        .qs-val { font-size: var(--font-xl); font-weight: bold; color: var(--color-brand); line-height: 1; }
        .qs-label { font-size: var(--font-xs); color: var(--color-muted); margin-top: 2px; }
        .tab-nav {
            background: var(--color-surface);
            border-bottom: 1px solid var(--color-border);
            padding: 0 var(--space-4);
            display: flex; align-items: flex-end; gap: 0;
            flex-shrink: 0; overflow-x: auto; scrollbar-width: none;
            /* Липнет к верху скроллера и проезжает ПОВЕРХ шапки (z выше .agency-header). */
            /* Выше .pinboard-container (z-index 50): открытая доска лежит НИЖЕ
               по документу, иначе при скролле она перекрывала бы липкие вкладки. */
            position: sticky; top: 0; z-index: 60;
            transition: box-shadow var(--ease);
        }
        .tab-nav.is-stuck { box-shadow: 0 4px 16px rgba(0,0,0,.09); }

        /* ── CHATS DROPDOWN (как в all-objects-upgrade-2.0, данные реальные) ── */
        .chats-dropdown {
          position: fixed; top: var(--topbar-h); right: 0;
          width: clamp(260px,32vw,360px); background: var(--color-surface);
          border-radius: 0 0 14px 14px; box-shadow: 0 8px 28px rgba(0,0,0,.18);
          z-index: 450; max-height: 0; overflow: hidden;
          transition: max-height .3s cubic-bezier(.4,0,.2,1);
        }
        .chats-dropdown.open { max-height: 440px; overflow-y: auto; }
        .chats-dd-header { display: flex; justify-content: space-between; align-items: center; padding: var(--space-2) var(--space-3); border-bottom: 2px solid var(--color-border); font-size: var(--font-sm); font-weight: 700; color: var(--color-text); }
        .chats-dd-badge { background: var(--color-accent, #007bff); color: #fff; font-size: var(--font-xs); font-weight: 600; padding: 1px 8px; border-radius: 100px; }
        .chat-dd-item { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--color-border); cursor: pointer; transition: background var(--ease); }
        .chat-dd-item:hover { background: rgba(0,77,64,.05); }
        .chat-dd-item:last-child { border-bottom: none; }
        .chat-dd-avatar { width: clamp(34px,3vw,42px); height: clamp(34px,3vw,42px); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: var(--font-sm); color: #fff; flex-shrink: 0; }
        .chat-dd-avatar.is-agency { border-radius: 8px; }
        .chat-dd-body { flex: 1; min-width: 0; }
        .chat-dd-name { font-size: var(--font-sm); font-weight: 600; color: var(--color-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .chat-dd-preview { font-size: var(--font-xs); color: var(--color-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 1px; }
        .chat-dd-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex-shrink: 0; }
        .chat-dd-time { font-size: 10px; color: var(--color-muted); }
        .chat-dd-unread { background: var(--color-accent, #007bff); color: #fff; font-size: 10px; font-weight: 700; min-width: 18px; height: 18px; border-radius: 100px; display: flex; align-items: center; justify-content: center; padding: 0 4px; }
        .chats-dd-empty { padding: 22px var(--space-3); text-align: center; color: var(--color-muted); font-size: var(--font-sm); }
        .chats-dd-all { display: block; padding: var(--space-2); text-align: center; font-size: var(--font-sm); font-weight: 700; color: var(--color-brand); text-decoration: none; border-top: 1px solid var(--color-border); }
        .chats-dd-all:hover { background: rgba(0,77,64,.05); }
        html[data-theme="dark"] .chats-dropdown { background: #1c1c1d; box-shadow: 0 8px 28px rgba(0,0,0,.55); }
        html[data-theme="dark"] .chat-dd-item:hover, html[data-theme="dark"] .chats-dd-all:hover { background: rgba(200,164,106,.08); }
        html[data-theme="dark"] .chats-dd-badge, html[data-theme="dark"] .chat-dd-unread { background: #c8a46a; color: #1c1005; }
        .tab-nav::-webkit-scrollbar { display: none; }
        .tab-btn {
            padding: var(--space-2) var(--space-3);
            background: transparent; border: none; border-bottom: var(--tab-line) solid transparent;
            cursor: pointer; font-size: var(--font-sm); font-weight: 500;
            color: var(--color-muted); white-space: nowrap;
            transition: color var(--ease), border-bottom-color var(--ease);
            display: flex; align-items: center; gap: var(--space-1);
            position: relative; bottom: -1px; flex-shrink: 0;
        }
        .tab-btn .material-symbols-outlined { font-size: clamp(16px,1.4vw,20px); }
        .tab-btn:hover { color: var(--color-brand); }
        .tab-btn.active { color: var(--color-brand); border-bottom-color: var(--color-brand); font-weight: 700; }
        .tab-badge {
            font-size: 10px; font-weight: 700; background: var(--color-red); color: #fff;
            padding: 0 5px; border-radius: 10px; min-width: 16px; text-align: center;
            line-height: 16px; height: 16px;
        }
        /* ── SCROLLER (collapsing header) ──
           Скроллится не .tab-pane, а весь блок «шапка + вкладки + контент». */
        .office-scroll {
            flex: 1; min-height: 0;
            overflow-y: auto; overflow-x: hidden;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
        }
        .tab-content {
            position: relative;
            /* Добираем до высоты скроллера, чтобы запаса скролла хватало свернуть
               шапку даже на короткой вкладке. --tabnav-h ставит JS. */
            min-height: calc(100% - var(--tabnav-h, 44px));
        }
        .tab-pane {
            display: none; overflow-x: hidden;
            padding: var(--space-4);
            animation: tabFadeIn .18s ease;
        }
        .tab-pane::-webkit-scrollbar { width: 5px; }
        .tab-pane::-webkit-scrollbar-track { background: transparent; }
        .tab-pane::-webkit-scrollbar-thumb { background: #ccc; border-radius: 10px; }
        .tab-pane.active { display: block; }
        @keyframes tabFadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
        .section-title {
            font-size: var(--font-lg); font-weight: bold; color: var(--color-text);
            margin-bottom: var(--space-3); display: flex; align-items: center; gap: var(--space-2);
        }
        .section-title .material-symbols-outlined {
            font-size: clamp(18px,1.6vw,22px); color: var(--color-brand);
            font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;
        }
        .card {
            background: var(--color-surface); border-radius: var(--card-radius);
            box-shadow: var(--shadow-card); padding: var(--card-pad); position: relative;
        }
        .card-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(min(100%, clamp(200px,22vw,300px)), 1fr));
            gap: var(--card-gap);
        }
        .card-grid-2 {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(min(100%, clamp(320px,42vw,600px)), 1fr));
            gap: var(--card-gap);
        }
        .stat-card {
            background: var(--color-surface); border-radius: var(--card-radius);
            box-shadow: var(--shadow-card); padding: var(--card-pad);
            display: flex; align-items: center; gap: var(--space-3);
        }
        .stat-icon {
            width: clamp(38px,3.5vw,52px); height: clamp(38px,3.5vw,52px);
            border-radius: clamp(8px,.8vw,12px);
            display: flex; align-items: center; justify-content: center; flex-shrink: 0;
        }
        .stat-icon .material-symbols-outlined {
            font-size: clamp(20px,1.8vw,26px);
            font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;
        }
        .si-green { background: #e8f5e9; } .si-green .material-symbols-outlined { color: #2e7d32; }
        .si-blue  { background: #e8f0fe; } .si-blue .material-symbols-outlined  { color: var(--color-verified); }
        .si-orange{ background: #fff3e0; } .si-orange .material-symbols-outlined{ color: var(--color-orange); }
        .si-teal  { background: #e0f2f1; } .si-teal .material-symbols-outlined  { color: var(--color-brand); }
        .si-red   { background: #fce4ec; } .si-red .material-symbols-outlined   { color: var(--color-red); }
        .si-purple{ background: #ede7f6; } .si-purple .material-symbols-outlined{ color: #7b1fa2; }
        .stat-info { flex: 1; min-width: 0; }
        .stat-val { font-size: var(--font-xl); font-weight: bold; color: var(--color-text); line-height: 1; }
        .stat-lbl { font-size: var(--font-xs); color: var(--color-muted); margin-top: 2px; }
        .stat-delta { font-size: var(--font-xs); font-weight: 600; margin-top: 2px; }
        .delta-up { color: #2e7d32; } .delta-dn { color: var(--color-red); }
        .btn {
            display: inline-flex; align-items: center; justify-content: center; gap: 6px;
            padding: 8px 18px; min-height: 36px; line-height: 1.2;
            border-radius: var(--btn-radius-pill);
            font-size: var(--btn-font); font-weight: 600; cursor: pointer;
            transition: background var(--ease), border-color var(--ease), color var(--ease);
            border: 1px solid transparent; white-space: nowrap;
            -webkit-appearance: none; appearance: none;
            -webkit-tap-highlight-color: transparent;
        }
        .btn .material-symbols-outlined { font-size: 16px; flex-shrink: 0; }
        .btn-brand { background: var(--color-brand); color: #fff; }
        .btn-brand:hover { background: var(--color-brand-mid); }

        /* ── Agency verification status (Settings) — обе темы через токены ── */
        .av-verify-btn { background: var(--color-accent); color: #fff; border-color: var(--color-accent); }
        html[data-theme="dark"] .av-verify-btn { color: #1c1005; } /* золото темы → чёрный текст */
        .av-status { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border: 1.5px solid transparent; border-radius: 8px; background: transparent; font-family: inherit; font-size: var(--font-sm); font-weight: 600; line-height: 1.2; -webkit-appearance: none; appearance: none; }
        .av-status .material-symbols-outlined { font-size: 18px; }
        .av-pending   { color: var(--color-muted); border-color: var(--color-border); }
        .av-confirmed { color: var(--color-green); border-color: var(--color-green); } /* фон страницы, зелёный текст+ободок */
        .av-rejected  { color: var(--color-red);   border-color: var(--color-red); }   /* фон страницы, красный текст+ободок */
        .av-clickable { cursor: pointer; transition: background var(--ease); }
        .av-clickable:hover { background: rgba(220,53,69,0.08); }
        .av-reject-wrap { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 4px; }
        .av-left, .av-support { font-size: var(--font-xs); color: var(--color-muted); }
        .av-support a { color: var(--color-red); text-decoration: none; }
        .av-support a:hover { text-decoration: underline; }

        /* ── Agency logo: фото + edit/delete + crop (порт из my-data Profile) ── */
        .agency-logo-wrap { position: relative; flex-shrink: 0; }
        .agency-logo { overflow: hidden; }
        .agency-logo img { width: 100%; height: 100%; object-fit: cover; display: block; }
        .al-edit { position: absolute; right: -4px; bottom: -4px; width: 26px; height: 26px; border-radius: 50%; background: var(--color-brand); color: #fff; border: 2px solid var(--color-surface); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 2; padding: 0; }
        .al-edit .material-symbols-outlined { font-size: 15px; }
        html[data-theme="dark"] .al-edit { color: #1c1005; }

        /* Не владелец — на логотипе нет ни кнопок, ни намёка на кликабельность. */

        /* ═══════════════ TEAM — новый раздел (namespace .tm-*) ═══════════════
           Полностью заменил прежние .team-member/.member-* — от старой версии
           не осталось ни классов, ни разметки. Всё рисуется из API. */
        .tm-head { display: flex; align-items: center; justify-content: space-between;
                   margin-bottom: var(--space-3); flex-wrap: wrap; gap: var(--space-2); }
        .tm-count { font-size: var(--font-sm); font-weight: 500; color: var(--color-muted); }

        .tm-list { display: flex; flex-direction: column; gap: 10px; }
        .tm-empty { padding: 42px 0; text-align: center; color: var(--color-muted); font-size: var(--font-sm); }

        /* ── строка участника ── */
        .tm-card { background: var(--color-surface); border: 1px solid var(--color-border);
                   border-radius: 14px; overflow: hidden;
                   transition: border-color var(--ease), box-shadow var(--ease); }
        .tm-card:hover { border-color: rgba(0,77,64,.28); box-shadow: 0 4px 18px rgba(0,0,0,.06); }
        .tm-card.open { border-color: var(--color-brand); box-shadow: 0 8px 28px rgba(0,0,0,.10); }

        .tm-row { display: flex; align-items: center; gap: var(--space-3);
                  padding: 13px var(--space-4); cursor: pointer; user-select: none; }
        /* Круг у всех, включая владельца: он — лицо, а не агентство (см. troy-avatar.js). */
        .tm-av { width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0;
                 display: flex; align-items: center; justify-content: center;
                 font-weight: 700; font-size: var(--font-sm); color: #fff; letter-spacing: .02em; }
        .tm-av.is-owner { border-radius: 12px; }          /* владелец — как агентство, квадрат */
        .tm-main { flex: 1; min-width: 0; }
        .tm-name-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
        .tm-name { font-size: var(--font-base); font-weight: 600; color: var(--color-text);
                   white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .tm-you { font-size: var(--font-xs); color: var(--color-muted); font-weight: 500; }
        .tm-num { font-size: var(--font-xs); color: var(--color-muted); font-variant-numeric: tabular-nums; }
        .tm-sub { font-size: var(--font-xs); color: var(--color-muted); margin-top: 3px; }

        .tm-chip { font-size: 11px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase;
                   padding: 2px 9px; border-radius: 100px; white-space: nowrap; }
        .tm-chip-owner { background: rgba(0,77,64,.10); color: var(--color-brand); }
        .tm-chip-mgmt  { background: rgba(21,101,192,.10); color: #1565c0; }
        .tm-chip-role  { background: rgba(0,0,0,.05); color: var(--color-light); }

        .tm-caret { color: var(--color-muted); flex-shrink: 0; transition: transform .22s ease; }
        .tm-card.open .tm-caret { transform: rotate(180deg); }

        /* ── раскрытая панель ──
           Анимация через grid-template-rows 0fr→1fr: display:none не анимируется,
           а max-height требует угадывать высоту. Три уровня нужны, чтобы паддинг
           обрезался вместе с содержимым и не «протекал» в свёрнутом состоянии. */
        .tm-fold { display: grid; grid-template-rows: 0fr; background: var(--color-bg);
                   transition: grid-template-rows .42s cubic-bezier(.22,.61,.36,1);
                   will-change: grid-template-rows; }
        .tm-card.open .tm-fold { grid-template-rows: 1fr; }
        .tm-card.open .tm-panel-in { opacity: 1; transform: none; }
        .tm-panel { overflow: hidden; min-height: 0; }
        /* Содержимое подхватывает раскрытие — движение читается плавным. */
        .tm-panel-in { opacity: 0; transform: translateY(-4px);
                       transition: opacity .3s ease .06s, transform .3s ease .06s;
                       border-top: 1px solid var(--color-border); padding: var(--space-4);
                       display: grid; grid-template-columns: minmax(0,320px) minmax(0,1fr);
                       gap: var(--space-4); }
        @media (max-width: 860px) { .tm-panel-in { grid-template-columns: minmax(0,1fr); } }
        @media (prefers-reduced-motion: reduce) { .tm-fold { transition: none; } }

        .tm-block { background: var(--color-surface); border: 1px solid var(--color-border);
                    border-radius: 12px; padding: var(--space-3); }
        .tm-block + .tm-block { margin-top: 10px; }
        .tm-block-title { font-size: 11px; font-weight: 700; letter-spacing: .06em;
                          text-transform: uppercase; color: var(--color-muted); margin-bottom: 10px; }

        .tm-info-row { display: flex; justify-content: space-between; gap: var(--space-3);
                       padding: 5px 0; font-size: var(--font-sm); }
        .tm-info-row + .tm-info-row { border-top: 1px dashed var(--color-border); }
        .tm-info-k { color: var(--color-muted); flex-shrink: 0; }
        .tm-info-v { color: var(--color-text); font-weight: 500; text-align: right;
                     overflow: hidden; text-overflow: ellipsis; }

        .tm-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
        .tm-actions .btn { flex: 1; min-width: 116px; justify-content: center; }

        /* ── права ── */
        .tm-perms { display: grid; grid-template-columns: repeat(auto-fit, minmax(226px, 1fr)); gap: 2px 18px; }
        .tm-perm { display: flex; align-items: center; justify-content: space-between; gap: 12px;
                   padding: 8px 0; font-size: var(--font-sm); color: var(--color-text); }
        .tm-perm + .tm-perm { border-top: 1px solid var(--color-border); }
        .tm-perm-l { display: flex; align-items: center; gap: 7px; min-width: 0; }
        .tm-perm-l span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        /* Право, которое сервер пока не хранит — помечаем, чтобы тумблер не врал. */
        .tm-soon { font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
                   padding: 1px 6px; border-radius: 100px; background: rgba(230,81,0,.12);
                   color: #e65100; white-space: nowrap; flex-shrink: 0; cursor: help; }
        .tm-perm.is-soon .tm-perm-l span:first-child { color: var(--color-muted); }

        .tm-sw { position: relative; width: 38px; height: 21px; flex-shrink: 0; cursor: pointer; }
        .tm-sw input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; z-index: 2; }
        .tm-sw-track { position: absolute; inset: 0; border-radius: 100px; background: #cfd6d4; transition: background var(--ease); }
        .tm-sw-thumb { position: absolute; top: 2px; left: 2px; width: 17px; height: 17px; border-radius: 50%;
                       background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.28); transition: transform var(--ease); }
        .tm-sw input:checked ~ .tm-sw-track { background: var(--color-brand); }
        .tm-sw input:checked ~ .tm-sw-thumb { transform: translateX(17px); }
        .tm-sw input:disabled { cursor: not-allowed; }
        .tm-sw input:disabled ~ .tm-sw-track { opacity: .45; }
        .tm-sw input:disabled ~ .tm-sw-thumb { opacity: .6; }

        .tm-full { font-size: var(--font-sm); color: var(--color-muted); line-height: 1.5; }

        /* ── галочка Management (справа от заголовка блока прав) ── */
        .tm-block-head { display: flex; align-items: center; justify-content: space-between;
                         gap: var(--space-3); margin-bottom: 10px; }
        .tm-block-head .tm-block-title { margin-bottom: 0; }
        .tm-mgmt { display: inline-flex; align-items: center; gap: 7px; cursor: pointer;
                   user-select: none; flex-shrink: 0; }
        .tm-mgmt input { position: absolute; opacity: 0; width: 0; height: 0; }
        .tm-mgmt-box { width: 17px; height: 17px; border-radius: 5px; flex-shrink: 0;
                       border: 1.5px solid var(--color-border); background: var(--color-surface);
                       display: flex; align-items: center; justify-content: center;
                       transition: background var(--ease), border-color var(--ease); }
        .tm-mgmt-box svg { width: 11px; height: 11px; fill: none; stroke: #fff; stroke-width: 2.4;
                           stroke-linecap: round; stroke-linejoin: round;
                           opacity: 0; transform: scale(.6); transition: opacity .16s, transform .16s; }
        .tm-mgmt input:checked + .tm-mgmt-box { background: #1565c0; border-color: #1565c0; }
        .tm-mgmt input:checked + .tm-mgmt-box svg { opacity: 1; transform: scale(1); }
        .tm-mgmt input:focus-visible + .tm-mgmt-box { outline: 2px solid var(--color-brand); outline-offset: 2px; }
        .tm-mgmt-label { font-size: 11px; font-weight: 700; letter-spacing: .04em;
                         text-transform: uppercase; color: var(--color-muted); }
        .tm-mgmt input:checked ~ .tm-mgmt-label { color: #1565c0; }
        .tm-mgmt.is-locked { cursor: not-allowed; opacity: .5; }

        /* ── роль: выбор слева, ввод новой справа ── */
        .tm-role-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.25fr);
                        gap: 10px; align-items: center; }
        @media (max-width: 720px) { .tm-role-grid { grid-template-columns: minmax(0,1fr); } }
        .tm-role-add { display: flex; gap: 8px; align-items: center; min-width: 0; }
        .tm-role-add input { flex: 1; min-width: 0; }
        .tm-role-grid input {
            padding: 7px 10px; border: 1px solid var(--color-border); border-radius: 9px;
            font-size: var(--font-sm); font-family: inherit;
            background: var(--color-surface); color: var(--color-text); outline: none;
        }
        .tm-role-grid input:focus { border-color: var(--color-brand); }
        .tm-role-grid input:disabled { opacity: .5; cursor: not-allowed; }

        /* Свой дропдаун ролей: вид фирменного, но с правкой/удалением в списке. */
        .tm-fsel { position: relative; min-width: 0; }
        .tm-fsel-btn { width: 100%; display: flex; align-items: center; justify-content: space-between;
                       gap: 8px; padding: 7px 10px; border: 1px solid var(--color-border);
                       border-radius: 9px; background: var(--color-surface); color: var(--color-text);
                       font-family: inherit; font-size: var(--font-sm); cursor: pointer;
                       text-align: left; transition: border-color var(--ease); }
        .tm-fsel-btn:hover { border-color: var(--color-brand); }
        .tm-fsel.open .tm-fsel-btn { border-color: var(--color-brand); box-shadow: 0 0 0 2px rgba(0,77,64,.10); }
        .tm-fsel-btn:disabled { opacity: .5; cursor: not-allowed; }
        .tm-fsel-val { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .tm-fsel-caret { width: 12px; height: 8px; flex-shrink: 0; fill: none; stroke: currentColor;
                         stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; opacity: .55;
                         transition: transform .18s ease; }
        .tm-fsel.open .tm-fsel-caret { transform: rotate(180deg); }
        /* fixed — иначе панель режут overflow:hidden у .tm-card / .tm-panel / .tm-fold.
           Координаты ставит JS по кнопке. Скроллбар убран, прокрутка остаётся. */
        .tm-fsel-panel { position: fixed; z-index: 1200; top: 0; left: 0;
                         background: var(--color-surface); border: 1px solid var(--color-border);
                         border-radius: 10px; box-shadow: 0 12px 34px rgba(0,0,0,.16);
                         padding: 6px; max-height: 250px; overflow-y: auto; display: none;
                         scrollbar-width: none; -ms-overflow-style: none; }
        .tm-fsel-panel::-webkit-scrollbar { width: 0; height: 0; display: none; }
        .tm-fsel.open .tm-fsel-panel { display: block; }
        .tm-fsel-opt { display: flex; align-items: center; gap: 6px; border-radius: 7px;
                       font-size: var(--font-sm); transition: background var(--ease), color var(--ease); }
        .tm-fsel-opt:hover { background: rgba(0,77,64,.08); color: var(--color-brand); }
        .tm-fsel-opt.sel { font-weight: 600; color: var(--color-brand); }
        .tm-fsel-opt-t { flex: 1; min-width: 0; padding: 8px 4px 8px 11px; cursor: pointer;
                         overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .tm-fsel-acts { display: flex; gap: 2px; padding-right: 6px; opacity: 0; transition: opacity var(--ease); }
        .tm-fsel-opt:hover .tm-fsel-acts, .tm-fsel-opt:focus-within .tm-fsel-acts { opacity: 1; }
        /* инлайн-переименование и инлайн-подтверждение удаления роли */
        .tm-fsel-opt.is-editing, .tm-fsel-opt.is-confirm { background: rgba(0,77,64,.06); }
        /* Пока одну роль правят — действия у остальных скрыты, чтобы не начать вторую. */
        .tm-fsel-panel.is-busy .tm-fsel-opt:not(.is-editing):not(.is-confirm) .tm-fsel-acts { display: none; }
        .tm-fsel-panel.is-busy .tm-fsel-opt:not(.is-editing):not(.is-confirm) .tm-fsel-opt-t { opacity: .55; }
        .tm-fsel-opt.is-editing .tm-fsel-acts, .tm-fsel-opt.is-confirm .tm-fsel-acts { opacity: 1; }
        .tm-role-edit { flex: 1; min-width: 0; margin: 4px 0 4px 7px; padding: 5px 8px;
                        border: 1px solid var(--color-brand); border-radius: 7px;
                        font-size: var(--font-sm); font-family: inherit;
                        background: var(--color-surface); color: var(--color-text); outline: none; }
        .tm-fsel-ask { color: var(--color-red); font-weight: 600; cursor: default; }
        html[data-theme="dark"] .tm-fsel-opt.is-editing, html[data-theme="dark"] .tm-fsel-opt.is-confirm { background: rgba(200,164,106,.10); }
        html[data-theme="dark"] .tm-role-edit { background: #18181c; }

        .tm-ico { width: 24px; height: 24px; border: 0; border-radius: 6px; background: transparent;
                  color: var(--color-muted); cursor: pointer; display: flex; align-items: center;
                  justify-content: center; padding: 0; transition: background var(--ease), color var(--ease); }
        .tm-ico svg { width: 14px; height: 14px; fill: currentColor; }
        .tm-ico:hover { background: rgba(0,0,0,.07); color: var(--color-text); }
        .tm-ico-del:hover { background: rgba(220,53,69,.12); color: var(--color-red); }

        /* ═══════════════ PARTNERS — единый список партнёрских агентств ═══════════════
           Одна карточка на агентство; внутри — сплит комиссии (если есть прямое
           партнёрство) и список кооперураций по объявлениям с этим же агентством. */
        .pt-head { display: flex; align-items: center; justify-content: space-between;
                   margin-bottom: var(--space-3); flex-wrap: wrap; gap: var(--space-2); }
        .pt-list { display: flex; flex-direction: column; gap: 10px; }

        .pt-card { background: var(--color-surface); border: 1px solid var(--color-border);
                   border-radius: 14px; padding: var(--space-3) var(--space-4);
                   transition: border-color var(--ease), box-shadow var(--ease); }
        .pt-card:hover { border-color: rgba(0,77,64,.28); box-shadow: 0 4px 18px rgba(0,0,0,.06); }
        .pt-top { display: flex; align-items: center; gap: var(--space-3); }
        .pt-logo { width: 44px; height: 44px; border-radius: 22%; flex-shrink: 0;   /* агентство → квадрат */
                   display: flex; align-items: center; justify-content: center;
                   font-weight: 700; font-size: var(--font-sm); color: #fff; }
        .pt-main { flex: 1; min-width: 0; }
        .pt-name-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
        .pt-name { font-size: var(--font-base); font-weight: 600; color: var(--color-text);
                   white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .pt-meta { font-size: var(--font-xs); color: var(--color-muted); margin-top: 3px;
                   font-variant-numeric: tabular-nums; }
        .pt-acts { display: flex; gap: 6px; flex-shrink: 0; }
        .pt-acts .btn { padding: 5px 10px; }

        .pt-tag { font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
                  padding: 2px 8px; border-radius: 100px; white-space: nowrap; }
        .pt-tag-direct  { background: rgba(0,77,64,.10); color: var(--color-brand); }
        .pt-tag-listing { background: rgba(21,101,192,.10); color: #1565c0; }

        .pt-split { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3);
                    margin-top: var(--space-3); padding: 9px var(--space-3);
                    border: 1px dashed var(--color-border); border-radius: 10px; }
        .pt-split-k { font-size: 11px; font-weight: 700; letter-spacing: .05em;
                      text-transform: uppercase; color: var(--color-muted); }
        .pt-split-v { font-size: var(--font-sm); color: var(--color-text); font-variant-numeric: tabular-nums; }
        .pt-split-v b { color: var(--color-brand); }

        .pt-lc-wrap { margin-top: var(--space-3); border-top: 1px solid var(--color-border); padding-top: var(--space-2); }
        .pt-lc-title { font-size: 11px; font-weight: 700; letter-spacing: .05em;
                       text-transform: uppercase; color: var(--color-muted); margin-bottom: 4px; }
        .pt-lc { display: flex; align-items: center; gap: 9px; padding: 7px 0; font-size: var(--font-sm); }
        .pt-lc + .pt-lc { border-top: 1px dashed var(--color-border); }
        .pt-lc-ico { font-size: 17px; color: var(--color-brand); flex-shrink: 0; }
        .pt-lc-code { font-weight: 600; color: var(--color-text); font-variant-numeric: tabular-nums; flex-shrink: 0; }
        .pt-lc-type { flex: 1; min-width: 0; color: var(--color-light);
                      overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .pt-lc-state { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
                       padding: 2px 8px; border-radius: 100px; flex-shrink: 0;
                       background: rgba(0,170,0,.12); color: #00792e; }
        .pt-lc.is-closed .pt-lc-state { background: rgba(0,0,0,.06); color: var(--color-muted); }
        .pt-lc.is-closed .pt-lc-code, .pt-lc.is-closed .pt-lc-type { color: var(--color-muted); }
        .pt-lc-acts { display: flex; gap: 2px; flex-shrink: 0; opacity: 0; transition: opacity var(--ease); }
        .pt-lc:hover .pt-lc-acts, .pt-lc:focus-within .pt-lc-acts { opacity: 1; }
        .pt-lc-ctx { display: flex; align-items: center; gap: 8px; font-size: var(--font-sm);
                     color: var(--color-light); margin-bottom: var(--space-3);
                     padding: 9px var(--space-3); border: 1px solid var(--color-border); border-radius: 10px; }
        .pt-lc-ctx .material-symbols-outlined { font-size: 18px; color: var(--color-brand); }
        textarea.tm-rm-input { resize: vertical; min-height: 68px; line-height: 1.45; }

        html[data-theme="dark"] .pt-card { background: #18181c; }
        html[data-theme="dark"] .pt-card:hover { border-color: rgba(200,164,106,.35); }
        html[data-theme="dark"] .pt-tag-direct { background: rgba(200,164,106,.14); color: #c8a46a; }
        html[data-theme="dark"] .pt-tag-listing { background: rgba(111,168,255,.14); color: #6fa8ff; }
        html[data-theme="dark"] .pt-lc-state { background: rgba(91,191,136,.16); color: #5bbf88; }
        html[data-theme="dark"] .pt-lc.is-closed .pt-lc-state { background: rgba(240,237,232,.08); color: rgba(240,237,232,.5); }

        .pa-scope-note { display: flex; align-items: flex-start; gap: 8px;
                         padding: 9px var(--space-3); margin-bottom: var(--space-3);
                         border-radius: 10px; background: rgba(230,81,0,.08);
                         color: #a34400; font-size: var(--font-xs); line-height: 1.45; }
        .pa-scope-note .material-symbols-outlined { font-size: 16px; flex-shrink: 0; }
        html[data-theme="dark"] .pa-scope-note { background: rgba(200,164,106,.12); color: #c8a46a; }

        /* ── модалка разрыва партнёрства ── */
        .pe-effects-title { font-size: 11px; font-weight: 700; letter-spacing: .05em;
                            text-transform: uppercase; color: var(--color-muted);
                            margin: var(--space-3) 0 6px; }
        .pe-effects { margin: 0 0 0 18px; padding: 0; font-size: var(--font-sm);
                      color: var(--color-light); line-height: 1.55; }
        .pe-effects li + li { margin-top: 5px; }
        .pe-effects b { color: var(--color-red); }

        /* ── модалка удаления сотрудника ── */
        .tm-rm-who { display: flex; align-items: center; gap: var(--space-3);
                     padding: var(--space-3); border: 1px solid var(--color-border);
                     border-radius: 12px; margin-bottom: var(--space-3); }
        .tm-rm-who .tm-av { width: 40px; height: 40px; }
        .tm-rm-name { font-size: var(--font-base); font-weight: 600; color: var(--color-text); }
        .tm-rm-num { font-size: var(--font-xs); color: var(--color-muted);
                     font-variant-numeric: tabular-nums; margin-top: 2px; }
        .tm-rm-text { font-size: var(--font-sm); color: var(--color-light);
                      line-height: 1.5; margin-bottom: var(--space-3); }
        .tm-rm-label { display: block; font-size: var(--font-xs); font-weight: 600;
                       color: var(--color-muted); margin-bottom: 6px; }
        .tm-rm-input { width: 100%; padding: 9px 12px; border: 1px solid var(--color-border);
                       border-radius: 9px; font-size: var(--font-sm); font-family: inherit;
                       background: var(--color-surface); color: var(--color-text); outline: none;
                       font-variant-numeric: tabular-nums; }
        .tm-rm-input:focus { border-color: var(--color-brand); }
        .tm-rm-err { font-size: var(--font-xs); color: var(--color-red); margin-top: 6px;
                     visibility: hidden; }
        .tm-rm-err.show { visibility: visible; }
        .tm-rm-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: var(--space-3); }
        html[data-theme="dark"] .tm-rm-input { background: #18181c; }

        html[data-theme="dark"] .tm-card { background: #18181c; }
        html[data-theme="dark"] .tm-card:hover { border-color: rgba(200,164,106,.35); }
        html[data-theme="dark"] .tm-card.open { border-color: #c8a46a; }
        html[data-theme="dark"] .tm-fold { background: #0c0c0e; }
        html[data-theme="dark"] .tm-block, html[data-theme="dark"] .tm-role-grid input,
        html[data-theme="dark"] .tm-fsel-btn, html[data-theme="dark"] .tm-fsel-panel,
        html[data-theme="dark"] .tm-mgmt-box { background: #18181c; }
        html[data-theme="dark"] .tm-fsel-panel { border-color: #c8a46a; box-shadow: 0 12px 34px rgba(0,0,0,.55); }
        html[data-theme="dark"] .tm-fsel-opt:hover, html[data-theme="dark"] .tm-fsel-opt.sel { background: rgba(200,164,106,.14); color: #c8a46a; }
        html[data-theme="dark"] .tm-ico:hover { background: rgba(240,237,232,.10); color: #f0ede8; }
        html[data-theme="dark"] .tm-mgmt input:checked + .tm-mgmt-box { background: #6fa8ff; border-color: #6fa8ff; }
        html[data-theme="dark"] .tm-mgmt input:checked + .tm-mgmt-box svg { stroke: #0c0c0e; }
        html[data-theme="dark"] .tm-mgmt input:checked ~ .tm-mgmt-label { color: #6fa8ff; }
        html[data-theme="dark"] .tm-chip-owner { background: rgba(200,164,106,.14); color: #c8a46a; }
        html[data-theme="dark"] .tm-chip-mgmt { background: rgba(111,168,255,.14); color: #6fa8ff; }
        html[data-theme="dark"] .tm-chip-role { background: rgba(240,237,232,.07); color: rgba(240,237,232,.66); }
        html[data-theme="dark"] .tm-sw-track { background: rgba(240,237,232,.20); }
        html[data-theme="dark"] .tm-sw input:checked ~ .tm-sw-track { background: #c8a46a; }
        html[data-theme="dark"] .tm-soon { background: rgba(200,164,106,.16); color: #c8a46a; }
        .agency-logo-wrap.logo-readonly { cursor: default; }
        .agency-logo-wrap.logo-readonly .al-del { display: none !important; }

        .al-del { position: absolute; inset: 0; border-radius: var(--card-radius); background: rgba(0,0,0,.5); color: #fff; border: 0; align-items: center; justify-content: center; cursor: pointer; z-index: 1; display: none; }
        .al-del .material-symbols-outlined { font-size: 22px; }
        .agency-logo-wrap.has-photo:hover .al-del { display: flex; }

        .crop-ov { position: fixed; inset: 0; z-index: 1500; background: rgba(0,0,0,.72); display: flex; align-items: center; justify-content: center; padding: var(--space-4); }
        .crop-ov.hidden { display: none !important; }
        .crop-card { background: var(--color-surface); border-radius: var(--card-radius); box-shadow: var(--shadow-card); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); align-items: center; width: min(92vw, 360px); }
        .crop-title { font-size: var(--font-lg); font-weight: 800; color: var(--color-text); }
        .crop-canvas { width: min(64vw, 240px); height: min(64vw, 240px); border-radius: var(--card-radius); cursor: grab; touch-action: none; background: var(--color-bg); border: 2px dashed var(--color-border); }
        .crop-canvas:active { cursor: grabbing; }
        .crop-zoom { display: flex; align-items: center; gap: var(--space-3); width: 100%; }
        .crop-zoom .material-symbols-outlined { font-size: 17px; color: var(--color-muted); }
        .crop-zoom input[type=range] { flex: 1; accent-color: var(--color-brand); }
        .crop-hint { font-size: var(--font-xs); color: var(--color-muted); text-align: center; }
        .crop-actions { display: flex; gap: var(--space-2); width: 100%; }
        .crop-actions .btn { flex: 1; justify-content: center; }

        .pdc-ov { position: fixed; inset: 0; z-index: 1600; background: rgba(0,0,0,.45); display: flex; align-items: center; justify-content: center; }
        .pdc-box { background: var(--color-surface); border-radius: 16px; padding: 22px; box-shadow: var(--shadow-card); text-align: center; min-width: 210px; }
        .pdc-title { font-size: var(--font-lg); font-weight: 700; color: var(--color-text); margin-bottom: 16px; }
        .pdc-actions { display: flex; gap: 10px; }
        .pdc-actions .btn { flex: 1; justify-content: center; }
        .btn-ghost { background: transparent; border-color: var(--color-border); color: var(--color-text); }
        .btn-ghost:hover { border-color: var(--color-brand); color: var(--color-brand); }
        .btn-danger { background: transparent; border-color: #f5c6cb; color: var(--color-red); }
        .btn-danger:hover { background: #fce4ec; }
        .btn-green { background: #e8f5e9; border-color: #a5d6a7; color: #2e7d32; }
        .btn-green:hover { background: #c8e6c9; }
        .btn-sm { padding: 5px 14px; min-height: 28px; font-size: var(--font-xs); }
        .health-ring-wrap { display: flex; align-items: center; gap: var(--space-4); }
        .health-ring { position: relative; width: 90px; height: 90px; flex-shrink: 0; }
        .health-ring svg { transform: rotate(-90deg); }
        .health-ring-bg { fill: none; stroke: #e0f2f1; stroke-width: 10; }
        .health-ring-fill { fill: none; stroke: var(--color-brand); stroke-width: 10; stroke-linecap: round; transition: stroke-dashoffset .8s ease; }
        .health-ring-text { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
        .health-score-num { font-size: 1.5rem; font-weight: 800; color: var(--color-brand); line-height: 1; }
        .health-score-lbl { font-size: var(--font-xs); color: var(--color-muted); }
        .health-factors { display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
        .health-factor { display: flex; align-items: center; gap: var(--space-2); }
        .health-factor-lbl { font-size: var(--font-xs); color: var(--color-muted); width: 120px; flex-shrink: 0; }
        .health-bar-track { flex: 1; height: 6px; background: #eee; border-radius: 3px; overflow: hidden; }
        .health-bar-fill { height: 100%; border-radius: 3px; transition: width .7s ease; }
        .hb-green { background: #2e7d32; } .hb-blue { background: var(--color-accent); }
        .hb-orange { background: var(--color-orange); } .hb-teal { background: var(--color-brand); }
        .health-factor-pct { font-size: var(--font-xs); font-weight: 700; color: var(--color-text); width: 32px; text-align: right; flex-shrink: 0; }
        .pipeline { display: flex; gap: var(--space-3); overflow-x: auto; padding-bottom: var(--space-2); }
        .pipeline::-webkit-scrollbar { height: 4px; }
        .pipeline::-webkit-scrollbar-thumb { background: #ccc; border-radius: 2px; }
        .pipe-col { min-width: clamp(150px,18vw,220px); flex-shrink: 0; }
        .pipe-col-head {
            font-size: var(--font-xs); font-weight: 700; text-transform: uppercase;
            letter-spacing: .05em; padding: var(--space-2) var(--space-3);
            border-radius: 8px 8px 0 0; margin-bottom: 6px;
            display: flex; justify-content: space-between; align-items: center;
        }
        .pipe-col-head .pipe-count { font-size: var(--font-xs); opacity: .7; }
        .ph-new    { background: #e3f2fd; color: #1565c0; }
        .ph-active { background: #e8f5e9; color: #2e7d32; }
        .ph-review { background: #fff3e0; color: #e65100; }
        .ph-closed { background: #f3e5f5; color: #7b1fa2; }
        .pipe-card {
            background: var(--color-surface); border: 1px solid var(--color-border);
            border-radius: 8px; padding: var(--space-2) var(--space-3);
            margin-bottom: 6px; font-size: var(--font-xs); box-shadow: 0 1px 4px rgba(0,0,0,.06);
            cursor: pointer; transition: box-shadow var(--ease);
        }
        .pipe-card:hover { box-shadow: 0 3px 10px rgba(0,0,0,.12); }
        .pipe-card-title { font-weight: 600; color: var(--color-text); margin-bottom: 2px; }
        .pipe-card-meta { color: var(--color-muted); }
        .team-search-bar { display: flex; gap: var(--space-2); align-items: center; margin-bottom: var(--space-4); flex-wrap: wrap; }
        .search-input-wrap {
            display: flex; align-items: center; gap: var(--space-2);
            background: var(--color-surface); border: 1px solid var(--color-border);
            border-radius: var(--btn-radius-pill); padding: 0 var(--space-3);
            flex: 1; min-width: clamp(180px,30vw,320px);
            transition: border-color var(--ease);
        }
        .search-input-wrap:focus-within { border-color: var(--color-brand); }
        .search-input-wrap .material-symbols-outlined { font-size: 18px; color: var(--color-muted); }
        .search-input-wrap input {
            flex: 1; border: none; outline: none; font-size: var(--font-sm);
            background: transparent; padding: var(--space-2) 0;
            font-family: Arial, sans-serif; color: var(--color-text);
        }
        .team-list { display: flex; flex-direction: column; gap: 8px; }
        .team-member {
            background: var(--color-surface); border: 1px solid var(--color-border);
            border-radius: var(--card-radius); padding: var(--space-3) var(--space-4);
            display: flex; align-items: center; gap: var(--space-3);
            cursor: pointer; transition: box-shadow var(--ease), border-color var(--ease);
        }
        .team-member:hover { box-shadow: var(--shadow-card); border-color: #c5cdd8; }
        .team-member.expanded { border-color: var(--color-brand); box-shadow: 0 0 0 2px rgba(0,77,64,.12); }
        .member-avatar {
            width: clamp(36px,3.2vw,46px); height: clamp(36px,3.2vw,46px);
            border-radius: 50%; flex-shrink: 0;
            display: flex; align-items: center; justify-content: center;
            font-size: var(--font-base); font-weight: bold; color: #fff;
        }
        .av-teal   { background: linear-gradient(135deg, var(--color-brand) 0%, #26a69a 100%); }
        .av-blue   { background: linear-gradient(135deg, #1565c0 0%, var(--color-accent) 100%); }
        .av-purple { background: linear-gradient(135deg, #6a1b9a 0%, #ab47bc 100%); }
        .av-orange { background: linear-gradient(135deg, #e65100 0%, #ffa726 100%); }
        .av-green  { background: linear-gradient(135deg, #2e7d32 0%, #66bb6a 100%); }
        .av-red    { background: linear-gradient(135deg, #b71c1c 0%, #e57373 100%); }
        .member-info { flex: 1; min-width: 0; }
        .member-name { font-size: var(--font-base); font-weight: 700; color: var(--color-text); }
        .member-meta { font-size: var(--font-xs); color: var(--color-muted); }
        .member-right { display: flex; align-items: center; gap: var(--space-2); flex-shrink: 0; flex-wrap: wrap; }
        .role-badge {
            font-size: var(--font-xs); font-weight: 700; padding: 2px 9px;
            border-radius: var(--btn-radius-pill); border: 1px solid; white-space: nowrap;
        }
        .role-owner    { background: #f3f4f6; color: #555; border-color: #ddd; }
        .role-manager  { background: #f3f4f6; color: #555; border-color: #ddd; }
        .role-agent    { background: #f3f4f6; color: #555; border-color: #ddd; }
        .role-intern   { background: #f3f4f6; color: #555; border-color: #ddd; }
        .role-analyst  { background: #f3f4f6; color: #555; border-color: #ddd; }
        /* Role color picker */
        .role-color-row { display:flex; align-items:center; gap:6px; margin:var(--space-2) 0; flex-wrap:wrap; }
        .role-color-dot { width:20px; height:20px; border-radius:50%; cursor:pointer; border:2px solid transparent; flex-shrink:0; transition:transform var(--ease),border-color var(--ease); }
        .role-color-dot:hover { transform:scale(1.2); }
        .role-color-dot.active { border-color:#333; transform:scale(1.15); }
        .add-role-row { display:flex; gap:var(--space-2); margin-top:var(--space-2); }
        .add-role-row input { flex:1; padding:5px 10px; border:1px solid var(--color-border); border-radius:8px; font-size:var(--font-sm); font-family:Arial,sans-serif; outline:none; }
        /* Partner card commission */
        .pa-comm-wrap { display:flex; align-items:center; gap:var(--space-2); flex-wrap:wrap; }
        .pa-comm-display { display:flex; align-items:center; gap:4px; font-size:var(--font-sm); font-weight:600; color:var(--color-text); }
        .pa-comm-arrow { font-size:16px; color:var(--color-brand); font-weight:700; }
        .pa-comm-input-row { display:flex; align-items:center; gap:6px; margin-bottom:var(--space-2); }
        .pa-comm-input-row input { width:54px; padding:4px 8px; border:1px solid var(--color-border); border-radius:6px; font-size:var(--font-sm); font-family:Arial,sans-serif; outline:none; text-align:center; }
        /* Partner radio + Choose/Edit button */
        .pa-certain-row { display:flex; align-items:center; justify-content:space-between; gap:var(--space-2); }
        /* Find agency results */
        .find-agency-list { display:flex; flex-direction:column; gap:var(--space-2); margin-bottom:var(--space-3); }
        .find-agency-item { display:flex; align-items:center; gap:var(--space-3); padding:var(--space-2) var(--space-3); border:1px solid var(--color-border); border-radius:10px; cursor:pointer; transition:all var(--ease); }
        .find-agency-item:hover { border-color:var(--color-brand); background:var(--color-bg); }
        .find-agency-item.selected { border-color:var(--color-brand); background:#e8f5e9; }
        .find-agency-item .partner-logo { width:36px; height:36px; border-radius:8px; flex-shrink:0; font-size:var(--font-sm); font-weight:700; color:#fff; display:flex; align-items:center; justify-content:center; }
        .status-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
        .dot-online  { background: #00c853; }
        .dot-away    { background: var(--color-orange); }
        .dot-offline { background: #ccc; }
        .member-panel { display: none; margin-top: var(--space-3); border-top: 1px solid var(--color-border); padding-top: var(--space-3); }
        .member-panel.open { display: block; }
        .member-panel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
        .perm-group { display: flex; flex-direction: column; gap: var(--space-2); }
        .perm-group-title { font-size: var(--font-xs); font-weight: 700; color: var(--color-muted); text-transform: uppercase; letter-spacing: .05em; }
        .perm-item { display: flex; align-items: center; justify-content: space-between; font-size: var(--font-sm); color: var(--color-text); }
        .toggle-switch { position: relative; width: 34px; height: 18px; flex-shrink: 0; cursor: pointer; }
        .toggle-switch input { opacity: 0; width: 0; height: 0; position: absolute; }
        .toggle-track { position: absolute; inset: 0; background: #ccc; border-radius: 9px; transition: background .2s; }
        .toggle-switch input:checked + .toggle-track { background: var(--color-brand); }
        .toggle-thumb { position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; background: #fff; border-radius: 50%; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.3); }
        .toggle-switch input:checked ~ .toggle-thumb { transform: translateX(16px); }
        .member-actions { display: flex; gap: var(--space-2); margin-top: var(--space-3); flex-wrap: wrap; }
        .partner-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--card-radius); padding: var(--space-4); transition: box-shadow var(--ease); }
        .partner-card:hover { box-shadow: var(--shadow-card); }
        .partner-head { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-3); }
        .partner-logo { width: clamp(36px,3.2vw,46px); height: clamp(36px,3.2vw,46px); border-radius: 8px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: var(--font-sm); font-weight: bold; color: #fff; }
        .partner-info { flex: 1; min-width: 0; }
        .partner-name { font-size: var(--font-base); font-weight: 700; color: var(--color-text); }
        .partner-meta { font-size: var(--font-xs); color: var(--color-muted); }
        .access-label { font-size: var(--font-xs); font-weight: 700; color: var(--color-muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: var(--space-2); }
        .access-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); }
        .access-item { display: flex; align-items: center; justify-content: space-between; font-size: var(--font-xs); color: var(--color-text); background: var(--color-bg); border-radius: 6px; padding: 4px 8px; }
        .access-granted  { color: #2e7d32; font-size: 14px; font-variation-settings: 'FILL' 1; }
        .access-denied   { color: #ccc; font-size: 14px; }
        .activity-feed { display: flex; flex-direction: column; }
        .feed-item { display: flex; gap: var(--space-3); padding: var(--space-2) 0; border-bottom: 1px solid var(--color-border); }
        .feed-item:last-child { border-bottom: none; }
        .feed-dot { width: 8px; height: 8px; border-radius: 50%; margin-top: 6px; flex-shrink: 0; }
        .feed-text { font-size: var(--font-sm); color: var(--color-text); flex: 1; }
        .feed-text strong { font-weight: 700; }
        .feed-time { font-size: var(--font-xs); color: var(--color-muted); flex-shrink: 0; white-space: nowrap; margin-top: 2px; }
        .leader-row { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) 0; border-bottom: 1px solid var(--color-border); }
        .leader-row:last-child { border-bottom: none; }
        .leader-rank { width: 26px; height: 26px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: var(--font-xs); font-weight: 800; }
        .rank-1 { background: #ffd700; color: #7d5a00; }
        .rank-2 { background: #e0e0e0; color: #555; }
        .rank-3 { background: #cd7f32; color: #fff; }
        .rank-n { background: var(--color-bg); color: var(--color-muted); }
        .leader-info { flex: 1; min-width: 0; }
        .leader-name { font-size: var(--font-sm); font-weight: 700; color: var(--color-text); }
        .leader-sub  { font-size: var(--font-xs); color: var(--color-muted); }
        .leader-score { font-size: var(--font-base); font-weight: bold; color: var(--color-brand); }
        .leader-bar-wrap { width: 80px; }
        .leader-bar { height: 5px; background: #e0f2f1; border-radius: 3px; overflow: hidden; }
        .leader-bar-fill { height: 100%; background: var(--color-brand); border-radius: 3px; }
        .chart-placeholder { background: var(--color-bg); border: 1px dashed var(--color-border); border-radius: var(--card-radius); padding: var(--card-pad); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-2); min-height: 160px; }
        .chart-placeholder .material-symbols-outlined { font-size: clamp(28px,3vw,40px); color: var(--color-muted); opacity: .4; font-variation-settings: 'FILL' 1, 'wght' 300, 'GRAD' 0, 'opsz' 48; }
        .chart-placeholder p { font-size: var(--font-sm); color: var(--color-muted); }
        .bar-chart { display: flex; flex-direction: column; gap: var(--space-2); }
        .bar-row { display: flex; align-items: center; gap: var(--space-2); }
        .bar-lbl { font-size: var(--font-xs); color: var(--color-muted); width: 80px; flex-shrink: 0; text-align: right; }
        .bar-track { flex: 1; height: 22px; background: var(--color-bg); border-radius: 4px; overflow: hidden; }
        .bar-fill { height: 100%; border-radius: 4px; display: flex; align-items: center; padding-left: 8px; font-size: var(--font-xs); color: #fff; font-weight: 700; transition: width .7s ease; }
        .bar-val { font-size: var(--font-xs); color: var(--color-text); font-weight: 700; width: 32px; flex-shrink: 0; }
        .form-section { margin-bottom: var(--space-5); }
        .form-section-title { font-size: var(--font-base); font-weight: 700; color: var(--color-text); margin-bottom: var(--space-3); padding-bottom: var(--space-2); border-bottom: 1px solid var(--color-border); }
        .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3) var(--card-gap); margin-bottom: var(--space-3); }
        .form-row.full { grid-template-columns: 1fr; }
        .form-group { display: flex; flex-direction: column; gap: var(--space-1); }
        .form-group label { font-size: var(--font-sm); font-weight: 600; color: var(--color-text); }
        .form-group input, .form-group select, .form-group textarea { padding: var(--space-2) var(--space-3); border: 1px solid var(--color-border); border-radius: 8px; font-size: var(--font-sm); font-family: Arial, sans-serif; color: var(--color-text); background: var(--color-surface); transition: border-color var(--ease); outline: none; }
        .form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--color-brand); }
        .form-group textarea { resize: vertical; min-height: 80px; }
        .form-hint { font-size: var(--font-xs); color: var(--color-muted); margin-top: 2px; }
        .add-member-card { background: var(--color-surface); border: 2px dashed var(--color-border); border-radius: var(--card-radius); padding: var(--card-pad); margin-bottom: var(--space-4); }
        .add-member-card:focus-within { border-color: var(--color-brand); }
        .modal { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.55); align-items: center; justify-content: center; z-index: 2000; padding: var(--space-4); }
        .modal.open { display: flex; }
        .modal-box { background: var(--color-surface); border-radius: var(--card-radius); padding: clamp(20px,2.5vw,32px); width: min(500px,94vw); box-shadow: 0 20px 40px rgba(0,0,0,.2); position: relative; max-height: 90dvh; overflow-y: auto; }
        .modal-close { position: absolute; top: 12px; right: 14px; font-size: 24px; cursor: pointer; color: var(--color-muted); background: none; border: none; line-height: 1; }
        .modal-close:hover { color: var(--color-text); }
        .modal-title { font-size: var(--font-lg); font-weight: bold; margin-bottom: var(--space-4); }
        .modal-footer { display: flex; gap: var(--space-3); justify-content: flex-end; margin-top: var(--space-4); }
        .toast { position: fixed; bottom: clamp(16px,3vh,36px); left: 50%; transform: translateX(-50%); background: #333; color: #fff; padding: var(--space-2) var(--space-5); border-radius: 12px; z-index: 3000; opacity: 0; transition: opacity .4s; box-shadow: 0 4px 12px rgba(0,0,0,.2); pointer-events: none; font-size: var(--font-sm); white-space: nowrap; }
        .toast.show { opacity: 1; }
        .divider { height: 1px; background: var(--color-border); margin: var(--space-4) 0; }
        @media (max-width: 900px) { .agency-stats-quick { display: none; } .member-panel-grid { grid-template-columns: 1fr; } }
        @media (max-width: 768px) { .agency-header { flex-wrap: wrap; gap: var(--space-3); } .form-row { grid-template-columns: 1fr; } .card-grid, .card-grid-2 { grid-template-columns: 1fr; } .access-grid { grid-template-columns: 1fr; } }
        @media (max-width: 480px) { :root { --card-pad: 12px; --card-gap: 12px; } .tab-btn { padding: var(--space-2) var(--space-2); font-size: var(--font-xs); } .tab-btn span:not(.material-symbols-outlined):not(.tab-badge) { display: none; } }
        @media (max-width: 360px) { .tp-center { font-size: 1rem; } }
        @media (min-width: 1921px) { :root { --card-pad: clamp(22px,1.8vw,38px); --card-gap: clamp(28px,2.2vw,48px); } }

        /* Compare widget */
        .compare-type-sel { display:flex; gap:var(--space-2); margin-bottom:var(--space-3); }
        .compare-type-label { display:flex; align-items:center; gap:6px; padding:5px 14px; min-height:28px; border:1px solid var(--color-border); border-radius:var(--btn-radius-pill); cursor:pointer; font-size:var(--font-xs); transition:all var(--ease); }
        .compare-type-label input { display:none; }
        .compare-type-label.sel { background:var(--color-brand); color:#fff; border-color:var(--color-brand); }
        .compare-fields { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2) var(--space-3); margin-bottom:var(--space-3); }
        .compare-fields .full { grid-column:1/-1; }
        .compare-fields input { padding:var(--space-2) var(--space-3); border:1px solid var(--color-border); border-radius:8px; font-size:var(--font-sm); font-family:Arial,sans-serif; outline:none; transition:border-color var(--ease); width:100%; }
        .compare-fields input:focus { border-color:var(--color-brand); }
        .compare-save-row { display:flex; align-items:center; gap:var(--space-2); margin-bottom:var(--space-3); font-size:var(--font-sm); }
        .compare-save-row input[type=checkbox] { width:16px; height:16px; cursor:pointer; accent-color:var(--color-brand); }
        .cmp-unit-wrap { position:relative; display:flex; align-items:center; }
        .cmp-unit-wrap input { flex:1; padding-right:34px !important; }
        .cmp-unit-suffix { position:absolute; right:10px; color:var(--color-muted); font-size:var(--font-sm); font-weight:600; pointer-events:none; user-select:none; opacity:0; transition:opacity .15s; }
        .cmp-unit-suffix.vis { opacity:1; }
        .cmp-price-mode { display:flex; gap:var(--space-2); margin-bottom:var(--space-2); }
        .cmp-pm-btn { padding:3px 13px; border:1px solid var(--color-border); border-radius:var(--btn-radius-pill); background:var(--color-bg); font-size:var(--font-xs); cursor:pointer; font-weight:500; color:var(--color-muted); transition:all var(--ease); }
        .cmp-pm-btn.sel { background:var(--color-brand); color:#fff; border-color:var(--color-brand); }

        /* Events -24h */
        .event-item { display:flex; align-items:center; gap:var(--space-2); padding:var(--space-2) 0; border-bottom:1px solid var(--color-border); }
        .event-item:last-child { border-bottom:none; }
        .event-dot { width:9px; height:9px; border-radius:50%; flex-shrink:0; }
        .event-text { flex:1; font-size:var(--font-sm); color:var(--color-text); line-height:1.4; }
        .event-time { font-size:var(--font-xs); font-weight:700; padding:2px 8px; border-radius:var(--btn-radius-pill); white-space:nowrap; flex-shrink:0; }

        /* Dashboard full-screen panels */
        .dash-panel { display:none; position:fixed; inset:0; z-index:1100; flex-direction:column; background:var(--color-bg); }
        .dash-panel.open { display:flex; }
        .dp-header { background:var(--color-brand); color:#fff; padding:var(--space-3) var(--space-4); display:flex; align-items:center; justify-content:space-between; flex-shrink:0; gap:var(--space-3); }
        .dp-title { font-size:var(--font-lg); font-weight:700; display:flex; align-items:center; gap:8px; }
        .dp-title .material-symbols-outlined { font-size:20px; }
        .dp-close { background:none; border:none; color:rgba(255,255,255,.8); cursor:pointer; display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; transition:background .15s; }
        .dp-close:hover { background:rgba(255,255,255,.15); color:#fff; }
        .dp-close .material-symbols-outlined { font-size:22px; }
        .dp-body { flex:1; overflow-y:auto; padding:var(--space-4); }
        .dp-body::-webkit-scrollbar { width:4px; }
        .dp-body::-webkit-scrollbar-thumb { background:var(--color-border); border-radius:2px; }
        .dp-inner { max-width:820px; margin:0 auto; }
        /* Event panel */
        .dp-ev-item { display:flex; align-items:flex-start; gap:12px; padding:13px 16px; background:var(--color-surface); border:1px solid var(--color-border); border-left:3px solid transparent; border-radius:10px; margin-bottom:8px; }
        .dp-ev-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; margin-top:3px; }
        .dp-ev-body { flex:1; min-width:0; }
        .dp-ev-text { font-size:var(--font-sm); font-weight:600; color:var(--color-text); margin-bottom:3px; }
        .dp-ev-meta { font-size:11px; color:var(--color-muted); }
        .dp-ev-time { font-size:var(--font-xs); font-weight:700; padding:2px 9px; border-radius:12px; white-space:nowrap; flex-shrink:0; }
        .dp-ev-del { background:none; border:none; cursor:pointer; color:var(--color-muted); display:flex; align-items:center; padding:4px; border-radius:6px; flex-shrink:0; }
        .dp-ev-del:hover { color:var(--color-red); background:rgba(220,53,69,.07); }
        .dp-ev-del .material-symbols-outlined { font-size:16px; }
        .dp-ev-add { border:1.5px dashed var(--color-border); border-radius:10px; padding:14px 16px; margin-bottom:8px; background:none; }
        .dp-ev-add-row { display:flex; gap:8px; align-items:flex-end; flex-wrap:wrap; }
        .dp-ev-add-row input, .dp-ev-add-row select { padding:7px 10px; border:1px solid var(--color-border); border-radius:8px; font-size:var(--font-sm); font-family:Arial; outline:none; background:var(--color-surface); color:var(--color-text); }
        .dp-ev-add-row input[type=text] { flex:1; min-width:160px; }
        .dp-ev-add-row input[type=datetime-local] { width:180px; }
        /* Activity panel */
        .dp-act-item { display:flex; align-items:flex-start; gap:12px; padding:11px 14px; border-bottom:1px solid var(--color-border); }
        .dp-act-item:last-child { border-bottom:none; }
        .dp-act-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; margin-top:4px; }
        .dp-act-text { flex:1; font-size:var(--font-sm); color:var(--color-text); line-height:1.45; }
        .dp-act-time { font-size:11px; color:var(--color-muted); white-space:nowrap; flex-shrink:0; }

        /* Compare overlay */
        .compare-overlay { display:none; position:fixed; inset:0; z-index:900; flex-direction:column; background:var(--color-bg); }
        .compare-overlay.open { display:flex; }
        .cov-header { background:var(--color-brand); color:#fff; padding:var(--space-3) var(--space-4); display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
        .cov-title { font-size:var(--font-lg); font-weight:bold; }
        .cov-close { background:none; border:none; color:#fff; cursor:pointer; font-size:28px; line-height:1; padding:0; }
        .cov-params { background:var(--color-surface); border-bottom:1px solid var(--color-border); padding:var(--space-2) var(--space-4); font-size:var(--font-sm); color:var(--color-muted); flex-shrink:0; }
        .cov-body { flex:1; overflow-y:auto; padding:var(--space-4); }
        .cov-results-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(260px,28vw,380px)),1fr)); gap:var(--card-gap); }
        .cov-card { background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--card-radius); padding:var(--card-pad); box-shadow:var(--shadow-card); position:relative; }
        .cov-card-id { font-size:var(--font-xs); color:var(--color-muted); margin-bottom:4px; max-width:calc(100% - 72px); }
        .cov-card-title { font-size:var(--font-base); font-weight:700; margin-bottom:var(--space-2); padding-right:72px; }
        .cov-card-meta { font-size:var(--font-xs); color:var(--color-muted); margin-bottom:var(--space-2); }
        .match-badge { display:inline-block; font-size:var(--font-xs); font-weight:700; padding:2px 8px; border-radius:var(--btn-radius-pill); background:#e8f5e9; color:#2e7d32; }

        /* Permissions scroll */
        .perm-scroll-wrap { max-height:240px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#ccc transparent; padding-right:4px; }
        .perm-scroll-wrap::-webkit-scrollbar { width:4px; }
        .perm-scroll-wrap::-webkit-scrollbar-thumb { background:#ccc; border-radius:2px; }
        .perm-scroll-hint { font-size:var(--font-xs); color:var(--color-muted); text-align:center; padding-top:4px; opacity:.7; }

        /* Partner access sections */
        .pa-section { margin-bottom:var(--space-3); }
        .pa-section-title { font-size:var(--font-xs); font-weight:700; color:var(--color-muted); text-transform:uppercase; letter-spacing:.05em; margin-bottom:var(--space-2); padding-bottom:4px; border-bottom:1px solid var(--color-border); }
        .pa-radio-group { display:flex; gap:var(--space-3); flex-wrap:wrap; }
        .pa-radio-group label { display:flex; align-items:center; gap:6px; font-size:var(--font-sm); cursor:pointer; }
        .pa-radio-group input[type=radio] { accent-color:var(--color-brand); }

        /* On Hold tab */
        .oh-filter-bar { display:flex; gap:var(--space-2); margin-bottom:var(--card-gap); flex-wrap:wrap; }
        .oh-filter-btn { padding:5px 16px; border-radius:var(--btn-radius-pill); border:1px solid var(--color-border); background:var(--color-surface); font-size:var(--font-sm); cursor:pointer; font-weight:500; color:var(--color-muted); transition:all var(--ease); }
        .oh-filter-btn.active { background:var(--color-brand); color:#fff; border-color:var(--color-brand); }
        .oh-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(260px,28vw,360px)),1fr)); gap:var(--card-gap); }
        .oh-card { background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--card-radius); box-shadow:var(--shadow-card); display:flex; flex-direction:column; overflow:hidden; transition:box-shadow var(--ease); }
        .oh-card:hover { box-shadow:0 6px 24px rgba(0,0,0,.14); }
        .oh-card-head { padding:var(--card-pad) var(--card-pad) var(--space-3); display:flex; align-items:center; gap:var(--space-2); border-bottom:1px solid var(--color-border); }
        .oh-type-badge { font-size:var(--font-xs); font-weight:700; padding:2px 10px; border-radius:var(--btn-radius-pill); flex-shrink:0; }
        .oh-type-obj { background:#e8f0fe; color:var(--color-verified); border:1px solid #c5d5f7; }
        .oh-type-req { background:#e8f5e9; color:#2e7d32; border:1px solid #a5d6a7; }
        .oh-card-body { padding:var(--space-3) var(--card-pad); flex:1; display:flex; flex-direction:column; gap:7px; }
        .oh-row { display:flex; align-items:baseline; gap:var(--space-2); }
        .oh-lbl { font-size:var(--font-xs); color:var(--color-muted); min-width:88px; flex-shrink:0; }
        .oh-val { font-size:var(--font-sm); color:var(--color-text); }
        .oh-divider { border:none; border-top:1px solid var(--color-border); margin:4px 0; }
        .oh-card-foot { padding:var(--space-2) var(--card-pad) var(--card-pad); border-top:1px solid var(--color-border); display:flex; gap:var(--space-2); flex-wrap:wrap; }
        .oh-empty { background:var(--color-surface); border:1px dashed var(--color-border); border-radius:var(--card-radius); padding:var(--space-5); text-align:center; color:var(--color-muted); font-size:var(--font-sm); }

        /* ── CLIENTS ── */
        .client-filter-bar { display:flex; gap:var(--space-2); margin-bottom:var(--card-gap); flex-wrap:wrap; }
        .cf-btn { padding:3px 11px; border-radius:var(--btn-radius-pill); border:1px solid var(--color-border); background:var(--color-surface); font-size:var(--font-xs); cursor:pointer; font-weight:500; color:var(--color-muted); transition:all var(--ease); }
        .cf-btn.active { background:var(--color-brand); color:#fff; border-color:var(--color-brand); }
        .cf-btn.active-type { background:var(--color-brand); color:#fff; border-color:var(--color-brand); }
        .cc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(280px,32vw,420px)),1fr)); gap:var(--card-gap); }
        .client-card { background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--card-radius); box-shadow:var(--shadow-card); display:flex; flex-direction:column; overflow:hidden; transition:box-shadow var(--ease); }
        .client-card:hover { box-shadow:0 6px 24px rgba(0,0,0,.14); }
        .cc-header { padding:var(--card-pad) var(--card-pad) var(--space-3); display:flex; align-items:flex-start; gap:var(--space-2); border-bottom:1px solid var(--color-border); }
        .cc-name-block { flex:1; min-width:0; }
        .cc-name { font-size:var(--font-base); font-weight:700; color:var(--color-text); line-height:1.2; margin-bottom:3px; }
        .cc-country { font-size:var(--font-xs); color:var(--color-muted); display:flex; align-items:center; gap:3px; }
        .cc-country .material-symbols-outlined { font-size:13px; }
        .cc-badges { display:flex; gap:5px; flex-wrap:wrap; flex-shrink:0; align-items:flex-start; }
        .cc-type-badge { font-size:var(--font-xs); font-weight:700; padding:2px 9px; border-radius:var(--btn-radius-pill); flex-shrink:0; }
        .cc-type-obj { background:#00695c; color:#fff; border:1px solid #00695c; }
        .cc-type-req { background:#e3f2fd; color:#1565c0; border:1px solid #90caf9; }
        .cc-legal-badge { font-size:var(--font-xs); font-weight:700; padding:2px 8px; border-radius:var(--btn-radius-pill); flex-shrink:0; }
        .cc-legal-yes { background:#fff8e1; color:#f57c00; border:1px solid #ffe082; }
        .cc-legal-no { background:#fce4ec; color:#b71c1c; border:1px solid #ef9a9a; }
        .cc-body { padding:var(--space-3) var(--card-pad); flex:1; display:flex; flex-direction:column; gap:7px; }
        .cc-row { display:flex; align-items:center; gap:var(--space-2); }
        .cc-label { font-size:var(--font-xs); color:var(--color-muted); min-width:100px; flex-shrink:0; }
        .cc-val { font-size:var(--font-sm); color:var(--color-text); }
        .cc-val-bold { font-weight:700; color:var(--color-brand); font-size:var(--font-base); }
        .cc-date-badge { display:inline-block; font-size:var(--font-xs); font-weight:600; background:#f3f4f6; color:var(--color-text); border:1px solid var(--color-border); padding:2px 9px; border-radius:var(--btn-radius-pill); white-space:nowrap; }
        .cc-footer { padding:var(--space-2) var(--card-pad) var(--card-pad); border-top:1px solid var(--color-border); display:flex; gap:var(--space-2); flex-wrap:wrap; }
        /* Client status badges — all grey */
        .cs-new { background:#f3f4f6; color:#555; border:1px solid #ddd; }
        .cs-interested { background:#f3f4f6; color:#555; border:1px solid #ddd; }
        .cs-neutral { background:#f3f4f6; color:#555; border:1px solid #ddd; }
        .cs-passenger { background:#f3f4f6; color:#555; border:1px solid #ddd; }
        /* Team member inline meta */
        .member-name-row { display:flex; align-items:center; gap:6px; flex-wrap:wrap; line-height:1.3; }
        .member-id { font-size:var(--font-xs); color:var(--color-muted); font-weight:500; white-space:nowrap; }
        /* Multi-select dropdown */
        .ms-select { position:relative; }
        .ms-trigger { display:flex; align-items:center; padding:var(--space-2) var(--space-3); border:1px solid var(--color-border); border-radius:8px; cursor:pointer; background:var(--color-surface); min-height:40px; gap:var(--space-2); }
        .ms-display { flex:1; font-size:var(--font-sm); color:var(--color-text); }
        .ms-arrow { font-size:18px; color:var(--color-muted); transition:transform var(--ease); flex-shrink:0; }
        .ms-select.open .ms-arrow { transform:rotate(180deg); }
        .ms-dropdown { position:absolute; top:calc(100% + 4px); left:0; right:0; background:var(--color-surface); border:1px solid var(--color-border); border-radius:8px; box-shadow:0 8px 24px rgba(0,0,0,.12); z-index:200; overflow:hidden; }
        .ms-search { width:100%; padding:8px var(--space-3); border:none; border-bottom:1px solid var(--color-border); font-size:var(--font-sm); outline:none; font-family:Arial,sans-serif; }
        .ms-options { max-height:180px; overflow-y:auto; padding:4px 0; }
        .ms-options label { display:flex; align-items:center; gap:8px; padding:6px var(--space-3); font-size:var(--font-sm); cursor:pointer; transition:background var(--ease); }
        .ms-options label:hover { background:var(--color-bg); }
        .ms-options input[type=checkbox] { accent-color:var(--color-brand); flex-shrink:0; }
        /* ACM type selector */
        .acm-type-label { display:flex; align-items:center; gap:6px; padding:6px 16px; border:1px solid var(--color-border); border-radius:var(--btn-radius-pill); cursor:pointer; font-size:var(--font-sm); font-weight:500; transition:all var(--ease); }
        .acm-type-label input { display:none; }
        .acm-type-label.acm-sel { background:var(--color-brand); color:#fff; border-color:var(--color-brand); }
        /* ACM calendar month grid */
        .acm-month-btn { padding:7px 4px; border:1px solid var(--color-border); border-radius:6px; background:var(--color-bg); font-size:var(--font-xs); cursor:pointer; transition:all var(--ease); text-align:center; width:100%; }
        .acm-month-btn:hover { background:var(--color-brand-mid); color:#fff; border-color:var(--color-brand-mid); }
        .acm-month-btn.acm-sel { background:var(--color-brand); color:#fff; border-color:var(--color-brand); }

        /* Collapsible stats box */
        .collapsible-box { background:var(--color-surface); border-radius:var(--card-radius); box-shadow:var(--shadow-card); margin-bottom:var(--card-gap); overflow:hidden; }
        .collapsible-header { padding:var(--card-pad); display:flex; align-items:center; justify-content:space-between; cursor:pointer; user-select:none; }
        .collapsible-header:hover { background:var(--color-bg); }
        .collapsible-header .section-title { margin-bottom:0; }
        .collapsible-body { padding:0 var(--card-pad) var(--card-pad); }

        /* Trust score ring */
        .trust-ring { position:relative; width:90px; height:90px; flex-shrink:0; }
        .trust-ring svg { transform:rotate(-90deg); }
        .trust-ring-bg { fill:none; stroke:#e0f2f1; stroke-width:10; }
        .trust-ring-fill { fill:none; stroke:var(--color-brand); stroke-width:10; stroke-linecap:round; transition:stroke-dashoffset .8s ease; }
        .trust-ring-text { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
        .trust-score-num { font-size:1.5rem; font-weight:800; color:var(--color-brand); line-height:1; }
        .trust-score-lbl { font-size:var(--font-xs); color:var(--color-muted); }
        .trust-card-inner { display:flex; align-items:center; gap:var(--space-3); }
        .trust-factors { flex:1; display:flex; flex-direction:column; gap:var(--space-1); }
        .trust-factor-row { display:flex; align-items:center; gap:var(--space-2); font-size:var(--font-xs); }
        .trust-factor-lbl { color:var(--color-muted); width:120px; flex-shrink:0; }
        .trust-bar-track { flex:1; height:5px; background:#eee; border-radius:3px; overflow:hidden; }
        .trust-bar-fill { height:100%; background:var(--color-brand); border-radius:3px; }
        .trust-factor-pct { width:28px; text-align:right; font-weight:700; color:var(--color-text); }

        /* Find result item */
        .find-result-item { display:flex; align-items:center; gap:var(--space-3); padding:var(--space-2) 0; border-bottom:1px solid var(--color-border); }
        .find-result-item:last-child { border-bottom:none; }
        .find-result-info { flex:1; min-width:0; }
        .find-result-name { font-size:var(--font-base); font-weight:700; }
        .find-result-meta { font-size:var(--font-xs); color:var(--color-muted); }

        /* ── PINBOARD ── */
        .rope-toggle {
            margin-left: auto; background: none; border: none; cursor: pointer;
            display: flex; flex-direction: column; align-items: center;
            justify-content: flex-end; padding: 0 clamp(10px,1.4vw,18px);
            height: 100%; flex-shrink: 0; gap: 0;
        }
        .rope-toggle:hover .rope-knot { transform: translateY(5px) scale(1.12); }
        .rope-toggle.active .rope-knot { background: radial-gradient(circle at 35% 30%, #26a69a, #004d40 70%); }
        .rope-line {
            width: 2px; height: clamp(12px,1.3vw,18px);
            background: linear-gradient(to bottom, transparent, rgba(139,94,60,.7), #8B5E3C);
            border-radius: 1px; flex-shrink: 0;
        }
        .rope-knot {
            width: 15px; height: 15px; flex-shrink: 0; margin-bottom: 5px;
            background: radial-gradient(circle at 35% 30%, #d4a574, #8B5E3C 70%);
            border-radius: 50%; border: 2px solid rgba(0,0,0,.15);
            box-shadow: 0 2px 5px rgba(0,0,0,.28), inset 0 1px 2px rgba(255,255,255,.22);
            transition: transform var(--ease), background var(--ease);
        }

        /* Viewport: фиксированное окно с деревянной рамкой; мир двигается внутри transform'ом */
        .pinboard-container {
            overflow: hidden; height: 0; flex-shrink: 0;
            transition: height .52s cubic-bezier(.4,0,.2,1);
            position: relative; z-index: 50; touch-action: none;
        }
        .pinboard-container.open {
            height: 72vh;
            border-top: 7px solid #7a4520; border-bottom: 7px solid #7a4520;
            box-shadow: inset 0 0 36px rgba(0,0,0,.2), inset 0 2px 10px rgba(0,0,0,.14);
        }
        .pinboard-container.pb-panning { cursor: grabbing; }

        /* World: большой холст (влезает ~50 заметок), пан/зум через transform. WORLD_W/H = 2400×1700 (см. JS) */
        .pinboard {
            width: 2400px; height: 1700px; position: absolute; top: 0; left: 0;
            transform-origin: 0 0; will-change: transform; cursor: grab;
            background-color: #c8955c;
            background-image:
                repeating-linear-gradient(120deg, transparent, transparent 7px, rgba(175,120,60,.22) 7px, rgba(175,120,60,.22) 8px),
                repeating-linear-gradient(60deg,  transparent, transparent 7px, rgba(255,255,255,.08) 7px, rgba(255,255,255,.08) 8px),
                repeating-linear-gradient(0deg,   transparent, transparent 14px, rgba(0,0,0,.03) 14px, rgba(0,0,0,.03) 15px);
        }
        .pinboard::before {
            content: ''; position: absolute; inset: 0; pointer-events: none;
            background:
                radial-gradient(ellipse at 12% 18%, rgba(255,255,255,.10) 0%, transparent 52%),
                radial-gradient(ellipse at 88% 82%, rgba(0,0,0,.07) 0%, transparent 48%);
        }
        .pb-zoom { position: absolute; right: 12px; bottom: 12px; z-index: 300; display: flex; flex-direction: column; gap: 6px; }
        .pb-zoom button { width: 34px; height: 34px; border-radius: 8px; border: 1px solid rgba(0,0,0,.16); background: rgba(255,255,255,.94); color: #333; font-size: 19px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,.22); user-select: none; padding: 0; }
        .pb-zoom button:hover { background: #fff; }

        /* Sticky note */
        .sticky-note {
            position: absolute; width: clamp(148px,13vw,196px); min-height: 148px;
            padding: 26px 13px 10px; border-radius: 2px 3px 3px 2px;
            cursor: grab; display: flex; flex-direction: column;
            box-shadow: 4px 6px 14px rgba(0,0,0,.3), 0 1px 4px rgba(0,0,0,.18);
            z-index: 10; transition: box-shadow .15s, z-index 0s;
        }
        .sticky-note:hover { z-index: 20; }
        .sticky-note.sn-dragging { cursor: grabbing !important; z-index: 200; box-shadow: 8px 12px 28px rgba(0,0,0,.4); }
        .sn-pin {
            position: absolute; top: -10px; left: 50%; transform: translateX(-50%);
            width: 18px; height: 18px; border-radius: 50%;
            background: radial-gradient(circle at 33% 28%, #e74c3c, #8e0000 75%);
            border: 1.5px solid rgba(0,0,0,.22);
            box-shadow: 0 2px 5px rgba(0,0,0,.35), inset 0 1px 2px rgba(255,255,255,.3);
            pointer-events: none; z-index: 1;
        }
        .sn-text {
            flex: 1; font-size: clamp(11px,.85vw,13px); color: #1f1f1f;
            line-height: 1.55; word-break: break-word; white-space: pre-wrap;
            outline: none; min-height: 64px; cursor: inherit;
            pointer-events: none; font-family: Arial, sans-serif;
        }
        .sticky-note.sn-editing .sn-text { pointer-events: auto; cursor: text; border-bottom: 1px dashed rgba(0,0,0,.2); }
        .sn-author {
            font-size: clamp(10px,.72vw,11px); color: #808080;
            font-style: italic; margin-top: 7px; pointer-events: none;
            font-family: Arial, sans-serif;
        }
        .sn-actions {
            display: flex; gap: 4px; justify-content: flex-end;
            margin-top: 7px; opacity: 0; transition: opacity .18s;
        }
        .sticky-note:hover .sn-actions { opacity: 1; }
        .sn-btn {
            background: rgba(0,0,0,.11); border: none; border-radius: 4px;
            padding: 2px 7px; font-size: 11px; cursor: pointer; line-height: 1.4;
            transition: background .15s;
        }
        .sn-btn:hover { background: rgba(0,0,0,.22); }

        /* Add-note popup */
        .add-note-popup {
            position: absolute; display: none; width: clamp(200px,20vw,256px);
            background: #fff; border-radius: 14px; padding: 14px;
            box-shadow: 0 14px 40px rgba(0,0,0,.32), 0 2px 8px rgba(0,0,0,.12);
            border: 1px solid rgba(0,0,0,.07); z-index: 400;
        }
        .add-note-popup.show { display: block; }
        .anp-title { font-size: var(--font-sm); font-weight: 700; color: var(--color-text); margin-bottom: 10px; }
        .anp-textarea {
            width: 100%; border: 1px solid #ddd; border-radius: 7px;
            padding: 8px 10px; font-size: 13px; font-family: Arial,sans-serif;
            resize: none; outline: none; margin-bottom: 8px; min-height: 88px;
            line-height: 1.5; color: #333; transition: border-color .15s;
        }
        .anp-textarea:focus { border-color: var(--color-brand); }
        .anp-author {
            width: 100%; border: 1px solid #ddd; border-radius: 7px;
            padding: 5px 10px; font-size: 12px; font-family: Arial,sans-serif;
            outline: none; margin-bottom: 10px; color: #555; transition: border-color .15s;
        }
        .anp-author:focus { border-color: var(--color-brand); }
        .anp-colors { display: flex; gap: 7px; margin-bottom: 12px; align-items: center; }
        .anp-color-dot {
            width: 20px; height: 20px; border-radius: 50%; cursor: pointer;
            border: 2.5px solid transparent; transition: transform .15s, border-color .15s; flex-shrink: 0;
        }
        .anp-color-dot:hover { transform: scale(1.2); }
        .anp-color-dot.anp-sel { border-color: #444; transform: scale(1.18); }
        .anp-footer { display: flex; gap: 8px; justify-content: flex-end; }

        /* Smart Match */
        .sm-corner-badge { position:absolute; top:var(--card-pad); right:var(--card-pad); display:flex; flex-direction:column; align-items:center; background:rgba(255,255,255,.96); border:2px solid; border-radius:10px; padding:5px 10px; min-width:54px; text-align:center; }
        .sm-corner-badge.sm-green { border-color:#a5d6a7; color:#2e7d32; }
        .sm-corner-badge.sm-orange { border-color:#ffcc80; color:var(--color-orange); }
        .sm-corner-badge.sm-red { border-color:#ef9a9a; color:var(--color-red); }
        .sm-score-num { font-size:clamp(1rem,1.6vw,1.25rem); font-weight:900; line-height:1.1; }
        .sm-score-lbl { font-size:9px; color:var(--color-muted); letter-spacing:.05em; text-transform:uppercase; margin-top:2px; white-space:nowrap; }
        .sm-breakdown { font-size:var(--font-xs); margin-top:var(--space-2); display:flex; flex-direction:column; gap:3px; }
        .sm-row { display:flex; justify-content:space-between; align-items:center; }
        .sm-row-lbl { color:var(--color-muted); }
        .sm-row-val { font-weight:700; color:var(--color-text); }
        .sm-green-txt { color:#2e7d32; }
        .sm-orange-txt { color:var(--color-orange); }
        .sm-red-txt { color:var(--color-red); }
        .sm-divider { border:none; border-top:1px solid var(--color-border); margin:4px 0; }
        .sm-why-btn { display:inline-flex; align-items:center; gap:4px; background:none; border:1px solid var(--color-border); border-radius:var(--btn-radius-pill); padding:3px 11px; font-size:var(--font-xs); cursor:pointer; color:var(--color-muted); margin-top:var(--space-1); transition:all var(--ease); font-family:Arial,sans-serif; }
        .sm-why-btn:hover { border-color:var(--color-brand); color:var(--color-brand); }
        .sm-why-detail { display:none; background:var(--color-bg); border-radius:6px; padding:var(--space-2); margin-top:6px; }
        .sm-why-detail.open { display:block; }
        .sm-why-row { display:flex; align-items:flex-start; gap:6px; padding:2px 0; font-size:var(--font-xs); line-height:1.5; color:var(--color-text); }
        .sm-why-dot { width:5px; height:5px; border-radius:50%; background:var(--color-brand); flex-shrink:0; margin-top:5px; }
        .sm-trust-warn { color:var(--color-orange); font-size:var(--font-xs); margin-top:6px; display:flex; align-items:center; gap:4px; }
        .sm-few-params { color:var(--color-orange); font-size:var(--font-xs); margin-top:var(--space-2); display:flex; align-items:center; gap:4px; }
        /* Partner card locked radios */
        .pa-radio-group.pa-locked label { cursor:default; }
        .pa-radio-group.pa-locked input[type=radio] { opacity:.45; pointer-events:none; }
        .pa-radio-group.pa-locked input[type=radio]:checked { opacity:1; accent-color:#333; }

        /* ── Certain Chooser Modal ─────────────────────────────────── */
        .certain-modal-box { width:min(900px,95vw); max-height:88dvh; display:flex; flex-direction:column; overflow:hidden; }
        .certain-header { display:flex; align-items:center; justify-content:space-between; padding-bottom:var(--space-3); border-bottom:1px solid var(--color-border); margin-bottom:var(--space-3); flex-shrink:0; gap:var(--space-2); }
        .certain-sel-badge { background:var(--color-brand); color:#fff; font-size:11px; font-weight:700; padding:3px 10px; border-radius:20px; white-space:nowrap; transition:background .2s; }
        .certain-sel-badge.zero { background:var(--color-border); color:var(--color-muted); }
        .certain-filters { display:flex; gap:var(--space-2); flex-wrap:wrap; margin-bottom:var(--space-3); flex-shrink:0; }
        .certain-filters input, .certain-filters select { padding:7px 10px; border:1px solid var(--color-border); border-radius:8px; font-size:var(--font-sm); font-family:Arial,sans-serif; outline:none; background:#fff; color:var(--color-text); transition:border-color .15s; }
        .certain-filters input:focus, .certain-filters select:focus { border-color:var(--color-brand); }
        .certain-search-input { flex:1; min-width:160px; }
        .certain-results { flex:1; overflow-y:auto; min-height:0; padding-right:2px; }
        .certain-obj-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:var(--space-3); padding-bottom:var(--space-1); }
        .certain-obj-card { border:2px solid var(--color-border); border-radius:var(--card-radius); overflow:hidden; cursor:pointer; position:relative; transition:border-color .15s,box-shadow .15s; background:#fff; user-select:none; }
        .certain-obj-card:hover { border-color:var(--color-brand); box-shadow:0 2px 12px rgba(0,0,0,.1); }
        .certain-obj-card.certain-checked { border-color:var(--color-brand); background:rgba(74,144,226,.03); }
        .certain-obj-photo { height:108px; display:flex; align-items:center; justify-content:center; }
        .certain-obj-photo .material-symbols-outlined { font-size:44px; color:rgba(255,255,255,.85); font-variation-settings:'FILL' 1; }
        .certain-obj-body { padding:10px 12px 12px; }
        .certain-obj-id { font-size:var(--font-xs); font-weight:700; color:var(--color-brand); margin-bottom:2px; }
        .certain-obj-name { font-size:var(--font-sm); font-weight:600; color:var(--color-text); margin-bottom:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
        .certain-obj-meta { font-size:var(--font-xs); color:var(--color-muted); line-height:1.5; }
        .certain-obj-price { font-size:var(--font-sm); font-weight:700; color:var(--color-text); margin-top:5px; }
        .certain-cb-box { width:24px; height:24px; background:rgba(255,255,255,.92); border:2px solid rgba(255,255,255,.5); border-radius:6px; display:flex; align-items:center; justify-content:center; transition:background .15s,border-color .15s; box-shadow:0 1px 4px rgba(0,0,0,.2); flex-shrink:0; }
        .certain-cb-box .material-symbols-outlined { font-size:14px; color:#fff; display:none; font-variation-settings:'FILL' 1; }
        .certain-obj-card .certain-cb-box { position:absolute; top:8px; right:8px; }
        .certain-obj-card.certain-checked .certain-cb-box { background:var(--color-brand); border-color:var(--color-brand); }
        .certain-obj-card.certain-checked .certain-cb-box .material-symbols-outlined { display:block; }
        .certain-req-card .certain-cb-box { position:relative; box-shadow:none; border-color:var(--color-border); background:var(--color-bg); }
        .certain-req-card.certain-checked .certain-cb-box { background:var(--color-brand); border-color:var(--color-brand); }
        .certain-req-card.certain-checked .certain-cb-box .material-symbols-outlined { display:block; }
        .certain-req-list { display:flex; flex-direction:column; gap:var(--space-2); padding-bottom:var(--space-1); }
        .certain-req-card { border:2px solid var(--color-border); border-radius:10px; padding:12px 14px; cursor:pointer; display:flex; align-items:center; gap:var(--space-3); background:#fff; transition:border-color .15s; user-select:none; }
        .certain-req-card:hover { border-color:var(--color-brand); }
        .certain-req-card.certain-checked { border-color:var(--color-brand); background:rgba(74,144,226,.03); }
        .certain-req-main { flex:1; min-width:0; }
        .certain-req-id { font-size:var(--font-xs); font-weight:700; color:var(--color-brand); margin-bottom:3px; }
        .certain-req-name { font-size:var(--font-sm); font-weight:600; color:var(--color-text); margin-bottom:6px; }
        .certain-req-tags { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:5px; }
        .certain-req-tag { background:var(--color-bg); border:1px solid var(--color-border); border-radius:20px; padding:2px 9px; font-size:var(--font-xs); color:var(--color-text); white-space:nowrap; }
        .certain-req-agent { font-size:var(--font-xs); color:var(--color-muted); }
        .certain-show-list { display:flex; flex-direction:column; gap:var(--space-2); overflow-y:auto; flex:1; min-height:0; }
        .certain-show-item { display:flex; align-items:center; gap:12px; padding:10px 14px; border:1px solid var(--color-border); border-radius:10px; background:#fff; }
        .certain-show-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
        .certain-show-info { flex:1; min-width:0; }
        .certain-show-id { font-size:var(--font-xs); font-weight:700; color:var(--color-brand); }
        .certain-show-name { font-size:var(--font-sm); font-weight:600; color:var(--color-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
        .certain-show-meta { font-size:var(--font-xs); color:var(--color-muted); }
        .certain-show-rm { background:none; border:none; color:var(--color-muted); cursor:pointer; padding:4px; border-radius:4px; font-size:20px; line-height:1; transition:color .15s; flex-shrink:0; }
        .certain-show-rm:hover { color:var(--color-red); }
        .certain-footer { display:flex; align-items:center; justify-content:space-between; padding-top:var(--space-3); border-top:1px solid var(--color-border); margin-top:var(--space-3); flex-shrink:0; }
        .certain-empty { padding:var(--space-4) var(--space-2); text-align:center; color:var(--color-muted); font-size:var(--font-sm); line-height:1.6; }
        .pa-certain-count { display:inline-flex; align-items:center; justify-content:center; background:var(--color-brand); color:#fff; font-size:10px; font-weight:700; min-width:17px; height:17px; border-radius:20px; padding:0 4px; margin-left:4px; vertical-align:middle; }

        /* ═══════════════════════════════════════════════════════
           MOBILE ADAPTIVE — ≤768 / ≤520 / ≤400px
           ═══════════════════════════════════════════════════════ */

        /* ── ≤ 768px: tablet / large phone ── */
        @media (max-width: 768px) {
            /* Dashboard & analytics 2-col grids → 1-col */
            .dash-top-grid,
            .ana-charts-grid { grid-template-columns: 1fr !important; }

            /* Compare widget: single-column fields */
            .compare-fields { grid-template-columns: 1fr; }
            /* Price range row also 2-col (already fine since it's inside compare-fields) */
            #cmp-price-range-row,
            #aoh-price-range-row,
            #eoh-price-range-row { grid-template-columns: 1fr 1fr; }

            /* Health score ring: stack vertically */
            .health-ring-wrap { flex-direction: column; align-items: flex-start; }
            .health-factor-lbl { width: 90px; }

            /* Trust score ring: stack vertically */
            .trust-card-inner { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
            .trust-factor-lbl { width: 90px; }

            /* Modal footer: allow buttons to wrap */
            .modal-footer { flex-wrap: wrap; gap: var(--space-2); }

            /* Certain chooser: smaller card grid */
            .certain-obj-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }

            /* Certain filters: stack all children full width */
            .certain-filters { flex-direction: column; }
            .certain-filters > * { width: 100% !important; min-width: unset !important; }

            /* Certain footer: allow wrap */
            .certain-footer { flex-wrap: wrap; gap: var(--space-2); }

            /* Compare overlay: compact params */
            .cov-params { white-space: normal; font-size: var(--font-xs); }

            /* Pinboard: shorter on tablet */
            /* .pinboard height фиксирован (world) — вьюпорт задаётся .pinboard-container.open max-height */
            .pinboard-container.open { height: 50vh; }

            /* Partner card header: allow wrap */
            .partner-head { flex-wrap: wrap; }
        }

        /* ── ≤ 520px: medium phones ── */
        @media (max-width: 520px) {
            /* Agency header: tighter padding, smaller logo */
            .agency-header { padding: var(--space-2) var(--space-3); gap: var(--space-2); }
            .agency-logo { width: 48px; height: 48px; font-size: 1rem; }
            .agency-meta { gap: var(--space-2); font-size: var(--font-xs); }
            .agency-name-row { gap: 5px; }

            /* Tab pane: tighter padding */
            .tab-pane { padding: var(--space-3); }

            /* Team members: action row wraps below name */
            .team-member { flex-wrap: wrap; }
            .member-right { width: 100%; justify-content: flex-start; margin-top: var(--space-1); gap: var(--space-1); }

            /* Section header rows with button: allow wrap */
            .section-title + button,
            .team-search-bar { gap: var(--space-1); }

            /* Search input: full width */
            .search-input-wrap { min-width: unset; width: 100%; }

            /* Partner card: head stack name+actions */
            .partner-head > div:last-child { width: 100%; justify-content: flex-start; }
            .partner-head > div:last-child.flex-buttons { margin-top: var(--space-1); }

            /* Member actions: tighter */
            .member-actions { gap: var(--space-1); flex-wrap: wrap; }

            /* Modal: less padding */
            .modal { padding: var(--space-2); }
            .modal-box { padding: var(--space-3); }
            .modal-title { font-size: var(--font-base); margin-bottom: var(--space-3); }

            /* Certain modal */
            .certain-modal-box { max-height: 96dvh; }
            .certain-filters input,
            .certain-filters select { padding: 6px 9px; font-size: var(--font-xs); }
            .certain-obj-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: var(--space-2); }
            .certain-obj-photo { height: 88px; }

            /* Bar chart labels */
            .bar-lbl { width: 68px; font-size: 11px; }

            /* Leaderboard bar */
            .leader-bar-wrap { width: 60px; }
            .leader-score { font-size: var(--font-sm); }

            /* Health/trust factor labels */
            .health-factor-lbl { width: 76px; }
            .trust-factor-lbl { width: 76px; }

            /* On Hold / Client filter buttons: smaller */
            .oh-filter-btn,
            .cf-btn { padding: 4px 12px; font-size: var(--font-xs); }

            /* Compare overlay result cards */
            .cov-results-grid { grid-template-columns: 1fr; }

            /* Settings phone unified: full width on small phones */
            .settings-phone-unified { width: 100%; }

            /* Pipeline columns: narrower min-width */
            .pipe-col { min-width: clamp(130px, 40vw, 200px); }

            /* Pinboard: shorter */
            /* .pinboard height фиксирован (world) */
            .pinboard-container.open { height: 40vh; }

            /* Sticky notes: smaller */
            .sticky-note { width: clamp(130px, 36vw, 180px); }

            /* btn-sm: comfortable tap target */
            .btn-sm { padding: 5px 12px; }
        }

        /* ── ≤ 400px: small phones ── */
        @media (max-width: 400px) {
            :root {
                --card-pad: 10px;
                --card-gap: 10px;
            }

            /* Top panel center text */
            .tp-center { font-size: clamp(.9rem, 4.5vw, 1.1rem); }

            /* Agency: compact name row */
            .agency-name { font-size: clamp(.9rem, 5vw, 1.1rem); }
            .agency-index { font-size: 10px; padding: 1px 7px; }
            .agency-owner-badge,
            .agency-verified { font-size: 10px; }

            /* Modal box: minimal padding */
            .modal-box { padding: var(--space-2) var(--space-2); }
            .modal-title { font-size: var(--font-sm); margin-bottom: var(--space-2); }

            /* Certain: 2-col card grid */
            .certain-obj-grid { grid-template-columns: 1fr 1fr; gap: var(--space-1); }
            .certain-obj-photo { height: 72px; }
            .certain-obj-body { padding: 7px 9px 9px; }

            /* Bar label narrower */
            .bar-lbl { width: 54px; font-size: 10px; }
            .health-factor-lbl,
            .trust-factor-lbl { width: 68px; font-size: 10px; }

            /* Pinboard: compact */
            /* .pinboard height фиксирован (world) */
            .pinboard-container.open { height: 34vh; }

            /* Tab pane: minimal padding */
            .tab-pane { padding: var(--space-2); }

            /* Compare overlay header */
            .cov-header { padding: var(--space-2) var(--space-3); }
            .cov-title { font-size: var(--font-base); }
        }

        /* ── Touch: increase tap targets for interactive elements ── */
        @media (pointer: coarse) {
            .tab-btn { min-height: 44px; }
            .tp-icon { width: 40px; height: 40px; }
            .btn { min-height: 38px; padding: 8px 16px; }
            .btn-sm { min-height: 34px; padding: 6px 12px; }
            .oh-filter-btn,
            .cf-btn { min-height: 34px; }
            .cmp-pm-btn { min-height: 32px; padding: 5px 14px; }
            .ms-trigger { min-height: 44px; }
            .acm-month-btn { min-height: 38px; }
            .toggle-switch { width: 40px; height: 22px; }
            .toggle-switch input:checked ~ .toggle-thumb { transform: translateX(18px); }
            .toggle-thumb { width: 16px; height: 16px; top: 3px; left: 3px; }
            .role-color-dot,
            .anp-color-dot { width: 26px; height: 26px; }
            .sn-btn { padding: 5px 10px; font-size: 13px; }
        }

        /* ── ≤ 520px: mobile button layout fixes ── */
        @media (max-width: 520px) {
            /* Btn inside section title row → allow wrap */
            .section-title { flex-wrap: wrap; }
            .btn { font-size: var(--font-xs); padding: 7px 14px; }
            .btn-sm { font-size: var(--font-xs); padding: 5px 11px; }
            /* Action rows with section title + button → wrap */
            [style*="display:flex"][style*="align-items:center"][style*="justify-content:space-between"],
            [style*="display: flex"][style*="align-items: center"][style*="justify-content: space-between"] {
                flex-wrap: wrap;
            }
        }

        /* ── Mobile: hide Manager tab ── */
        @media (max-width: 768px) {
            .tab-btn[data-tab="manager"] { display: none; }
            #tab-manager { display: none !important; }
        }

        /* ── Settings phone unified input ── */
        .settings-phone-unified {
            display: flex;
            align-items: stretch;
            border: 1px solid var(--color-border);
            border-radius: 8px;
            overflow: hidden;
            transition: border-color var(--ease);
            background: var(--color-surface);
        }
        .settings-phone-unified:focus-within { border-color: var(--color-brand); }
        .settings-phone-unified select {
            border: none; outline: none; border-radius: 0;
            padding: var(--space-2) var(--space-3);
            font-size: var(--font-sm); font-family: Arial, sans-serif;
            background: var(--color-bg); cursor: pointer;
            flex-shrink: 0; min-width: 110px;
            -webkit-appearance: auto; appearance: auto;
        }
        .spf-divider {
            width: 1px; background: var(--color-border);
            flex-shrink: 0; align-self: stretch;
        }
        .settings-phone-unified input[type=tel] {
            flex: 1; min-width: 0; border: none; outline: none;
            padding: var(--space-2) var(--space-3);
            font-size: var(--font-sm); font-family: Arial, sans-serif;
            background: var(--color-surface); color: var(--color-text);
        }
        @media (max-width: 400px) {
            .settings-phone-unified select { min-width: 90px; }
        }

        /* ── Rooms tab ── */
        .rm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(280px,32vw,420px)),1fr));gap:var(--card-gap);}
        .rm-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--card-radius);box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden;cursor:pointer;transition:box-shadow var(--ease);}
        .rm-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.14);}
        .rm-card-head{padding:var(--card-pad) var(--card-pad) var(--space-3);display:flex;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border);}
        .rm-code{font-size:var(--font-xs);font-weight:700;padding:2px 10px;border-radius:var(--btn-radius-pill);background:#e0f2f1;color:var(--color-brand);border:1px solid #b2dfdb;}
        .rm-status-active{font-size:var(--font-xs);font-weight:700;padding:2px 10px;border-radius:var(--btn-radius-pill);background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;margin-left:auto;}
        .rm-status-sched{font-size:var(--font-xs);font-weight:700;padding:2px 10px;border-radius:var(--btn-radius-pill);background:#f3f4f6;color:var(--color-muted);border:1px solid var(--color-border);margin-left:auto;}
        .rm-status-closed{font-size:var(--font-xs);font-weight:700;padding:2px 10px;border-radius:var(--btn-radius-pill);background:#eceff1;color:#607d8b;border:1px solid #cfd8dc;margin-left:auto;}
        .rm-filter-bar{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;}
        .rm-card-body{padding:var(--space-3) var(--card-pad);flex:1;display:flex;flex-direction:column;gap:7px;}
        .rm-row{display:flex;align-items:baseline;gap:var(--space-2);}
        .rm-lbl{font-size:var(--font-xs);color:var(--color-muted);min-width:80px;flex-shrink:0;}
        .rm-val{font-size:var(--font-sm);color:var(--color-text);}
        .rm-card-foot{padding:var(--space-2) var(--card-pad) var(--card-pad);border-top:1px solid var(--color-border);display:flex;gap:var(--space-2);}

        /* ── On Market tab ── */
        .om-filter-bar{display:flex;gap:var(--space-2);margin-bottom:var(--card-gap);flex-wrap:wrap;align-items:center;}
        .om-filter-btn{padding:5px 16px;border-radius:var(--btn-radius-pill);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--font-sm);cursor:pointer;font-weight:500;color:var(--color-muted);transition:all var(--ease);}
        .om-filter-btn.active{background:var(--color-brand);color:#fff;border-color:var(--color-brand);}
        .om-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(260px,28vw,360px)),1fr));gap:var(--card-gap);}
        .om-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--card-radius);box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow var(--ease);}
        .om-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.14);}
        .om-card-head{padding:var(--card-pad) var(--card-pad) var(--space-3);display:flex;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border);}
        .om-type-badge{font-size:var(--font-xs);font-weight:700;padding:2px 10px;border-radius:var(--btn-radius-pill);flex-shrink:0;}
        .om-type-obj{background:#e8f0fe;color:var(--color-verified);border:1px solid #c5d5f7;}
        .om-type-req{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;}
        .om-card-body{padding:var(--space-3) var(--card-pad);flex:1;display:flex;flex-direction:column;gap:7px;}
        .om-row{display:flex;align-items:baseline;gap:var(--space-2);}
        .om-lbl{font-size:var(--font-xs);color:var(--color-muted);min-width:88px;flex-shrink:0;}
        .om-val{font-size:var(--font-sm);color:var(--color-text);}
        .om-card-foot{padding:var(--space-2) var(--card-pad) var(--card-pad);border-top:1px solid var(--color-border);display:flex;gap:var(--space-2);flex-wrap:wrap;}
        .om-empty{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--card-radius);padding:var(--space-5);text-align:center;color:var(--color-muted);font-size:var(--font-sm);}

        /* ── Publish / Add On Market modal ── */
        .pub-modal-box{width:min(900px,96vw);max-height:96dvh;overflow-y:auto;}
        .pub-section{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);}
        .pub-section-title{font-size:var(--font-xs);font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3);}
        .pub-type-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);}
        .pub-type-btn{padding:7px 20px;border:2px solid var(--color-border);border-radius:var(--btn-radius-pill);background:var(--color-bg);font-size:var(--font-sm);font-weight:600;cursor:pointer;color:var(--color-muted);transition:all var(--ease);}
        .pub-type-btn.active{background:var(--color-brand);color:#fff;border-color:var(--color-brand);}
        .pub-proptype-row{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-1);}
        .pub-proptype-btn{padding:4px 14px;border:1px solid var(--color-border);border-radius:var(--btn-radius-pill);background:var(--color-surface);font-size:var(--font-sm);cursor:pointer;font-weight:500;color:var(--color-muted);transition:all var(--ease);}
        .pub-proptype-btn.active{background:var(--color-brand);color:#fff;border-color:var(--color-brand);}
        /* pub-object rich form */
        .po-input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:8px;font-size:var(--font-sm);font-family:Arial,sans-serif;color:var(--color-text);background:var(--color-surface);outline:none;transition:border-color var(--ease);width:100%;}
        .po-input:focus{border-color:var(--color-brand);}
        .po-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:8px;font-size:var(--font-sm);font-family:Arial,sans-serif;color:var(--color-text);background:var(--color-surface);outline:none;transition:border-color var(--ease);cursor:pointer;}
        .po-select:focus{border-color:var(--color-brand);}
        .po-photo-zone{width:100%;min-height:170px;border:2px dashed var(--color-border);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;cursor:pointer;transition:all .25s;position:relative;overflow:hidden;background:var(--color-bg);}
        .po-photo-zone:hover,.po-photo-zone.drag-over{border-color:var(--color-brand);background:rgba(0,77,64,.04);}
        .po-photo-zone.has-photo{border-style:solid;border-color:var(--color-brand);}
        .po-photo-zone .po-pz-icon{font-size:34px;color:var(--color-muted);transition:color .2s;pointer-events:none;}
        .po-photo-zone:hover .po-pz-icon{color:var(--color-brand);}
        .po-photo-zone .po-pz-text{font-size:var(--font-sm);color:var(--color-muted);pointer-events:none;}
        .po-photo-zone .po-pz-sub{font-size:var(--font-xs);color:var(--color-muted);opacity:.7;pointer-events:none;}
        .po-photo-prev{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;border-radius:10px;pointer-events:none;}
        .po-photo-zone.has-photo .po-photo-prev{display:block;}
        .po-photo-zone.has-photo .po-pz-icon,.po-photo-zone.has-photo .po-pz-text,.po-photo-zone.has-photo .po-pz-sub{display:none;}
        .po-thumb-strip{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
        .po-thumb-wrap{position:relative;width:54px;height:54px;flex-shrink:0;border-radius:7px;cursor:pointer;}
        .po-thumb-wrap img{width:100%;height:100%;object-fit:cover;border-radius:7px;border:1.5px solid var(--color-border);transition:border-color .2s;}
        .po-thumb-wrap:hover img{border-color:var(--color-brand);}
        .po-thumb-wrap.is-main img{border-color:var(--color-brand);box-shadow:0 0 0 2px rgba(0,77,64,.2);}
        .po-thumb-wrap.dragging{opacity:.4;transform:scale(.92);}
        .po-thumb-wrap.drag-over-t img{border-color:var(--color-brand);border-style:dashed;}
        .po-thumb-main-badge{position:absolute;bottom:2px;left:2px;right:2px;text-align:center;background:rgba(0,77,64,.8);color:#fff;font-size:8px;border-radius:4px;padding:1px 0;pointer-events:none;}
        .po-type-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:9px;}
        @media(max-width:580px){.po-type-grid{grid-template-columns:1fr 1fr;}}
        .po-type-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:11px;padding:14px 10px;cursor:pointer;transition:all .2s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;user-select:none;}
        .po-type-card:hover{border-color:rgba(0,77,64,.35);background:var(--color-bg);}
        .po-type-card.selected{border-color:var(--color-brand);background:rgba(0,77,64,.05);box-shadow:0 0 0 1px rgba(0,77,64,.1);}
        .po-type-card .material-symbols-outlined{font-size:26px;color:var(--color-muted);transition:color .2s;}
        .po-type-card.selected .material-symbols-outlined{color:var(--color-brand);}
        .po-tc-name{font-size:var(--font-sm);font-weight:600;color:var(--color-muted);transition:color .2s;}
        .po-type-card.selected .po-tc-name{color:var(--color-brand);}
        .po-field-row{display:flex;flex-direction:column;gap:5px;margin-bottom:var(--space-2);}
        .po-field-label{font-size:var(--font-xs);color:var(--color-muted);letter-spacing:.05em;display:flex;align-items:center;gap:3px;}
        .po-field-label .material-symbols-outlined{font-size:13px;}
        .po-req{color:var(--color-red);margin-left:1px;}
        .po-chars-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
        .po-rp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;}
        .po-rp-btn{padding:8px 3px;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:7px;color:var(--color-muted);font-family:Arial,sans-serif;font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all .2s;text-align:center;user-select:none;}
        .po-rp-btn:hover{border-color:rgba(0,77,64,.35);background:var(--color-bg);}
        .po-rp-btn.active{border-color:var(--color-brand);background:rgba(0,77,64,.06);color:var(--color-brand);}
        .po-fp-wrap{width:100%;background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;min-height:130px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2);}
        .po-fp-inner{width:100%;padding:10px;transition:opacity .18s;}
        .po-fp-inner svg{width:100%;height:auto;display:block;}
        .po-fp-inner.fade{opacity:0;}
        .po-fp-placeholder{font-size:var(--font-xs);color:var(--color-muted);text-align:center;padding:30px 14px;}
        .po-era-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;}
        @media(max-width:480px){.po-era-grid{grid-template-columns:1fr 1fr;}}
        .po-era-btn{padding:8px 8px 7px;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:7px;cursor:pointer;transition:all .2s;text-align:left;font-family:Arial,sans-serif;user-select:none;}
        .po-era-btn:hover{border-color:rgba(0,77,64,.3);background:var(--color-bg);}
        .po-era-btn.active{border-color:var(--color-brand);background:rgba(0,77,64,.06);}
        .po-era-range{font-size:var(--font-xs);font-weight:700;color:var(--color-muted);display:block;}
        .po-era-btn.active .po-era-range{color:var(--color-brand);}
        .po-era-name{font-size:9px;color:var(--color-muted);opacity:.7;display:block;margin-top:2px;line-height:1.2;}
        .po-era-year-row{display:flex;align-items:center;gap:7px;margin-top:5px;}
        .po-era-year-lbl{font-size:var(--font-xs);color:var(--color-muted);white-space:nowrap;}
        .po-area-wrap{display:flex;align-items:center;gap:6px;}
        .po-area-wrap .po-input{flex:1;min-width:0;width:auto;}
        .po-area-unit-btn{background:var(--color-bg);border:1px solid var(--color-border);border-radius:7px;padding:7px 11px;font-size:var(--font-sm);color:var(--color-brand);cursor:pointer;transition:all .2s;font-family:Arial,sans-serif;white-space:nowrap;flex-shrink:0;font-weight:600;}
        .po-area-unit-btn:hover{border-color:var(--color-brand);}
        .po-unit-dropdown{position:fixed;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;z-index:2100;min-width:130px;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.14);}
        .po-unit-opt{padding:8px 13px;font-size:var(--font-sm);color:var(--color-text);cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:space-between;gap:10px;}
        .po-unit-opt:hover{background:var(--color-bg);}
        .po-unit-opt.active{color:var(--color-brand);font-weight:600;}
        .po-unit-opt.active::after{content:'✓';font-size:10px;}
        .po-bigha-panel{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:9px 11px;display:flex;flex-direction:column;gap:7px;margin-top:4px;}
        .po-bigha-title{font-size:var(--font-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;}
        .po-bigha-variants{display:flex;flex-wrap:wrap;gap:5px;}
        .po-bigha-pill{padding:3px 9px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:100px;font-size:var(--font-xs);color:var(--color-muted);cursor:pointer;transition:all .2s;white-space:nowrap;}
        .po-bigha-pill:hover{border-color:rgba(0,77,64,.3);}
        .po-bigha-pill.active{border-color:var(--color-brand);background:rgba(0,77,64,.06);color:var(--color-brand);}
        .po-bigha-ref{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-xs);color:var(--color-muted);}
        .po-bigha-ref-val{color:var(--color-text);font-weight:600;}
        .po-loc-field{position:relative;}
        .po-loc-suggest{position:absolute;top:calc(100% + 3px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;z-index:2050;overflow:hidden;display:none;box-shadow:0 6px 18px rgba(0,0,0,.1);}
        .po-loc-suggest.open{display:block;}
        .po-ls-item{padding:8px 12px;cursor:pointer;font-size:var(--font-sm);color:var(--color-text);display:flex;align-items:center;gap:6px;transition:background .15s;}
        .po-ls-item:hover{background:var(--color-bg);}
        .po-ls-item .material-symbols-outlined{font-size:13px;color:var(--color-muted);}
        .po-comm-grid{display:flex;gap:6px;flex-wrap:wrap;}
        .po-comm-chip{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:8px;padding:6px 12px;font-size:var(--font-sm);color:var(--color-muted);cursor:pointer;transition:all .2s;user-select:none;display:flex;align-items:center;gap:5px;}
        .po-comm-chip:hover{border-color:rgba(0,77,64,.35);background:var(--color-bg);}
        .po-comm-chip.selected{border-color:var(--color-brand);background:rgba(0,77,64,.06);color:var(--color-brand);}
        .po-comm-chip .material-symbols-outlined{font-size:14px;}
        .po-check-row{display:flex;align-items:center;gap:8px;cursor:pointer;padding:9px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;transition:all .2s;user-select:none;align-self:flex-start;}
        .po-check-row:hover{background:var(--color-bg);border-color:rgba(0,77,64,.25);}
        .po-check-row.checked{border-color:var(--color-brand);background:rgba(0,77,64,.04);}
        .po-check-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--color-brand);cursor:pointer;flex-shrink:0;}
        .po-cr-label{font-size:var(--font-sm);color:var(--color-muted);transition:color .2s;}
        .po-check-row.checked .po-cr-label{color:var(--color-brand);}
        .po-parking-slots{display:flex;gap:6px;margin-top:5px;}
        .po-slot-btn{flex:1;padding:8px 4px;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:7px;color:var(--color-muted);font-family:Arial,sans-serif;font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all .2s;}
        .po-slot-btn:hover{border-color:rgba(0,77,64,.3);}
        .po-slot-btn.active{border-color:var(--color-brand);background:rgba(0,77,64,.06);color:var(--color-brand);}
        .po-price-wrap{display:flex;gap:8px;align-items:center;}
        .po-price-cur{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:9px 11px;color:var(--color-text);font-family:Arial,sans-serif;font-size:var(--font-base);outline:none;cursor:pointer;flex-shrink:0;transition:border-color var(--ease);}
        .po-price-cur:focus{border-color:var(--color-brand);}
        .po-price-main{font-size:clamp(20px,3.5vw,34px)!important;font-weight:700;padding:8px 13px!important;flex:1;letter-spacing:-.02em;}
        .po-conv-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:var(--space-2);}
        @media(max-width:480px){.po-conv-grid{grid-template-columns:1fr;}}
        .po-conv-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:3px;}
        .po-conv-card.hi{border-color:rgba(0,77,64,.3);background:rgba(0,77,64,.04);}
        .po-conv-label{font-size:var(--font-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;}
        .po-conv-value{font-size:var(--font-base);font-weight:600;color:var(--color-text);}
        .po-conv-card.hi .po-conv-value{color:var(--color-brand);}
        .po-rate-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:var(--space-2);}
        .po-rate-lbl{font-size:var(--font-xs);color:var(--color-muted);}
        .po-rate-mini{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:4px 8px;color:var(--color-text);font-family:Arial,sans-serif;font-size:var(--font-xs);width:78px;outline:none;}
        .po-rate-mini:focus{border-color:var(--color-brand);}
        .po-hint-strip{display:flex;gap:5px;flex-wrap:wrap;}
        .po-hint-chip{background:var(--color-bg);border:1px solid var(--color-border);border-radius:100px;padding:4px 11px;font-size:var(--font-xs);color:var(--color-muted);cursor:pointer;transition:all .2s;user-select:none;}
        .po-hint-chip:hover{background:rgba(0,77,64,.06);border-color:rgba(0,77,64,.3);color:var(--color-brand);}
        .po-char-count{font-size:var(--font-xs);color:var(--color-muted);text-align:right;margin-top:-8px;}
        .po-char-count.near{color:var(--color-red);}
        .po-feat-strip{display:flex;gap:5px;flex-wrap:wrap;}
        .po-feat-chip{cursor:pointer;padding:4px 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:100px;font-size:var(--font-xs);color:var(--color-muted);transition:all .2s;user-select:none;display:inline-flex;align-items:center;}
        .po-feat-chip:hover,.po-feat-chip.active{background:rgba(0,77,64,.06);border-color:rgba(0,77,64,.3);color:var(--color-brand);}
        .po-feat-more-btn{padding:4px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:100px;font-size:var(--font-xs);color:var(--color-muted);cursor:pointer;transition:all .2s;font-family:Arial,sans-serif;display:inline-flex;align-items:center;gap:3px;}
        .po-feat-more-btn:hover{border-color:rgba(0,77,64,.3);color:var(--color-brand);}
        .po-feat-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(5px);z-index:2200;display:flex;align-items:center;justify-content:center;padding:20px;}
        .po-feat-modal-overlay.hidden{display:none!important;}
        .po-feat-modal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;width:min(560px,96vw);max-height:76dvh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 14px 44px rgba(0,0,0,.16);}
        .po-feat-modal-header{padding:13px 16px 10px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);flex-shrink:0;}
        .po-feat-modal-title{font-size:var(--font-base);font-weight:700;}
        .po-feat-modal-x{background:none;border:none;color:var(--color-muted);cursor:pointer;padding:3px;display:flex;align-items:center;transition:color .2s;}
        .po-feat-modal-x:hover{color:var(--color-text);}
        .po-feat-modal-body{overflow-y:auto;padding:13px 16px;display:flex;flex-wrap:wrap;gap:5px;flex:1;}
        .po-feat-modal-foot{padding:9px 16px 13px;border-top:1px solid var(--color-border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;}
        .po-feat-count{font-size:var(--font-xs);color:var(--color-muted);}
        .po-feat-count span{color:var(--color-brand);font-weight:700;}
        /* ── PUB-REQUEST pr- styles ── */
        .pr-field-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
        .pr-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
        @media(max-width:520px){.pr-2col{grid-template-columns:1fr;}}
        .pr-priority-row{display:flex;gap:8px;}
        .pr-pri-btn{flex:1;padding:8px 6px;background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:8px;font-family:Arial,sans-serif;font-size:var(--font-xs);font-weight:600;color:var(--color-muted);cursor:pointer;transition:all .2s;text-align:center;letter-spacing:.04em;text-transform:uppercase;}
        .pr-pri-btn:hover{background:rgba(0,77,64,.05);}
        .pr-pri-btn[data-p=standard].active{border-color:#2e7d32;color:#2e7d32;background:rgba(46,125,50,.08);}
        .pr-pri-btn[data-p=priority].active{border-color:#f9a825;color:#f9a825;background:rgba(249,168,37,.08);}
        .pr-pri-btn[data-p=vip].active{border-color:var(--color-brand);color:var(--color-brand);background:rgba(0,77,64,.08);}
        .pr-deal-row{display:flex;gap:8px;margin-bottom:14px;}
        .pr-deal-btn{flex:1;padding:9px 10px;background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:8px;font-family:Arial,sans-serif;font-size:var(--font-sm);font-weight:500;color:var(--color-muted);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px;}
        .pr-deal-btn.active{border-color:var(--color-brand);background:rgba(0,77,64,.08);color:var(--color-brand);}
        .pr-deal-btn.soon{opacity:.45;cursor:not-allowed;position:relative;}
        .pr-mkt-row{display:flex;gap:8px;flex-wrap:wrap;}
        .pr-mkt-chip{padding:7px 13px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;font-size:var(--font-xs);color:var(--color-muted);cursor:pointer;transition:all .2s;}
        .pr-mkt-chip:hover{background:rgba(0,77,64,.05);}
        .pr-mkt-chip.active{border-color:var(--color-brand);background:rgba(0,77,64,.08);color:var(--color-brand);}
        .pr-zone-wrap{display:flex;flex-direction:column;gap:8px;}
        .pr-zone-search{position:relative;}
        .pr-zone-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--color-muted);font-size:17px;pointer-events:none;}
        .pr-zone-suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;z-index:2150;overflow:hidden;display:none;box-shadow:0 6px 20px rgba(0,0,0,.12);}
        .pr-zone-suggest.open{display:block;}
        .pr-zs-item{padding:9px 13px;font-size:var(--font-sm);color:var(--color-muted);cursor:pointer;display:flex;align-items:center;gap:7px;transition:background .15s;}
        .pr-zs-item:hover{background:rgba(0,77,64,.05);color:var(--color-text);}
        .pr-zone-hint{font-size:var(--font-xs);color:var(--color-muted);}
        .pr-zone-list{display:flex;gap:6px;flex-wrap:wrap;min-height:4px;}
        .pr-zone-pill{display:inline-flex;align-items:center;gap:5px;background:rgba(0,77,64,.07);border:1px solid rgba(0,77,64,.2);border-radius:100px;padding:4px 10px 4px 9px;font-size:var(--font-xs);color:var(--color-brand);}
        .pr-zone-pill.primary{background:rgba(0,77,64,.13);border-color:rgba(0,77,64,.35);}
        .pr-zp-del{background:none;border:none;color:rgba(0,77,64,.5);cursor:pointer;padding:0;display:flex;align-items:center;font-size:14px;transition:color .15s;}
        .pr-zp-del:hover{color:var(--color-brand);}
        /* dual-range */
        .pr-dr-block{display:flex;flex-direction:column;gap:2px;margin-bottom:16px;}
        .pr-dr-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px;}
        .pr-dr-title{font-size:var(--font-xs);color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:4px;}
        .pr-dr-vals{display:flex;align-items:center;gap:5px;}
        .pr-dr-val{font-size:var(--font-sm);font-weight:700;color:var(--color-brand);}
        .pr-dr-sep{font-size:var(--font-xs);color:var(--color-muted);}
        .pr-dr-wrap{position:relative;padding:10px 0 4px;}
        .pr-dr-track{position:relative;height:4px;background:#e0e0e0;border-radius:2px;margin:10px 0;}
        .pr-dr-fill{position:absolute;height:100%;background:var(--color-brand);border-radius:2px;}
        .pr-dr-thumb{position:absolute;width:100%;height:4px;top:10px;background:transparent;-webkit-appearance:none;appearance:none;outline:none;pointer-events:none;}
        .pr-dr-thumb::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-brand);border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.2);cursor:pointer;pointer-events:all;transition:transform .15s;}
        .pr-dr-thumb::-webkit-slider-thumb:hover{transform:scale(1.2);}
        .pr-dr-thumb::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-brand);border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.2);cursor:pointer;pointer-events:all;}
        .pr-dr-conv{font-size:var(--font-xs);color:var(--color-muted);text-align:center;margin-top:3px;}
        .pr-manual-row{display:flex;align-items:center;gap:7px;margin-top:6px;}
        .pr-manual-input{flex:1;min-width:0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:7px;padding:6px 10px;color:var(--color-text);font-family:Arial,sans-serif;font-size:var(--font-xs);outline:none;transition:border-color .2s;text-align:center;}
        .pr-manual-input:focus{border-color:var(--color-brand);}
        .pr-manual-sep{font-size:var(--font-xs);color:var(--color-muted);flex-shrink:0;}
        .pr-cond-row{display:flex;gap:7px;flex-wrap:wrap;}
        .pr-cond-chip{padding:7px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;font-size:var(--font-xs);color:var(--color-muted);cursor:pointer;transition:all .2s;}
        .pr-cond-chip:hover{background:rgba(0,77,64,.05);}
        .pr-cond-chip.active{border-color:var(--color-brand);background:rgba(0,77,64,.08);color:var(--color-brand);}
        .pr-mcomp{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--font-xs);color:var(--color-muted);margin-bottom:12px;}
        .pr-mcomp .material-symbols-outlined{font-size:17px;flex-shrink:0;}
        .pr-mcomp.above{border-color:rgba(46,125,50,.3);background:rgba(46,125,50,.06);color:#2e7d32;}
        .pr-mcomp.below{border-color:rgba(25,118,210,.3);background:rgba(25,118,210,.06);color:#1976d2;}
        .pr-custom-bud-row{display:flex;align-items:center;gap:8px;}
        .pr-urg-row{display:flex;gap:8px;}
        .pr-urg-btn{flex:1;padding:11px 8px;background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:8px;font-family:Arial,sans-serif;font-size:var(--font-xs);font-weight:600;color:var(--color-muted);cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;}
        .pr-urg-dot{width:9px;height:9px;border-radius:50%;background:var(--color-muted);transition:all .3s;}
        .pr-urg-btn[data-u=standard].active{border-color:#2e7d32;color:#2e7d32;background:rgba(46,125,50,.07);}
        .pr-urg-btn[data-u=standard].active .pr-urg-dot{background:#2e7d32;}
        .pr-urg-btn[data-u=priority].active{border-color:#f9a825;color:#f9a825;background:rgba(249,168,37,.07);}
        .pr-urg-btn[data-u=priority].active .pr-urg-dot{background:#f9a825;}
        .pr-urg-btn[data-u=urgent].active{border-color:#c62828;color:#c62828;background:rgba(198,40,40,.07);}
        .pr-urg-btn[data-u=urgent].active .pr-urg-dot{background:#c62828;animation:prUrgPulse .8s ease-in-out infinite;}
        @keyframes prUrgPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.5);}}
        .pr-dl-row{display:flex;gap:7px;flex-wrap:wrap;}
        .pr-dl-chip{padding:7px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;font-size:var(--font-sm);color:var(--color-muted);cursor:pointer;transition:all .2s;}
        .pr-dl-chip:hover{background:rgba(0,77,64,.05);}
        .pr-dl-chip.active{border-color:var(--color-brand);background:rgba(0,77,64,.08);color:var(--color-brand);}

        /* ── Settings two-column ── */
        .settings-layout{display:grid;grid-template-columns:340px 1fr;gap:calc(var(--card-gap)*2);align-items:start;}
        .settings-right-ph{background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--card-radius);padding:var(--card-pad);min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);text-align:center;}
        .settings-right-ph .material-symbols-outlined{font-size:36px;color:var(--color-muted);opacity:.3;font-variation-settings:'FILL' 1;}
        @media(max-width:768px){.settings-layout{grid-template-columns:1fr;}}

        /* ── Page Builder (st-) ── */
        .st-builder-wrap{display:flex;flex-direction:column;gap:14px;}
        .st-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--card-radius);padding:18px 20px;}
        .st-block-title{font-size:var(--font-sm);font-weight:700;color:var(--color-text);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
        .st-block-title .material-symbols-outlined{font-size:18px;color:var(--color-brand);font-variation-settings:'FILL' 1;}
        .st-block-title-sub{font-size:var(--font-xs);color:var(--color-muted);font-weight:400;margin-left:auto;}
        .st-sec-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--color-border);user-select:none;transition:background .12s;}
        .st-sec-row:last-child{border-bottom:none;}
        .st-sec-row.dragging{opacity:.35;}
        .st-sec-row.drag-over{background:rgba(0,77,64,.06);border-radius:6px;margin:0 -6px;padding:9px 6px;}
        .st-drag{cursor:grab;color:var(--color-muted);flex-shrink:0;display:flex;align-items:center;}
        .st-drag:active{cursor:grabbing;}
        .st-drag .material-symbols-outlined{font-size:20px;}
        .st-sec-icon{width:30px;height:30px;border-radius:7px;background:rgba(0,77,64,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
        .st-sec-icon .material-symbols-outlined{font-size:15px;color:var(--color-brand);font-variation-settings:'FILL' 1;}
        .st-sec-info{flex:1;min-width:0;}
        .st-sec-name{font-size:var(--font-sm);font-weight:600;color:var(--color-text);line-height:1.2;}
        .st-sec-desc{font-size:10px;color:var(--color-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .st-toggle{position:relative;width:34px;height:20px;flex-shrink:0;cursor:pointer;}
        .st-toggle input{opacity:0;width:0;height:0;position:absolute;}
        .st-toggle-slider{position:absolute;inset:0;background:#d0d0d0;border-radius:20px;transition:background .2s;}
        .st-toggle-slider::before{content:'';position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.25);}
        .st-toggle input:checked ~ .st-toggle-slider{background:var(--color-brand);}
        .st-toggle input:checked ~ .st-toggle-slider::before{transform:translateX(14px);}
        .st-lib-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--color-border);opacity:.72;}
        .st-lib-row:last-child{border-bottom:none;}
        .st-lib-icon{width:30px;height:30px;border-radius:7px;background:#f3f3f3;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
        .st-lib-icon .material-symbols-outlined{font-size:15px;color:#bbb;font-variation-settings:'FILL' 1;}
        .st-new-badge{font-size:9px;font-weight:800;letter-spacing:.05em;padding:2px 7px;border-radius:20px;background:linear-gradient(135deg,#00b894,#00cec9);color:#fff;flex-shrink:0;}
        .st-lib-lock{color:#ccc;flex-shrink:0;display:flex;align-items:center;}
        .st-lib-lock .material-symbols-outlined{font-size:16px;}
        .st-palette-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
        .st-palette-card{border:2px solid var(--color-border);border-radius:10px;padding:9px 8px 7px;cursor:pointer;transition:border-color .15s,box-shadow .15s;background:var(--color-bg);}
        .st-palette-card.active{border-color:var(--color-brand);box-shadow:0 0 0 3px rgba(0,77,64,.12);}
        .st-palette-card:hover:not(.active){border-color:#bbb;}
        .st-palette-swatches{display:flex;gap:3px;margin-bottom:5px;}
        .st-swatch{height:16px;border-radius:3px;flex:1;}
        .st-palette-name{font-size:9.5px;font-weight:600;color:var(--color-muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .st-theme-row{display:flex;gap:8px;margin-top:12px;}
        .st-theme-btn{flex:1;padding:8px 6px;border-radius:8px;border:2px solid var(--color-border);background:var(--color-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;font-size:var(--font-xs);font-weight:600;color:var(--color-muted);transition:all .15s;font-family:Arial;}
        .st-theme-btn.active{border-color:var(--color-brand);background:rgba(0,77,64,.07);color:var(--color-brand);}
        .st-theme-btn .material-symbols-outlined{font-size:16px;font-variation-settings:'FILL' 1;}
        .st-typo-grid{display:flex;flex-direction:column;gap:7px;}
        .st-typo-card{border:2px solid var(--color-border);border-radius:10px;padding:11px 14px;cursor:pointer;transition:border-color .15s,box-shadow .15s;background:var(--color-bg);display:flex;align-items:center;gap:14px;}
        .st-typo-card.active{border-color:var(--color-brand);box-shadow:0 0 0 3px rgba(0,77,64,.12);}
        .st-typo-card:hover:not(.active){border-color:#bbb;}
        .st-typo-preview{width:44px;text-align:center;flex-shrink:0;}
        .st-typo-name{font-size:var(--font-sm);font-weight:700;color:var(--color-text);line-height:1.2;}
        .st-typo-sub{font-size:10px;color:var(--color-muted);margin-top:2px;}
        .st-map-strip{display:flex;flex-direction:column;gap:3px;}
        .st-map-row{border-radius:5px;display:flex;align-items:center;padding:0 10px;font-size:10px;font-weight:600;color:#fff;background:var(--color-brand);min-height:18px;transition:opacity .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .st-map-row.disabled{background:#d5d5d5;color:#999;}
        .st-map-idx{width:14px;text-align:center;font-size:9px;opacity:.5;flex-shrink:0;margin-right:5px;}
        .st-save-bar{display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--card-radius);}
        .st-save-status{font-size:var(--font-xs);color:#00897b;font-weight:600;display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .4s;pointer-events:none;}
        .st-save-status.show{opacity:1;}
        .st-save-status .material-symbols-outlined{font-size:14px;font-variation-settings:'FILL' 1;}

        /* ── Custom Select (csel-) — cross-platform, no native UI ── */
        .csel{position:relative;display:block;width:100%;}
        .csel-trigger{
            width:100%;display:flex;align-items:center;gap:8px;
            padding:9px 12px;min-height:38px;box-sizing:border-box;
            border:1px solid var(--color-border);border-radius:8px;
            background:var(--color-surface);color:var(--color-text);
            font-size:var(--font-sm);font-family:Arial,Helvetica,sans-serif;font-weight:400;
            cursor:pointer;text-align:left;
            transition:border-color .15s,box-shadow .15s;
            outline:none;white-space:nowrap;
            -webkit-appearance:none;appearance:none;
            -webkit-tap-highlight-color:transparent;
            touch-action:manipulation;
        }
        .csel-trigger:hover{border-color:rgba(0,77,64,.45);}
        .csel-trigger.csel-open{border-color:var(--color-brand);box-shadow:0 0 0 3px rgba(0,77,64,.09);}
        .csel-trigger[aria-disabled="true"]{opacity:.42;cursor:not-allowed;pointer-events:none;}
        .csel-val{flex:1;overflow:hidden;text-overflow:ellipsis;min-width:0;}
        .csel-arrow{
            font-family:'Material Symbols Outlined'!important;font-size:18px!important;
            font-style:normal;font-weight:300!important;
            font-variation-settings:'FILL' 0,'wght' 300,'GRAD' 0,'opsz' 24;
            color:var(--color-muted);flex-shrink:0;
            transition:transform .2s ease;user-select:none;line-height:1;
        }
        .csel-trigger.csel-open .csel-arrow{transform:rotate(180deg);}
        /* Floating dropdown — appended to body, fixed position, no OS chrome */
        .csel-drop{
            position:fixed;z-index:9999;
            background:var(--color-surface,#fff);
            border:1.5px solid var(--color-brand,#004d40);
            border-radius:8px;
            max-height:260px;overflow-y:auto;overflow-x:hidden;
            box-shadow:0 8px 32px rgba(0,0,0,.15),0 2px 8px rgba(0,0,0,.07);
            animation:cselIn .14s cubic-bezier(.16,1,.3,1) both;
            scrollbar-width:thin;
            scrollbar-color:var(--color-border,#e0e0e0) transparent;
        }
        @keyframes cselIn{from{opacity:0;transform:translateY(-5px);}to{opacity:1;transform:translateY(0);}}
        .csel-drop::-webkit-scrollbar{width:4px;}
        .csel-drop::-webkit-scrollbar-track{background:transparent;}
        .csel-drop::-webkit-scrollbar-thumb{background:var(--color-border,#e0e0e0);border-radius:2px;}
        .csel-opt{
            display:flex;align-items:center;
            padding:9px 14px;
            font-size:var(--font-sm,13px);font-family:Arial,Helvetica,sans-serif;
            color:var(--color-text,#333);cursor:pointer;
            transition:background .1s;white-space:nowrap;
            -webkit-tap-highlight-color:transparent;
            user-select:none;touch-action:manipulation;
        }
        .csel-opt:hover{background:rgba(0,77,64,.06);}
        .csel-opt.csel-sel{color:var(--color-brand,#004d40);font-weight:600;background:rgba(0,77,64,.03);}
        .csel-opt.csel-sel::after{
            content:'check';font-family:'Material Symbols Outlined';
            font-size:13px;margin-left:auto;padding-left:10px;
            color:var(--color-brand,#004d40);
            font-variation-settings:'FILL' 1;
        }
        /* Compact: currency picker inside price row */
        .po-price-wrap .csel{width:auto;flex-shrink:0;}
        .po-price-wrap .csel-trigger{padding:9px 11px;min-width:78px;min-height:unset;font-size:var(--font-base);}
        .po-price-wrap .csel-arrow{font-size:15px!important;}
        /* Compact: certain-browse filter row */
        .certain-filters .csel{width:auto;flex-shrink:0;}
        .certain-filters .csel-trigger{padding:7px 10px;min-height:34px;font-size:var(--font-sm);}
        .certain-filters .csel-arrow{font-size:16px!important;}
        /* Compact: po-field-row (parking select) */
        .po-field-row .csel-trigger{padding:var(--space-2) var(--space-3);font-size:var(--font-sm);min-height:unset;}

        /* ── Autocomplete Dropdown (acl-) — replaces <datalist> ── */
        .acl-drop{
            position:fixed;z-index:9999;
            background:var(--color-surface,#fff);
            border:1.5px solid var(--color-brand,#004d40);
            border-radius:8px;
            max-height:220px;overflow-y:auto;overflow-x:hidden;
            box-shadow:0 8px 28px rgba(0,0,0,.13),0 2px 6px rgba(0,0,0,.06);
            animation:aclIn .13s cubic-bezier(.16,1,.3,1) both;
            scrollbar-width:thin;
            scrollbar-color:var(--color-border,#e0e0e0) transparent;
        }
        @keyframes aclIn{from{opacity:0;transform:translateY(-5px);}to{opacity:1;transform:translateY(0);}}
        .acl-drop::-webkit-scrollbar{width:4px;}
        .acl-drop::-webkit-scrollbar-track{background:transparent;}
        .acl-drop::-webkit-scrollbar-thumb{background:var(--color-border,#e0e0e0);border-radius:2px;}
        .acl-opt{
            padding:9px 14px;
            font-size:var(--font-sm,13px);font-family:Arial,Helvetica,sans-serif;
            color:var(--color-text,#333);cursor:pointer;
            transition:background .1s;white-space:nowrap;
            overflow:hidden;text-overflow:ellipsis;
            -webkit-tap-highlight-color:transparent;
            user-select:none;touch-action:manipulation;
        }
        .acl-opt:hover,.acl-opt.acl-hi{background:rgba(0,77,64,.07);}
        .acl-opt strong{color:var(--color-brand,#004d40);font-weight:700;}

        /* ── MANAGER TAB ─────────────────────────────── */
        #tab-manager{padding:0;overflow:hidden;}
        #tab-manager.active{display:flex;}
        .mgr-layout{display:flex;flex-direction:row;width:100%;height:100%;overflow:hidden;}
        .mgr-left{
            width:340px;min-width:260px;flex-shrink:0;overflow-y:auto;
            padding:18px 14px;border-right:1px solid var(--color-border);
            background:var(--color-bg);display:flex;flex-direction:column;gap:14px;
        }
        .mgr-right{
            flex:1;background:#14141f;display:flex;flex-direction:column;
            align-items:center;justify-content:flex-start;
            padding:18px 14px;overflow:hidden;position:relative;
        }
        .mgr-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:14px;}
        .mgr-block-title{font-size:11px;font-weight:700;color:var(--color-muted);display:flex;align-items:center;gap:7px;margin-bottom:11px;text-transform:uppercase;letter-spacing:.06em;}
        .mgr-block-title .material-symbols-outlined{font-size:16px;color:var(--color-brand);}
        /* Section rows */
        .mgr-sec-list{display:flex;flex-direction:column;gap:5px;}
        .mgr-sec-row{display:flex;align-items:center;gap:8px;border-radius:9px;border:1px solid var(--color-border);background:var(--color-surface);overflow:hidden;cursor:grab;user-select:none;transition:box-shadow .15s,opacity .15s;}
        .mgr-sec-row:active{cursor:grabbing;}
        .mgr-sec-row.mgr-disabled{opacity:.4;}
        .mgr-sec-row.mgr-dragging{opacity:.3;box-shadow:none;}
        .mgr-sec-row.mgr-dragover{box-shadow:0 0 0 2px var(--color-brand);}
        .mgr-sec-accent{width:4px;flex-shrink:0;align-self:stretch;}
        .mgr-sec-icon{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:7px;margin:0 2px;}
        .mgr-sec-icon .material-symbols-outlined{font-size:15px;color:#fff;}
        .mgr-sec-info{flex:1;min-width:0;padding:7px 2px;}
        .mgr-sec-name{font-size:12px;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .mgr-sec-desc{font-size:10px;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .mgr-sec-handle{width:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--color-muted);}
        .mgr-sec-handle .material-symbols-outlined{font-size:15px;}
        .mgr-sec-toggle{flex-shrink:0;margin-right:9px;}
        .mgr-toggle{position:relative;display:inline-block;width:34px;height:20px;flex-shrink:0;}
        .mgr-toggle input{opacity:0;width:0;height:0;position:absolute;}
        .mgr-toggle-slider{position:absolute;cursor:pointer;inset:0;background:#ccc;border-radius:20px;transition:background .2s;}
        .mgr-toggle-slider::after{content:'';position:absolute;width:14px;height:14px;border-radius:50%;left:3px;top:3px;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2);}
        .mgr-toggle input:checked+.mgr-toggle-slider{background:var(--color-brand);}
        .mgr-toggle input:checked+.mgr-toggle-slider::after{transform:translateX(14px);}
        /* Theme grid 2x3 */
        .mgr-col-labels{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:4px;}
        .mgr-col-label{text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);}
        .mgr-theme-cols{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
        .mgr-theme-card{border-radius:10px;border:2px solid transparent;padding:9px;cursor:pointer;transition:border-color .15s,transform .1s;display:flex;flex-direction:column;gap:5px;}
        .mgr-theme-card:hover{transform:scale(1.03);}
        .mgr-theme-card.mgr-sel{border-color:var(--color-brand);box-shadow:0 0 0 3px rgba(0,77,64,.18);}
        .mgr-theme-card.dk{background:#1a1a2e;}
        .mgr-theme-card.lk{background:#f0f0eb;}
        .mgr-tc-swatch{display:flex;gap:3px;height:14px;}
        .mgr-tc-swatch span{border-radius:3px;}
        .mgr-tc-name{font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;}
        .mgr-theme-card.dk .mgr-tc-name{color:#ddd;}
        .mgr-theme-card.lk .mgr-tc-name{color:#333;}
        .mgr-tc-mode{font-size:9px;opacity:.65;}
        .mgr-theme-card.dk .mgr-tc-mode{color:#9090a8;}
        .mgr-theme-card.lk .mgr-tc-mode{color:#666;}
        /* Typography cards */
        .mgr-typo-grid{display:flex;flex-direction:column;gap:6px;}
        .mgr-typo-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;transition:border-color .15s;}
        .mgr-typo-card:hover{border-color:var(--color-brand);}
        .mgr-typo-card.mgr-sel{border-color:var(--color-brand);background:rgba(0,77,64,.05);}
        .mgr-typo-sample{font-size:22px;font-weight:700;color:var(--color-brand);line-height:1;width:34px;flex-shrink:0;text-align:center;}
        .mgr-typo-info{flex:1;}
        .mgr-typo-name{font-size:13px;font-weight:700;color:var(--color-text);}
        .mgr-typo-sub{font-size:11px;color:var(--color-muted);}
        /* Save bar */
        .mgr-save-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:2px 0 4px;}
        .mgr-save-status{font-size:12px;color:var(--color-brand);display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .3s;}
        .mgr-save-status.mgr-show{opacity:1;}
        .mgr-save-status .material-symbols-outlined{font-size:15px;}
        /* Browser chrome */
        .mgr-browser{width:100%;border-radius:12px 12px 0 0;overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,.6);display:flex;flex-direction:column;flex:1;min-height:0;}
        .mgr-browser-bar{background:#2a2a3e;padding:9px 14px;display:flex;align-items:center;gap:10px;flex-shrink:0;border-bottom:1px solid #3a3a50;}
        .mgr-browser-dots{display:flex;gap:6px;flex-shrink:0;}
        .mgr-browser-dots span{width:11px;height:11px;border-radius:50%;display:block;}
        .dot-r{background:#ff5f57;}.dot-y{background:#ffbd2e;}.dot-g{background:#28ca42;}
        .mgr-browser-url{flex:1;background:#1a1a2e;border-radius:5px;padding:3px 10px;font-size:11px;color:#707088;font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .mgr-frame-outer{flex:1;overflow:hidden;background:#fff;position:relative;}
        #mgr-iframe{position:absolute;top:0;left:0;width:1280px;border:none;transform-origin:top left;}
        /* ── MANAGER EDITORS ───────────────────────── */
        /* Neutral beige theme cards */
        .mgr-theme-card{background:#f0ede6!important;}
        .mgr-theme-card.dk .mgr-tc-name,.mgr-theme-card.lk .mgr-tc-name{color:#333!important;}
        .mgr-tc-mode{display:none;}
        /* Mode toggle row */
        .mgr-theme-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;}
        .mgr-mode-btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 8px;border-radius:8px;border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;font-size:12px;font-weight:600;color:var(--color-text);transition:border-color .15s,background .15s;line-height:1;}
        .mgr-mode-btn:hover{border-color:var(--color-brand);}
        .mgr-mode-btn.mgr-sel{border-color:var(--color-brand);background:rgba(0,77,64,.08);color:var(--color-brand);}
        .mgr-mode-btn .material-symbols-outlined{font-size:15px;}
        /* Edit button on section rows */
        .mgr-sec-edit{width:26px;height:26px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--color-muted);transition:background .15s,color .15s;flex-shrink:0;}
        .mgr-sec-edit:hover{background:rgba(0,77,64,.1);color:var(--color-brand);}
        .mgr-sec-edit .material-symbols-outlined{font-size:15px;}
        /* Editor panel overlay */
        .mgr-editor-panel{position:absolute;inset:0;background:var(--color-bg);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;z-index:10;}
        .mge-header{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;border-left:4px solid #ccc;}
        .mge-back{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:12px;color:var(--color-brand);font-weight:600;padding:4px 8px;border-radius:6px;transition:background .15s;white-space:nowrap;}
        .mge-back:hover{background:rgba(0,77,64,.08);}
        .mge-back .material-symbols-outlined{font-size:16px;}
        .mge-hicon{font-size:18px;flex-shrink:0;}
        .mge-title{font-size:14px;font-weight:700;color:var(--color-text);flex:1;}
        .mge-body{padding:14px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:11px;}
        .mge-label{font-size:11px;font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:-4px;}
        /* Manifesto toolbar */
        .mge-toolbar{display:flex;gap:3px;flex-wrap:wrap;padding:5px 7px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:7px 7px 0 0;border-bottom:none;}
        .mge-tb-btn{min-width:26px;height:26px;border:none;background:none;border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--color-text);transition:background .12s;line-height:1;padding:0 3px;}
        .mge-tb-btn:hover{background:rgba(0,0,0,.07);}
        .mge-tb-sep{width:1px;background:var(--color-border);align-self:stretch;margin:3px 1px;flex-shrink:0;}
        .mge-editor{min-height:80px;max-height:160px;overflow-y:auto;padding:10px 12px;border:1px solid var(--color-border);border-radius:0 0 7px 7px;font-size:14px;line-height:1.7;color:var(--color-text);background:var(--color-surface);outline:none;word-break:break-word;}
        .mge-char-count{font-size:11px;color:var(--color-muted);text-align:right;margin-top:1px;}
        .mge-char-count.mge-over{color:#c62828;font-weight:600;}
        /* Object/partner item selection */
        .mge-items{display:flex;flex-direction:column;gap:5px;}
        .mge-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:7px;border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;transition:border-color .13s;}
        .mge-item:hover{border-color:var(--color-brand);}
        .mge-item.mge-sel{border-color:var(--color-brand);background:rgba(0,77,64,.05);}
        .mge-item-chk{font-size:15px;color:var(--color-brand);width:17px;flex-shrink:0;line-height:1;text-align:center;}
        .mge-item-info{flex:1;min-width:0;}
        .mge-item-name{font-size:12px;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .mge-item-meta{font-size:10px;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .mge-limit{font-size:10px;color:var(--color-muted);font-style:italic;text-align:right;margin-top:1px;}
        .mge-sec-hdr{font-size:11px;font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:4px;}
        /* Journal items */
        .mge-jitem{border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);overflow:hidden;display:flex;align-items:stretch;}
        .mge-jbar{width:4px;flex-shrink:0;background:#3949ab;}
        .mge-jbody{display:flex;align-items:center;gap:8px;padding:8px 10px;flex:1;min-width:0;}
        .mge-jphoto{width:42px;height:42px;border-radius:6px;object-fit:cover;flex-shrink:0;}
        .mge-jphoto-ph{width:42px;height:42px;border-radius:6px;background:var(--color-border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--color-muted);}
        .mge-jinfo{flex:1;min-width:0;}
        .mge-jtitle2{font-size:12px;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .mge-jmeta2{font-size:10px;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .mge-jdel{background:none;border:none;cursor:pointer;padding:6px;color:var(--color-muted);flex-shrink:0;display:flex;align-items:center;}
        /* Journal photo editor */
        .mge-photo-editor{margin-top:10px;padding:10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);}
        .mge-photo-canvas{width:100%;height:120px;border-radius:6px;overflow:hidden;position:relative;background:#eee;border:1px solid var(--color-border);margin-bottom:10px;}
        .mge-photo-canvas img{position:absolute;width:100%;height:100%;object-fit:cover;transform-origin:center center;pointer-events:none;}
        .mge-photo-ctrl{display:flex;flex-direction:column;gap:6px;}
        .mge-photo-ctrl-row{display:flex;align-items:center;gap:8px;}
        .mge-photo-ctrl-row label{font-size:11px;font-weight:600;color:var(--color-sub);width:52px;flex-shrink:0;}
        .mge-photo-ctrl-row input[type=range]{flex:1;accent-color:var(--color-brand);}
        .mge-photo-ctrl-row span{font-size:11px;color:var(--color-muted);width:34px;text-align:right;flex-shrink:0;}
        .mge-jdel:hover{color:#c62828;}
        .mge-jdel .material-symbols-outlined{font-size:16px;}
        /* Field notes */
        .mge-note{border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);overflow:hidden;}
        .mge-note-hdr{display:flex;align-items:center;padding:7px 10px 3px;gap:6px;}
        .mge-note-date{font-size:10px;color:var(--color-muted);flex:1;}
        .mge-note-del{background:none;border:none;cursor:pointer;font-size:11px;color:var(--color-muted);padding:2px 4px;border-radius:4px;}
        .mge-note-del:hover{color:#c62828;}
        .mge-note-ta{display:block;width:100%;padding:3px 10px 8px;border:none;background:none;resize:none;font-size:12px;color:var(--color-text);font-family:inherit;outline:none;line-height:1.6;min-height:65px;box-sizing:border-box;}
        .mge-note-cc{font-size:10px;color:var(--color-muted);text-align:right;padding:0 10px 6px;display:block;}
        .mge-note-cc.mge-over{color:#c62828;}
        /* Add / form buttons */
        .mge-add-btn{display:flex;align-items:center;gap:6px;justify-content:center;padding:9px;border:2px dashed var(--color-border);border-radius:8px;cursor:pointer;font-size:12px;color:var(--color-muted);background:none;width:100%;transition:border-color .15s,color .15s;font-family:inherit;}
        .mge-add-btn:hover{border-color:var(--color-brand);color:var(--color-brand);}
        .mge-add-btn .material-symbols-outlined{font-size:15px;}
        .mge-form{border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);padding:12px;display:flex;flex-direction:column;gap:9px;}
        .mge-fg{display:flex;flex-direction:column;gap:4px;}
        .mge-fg label{font-size:11px;font-weight:600;color:var(--color-text);}
        .mge-fg input,.mge-fg select{padding:7px 9px;border:1px solid var(--color-border);border-radius:7px;font-size:12px;font-family:inherit;color:var(--color-text);background:var(--color-surface);outline:none;width:100%;box-sizing:border-box;}
        .mge-fg input:focus,.mge-fg select:focus{border-color:var(--color-brand);}
        .mge-form-btns{display:flex;gap:7px;flex-wrap:wrap;}
        .mge-noeditor{text-align:center;padding:28px 16px;color:var(--color-muted);}
        .mge-noeditor .material-symbols-outlined{font-size:38px;display:block;margin-bottom:10px;opacity:.22;}
        .mge-photo-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
        .mge-photo-prev{max-width:80px;max-height:56px;border-radius:5px;object-fit:cover;border:1px solid var(--color-border);}
        .mge-sel-list{display:flex;flex-direction:column;gap:5px;}
        .mge-sel-item{display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-surface);}
        .mge-sel-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
        .mge-sel-nm{flex:1;font-size:12px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .mge-sel-rm{width:20px;height:20px;border:none;background:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;color:var(--color-muted);flex-shrink:0;}
        .mge-sel-rm:hover{color:var(--color-red);}
        .mge-sel-rm .material-symbols-outlined{font-size:14px;}

        /* ═══════════════════════ EXAM — готовность к лицензионному экзамену ═══════════════════════ */
        /* Раздел между Manager и Analytics. Компоненты новые (кольцо, полоса дней,       */
        /* рейтинг, полосы тем), поэтому свой префикс .ex-; токены — общие с остальной    */
        /* страницей, чтобы тёмная тема легла тем же ролевым маппингом.                   */
        .ex-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--card-gap);}

        .ex-warn{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);
                 border:1px solid var(--color-orange);border-radius:var(--card-radius);
                 background:rgba(230,119,0,.06);color:var(--color-text);
                 font-size:var(--fs-sm);margin-bottom:var(--card-gap);}
        .ex-warn .material-symbols-outlined{font-size:var(--icon-nav);color:var(--color-orange);flex-shrink:0;}
        .ex-warn[hidden]{display:none;}

        .ex-top{display:grid;grid-template-columns:1fr 1fr;gap:var(--card-gap);margin-bottom:var(--card-gap);}
        @media (max-width:900px){ .ex-top{grid-template-columns:1fr;} }

        .ex-card{background:var(--color-surface);border-radius:var(--card-radius);box-shadow:var(--shadow-card);
                 padding:var(--card-pad);display:flex;align-items:center;gap:var(--space-4,var(--space-3));}
        .ex-card-streak{flex-direction:column;align-items:stretch;justify-content:center;gap:var(--sp-3);}
        .ex-card-title{font-size:var(--fs-sm);font-weight:700;color:var(--color-muted);
                       text-transform:uppercase;letter-spacing:.04em;}

        /* Кольцо готовности */
        .ex-ring-wrap{position:relative;width:clamp(104px,10vw,132px);height:clamp(104px,10vw,132px);flex-shrink:0;}
        .ex-ring{width:100%;height:100%;transform:rotate(-90deg);}
        .ex-ring circle{fill:none;stroke-width:9;}
        .ex-ring-bg{stroke:var(--color-border);}
        .ex-ring-fill{stroke:var(--color-brand);stroke-linecap:round;
                      stroke-dasharray:326.7;stroke-dashoffset:326.7;transition:stroke-dashoffset .9s ease;}
        .ex-ring-mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
        .ex-ring-val{font-size:clamp(20px,2.2vw,30px);font-weight:800;color:var(--color-text);line-height:1;}
        .ex-ring-lbl{font-size:var(--fs-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;}

        .ex-me{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-2);}
        .ex-me-sub{font-size:var(--fs-sm);color:var(--color-light);}
        .ex-kv{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-1) var(--sp-4);margin-top:var(--sp-1);}
        .ex-kv > div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);
                     border-bottom:1px dashed var(--color-border);padding-bottom:2px;}
        .ex-k{font-size:var(--fs-xs);color:var(--color-muted);white-space:nowrap;}
        .ex-v{font-size:var(--fs-sm);font-weight:700;color:var(--color-text);}
        .ex-v-warn{color:var(--color-orange);}

        /* Серия */
        .ex-streak-row{display:flex;align-items:center;gap:var(--sp-2);}
        .ex-flame{font-size:clamp(24px,2.4vw,34px);color:var(--color-border);transition:color var(--ease);}
        .ex-flame.on{color:var(--color-orange);font-variation-settings:'FILL' 1;}
        .ex-streak-val{font-size:clamp(24px,2.6vw,36px);font-weight:800;line-height:1;color:var(--color-text);}
        .ex-streak-unit{font-size:var(--fs-sm);color:var(--color-muted);}
        .ex-days{display:flex;gap:3px;flex-wrap:wrap;}
        .ex-day{width:clamp(12px,1.2vw,18px);height:clamp(12px,1.2vw,18px);border-radius:4px;
                background:var(--color-border);flex-shrink:0;}
        .ex-day.on{background:var(--color-brand);}
        .ex-day.today{outline:2px solid var(--color-orange);outline-offset:1px;}
        .ex-streak-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);
                        font-size:var(--fs-xs);color:var(--color-muted);flex-wrap:wrap;}
        .ex-risk{color:var(--color-orange);font-weight:700;}

        /* Достижения */
        .ex-badges{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--card-gap);}
        .ex-badge{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);
                  border:1px solid var(--color-border);border-radius:var(--btn-radius-pill);
                  background:var(--color-surface);font-size:var(--fs-sm);font-weight:600;color:var(--color-muted);}
        .ex-badge .material-symbols-outlined{font-size:var(--icon-nav);color:var(--color-muted);}
        .ex-badge.got{color:var(--color-text);border-color:var(--color-brand);}
        .ex-badge.got .material-symbols-outlined{color:var(--color-brand);font-variation-settings:'FILL' 1;}

        /* Блоки-списки */
        .ex-block{background:var(--color-surface);border-radius:var(--card-radius);box-shadow:var(--shadow-card);
                  padding:var(--card-pad);margin-bottom:var(--card-gap);}
        .ex-block-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);
                       flex-wrap:wrap;margin-bottom:var(--sp-4);}
        .ex-note{font-size:var(--fs-xs);color:var(--color-muted);}
        .ex-empty{padding:var(--sp-5) var(--sp-3);text-align:center;font-size:var(--fs-sm);color:var(--color-muted);}

        /* Рейтинг */
        .ex-lb-row{display:grid;grid-template-columns:auto auto 1fr auto auto auto;align-items:center;
                   gap:var(--sp-3);padding:var(--sp-3) var(--sp-2);border-bottom:1px solid var(--color-border);}
        .ex-lb-row:last-child{border-bottom:none;}
        .ex-lb-row.me{background:rgba(0,77,64,.05);border-radius:var(--card-radius);}
        .ex-rank{font-size:var(--fs-sm);font-weight:800;color:var(--color-muted);width:clamp(20px,2vw,28px);text-align:center;}
        .ex-rank.medal{font-size:var(--icon-card);}
        .ex-lb-name{font-size:var(--fs-sm);font-weight:600;color:var(--color-text);
                    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .ex-lb-you{font-size:var(--fs-xs);color:var(--color-brand);font-weight:700;margin-left:var(--sp-2);}
        .ex-lb-stat{font-size:var(--fs-sm);font-weight:700;color:var(--color-text);white-space:nowrap;}
        .ex-lb-stat small{display:block;font-size:var(--fs-xs);font-weight:400;color:var(--color-muted);text-align:right;}
        @media (max-width:760px){
          .ex-lb-row{grid-template-columns:auto auto 1fr auto;}
          .ex-lb-hide{display:none;}
        }

        /* Слабые темы */
        .ex-topic{display:grid;grid-template-columns:1fr clamp(90px,18vw,220px) auto;align-items:center;
                  gap:var(--sp-3);padding:var(--sp-2) 0;}
        .ex-topic-nm{font-size:var(--fs-sm);color:var(--color-text);}
        .ex-topic-bar{height:8px;border-radius:4px;background:var(--color-border);overflow:hidden;}
        .ex-topic-fill{height:100%;border-radius:4px;transition:width .6s ease;}
        .ex-topic-val{font-size:var(--fs-sm);font-weight:700;min-width:3.2em;text-align:right;}
        @media (max-width:620px){ .ex-topic{grid-template-columns:1fr auto;} .ex-topic-bar{grid-column:1/-1;} }

        /* ═══════════════════════ DARK THEME — warm/gold overlay (Phase 2) ═══════════════════════ */
        /* Метод: overlay/toggle как в showing-room-agency.DARKTEST. Идёт ПОСЛЕ troy-theme.css в       */
        /* исходнике → перекрывает временную бирюзу. Ролевой маппинг: бренд/accent→золото, цены→золото, */
        /* Object→зелёный, Request/verified→синий, warn→оранж, danger→красный. Тени не трогаем.        */
        html[data-theme="dark"]{
          --color-bg:            #0c0c0e;
          --color-surface:       #18181c;
          --color-border:        rgba(240,237,232,0.10);
          --color-text:          #f0ede8;
          --color-text-2:        #b7b5b2;
          --color-text-3:        #908e8c;
          --color-muted:         rgba(240,237,232,0.50);
          --color-light:         rgba(240,237,232,0.66);
          --color-brand:         #c8a46a;
          --color-brand-mid:     #d8b87e;
          --color-brand-light:   rgba(200,164,106,0.14);
          --color-accent:        #c8a46a;   /* page accent (был синий) → золото темы */
          --color-accent-light:  rgba(200,164,106,0.14);
          --color-verified:      #6fa8ff;
          --color-green:         #5bbf88;  --color-success: #5bbf88;
          --color-red:           #e5675e;  --color-danger:  #e5675e;
          --color-orange:        #e6a338;  --color-orange-light: rgba(230,163,56,0.14);  --color-warn: #e6a338;
          --shadow-card:         0 clamp(4px,.5vw,8px) clamp(12px,1.5vw,24px) rgba(0,0,0,0.55);
          --shadow-profile:      0 2px 16px rgba(0,0,0,0.50);
        }
        html[data-theme="dark"] body{ background:#0c0c0e; color:#f0ede8; }
        /* ── авто-перекрашенные литералы (семантический ролевой маппинг) ── */
        html[data-theme="dark"] .modal-ov{background:rgba(0,0,0,0.87)}
        html[data-theme="dark"] .docs-open-btn, html[data-theme="dark"] .docs-dl-btn{background:#1c1c1d;border:1px solid rgba(240,237,232,0.12);color:#f0ede8}
        html[data-theme="dark"] .docs-open-btn:hover, html[data-theme="dark"] .docs-dl-btn:hover{background:#1c1c1d;color:#c8a46a;border-color:rgba(200,164,106,0.25)}
        html[data-theme="dark"] .docs-open-btn:disabled:hover, html[data-theme="dark"] .docs-dl-btn:disabled:hover{background:#1c1c1d;color:#f0ede8;border-color:rgba(240,237,232,0.12)}
        html[data-theme="dark"] .docs-card{background:#1c1c1d;border:1px solid rgba(200,164,106,0.15)}
        html[data-theme="dark"] .docs-head{border-bottom:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .docs-title{color:#f0ede8}
        html[data-theme="dark"] .docs-title .ms{color:#c8a46a}
        html[data-theme="dark"] .docs-x{background:rgba(240,237,232,0.070);color:#b7b5b2}
        html[data-theme="dark"] .docs-x:hover{color:#f0ede8;background:rgba(240,237,232,0.090)}
        html[data-theme="dark"] .docs-sidebar{border-right:1px solid rgba(240,237,232,0.10);background:#1c1c1d}
        html[data-theme="dark"] .docs-list-item{background:#1c1c1d;border:1.5px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .docs-list-item:hover{border-color:rgba(200,164,106,0.25);background:#1c1c1d}
        html[data-theme="dark"] .docs-list-item.active{border-color:rgba(200,164,106,0.55);background:rgba(200,164,106,0.07)}
        html[data-theme="dark"] .docs-list-icon{color:#f0ede8}
        html[data-theme="dark"] .docs-list-icon.pdf{background:linear-gradient(135deg,#e5675e,#e5675e)}
        html[data-theme="dark"] .docs-list-icon.img{background:linear-gradient(135deg,#6fa8ff,#6fa8ff)}
        html[data-theme="dark"] .docs-list-icon.doc{background:linear-gradient(135deg,#5bbf88,#5bbf88)}
        html[data-theme="dark"] .docs-list-icon.csv{background:linear-gradient(135deg,#6fa8ff,#c8a46a)}
        html[data-theme="dark"] .docs-list-icon.xls{background:linear-gradient(135deg,#5bbf88,#5bbf88)}
        html[data-theme="dark"] .docs-list-icon.other{background:linear-gradient(135deg,#a98fe0,#a98fe0)}
        html[data-theme="dark"] .docs-list-name{color:#f0ede8}
        html[data-theme="dark"] .docs-list-meta{color:#b7b5b2}
        html[data-theme="dark"] .docs-preview{background:#1c1c1d}
        html[data-theme="dark"] .docs-preview-toolbar{background:#1c1c1d;border-bottom:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .docs-preview-name{color:#f0ede8}
        html[data-theme="dark"] .docs-action-btn{background:rgba(200,164,106,0.08);border:1px solid rgba(200,164,106,0.18);color:#c8a46a}
        html[data-theme="dark"] .docs-action-btn:hover{background:rgba(200,164,106,0.14)}
        html[data-theme="dark"] .docs-preview-img{background:#1c1c1d}
        html[data-theme="dark"] .docs-preview-pdf{background:#1c1c1d}
        html[data-theme="dark"] .docs-pdf-head{border-bottom:2px solid #e5675e}
        html[data-theme="dark"] .docs-pdf-badge{background:#e5675e;color:#1c1005}
        html[data-theme="dark"] .docs-pdf-title{color:#f0ede8}
        html[data-theme="dark"] .docs-pdf-row{border-bottom:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .docs-pdf-row-k{color:#b7b5b2}
        html[data-theme="dark"] .docs-pdf-row-v{color:#f0ede8}
        html[data-theme="dark"] .docs-pdf-foot{border-top:1px solid rgba(240,237,232,0.10);color:#908e8c}
        html[data-theme="dark"] .docs-preview-doc{background:#1c1c1d}
        html[data-theme="dark"] .docs-doc-title{color:#f0ede8}
        html[data-theme="dark"] .docs-doc-p{color:#f0ede8}
        html[data-theme="dark"] .docs-empty{color:#b7b5b2}
        html[data-theme="dark"] .docs-empty .ms{color:#908e8c}
        html[data-theme="dark"] .docs-preview-img-real{background:#1c1c1d}
        html[data-theme="dark"] .docs-preview-iframe{border:1px solid rgba(240,237,232,0.10);background:#1c1c1d}
        html[data-theme="dark"] .docs-preview-doc-text{color:#f0ede8;background:#1c1c1d;border:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .docs-preview-csv{background:#1c1c1d}
        html[data-theme="dark"] .docs-csv-scroll{border:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .docs-csv-table th, html[data-theme="dark"] .docs-csv-table td{border:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .docs-csv-table th{background:#1c1c1d;color:#f0ede8}
        html[data-theme="dark"] .docs-csv-table tr:nth-child(even) td{background:#1c1c1d}
        html[data-theme="dark"] .docs-csv-table tr:hover td{background:#1c1c1d}
        html[data-theme="dark"] .docs-preview-noinline{background:#1c1c1d}
        html[data-theme="dark"] .dpn-icon{background:rgba(200,164,106,0.08);border:1px solid rgba(200,164,106,0.2);color:#c8a46a}
        html[data-theme="dark"] .dpn-title{color:#f0ede8}
        html[data-theme="dark"] .dpn-text{color:#b7b5b2}
        html[data-theme="dark"] .dpn-btn{background:#c8a46a;color:#1c1005}
        html[data-theme="dark"] .dpn-btn:hover{background:#c8a46a}
        html[data-theme="dark"] .fc-card{background:#1c1c1d}
        html[data-theme="dark"] .fc-icon{background:rgba(229,103,94,0.1);border:1px solid rgba(229,103,94,0.25);color:#e5675e}
        html[data-theme="dark"] .fc-title{color:#f0ede8}
        html[data-theme="dark"] .fc-text{color:#b7b5b2}
        html[data-theme="dark"] .fc-btn{border:1px solid rgba(240,237,232,0.12);background:#1c1c1d;color:#b7b5b2}
        html[data-theme="dark"] .fc-btn:hover{color:#f0ede8}
        html[data-theme="dark"] .fc-btn.danger{background:#e5675e;border-color:#e5675e;color:#1c1005}
        html[data-theme="dark"] .fc-btn.danger:hover{background:#e5675e;border-color:#e5675e}
        html[data-theme="dark"] .docs-back-btn{background:#1c1c1d;border:1px solid rgba(240,237,232,0.12);color:#f0ede8}
        html[data-theme="dark"] .docs-back-btn:hover{background:#1c1c1d}
        html[data-theme="dark"] .docs-send-trigger{background:#c8a46a;border:1px solid #c8a46a;color:#1c1005}
        html[data-theme="dark"] .docs-send-trigger:hover{background:#c8a46a;border-color:#c8a46a}
        html[data-theme="dark"] .doc-menu-btn{color:#b7b5b2}
        html[data-theme="dark"] .doc-menu-btn:hover{background:rgba(240,237,232,0.060);color:#f0ede8;border-color:rgba(240,237,232,0.10)}
        html[data-theme="dark"] .doc-menu-btn.open{background:rgba(200,164,106,0.08);color:#c8a46a;border-color:rgba(200,164,106,0.18)}
        html[data-theme="dark"] .doc-menu-dd{background:#1c1c1d;border:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .doc-menu-item{color:#f0ede8}
        html[data-theme="dark"] .doc-menu-item:hover{background:#1c1c1d}
        html[data-theme="dark"] .doc-menu-item .ms{color:#b7b5b2}
        html[data-theme="dark"] .doc-menu-item.danger{color:#e5675e}
        html[data-theme="dark"] .doc-menu-item.danger .ms{color:#e5675e}
        html[data-theme="dark"] .doc-menu-item.danger:hover{background:rgba(229,103,94,0.07)}
        html[data-theme="dark"] .docs-list-edit-input{color:#f0ede8;border:1.5px solid #c8a46a;background:#1c1c1d}
        html[data-theme="dark"] .docs-add-btn{background:rgba(200,164,106,0.06);border:1.5px dashed rgba(200,164,106,0.3);color:#c8a46a}
        html[data-theme="dark"] .docs-add-btn:hover{background:rgba(200,164,106,0.12)}
        html[data-theme="dark"] .docs-send-screen{background:#1c1c1d}
        html[data-theme="dark"] .docs-send-head{border-bottom:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .docs-send-back{background:#1c1c1d;border:1px solid rgba(240,237,232,0.10);color:#f0ede8}
        html[data-theme="dark"] .docs-send-back:hover{background:#1c1c1d}
        html[data-theme="dark"] .docs-send-title{color:#f0ede8}
        html[data-theme="dark"] .docs-send-sub{color:#b7b5b2}
        html[data-theme="dark"] .docs-send-body{background:#1c1c1d}
        html[data-theme="dark"] .docs-send-section-title{color:#b7b5b2}
        html[data-theme="dark"] .docs-send-item{background:#1c1c1d;border:1.5px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .docs-send-item:hover{border-color:rgba(200,164,106,0.3);background:#1c1c1d}
        html[data-theme="dark"] .docs-send-item.selected{border-color:#c8a46a;background:rgba(200,164,106,0.07)}
        html[data-theme="dark"] .docs-send-item-icon{color:#f0ede8}
        html[data-theme="dark"] .docs-send-item-icon.client{background:linear-gradient(135deg,#c8a46a,#c8a46a)}
        html[data-theme="dark"] .docs-send-item-icon.other{background:linear-gradient(135deg,#222223,#2a2a2b)}
        html[data-theme="dark"] .docs-send-item-name{color:#f0ede8}
        html[data-theme="dark"] .docs-send-item-meta{color:#b7b5b2}
        html[data-theme="dark"] .docs-send-item-chk{border:2px solid rgba(240,237,232,0.15)}
        html[data-theme="dark"] .docs-send-item.selected .docs-send-item-chk{background:#c8a46a;border-color:#c8a46a;color:#1c1005}
        html[data-theme="dark"] .docs-send-foot{border-top:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .docs-send-foot-btn.primary{background:#c8a46a;color:#1c1005}
        html[data-theme="dark"] .docs-send-foot-btn.primary:hover{background:#c8a46a}
        html[data-theme="dark"] .docs-send-foot-btn.primary:disabled{background:#c8a46a}
        html[data-theme="dark"] .docs-send-foot-btn.secondary{background:#1c1c1d;color:#b7b5b2;border:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .docs-send-foot-btn.secondary:hover{color:#f0ede8}
        html[data-theme="dark"] .docs-send-empty{color:#b7b5b2}
        html[data-theme="dark"] .docs-send-search-wrap .ms{color:#908e8c}
        html[data-theme="dark"] .docs-send-search{background:#1c1c1d;border:1.5px solid rgba(240,237,232,0.10);color:#f0ede8}
        html[data-theme="dark"] .docs-send-search:focus{border-color:#c8a46a}
        html[data-theme="dark"] .docs-send-search-clear{background:#1c1c1d;color:#b7b5b2}
        html[data-theme="dark"] .adoc-card{background:#1c1c1d}
        html[data-theme="dark"] .adoc-head{border-bottom:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .adoc-title{color:#f0ede8}
        html[data-theme="dark"] .adoc-title .ms{color:#c8a46a}
        html[data-theme="dark"] .adoc-x{background:#1c1c1d;color:#b7b5b2}
        html[data-theme="dark"] .adoc-x:hover{background:#1c1c1d;color:#f0ede8}
        html[data-theme="dark"] .adoc-foot{border-top:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .adoc-foot-btn.primary{background:#c8a46a;color:#1c1005}
        html[data-theme="dark"] .adoc-foot-btn.primary:hover{background:#c8a46a}
        html[data-theme="dark"] .adoc-foot-btn.primary:disabled{background:#c8a46a}
        html[data-theme="dark"] .adoc-foot-btn.secondary{background:#1c1c1d;color:#b7b5b2;border:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .adoc-file-pick{background:rgba(200,164,106,0.04);border:2px dashed rgba(200,164,106,0.3);color:#c8a46a}
        html[data-theme="dark"] .adoc-file-pick:hover{background:rgba(200,164,106,0.08);border-color:rgba(200,164,106,0.45)}
        html[data-theme="dark"] .adoc-file-pick-icon{background:rgba(200,164,106,0.1);color:#c8a46a}
        html[data-theme="dark"] .adoc-file-pick-title{color:#c8a46a}
        html[data-theme="dark"] .adoc-file-pick-sub{color:#b7b5b2}
        html[data-theme="dark"] .adoc-file-info{background:#1c1c1d;border:1.5px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .adoc-file-info-icon{color:#1c1005;background:linear-gradient(135deg,#c8a46a,#c8a46a)}
        html[data-theme="dark"] .adoc-file-info-icon.pdf{background:linear-gradient(135deg,#e5675e,#e5675e)}
        html[data-theme="dark"] .adoc-file-info-icon.img{background:linear-gradient(135deg,#6fa8ff,#6fa8ff)}
        html[data-theme="dark"] .adoc-file-info-icon.doc{background:linear-gradient(135deg,#5bbf88,#5bbf88)}
        html[data-theme="dark"] .adoc-file-info-icon.csv{background:linear-gradient(135deg,#6fa8ff,#c8a46a)}
        html[data-theme="dark"] .adoc-file-info-icon.xls{background:linear-gradient(135deg,#5bbf88,#5bbf88)}
        html[data-theme="dark"] .adoc-file-info-name{color:#f0ede8}
        html[data-theme="dark"] .adoc-file-info-meta{color:#b7b5b2}
        html[data-theme="dark"] .adoc-file-clear{background:#1c1c1d;border:1px solid rgba(240,237,232,0.10);color:#b7b5b2}
        html[data-theme="dark"] .adoc-file-clear:hover{color:#e5675e;border-color:#e5675e}
        html[data-theme="dark"] .top-panel{border-bottom:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .tp-center{color:#f0ede8}
        html[data-theme="dark"] .tp-icon{color:#f0ede8}
        html[data-theme="dark"] .tp-icon:hover{background:rgba(240,237,232,0.090)}
        html[data-theme="dark"] .tp-icon .material-symbols-outlined{color:#f0ede8}
        html[data-theme="dark"] .tp-icon .counter{color:#f0ede8}
        html[data-theme="dark"] .tp-menu-btn{background:rgba(240,237,232,0.090);border:1px solid rgba(240,237,232,0.160);color:#f0ede8}
        html[data-theme="dark"] .tp-menu-btn:hover{background:rgba(240,237,232,0.090)}
        html[data-theme="dark"] .tp-menu-btn .material-symbols-outlined{color:#f0ede8}
        html[data-theme="dark"] .tp-menu-item:hover{background:rgba(200,164,106,0.07)}
        html[data-theme="dark"] .agency-logo{background:linear-gradient(135deg, var(--color-brand) 0%, var(--color-brand-mid) 60%, #c8a46a 100%);color:#1c1005;border:3px solid rgba(240,237,232,0.160);outline:2px solid rgba(200,164,106,0.18)}
        html[data-theme="dark"] .agency-owner-badge{background:rgba(230,163,56,0.14);border:1px solid #e6a338}
        html[data-theme="dark"] .tab-badge{color:#f0ede8}
        html[data-theme="dark"] .tab-pane{scrollbar-color:#908e8c transparent}
        html[data-theme="dark"] .tab-pane::-webkit-scrollbar-thumb{background:#222223}
        html[data-theme="dark"] .si-green{background:#1c1c1d}
        html[data-theme="dark"] .si-green .material-symbols-outlined{color:#5bbf88}
        html[data-theme="dark"] .si-blue{background:#1c1c1d}
        html[data-theme="dark"] .si-orange{background:rgba(230,163,56,0.14)}
        html[data-theme="dark"] .si-teal{background:#1c1c1d}
        html[data-theme="dark"] .si-red{background:#1c1c1d}
        html[data-theme="dark"] .si-purple{background:#1c1c1d}
        html[data-theme="dark"] .si-purple .material-symbols-outlined{color:#a98fe0}
        html[data-theme="dark"] .delta-up{color:#5bbf88}
        html[data-theme="dark"] .btn-brand{color:#1c1005}
        html[data-theme="dark"] .btn-danger{border-color:rgba(229,103,94,0.3)}
        html[data-theme="dark"] .btn-danger:hover{background:#1c1c1d}
        html[data-theme="dark"] .btn-green{background:#1c1c1d;border-color:#5bbf88;color:#5bbf88}
        html[data-theme="dark"] .btn-green:hover{background:rgba(91,191,136,0.18)}
        html[data-theme="dark"] .health-ring-bg{stroke:#908e8c}
        html[data-theme="dark"] .health-bar-track{background:#1c1c1d}
        html[data-theme="dark"] .hb-green{background:#5bbf88}
        html[data-theme="dark"] .pipeline::-webkit-scrollbar-thumb{background:#222223}
        html[data-theme="dark"] .ph-new{background:rgba(111,168,255,0.14);color:#6fa8ff}
        html[data-theme="dark"] .ph-active{background:#1c1c1d;color:#5bbf88}
        html[data-theme="dark"] .ph-review{background:rgba(230,163,56,0.14);color:#e6a338}
        html[data-theme="dark"] .ph-closed{background:#1c1c1d;color:#a98fe0}
        html[data-theme="dark"] .team-member:hover{border-color:rgba(240,237,232,0.10)}
        html[data-theme="dark"] .member-avatar{color:#f0ede8}
        html[data-theme="dark"] .av-teal{background:linear-gradient(135deg, var(--color-brand) 0%, #c8a46a 100%)}
        html[data-theme="dark"] .av-blue{background:linear-gradient(135deg, #6fa8ff 0%, var(--color-accent) 100%)}
        html[data-theme="dark"] .av-purple{background:linear-gradient(135deg, #a98fe0 0%, #a98fe0 100%)}
        html[data-theme="dark"] .av-orange{background:linear-gradient(135deg, #e6a338 0%, #e6a338 100%)}
        html[data-theme="dark"] .av-green{background:linear-gradient(135deg, #5bbf88 0%, #5bbf88 100%)}
        html[data-theme="dark"] .av-red{background:linear-gradient(135deg, #e5675e 0%, #e5675e 100%)}
        html[data-theme="dark"] .role-owner{background:#1c1c1d;color:#b7b5b2;border-color:rgba(240,237,232,0.10)}
        html[data-theme="dark"] .role-manager{background:#1c1c1d;color:#b7b5b2;border-color:rgba(240,237,232,0.10)}
        html[data-theme="dark"] .role-agent{background:#1c1c1d;color:#b7b5b2;border-color:rgba(240,237,232,0.10)}
        html[data-theme="dark"] .role-intern{background:#1c1c1d;color:#b7b5b2;border-color:rgba(240,237,232,0.10)}
        html[data-theme="dark"] .role-analyst{background:#1c1c1d;color:#b7b5b2;border-color:rgba(240,237,232,0.10)}
        html[data-theme="dark"] .role-color-dot.active{border-color:rgba(240,237,232,0.16)}
        html[data-theme="dark"] .find-agency-item.selected{background:#1c1c1d}
        html[data-theme="dark"] .find-agency-item .partner-logo{color:#f0ede8}
        html[data-theme="dark"] .dot-online{background:#5bbf88}
        html[data-theme="dark"] .dot-offline{background:#222223}
        html[data-theme="dark"] .toggle-track{background:#222223}
        html[data-theme="dark"] .toggle-thumb{background:#1c1c1d}
        html[data-theme="dark"] .partner-logo{color:#f0ede8}
        html[data-theme="dark"] .access-granted{color:#5bbf88}
        html[data-theme="dark"] .access-denied{color:#908e8c}
        html[data-theme="dark"] .rank-1{background:#e6a338;color:#e6a338}
        html[data-theme="dark"] .rank-2{background:#222223;color:#b7b5b2}
        html[data-theme="dark"] .rank-3{background:#e6a338;color:#1c1005}
        html[data-theme="dark"] .leader-bar{background:#1c1c1d}
        html[data-theme="dark"] .bar-fill{color:#f0ede8}
        html[data-theme="dark"] .modal{background:rgba(0,0,0,0.55)}
        html[data-theme="dark"] .toast{background:#1c1c1d;color:#f0ede8}
        html[data-theme="dark"] .compare-type-label.sel{color:#1c1005}
        html[data-theme="dark"] .cmp-pm-btn.sel{color:#1c1005}
        html[data-theme="dark"] .dp-header{color:#f0ede8}
        html[data-theme="dark"] .dp-close{color:rgba(240,237,232,0.8)}
        html[data-theme="dark"] .dp-close:hover{background:rgba(240,237,232,0.090);color:#f0ede8}
        html[data-theme="dark"] .dp-ev-del:hover{background:rgba(229,103,94,0.07)}
        html[data-theme="dark"] .cov-header{color:#f0ede8}
        html[data-theme="dark"] .cov-close{color:#f0ede8}
        html[data-theme="dark"] .match-badge{background:#1c1c1d;color:#5bbf88}
        html[data-theme="dark"] .perm-scroll-wrap{scrollbar-color:#908e8c transparent}
        html[data-theme="dark"] .perm-scroll-wrap::-webkit-scrollbar-thumb{background:#222223}
        html[data-theme="dark"] .oh-filter-btn.active{color:#1c1005}
        html[data-theme="dark"] .oh-type-obj{background:#1c1c1d;border:1px solid rgba(111,168,255,0.3)}
        html[data-theme="dark"] .oh-type-req{background:#1c1c1d;color:#5bbf88;border:1px solid #5bbf88}
        html[data-theme="dark"] .cf-btn.active{color:#1c1005}
        html[data-theme="dark"] .cf-btn.active-type{color:#1c1005}
        html[data-theme="dark"] .cc-type-obj{background:#c8a46a;color:#1c1005;border:1px solid #c8a46a}
        html[data-theme="dark"] .cc-type-req{background:rgba(111,168,255,0.14);color:#6fa8ff;border:1px solid #6fa8ff}
        html[data-theme="dark"] .cc-legal-yes{background:rgba(230,163,56,0.14);color:#e6a338;border:1px solid #e6a338}
        html[data-theme="dark"] .cc-legal-no{background:#1c1c1d;color:#e5675e;border:1px solid #e5675e}
        html[data-theme="dark"] .cc-date-badge{background:#1c1c1d}
        html[data-theme="dark"] .cs-new{background:#1c1c1d;color:#b7b5b2;border:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .cs-interested{background:#1c1c1d;color:#b7b5b2;border:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .cs-neutral{background:#1c1c1d;color:#b7b5b2;border:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .cs-passenger{background:#1c1c1d;color:#b7b5b2;border:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .acm-type-label.acm-sel{color:#1c1005}
        html[data-theme="dark"] .acm-month-btn:hover{color:#1c1005}
        html[data-theme="dark"] .acm-month-btn.acm-sel{color:#1c1005}
        html[data-theme="dark"] .trust-ring-bg{stroke:#908e8c}
        html[data-theme="dark"] .trust-bar-track{background:#1c1c1d}
        html[data-theme="dark"] .rope-toggle.active .rope-knot{background:radial-gradient(circle at 35% 30%, #c8a46a, #c8a46a 70%)}
        html[data-theme="dark"] .rope-line{background:linear-gradient(to bottom, transparent, rgba(230,163,56,0.7), #e6a338)}
        html[data-theme="dark"] .rope-knot{background:radial-gradient(circle at 35% 30%, #e6a338, #e6a338 70%);border:2px solid rgba(240,237,232,0.15)}
        html[data-theme="dark"] .pinboard{background-color:#e6a338;background-image:repeating-linear-gradient(120deg, transparent, transparent 7px, rgba(230,163,56,0.22) 7px, rgba(230,163,56,0.22) 8px),
                        repeating-linear-gradient(60deg,  transparent, transparent 7px, rgba(240,237,232,0.080) 7px, rgba(240,237,232,0.080) 8px),
                        repeating-linear-gradient(0deg,   transparent, transparent 14px, rgba(240,237,232,0.050) 14px, rgba(240,237,232,0.050) 15px);border-top:7px solid #e6a338;border-bottom:7px solid #e6a338}
        html[data-theme="dark"] .pinboard::before{background:radial-gradient(ellipse at 12% 18%, rgba(240,237,232,0.090) 0%, transparent 52%),
                        radial-gradient(ellipse at 88% 82%, rgba(240,237,232,0.090) 0%, transparent 48%)}
        html[data-theme="dark"] .sn-pin{background:radial-gradient(circle at 33% 28%, #e5675e, #e5675e 75%);border:1.5px solid rgba(240,237,232,0.22)}
        html[data-theme="dark"] .sn-text{color:#1f1f1f}
        html[data-theme="dark"] .sticky-note.sn-editing .sn-text{border-bottom:1px dashed rgba(240,237,232,0.20)}
        html[data-theme="dark"] .sn-author{color:#808080}
        html[data-theme="dark"] .sn-btn{background:rgba(240,237,232,0.090)}
        html[data-theme="dark"] .sn-btn:hover{background:rgba(240,237,232,0.090)}
        html[data-theme="dark"] .add-note-popup{background:#1c1c1d;border:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .anp-textarea{border:1px solid rgba(240,237,232,0.10);color:#f0ede8}
        html[data-theme="dark"] .anp-author{border:1px solid rgba(240,237,232,0.10);color:#b7b5b2}
        html[data-theme="dark"] .anp-color-dot.anp-sel{border-color:rgba(240,237,232,0.16)}
        html[data-theme="dark"] .sm-corner-badge{background:rgba(240,237,232,0.090)}
        html[data-theme="dark"] .sm-corner-badge.sm-green{border-color:#5bbf88;color:#5bbf88}
        html[data-theme="dark"] .sm-corner-badge.sm-orange{border-color:#e6a338}
        html[data-theme="dark"] .sm-corner-badge.sm-red{border-color:#e5675e}
        html[data-theme="dark"] .sm-green-txt{color:#5bbf88}
        html[data-theme="dark"] .pa-radio-group.pa-locked input[type=radio]:checked{accent-color:#f0ede8}
        html[data-theme="dark"] .certain-sel-badge{color:#f0ede8}
        html[data-theme="dark"] .certain-filters input, html[data-theme="dark"] .certain-filters select{background:#1c1c1d}
        html[data-theme="dark"] .certain-obj-card{background:#1c1c1d}
        html[data-theme="dark"] .certain-obj-card.certain-checked{background:rgba(111,168,255,0.03)}
        html[data-theme="dark"] .certain-obj-photo .material-symbols-outlined{color:rgba(240,237,232,0.85)}
        html[data-theme="dark"] .certain-cb-box{background:rgba(240,237,232,0.090);border:2px solid rgba(240,237,232,0.160)}
        html[data-theme="dark"] .certain-cb-box .material-symbols-outlined{color:#f0ede8}
        html[data-theme="dark"] .certain-req-card{background:#1c1c1d}
        html[data-theme="dark"] .certain-req-card.certain-checked{background:rgba(111,168,255,0.03)}
        html[data-theme="dark"] .certain-show-item{background:#1c1c1d}
        html[data-theme="dark"] .pa-certain-count{color:#f0ede8}
        html[data-theme="dark"] .rm-code{background:#1c1c1d;border:1px solid #c8a46a}
        html[data-theme="dark"] .rm-status-active{background:#1c1c1d;color:#5bbf88;border:1px solid #5bbf88}
        html[data-theme="dark"] .rm-status-sched{background:#1c1c1d}
        html[data-theme="dark"] .rm-status-closed{background:#1c1c1d;color:#c8a46a;border:1px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .om-filter-btn.active{color:#f0ede8}
        html[data-theme="dark"] .om-type-obj{background:#1c1c1d;border:1px solid rgba(111,168,255,0.3)}
        html[data-theme="dark"] .om-type-req{background:#1c1c1d;color:#5bbf88;border:1px solid #5bbf88}
        html[data-theme="dark"] .pub-type-btn.active{color:#f0ede8}
        html[data-theme="dark"] .pub-proptype-btn.active{color:#f0ede8}
        html[data-theme="dark"] .po-photo-zone:hover, html[data-theme="dark"] .po-photo-zone.drag-over{background:rgba(200,164,106,0.04)}
        html[data-theme="dark"] .po-thumb-main-badge{background:rgba(200,164,106,0.8);color:#f0ede8}
        html[data-theme="dark"] .po-type-card:hover{border-color:rgba(200,164,106,0.35)}
        html[data-theme="dark"] .po-type-card.selected{background:rgba(200,164,106,0.05)}
        html[data-theme="dark"] .po-rp-btn:hover{border-color:rgba(200,164,106,0.35)}
        html[data-theme="dark"] .po-rp-btn.active{background:rgba(200,164,106,0.06)}
        html[data-theme="dark"] .po-era-btn:hover{border-color:rgba(200,164,106,0.3)}
        html[data-theme="dark"] .po-era-btn.active{background:rgba(200,164,106,0.06)}
        html[data-theme="dark"] .po-bigha-pill:hover{border-color:rgba(200,164,106,0.3)}
        html[data-theme="dark"] .po-bigha-pill.active{background:rgba(200,164,106,0.06)}
        html[data-theme="dark"] .po-comm-chip:hover{border-color:rgba(200,164,106,0.35)}
        html[data-theme="dark"] .po-comm-chip.selected{background:rgba(200,164,106,0.06)}
        html[data-theme="dark"] .po-check-row:hover{border-color:rgba(200,164,106,0.25)}
        html[data-theme="dark"] .po-check-row.checked{background:rgba(200,164,106,0.04)}
        html[data-theme="dark"] .po-slot-btn:hover{border-color:rgba(200,164,106,0.3)}
        html[data-theme="dark"] .po-slot-btn.active{background:rgba(200,164,106,0.06)}
        html[data-theme="dark"] .po-conv-card.hi{border-color:rgba(200,164,106,0.3);background:rgba(200,164,106,0.04)}
        html[data-theme="dark"] .po-hint-chip:hover{background:rgba(200,164,106,0.06);border-color:rgba(200,164,106,0.3)}
        html[data-theme="dark"] .po-feat-chip:hover, html[data-theme="dark"] .po-feat-chip.active{background:rgba(200,164,106,0.06);border-color:rgba(200,164,106,0.3)}
        html[data-theme="dark"] .po-feat-more-btn:hover{border-color:rgba(200,164,106,0.3)}
        html[data-theme="dark"] .po-feat-modal-overlay{background:rgba(0,0,0,0.5)}
        html[data-theme="dark"] .pr-pri-btn:hover{background:rgba(200,164,106,0.05)}
        html[data-theme="dark"] .pr-pri-btn[data-p=standard].active{border-color:#5bbf88;color:#5bbf88;background:rgba(91,191,136,0.08)}
        html[data-theme="dark"] .pr-pri-btn[data-p=priority].active{border-color:#e6a338;color:#e6a338;background:rgba(230,163,56,0.08)}
        html[data-theme="dark"] .pr-pri-btn[data-p=vip].active{background:rgba(200,164,106,0.08)}
        html[data-theme="dark"] .pr-deal-btn.active{background:rgba(200,164,106,0.08)}
        html[data-theme="dark"] .pr-mkt-chip:hover{background:rgba(200,164,106,0.05)}
        html[data-theme="dark"] .pr-mkt-chip.active{background:rgba(200,164,106,0.08)}
        html[data-theme="dark"] .pr-zs-item:hover{background:rgba(200,164,106,0.05)}
        html[data-theme="dark"] .pr-zone-pill{background:rgba(200,164,106,0.07);border:1px solid rgba(200,164,106,0.2)}
        html[data-theme="dark"] .pr-zone-pill.primary{background:rgba(200,164,106,0.13);border-color:rgba(200,164,106,0.35)}
        html[data-theme="dark"] .pr-zp-del{color:rgba(200,164,106,0.5)}
        html[data-theme="dark"] .pr-dr-track{background:#222223}
        html[data-theme="dark"] .pr-dr-thumb::-webkit-slider-thumb{border:3px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .pr-dr-thumb::-moz-range-thumb{border:3px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .pr-cond-chip:hover{background:rgba(200,164,106,0.05)}
        html[data-theme="dark"] .pr-cond-chip.active{background:rgba(200,164,106,0.08)}
        html[data-theme="dark"] .pr-mcomp.above{border-color:rgba(91,191,136,0.3);background:rgba(91,191,136,0.06);color:#5bbf88}
        html[data-theme="dark"] .pr-mcomp.below{border-color:rgba(111,168,255,0.3);background:rgba(111,168,255,0.06);color:#6fa8ff}
        html[data-theme="dark"] .pr-urg-btn[data-u=standard].active{border-color:#5bbf88;color:#5bbf88;background:rgba(91,191,136,0.07)}
        html[data-theme="dark"] .pr-urg-btn[data-u=standard].active .pr-urg-dot{background:#5bbf88}
        html[data-theme="dark"] .pr-urg-btn[data-u=priority].active{border-color:#e6a338;color:#e6a338;background:rgba(230,163,56,0.07)}
        html[data-theme="dark"] .pr-urg-btn[data-u=priority].active .pr-urg-dot{background:#e6a338}
        html[data-theme="dark"] .pr-urg-btn[data-u=urgent].active{border-color:#e5675e;color:#e5675e;background:rgba(229,103,94,0.07)}
        html[data-theme="dark"] .pr-urg-btn[data-u=urgent].active .pr-urg-dot{background:#e5675e}
        html[data-theme="dark"] .pr-dl-chip:hover{background:rgba(200,164,106,0.05)}
        html[data-theme="dark"] .pr-dl-chip.active{background:rgba(200,164,106,0.08)}
        html[data-theme="dark"] .st-sec-row.drag-over{background:rgba(200,164,106,0.06)}
        html[data-theme="dark"] .st-sec-icon{background:rgba(200,164,106,0.08)}
        html[data-theme="dark"] .st-toggle-slider{background:#222223}
        html[data-theme="dark"] .st-toggle-slider::before{background:#1c1c1d}
        html[data-theme="dark"] .st-lib-icon{background:#1c1c1d}
        html[data-theme="dark"] .st-lib-icon .material-symbols-outlined{color:#908e8c}
        html[data-theme="dark"] .st-new-badge{background:linear-gradient(135deg,#c8a46a,#c8a46a);color:#1c1005}
        html[data-theme="dark"] .st-lib-lock{color:#908e8c}
        html[data-theme="dark"] .st-palette-card:hover:not(.active){border-color:rgba(240,237,232,0.10)}
        html[data-theme="dark"] .st-theme-btn.active{background:rgba(200,164,106,0.07)}
        html[data-theme="dark"] .st-typo-card:hover:not(.active){border-color:rgba(240,237,232,0.10)}
        html[data-theme="dark"] .st-map-row{color:#f0ede8}
        html[data-theme="dark"] .st-map-row.disabled{background:#222223;color:#908e8c}
        html[data-theme="dark"] .st-save-status{color:#c8a46a}
        html[data-theme="dark"] .csel-trigger:hover{border-color:rgba(200,164,106,0.45)}
        html[data-theme="dark"] .csel-drop{background:var(--color-surface,#1c1c1d);border:1.5px solid var(--color-brand,#c8a46a);scrollbar-color:var(--color-border,#908e8c) transparent}
        html[data-theme="dark"] .csel-drop::-webkit-scrollbar-thumb{background:var(--color-border,#222223)}
        html[data-theme="dark"] .csel-opt{color:var(--color-text,#f0ede8)}
        html[data-theme="dark"] .csel-opt:hover{background:rgba(200,164,106,0.06)}
        html[data-theme="dark"] .csel-opt.csel-sel{color:var(--color-brand,#c8a46a);background:rgba(200,164,106,0.03)}
        html[data-theme="dark"] .csel-opt.csel-sel::after{color:var(--color-brand,#c8a46a)}
        html[data-theme="dark"] .acl-drop{background:var(--color-surface,#1c1c1d);border:1.5px solid var(--color-brand,#c8a46a);scrollbar-color:var(--color-border,#908e8c) transparent}
        html[data-theme="dark"] .acl-drop::-webkit-scrollbar-thumb{background:var(--color-border,#222223)}
        html[data-theme="dark"] .acl-opt{color:var(--color-text,#f0ede8)}
        html[data-theme="dark"] .acl-opt:hover, html[data-theme="dark"] .acl-opt.acl-hi{background:rgba(200,164,106,0.07)}
        html[data-theme="dark"] .acl-opt strong{color:var(--color-brand,#c8a46a)}
        html[data-theme="dark"] .mgr-right{background:#1c1c1d}
        html[data-theme="dark"] .mgr-sec-icon .material-symbols-outlined{color:#f0ede8}
        html[data-theme="dark"] .mgr-toggle-slider{background:#222223}
        html[data-theme="dark"] .mgr-toggle-slider::after{background:#1c1c1d}
        html[data-theme="dark"] .mgr-theme-card.dk{background:#1c1c1d}
        html[data-theme="dark"] .mgr-theme-card.lk{background:#1c1c1d}
        html[data-theme="dark"] .mgr-theme-card.dk .mgr-tc-name{color:#908e8c}
        html[data-theme="dark"] .mgr-theme-card.lk .mgr-tc-name{color:#f0ede8}
        html[data-theme="dark"] .mgr-theme-card.dk .mgr-tc-mode{color:#908e8c}
        html[data-theme="dark"] .mgr-theme-card.lk .mgr-tc-mode{color:#b7b5b2}
        html[data-theme="dark"] .mgr-typo-card.mgr-sel{background:rgba(200,164,106,0.05)}
        html[data-theme="dark"] .mgr-browser-bar{background:#1c1c1d;border-bottom:1px solid rgba(240,237,232,0.16)}
        html[data-theme="dark"] .dot-r{background:#e5675e}
        html[data-theme="dark"] .dot-y{background:#e6a338}
        html[data-theme="dark"] .dot-g{background:#5bbf88}
        html[data-theme="dark"] .mgr-browser-url{background:#1c1c1d;color:#b7b5b2}
        html[data-theme="dark"] .mgr-frame-outer{background:#1c1c1d}
        html[data-theme="dark"] .mgr-theme-card{background:#1c1c1d}
        html[data-theme="dark"] .mgr-theme-card.dk .mgr-tc-name, html[data-theme="dark"] .mgr-theme-card.lk .mgr-tc-name{color:#f0ede8}
        html[data-theme="dark"] .mgr-mode-btn.mgr-sel{background:rgba(200,164,106,0.08)}
        html[data-theme="dark"] .mgr-sec-edit:hover{background:rgba(200,164,106,0.1)}
        html[data-theme="dark"] .mge-header{border-left:4px solid rgba(240,237,232,0.10)}
        html[data-theme="dark"] .mge-back:hover{background:rgba(200,164,106,0.08)}
        html[data-theme="dark"] .mge-tb-btn:hover{background:rgba(240,237,232,0.090)}
        html[data-theme="dark"] .mge-char-count.mge-over{color:#e5675e}
        html[data-theme="dark"] .mge-item.mge-sel{background:rgba(200,164,106,0.05)}
        html[data-theme="dark"] .mge-jbar{background:#6fa8ff}
        html[data-theme="dark"] .mge-photo-canvas{background:#1c1c1d}
        html[data-theme="dark"] .mge-jdel:hover{color:#e5675e}
        html[data-theme="dark"] .mge-note-del:hover{color:#e5675e}
        html[data-theme="dark"] .mge-note-cc.mge-over{color:#e5675e}
        /* ─────────── FEEDBACK FIXES (ревью Марка) ─────────── */
        /* Скроллбары (тема-независимо): прячем десктопные полосы, прокрутка сохраняется */
        *{ scrollbar-width:none !important; -ms-overflow-style:none !important; }
        *::-webkit-scrollbar{ display:none !important; width:0 !important; height:0 !important; }
        *::-webkit-scrollbar-track,*::-webkit-scrollbar-thumb{ display:none !important; }

        /* 1. Верхняя панель: тёмный фон + ЗОЛОТЫЕ надпись/иконки/кнопки */
        html[data-theme="dark"] .top-panel{ background:#141414; border-bottom:1px solid rgba(240,237,232,0.10); box-shadow:0 2px 6px rgba(0,0,0,0.55); }
        html[data-theme="dark"] .tp-center{ color:#c8a46a; }
        html[data-theme="dark"] .tp-icon .material-symbols-outlined{ color:#c8a46a; }
        html[data-theme="dark"] .tp-icon:hover{ background:rgba(200,164,106,0.14); }
        html[data-theme="dark"] .tp-menu-btn{ background:rgba(200,164,106,0.12); border:1px solid rgba(200,164,106,0.30); color:#c8a46a; }
        html[data-theme="dark"] .tp-menu-btn .material-symbols-outlined{ color:#c8a46a; }
        html[data-theme="dark"] .tp-menu-btn:hover{ background:rgba(200,164,106,0.22); }

        /* 2. Все заполняемые поля: тёмная заливка + ПОСТОЯННАЯ золотая обводка */
        html[data-theme="dark"] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),
        html[data-theme="dark"] textarea,
        html[data-theme="dark"] select{
          background:#222223 !important;
          color:#f0ede8;
          border-color:rgba(200,164,106,0.45) !important;
        }
        html[data-theme="dark"] input::placeholder,
        html[data-theme="dark"] textarea::placeholder{ color:#767574; }
        html[data-theme="dark"] input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,
        html[data-theme="dark"] textarea:focus,
        html[data-theme="dark"] select:focus{ border-color:#c8a46a !important; }
        /* нативные галочки/радио (None / Full Library / Certain / max и т.п.) → золотые */
        html[data-theme="dark"] input[type=checkbox],
        html[data-theme="dark"] input[type=radio]{ accent-color:#c8a46a; }

        /* 3. Кастомные поля-обёртки / селекторы / чекбоксы: золотая обводка */
        html[data-theme="dark"] .search-input-wrap,
        html[data-theme="dark"] .ms-trigger,
        html[data-theme="dark"] .csel-trigger,
        html[data-theme="dark"] .po-check-row,
        html[data-theme="dark"] .po-comm-chip,
        html[data-theme="dark"] .compare-type-label,
        html[data-theme="dark"] .cmp-pm-btn,
        html[data-theme="dark"] .acm-type-label{ border-color:rgba(200,164,106,0.45); }

        /* ═══════════════════════ /DARK THEME ═══════════════════════ */


        /* ═══════════════════════ EXAM — dark ═══════════════════════ */
        /* Ролевой маппинг тот же, что у всей страницы: surface → #1c1c1d, текст → #f0ede8,   */
        /* приглушённый → #b7b5b2, бренд/акцент → золото #c8a46a. Оранжевый (серия, слабые    */
        /* места) оставляем предупреждающим — по формуле warn не уходит в золото.             */
        html[data-theme="dark"] .ex-card,
        html[data-theme="dark"] .ex-block,
        html[data-theme="dark"] .ex-badge { background:#1c1c1d; border-color:rgba(240,237,232,0.16); }
        html[data-theme="dark"] .ex-card-title,
        html[data-theme="dark"] .ex-ring-lbl,
        html[data-theme="dark"] .ex-k,
        html[data-theme="dark"] .ex-note,
        html[data-theme="dark"] .ex-empty,
        html[data-theme="dark"] .ex-streak-unit,
        html[data-theme="dark"] .ex-streak-foot,
        html[data-theme="dark"] .ex-rank { color:#b7b5b2; }
        html[data-theme="dark"] .ex-ring-val,
        html[data-theme="dark"] .ex-streak-val,
        html[data-theme="dark"] .ex-v,
        html[data-theme="dark"] .ex-me-sub,
        html[data-theme="dark"] .ex-lb-name,
        html[data-theme="dark"] .ex-lb-stat,
        html[data-theme="dark"] .ex-topic-nm { color:#f0ede8; }
        html[data-theme="dark"] .ex-lb-stat small { color:#b7b5b2; }
        html[data-theme="dark"] .ex-ring-bg,
        html[data-theme="dark"] .ex-day,
        html[data-theme="dark"] .ex-topic-bar { stroke:rgba(240,237,232,0.16); background:rgba(240,237,232,0.16); }
        html[data-theme="dark"] .ex-ring-bg { background:none; }
        html[data-theme="dark"] .ex-ring-fill { stroke:#c8a46a; }
        html[data-theme="dark"] .ex-day.on { background:#c8a46a; }
        html[data-theme="dark"] .ex-badge.got { color:#f0ede8; border-color:#c8a46a; }
        html[data-theme="dark"] .ex-badge.got .material-symbols-outlined { color:#c8a46a; }
        html[data-theme="dark"] .ex-badge,
        html[data-theme="dark"] .ex-badge .material-symbols-outlined { color:#b7b5b2; }
        html[data-theme="dark"] .ex-lb-row { border-bottom-color:rgba(240,237,232,0.16); }
        html[data-theme="dark"] .ex-lb-row.me { background:rgba(200,164,106,0.09); }
        html[data-theme="dark"] .ex-lb-you { color:#c8a46a; }
        html[data-theme="dark"] .ex-kv > div { border-bottom-color:rgba(240,237,232,0.16); }
        html[data-theme="dark"] .ex-warn{background:rgba(230,119,0,.10);border-color:var(--color-orange);color:#f0ede8;}
