/* ETM Platform — navy/teal design language. Functional base; refined in design pass. */
:root{
  --etm-navy:#1e3a5f; --etm-navy-d:#162c49; --etm-teal:#0d9488; --etm-teal-d:#0b7c72;
  --etm-ink:#1f2937; --etm-muted:#64748b; --etm-line:#e2e8f0; --etm-bg:#f1f5f9;
  --etm-card:#fff; --etm-radius:14px; --etm-shadow:0 1px 3px rgba(16,24,40,.06),0 1px 2px rgba(16,24,40,.04);
}
.etm-wrap{max-width:1140px;margin:0 auto;padding:28px 18px;color:var(--etm-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;}
.etm-wrap *{box-sizing:border-box;}
.etm-card{background:var(--etm-card);border:1px solid var(--etm-line);border-radius:var(--etm-radius);padding:22px 24px;box-shadow:var(--etm-shadow);margin-bottom:20px;}
.etm-card h2{font-size:17px;margin:0 0 16px;color:var(--etm-navy);}
.etm-muted{color:var(--etm-muted);}
.etm-ico{width:18px;height:18px;flex:0 0 auto;vertical-align:middle;}
.etm-ico-lg{width:42px;height:42px;color:#cbd5e1;}

/* Buttons */
.etm-btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;line-height:1;padding:11px 18px;border-radius:10px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:.15s;}
.etm-btn .etm-ico{width:17px;height:17px;}
.etm-btn-teal{background:var(--etm-teal);color:#fff;}.etm-btn-teal:hover{background:var(--etm-teal-d);color:#fff;}
.etm-btn-navy{background:var(--etm-navy);color:#fff;}.etm-btn-navy:hover{background:var(--etm-navy-d);color:#fff;}
.etm-btn-ghost{background:#fff;color:var(--etm-navy);border-color:var(--etm-line);}.etm-btn-ghost:hover{border-color:var(--etm-navy);}
.etm-btn-block{width:100%;justify-content:center;}

/* Forms */
.etm-field{margin-bottom:14px;}
.etm-field label{display:block;font-size:13px;font-weight:600;color:#334155;margin-bottom:6px;}
.etm-field input[type=text],.etm-field input[type=email],.etm-field input[type=tel],.etm-field input[type=url],.etm-field input[type=number],.etm-field input[type=password],.etm-field input[type=search],.etm-field textarea,.etm-field select,.etm-directory select,.etm-directory input[type=search]{
  width:100%;padding:10px 12px;border:1px solid var(--etm-line);border-radius:9px;font-size:14px;font-family:inherit;background:#fff;color:var(--etm-ink);}
.etm-field textarea{resize:vertical;}
.etm-field input:focus,.etm-field textarea:focus,.etm-field select:focus{outline:none;border-color:var(--etm-teal);box-shadow:0 0 0 3px rgba(13,148,136,.12);}
.etm-hint{font-size:12px;color:var(--etm-muted);margin:4px 0 0;}
.etm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.etm-form-cell.etm-col-2,.etm-field.etm-field-textarea,.etm-field.etm-field-regions,.etm-field.etm-field-checkboxes,.etm-field.etm-field-services,.etm-field.etm-field-image{grid-column:1/-1;}
.etm-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 14px;}
.etm-check,.etm-radio{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#334155;cursor:pointer;}
.etm-radios{display:flex;gap:16px;flex-wrap:wrap;}
.etm-toggle{display:flex;align-items:center;gap:10px;font-size:14px;margin:8px 0;cursor:pointer;}
.etm-form-actions{display:flex;align-items:center;gap:14px;margin-top:4px;}
.etm-form-status{font-size:13px;font-weight:600;}
.etm-form-status.is-ok{color:var(--etm-teal);}.etm-form-status.is-err{color:#b32d2e;}

/* Notices */
.etm-notice{padding:12px 16px;border-radius:10px;font-size:14px;display:flex;gap:8px;align-items:center;margin-bottom:16px;}
.etm-notice-warn{background:#fef3c7;color:#92400e;}
.etm-avatar-field{display:flex;align-items:center;gap:14px;}
.etm-avatar-preview{width:72px;height:72px;border-radius:50%;overflow:hidden;background:var(--etm-bg);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--etm-muted);}
.etm-avatar-preview img{width:100%;height:100%;object-fit:cover;}

/* Auth */
.etm-auth{max-width:460px;}.etm-auth-wide{max-width:720px;}
.etm-auth-card h1{font-size:22px;color:var(--etm-navy);margin:0 0 18px;}
.etm-auth-alt{font-size:13px;margin:12px 0 0;color:var(--etm-muted);}
.etm-typepick{border:none;padding:0;margin:0 0 18px;}
.etm-typepick legend{font-weight:600;font-size:14px;margin-bottom:10px;}
.etm-typepick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.etm-typecard{position:relative;cursor:pointer;}
.etm-typecard input{position:absolute;opacity:0;}
.etm-typecard-body{display:block;border:1.5px solid var(--etm-line);border-radius:12px;padding:14px;transition:.15s;}
.etm-typecard-body .etm-ico{color:var(--etm-teal);width:22px;height:22px;}
.etm-typecard-body strong{display:block;font-size:14px;margin:6px 0 2px;color:var(--etm-navy);}
.etm-typecard-body em{font-style:normal;font-size:12px;color:var(--etm-muted);}
.etm-typecard input:checked + .etm-typecard-body{border-color:var(--etm-teal);background:#f0fdfa;}

/* Dashboard */
.etm-dashboard{display:grid;grid-template-columns:248px 1fr;gap:24px;align-items:start;}
.etm-dash-side{background:var(--etm-navy);border-radius:var(--etm-radius);padding:18px 14px;position:sticky;top:20px;}
.etm-dash-user{display:flex;gap:12px;align-items:center;padding:6px 8px 16px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:12px;}
.etm-dash-user img{width:44px;height:44px;border-radius:50%;object-fit:cover;}
.etm-dash-user strong{display:block;color:#fff;font-size:14px;}
.etm-badge-pill{display:inline-block;font-size:11px;color:#cbd5e1;margin-top:3px;}
.etm-dash-nav{display:flex;flex-direction:column;gap:2px;}
.etm-dash-nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:9px;color:#cbd5e1;text-decoration:none;font-size:14px;font-weight:500;transition:.12s;}
.etm-dash-nav a .etm-ico{width:18px;height:18px;}
.etm-dash-nav a:hover{background:rgba(255,255,255,.08);color:#fff;}
.etm-dash-nav a.is-active{background:var(--etm-teal);color:#fff;}
.etm-nav-count{margin-left:auto;background:#fff;color:var(--etm-navy);font-size:11px;font-style:normal;font-weight:700;border-radius:10px;padding:1px 7px;}
.etm-nav-logout{margin-top:8px;border-top:1px solid rgba(255,255,255,.12);padding-top:14px!important;}
.etm-dash-main{min-width:0;}
.etm-tab-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;}
.etm-tab-head h1{font-size:22px;color:var(--etm-navy);margin:0 0 4px;}

/* Stats */
.etm-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:20px;}
.etm-stat-card{background:#fff;border:1px solid var(--etm-line);border-radius:var(--etm-radius);padding:18px 20px;box-shadow:var(--etm-shadow);}
.etm-stat-num{display:block;font-size:30px;font-weight:700;color:var(--etm-navy);line-height:1;}
.etm-stat-lbl{font-size:13px;color:var(--etm-muted);}
.etm-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;}
.etm-quick-grid a{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--etm-line);border-radius:10px;text-decoration:none;color:var(--etm-navy);font-weight:600;font-size:14px;}
.etm-quick-grid a:hover{border-color:var(--etm-teal);background:#f0fdfa;}
.etm-quick-grid .etm-ico{color:var(--etm-teal);}
.etm-upsell{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(120deg,#f0fdfa,#fff);border-color:#99f6e4;}
.etm-upsell h2{margin-bottom:6px;}

/* Progress */
.etm-progress{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:13px;color:var(--etm-muted);}
.etm-progress-bar{flex:1;height:8px;background:var(--etm-line);border-radius:99px;overflow:hidden;}
.etm-progress-bar span{display:block;height:100%;background:var(--etm-teal);}

/* Threads */
.etm-thread-layout{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start;}
.etm-thread-list{list-style:none;margin:0;padding:0;border:1px solid var(--etm-line);border-radius:var(--etm-radius);overflow:hidden;background:#fff;}
.etm-thread-list li a{display:block;padding:13px 15px;border-bottom:1px solid var(--etm-line);text-decoration:none;color:var(--etm-ink);}
.etm-thread-list li.is-open a{background:#f0fdfa;border-left:3px solid var(--etm-teal);}
.etm-thread-list strong{display:block;font-size:14px;}
.etm-thread-status{display:inline-block;font-size:11px;text-transform:capitalize;color:var(--etm-muted);margin:3px 0;}
.etm-thread-snip{display:block;font-size:12px;color:var(--etm-muted);}
.etm-thread-msgs{display:flex;flex-direction:column;gap:10px;margin:16px 0;max-height:440px;overflow:auto;}
.etm-msg{max-width:78%;}
.etm-msg.is-mine{margin-left:auto;text-align:right;}
.etm-msg-bubble{background:#f1f5f9;padding:10px 14px;border-radius:12px;font-size:14px;display:inline-block;text-align:left;}
.etm-msg.is-mine .etm-msg-bubble{background:var(--etm-teal);color:#fff;}
.etm-msg-time{font-size:11px;color:var(--etm-muted);display:block;margin-top:2px;}
.etm-reply-form textarea{width:100%;}
.etm-reply-form{display:flex;flex-direction:column;gap:10px;}
.etm-reply-form button{align-self:flex-start;}

/* Plans */
.etm-plan-current{display:flex;justify-content:space-between;align-items:center;}
.etm-plan-price{font-size:24px;font-weight:700;color:var(--etm-navy);}
.etm-plan-price span{font-size:14px;font-weight:500;color:var(--etm-muted);}
.etm-plan-grid,.etm-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;}
.etm-plan-option,.etm-pricing-card{border:1px solid var(--etm-line);border-radius:var(--etm-radius);padding:20px;text-align:center;}
.etm-pricing-card.is-featured,.etm-plan-option.is-current{border-color:var(--etm-teal);box-shadow:0 0 0 2px rgba(13,148,136,.15);}
.etm-plan-tag{display:inline-block;background:#f0fdfa;color:var(--etm-teal-d);font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px;}
.etm-status-chip,.etm-chip-status{display:inline-flex;gap:6px;align-items:center;font-size:13px;font-weight:600;padding:6px 12px;border-radius:99px;}
.etm-substatus-active,.etm-status-chip{background:#f0fdfa;color:var(--etm-teal-d);}
.etm-substatus-failed,.etm-substatus-cancelled{background:#fef2f2;color:#b32d2e;}

/* Profile page */
.etm-profile-hero{display:flex;gap:22px;align-items:center;}
.etm-hero-avatar img{width:96px;height:96px;border-radius:18px;object-fit:cover;}
.etm-hero-badge,.etm-sidebar-badge{display:inline-flex;gap:7px;align-items:center;font-size:12px;font-weight:700;padding:5px 11px;border-radius:99px;background:#eef2f6;color:var(--etm-navy);}
.etm-badge-verified,.etm-badge-premium,.etm-badge-training,.etm-badge-claimed{background:#f0fdfa;color:var(--etm-teal-d);}
.etm-hero-main h1{margin:8px 0 4px;font-size:26px;color:var(--etm-navy);}
.etm-hero-tagline{color:var(--etm-muted);margin:0 0 8px;}
.etm-hero-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--etm-muted);}
.etm-hero-meta span{display:inline-flex;align-items:center;gap:5px;}
.etm-hero-services{list-style:none;display:flex;gap:14px;flex-wrap:wrap;padding:0;margin:12px 0 0;}
.etm-hero-services li{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--etm-navy);}
.etm-hero-services .etm-ico{color:var(--etm-teal);width:15px;height:15px;}
.etm-profile-grid{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start;margin-top:20px;}
.etm-prose{font-size:15px;line-height:1.7;color:#334155;}
.etm-tick-list{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.etm-tick-list li{display:flex;gap:9px;align-items:flex-start;font-size:14px;}
.etm-tick-list .etm-ico{color:var(--etm-teal);margin-top:1px;}

/* Sidebar */
.etm-sidebar{position:sticky;top:20px;background:#fff;border:1px solid var(--etm-line);border-radius:var(--etm-radius);padding:20px;box-shadow:var(--etm-shadow);}
.etm-sidebar-badge{margin-bottom:14px;}
.etm-facts{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:11px;}
.etm-facts li{display:grid;grid-template-columns:20px 1fr;gap:8px;font-size:13px;align-items:start;}
.etm-facts .etm-ico{color:var(--etm-teal);grid-row:span 2;}
.etm-row-label{color:var(--etm-muted);font-size:12px;}
.etm-row-val{font-weight:600;color:var(--etm-ink);word-break:break-word;}
.etm-socials{display:flex;gap:8px;margin-bottom:16px;}
.etm-socials a{color:var(--etm-navy);}
.etm-socials a:hover{color:var(--etm-teal);}
.etm-upgrade-note{font-size:13px;color:var(--etm-muted);}
.etm-sharelink{margin-top:14px;font-size:12px;}
.etm-copy{display:flex;gap:6px;margin-top:6px;}
.etm-copy input{flex:1;font-size:12px;padding:7px 9px;border:1px solid var(--etm-line);border-radius:8px;}
.etm-copy-btn{background:var(--etm-navy);color:#fff;border:none;border-radius:8px;padding:0 10px;cursor:pointer;}

/* Region map */
.etm-regionmap{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;}
.etm-regionmap svg{width:230px;height:auto;}
.etm-region-pills{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;}
.etm-region-pills li{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--etm-navy);}
.etm-region-pills li:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--etm-teal);}

/* Directory */
.etm-dir-head h1{font-size:24px;color:var(--etm-navy);margin:0 0 4px;}
.etm-dir-count{font-size:14px;color:var(--etm-muted);}
.etm-clear{color:var(--etm-teal);margin-left:8px;}
.etm-dir-layout{display:grid;grid-template-columns:250px 1fr;gap:22px;align-items:start;margin-top:18px;}
.etm-dir-filters{background:#fff;border:1px solid var(--etm-line);border-radius:var(--etm-radius);padding:18px;position:sticky;top:20px;}
.etm-filter-block{margin-bottom:14px;}
.etm-filter-block label{display:block;font-size:12px;font-weight:700;color:var(--etm-navy);margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em;}
.etm-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;}
.etm-listing-card{background:#fff;border:1px solid var(--etm-line);border-radius:var(--etm-radius);padding:18px;box-shadow:var(--etm-shadow);display:flex;flex-direction:column;gap:12px;}
.etm-listing-top{display:flex;gap:12px;align-items:flex-start;}
.etm-listing-top img{width:50px;height:50px;border-radius:11px;object-fit:cover;}
.etm-listing-top h3{margin:0;font-size:16px;}
.etm-listing-top h3 a{color:var(--etm-navy);text-decoration:none;}
.etm-listing-loc{font-size:12px;color:var(--etm-muted);display:flex;align-items:center;gap:4px;margin:3px 0 0;}
.etm-chip-status{margin-left:auto;font-size:11px;}
.etm-chip-status.is-unclaimed{background:#f1f5f9;color:var(--etm-muted);}
.etm-listing-bio{font-size:13px;color:#475569;margin:0;}
.etm-listing-chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0;}
.etm-listing-chips li{font-size:11px;background:#f1f5f9;color:#475569;padding:4px 9px;border-radius:99px;}
.etm-listing-actions{display:flex;gap:8px;margin-top:auto;}
.etm-listing-actions .etm-btn{flex:1;justify-content:center;padding:9px 10px;font-size:13px;}
.etm-empty{text-align:center;padding:48px 24px;color:var(--etm-muted);}
.etm-empty .etm-ico-lg{margin-bottom:10px;}

/* Credential chips / flags */
.etm-badge-chips{display:flex;flex-wrap:wrap;gap:8px;}
.etm-cred-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;background:#f0fdfa;color:var(--etm-teal-d);padding:6px 11px;border-radius:8px;border:1px solid #99f6e4;}
.etm-cred-chip .etm-ico{width:14px;height:14px;}
.etm-detail-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--etm-muted);margin:16px 0 7px;}
.etm-flag-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:7px;}
.etm-flag-list li{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:600;color:var(--etm-navy);}
.etm-flag-list .etm-ico{color:var(--etm-teal);width:16px;height:16px;}

/* Reviews */
.etm-review{border-top:1px solid var(--etm-line);padding:14px 0;}
.etm-review:first-of-type{border-top:none;}
.etm-review-stars{display:flex;gap:2px;color:#f59e0b;}
.etm-review-stars .etm-ico{width:15px;height:15px;fill:#f59e0b;}
.etm-review-by{font-size:12px;color:var(--etm-muted);font-weight:600;}

/* Request page */
.etm-request-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;align-items:start;}
.etm-request-intro h1{font-size:28px;color:var(--etm-navy);}
.etm-pricing-head{text-align:center;margin-bottom:22px;}
.etm-pricing-head h1{font-size:28px;color:var(--etm-navy);}
.etm-pricing-section{margin-bottom:30px;}
.etm-pricing-section h2{display:flex;align-items:center;gap:8px;color:var(--etm-navy);}
.etm-pricing-price{font-size:26px;font-weight:700;color:var(--etm-navy);margin:6px 0 14px;}
.etm-pricing-price span{font-size:14px;font-weight:500;color:var(--etm-muted);}

/* Dashboard header (per-group) */
.etm-dash-header{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--etm-line);border-radius:var(--etm-radius);padding:20px 24px;box-shadow:var(--etm-shadow);margin-bottom:20px;position:relative;overflow:hidden;}
.etm-dash-header:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--etm-teal);}
.etm-dash-header-op:before{background:var(--etm-navy);}
.etm-dash-header-tp:before{background:#7c3aed;}
.etm-dh-avatar img{width:80px;height:80px;border-radius:16px;object-fit:cover;}
.etm-dh-main{flex:1;min-width:0;}
.etm-dh-badge{display:inline-flex;gap:6px;align-items:center;font-size:11px;font-weight:700;padding:4px 10px;border-radius:99px;background:#eef2f6;color:var(--etm-navy);}
.etm-dh-name{font-size:22px;color:var(--etm-navy);margin:7px 0 2px;}
.etm-dh-tagline{color:var(--etm-muted);margin:0 0 6px;font-size:14px;}
.etm-dh-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--etm-muted);margin-bottom:8px;}
.etm-dh-meta span{display:inline-flex;gap:5px;align-items:center;}
.etm-dh-meta .etm-ico{width:15px;height:15px;color:var(--etm-teal);}
.etm-dh-regions{list-style:none;display:flex;gap:6px;flex-wrap:wrap;padding:0;margin:0;}
.etm-dh-regions li{font-size:11px;font-weight:600;background:#f0fdfa;color:var(--etm-teal-d);padding:3px 9px;border-radius:99px;}
.etm-dh-regions .etm-dh-more{background:#eef2f6;color:var(--etm-muted);}
.etm-dh-side{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto;}
.etm-dh-ring{position:relative;text-align:center;}
.etm-dh-ring svg{width:56px;height:56px;}
.etm-dh-ring span{display:block;font-size:11px;color:var(--etm-muted);}
.etm-btn-sm{padding:7px 12px;font-size:12px;border-radius:8px;}

/* Repeater */
.etm-repeater-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;}
.etm-repeater-row{display:flex;gap:8px;align-items:center;}
.etm-repeater-row input{flex:1;padding:10px 12px;border:1px solid var(--etm-line);border-radius:9px;font-size:14px;}
.etm-repeater-del{background:#fef2f2;color:#b32d2e;border:none;border-radius:8px;width:38px;height:38px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.etm-rot45{transform:rotate(45deg);}

/* Mini list / hero CTA */
.etm-hero-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(120deg,var(--etm-navy),#28507e);color:#fff;border:none;}
.etm-hero-cta h2{color:#fff;margin-bottom:4px;}
.etm-hero-cta p{margin:0;color:#cbd5e1;font-size:14px;}
.etm-mini-list{list-style:none;margin:0;padding:0;}
.etm-mini-list li a{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--etm-line);text-decoration:none;color:var(--etm-navy);font-weight:600;font-size:14px;}
.etm-mini-list li a em{font-style:normal;font-size:12px;font-weight:600;text-transform:capitalize;color:var(--etm-muted);}
.etm-review-pending{opacity:.7;}
.etm-copy-btn.is-copied{background:var(--etm-teal);}

@media(max-width:900px){
  .etm-dash-header{flex-wrap:wrap;}
  .etm-dashboard,.etm-thread-layout,.etm-profile-grid,.etm-dir-layout,.etm-request-grid{grid-template-columns:1fr;}
  .etm-dash-side{position:static;}
  .etm-form-grid,.etm-typepick-grid{grid-template-columns:1fr;}
  .etm-dash-nav{flex-direction:row;flex-wrap:wrap;}
}
