
/* =========================================================
   Feature activation dashboard
   ========================================================= */
.feat-dash{max-width:1480px}
.feat-intro{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;
  margin-bottom:12px;padding:20px 22px;border:1px solid #E0E8DB;border-radius:16px;
  background:linear-gradient(120deg,#fff 0%,#F8FBF3 68%,#F2F9E9 100%)}
.feat-intro:after{content:"";position:absolute;right:-70px;top:-100px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(215,242,106,.42),transparent 68%);pointer-events:none}
.feat-intro-copy{position:relative;z-index:1;max-width:720px}
.feat-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:8.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#567066}
.feat-eyebrow-dot{width:5px;height:5px;border-radius:50%;background:var(--emerald);box-shadow:0 0 0 3px rgba(14,159,110,.12)}
.feat-intro h2{margin:7px 0 6px;font-size:26px;line-height:1.06;letter-spacing:-.04em;color:var(--ink)}
.feat-intro p{margin:0;max-width:70ch;font-size:11.5px;line-height:1.6;color:#65766D}
.feat-intro-actions{position:relative;z-index:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.feat-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:35px;padding:0 12px;border-radius:8px;
  border:1px solid #DCE6DA;background:#fff;color:var(--ink);font-size:10.5px;font-weight:800;cursor:pointer;transition:.15s}
.feat-btn:hover{border-color:#BFD4C3;background:#F7FBF5}
.feat-btn--primary{background:var(--ink);border-color:var(--ink);color:#F7F4E6}
.feat-btn--primary:hover{background:var(--emerald-deep);border-color:var(--emerald-deep);color:#fff}
.feat-btn--primary:disabled{opacity:.5;cursor:not-allowed}
.feat-dirty-badge{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;margin-left:1px;border-radius:99px;background:var(--lime);color:var(--ink);font-size:8px;font-weight:900}
.feat-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}
.feat-kpi{position:relative;min-height:99px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}
.feat-kpi-label{display:block;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8B978F}
.feat-kpi>strong{display:block;margin-top:6px;font-family:var(--font-display);font-size:25px;line-height:1;letter-spacing:-.04em;color:var(--ink)}
.feat-kpi>strong i{font-style:normal;font-size:12px;letter-spacing:-.01em;color:#9BA69F}
.feat-kpi>small{display:block;margin-top:6px;font-size:8.5px;color:#8B978F}
.feat-kpi-icon{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#F3F6F0;color:#5D7A69}
.feat-kpi--active{background:#F7FBEE;border-color:#DDEBCE}
.feat-kpi--active .feat-kpi-icon{background:#E8F5D5;color:#3F7A4C}
.feat-kpi--quiet .feat-kpi-icon{background:#FAF5E7;color:#9B7A32}
.feat-meter{height:4px;margin-top:10px;border-radius:99px;background:#E4EEDB;overflow:hidden}
.feat-meter i{display:block;height:100%;border-radius:99px;background:var(--emerald);transition:width .2s ease}
.feat-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}
.feat-search{display:flex;align-items:center;gap:8px;width:min(370px,100%);height:36px;padding:0 10px;border:1px solid #DCE4D9;border-radius:8px;background:#fff;color:#728278}
.feat-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:10.5px;color:var(--ink)}
.feat-search input::placeholder{color:#93A097}
.feat-search-clear{display:grid;place-items:center;width:21px;height:21px;flex:none;border-radius:50%;color:#728278;background:#F1F4EE}
.feat-search-clear:hover{background:#E3EADF;color:var(--ink)}
.feat-filters{display:inline-flex;gap:2px;padding:3px;border-radius:8px;background:#EDF1E9}
.feat-filters button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 9px;border-radius:6px;font-size:9.5px;font-weight:800;color:#75837A}
.feat-filters button b{display:inline-grid;place-items:center;min-width:17px;height:15px;padding:0 4px;border-radius:99px;background:rgba(255,255,255,.7);font-size:7.5px;color:#819086}
.feat-filters button:hover{color:var(--ink)}
.feat-filters button.is-on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(10,21,18,.08)}
.feat-filters button.is-on b{background:var(--lime);color:var(--ink)}
.feat-result{margin-left:auto;font-size:9px;font-weight:700;color:#8B978F;white-space:nowrap}
.feat-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:13px;align-items:start}
.feat-side{position:sticky;top:14px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}
.feat-side-head{padding:3px 6px 8px;font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#95A198}
.feat-side-nav{display:flex;flex-direction:column;gap:1px}
.feat-side-nav a{display:flex;align-items:center;gap:7px;min-height:32px;padding:5px 6px;border-radius:7px;color:#66776D;font-size:9.5px;font-weight:700;transition:.14s}
.feat-side-nav a:hover{background:#F5F8F2;color:var(--ink)}
.feat-side-nav a.is-active{background:#F2F8EA;color:#24513F}
.feat-nav-ic{display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:6px;background:#F4F7F1;color:#758A7D}
.feat-side-nav a.is-active .feat-nav-ic{background:#E4F1D4;color:#3C7250}
.feat-nav-label{flex:1;min-width:0;line-height:1.3}
.feat-side-nav b{font-size:8px;font-weight:800;color:#94A197;font-variant-numeric:tabular-nums}
.feat-side-note{display:flex;gap:7px;margin-top:10px;padding:9px 6px 1px;border-top:1px solid #EEF1EA;color:#8B978F;font-size:8px;line-height:1.5}
.feat-side-note .ico{color:#6D8877;margin-top:1px}
.feat-content{min-width:0}
.feat-group{scroll-margin-top:72px;margin-bottom:11px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.feat-group-head{display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid #EEF1EA;background:#FCFDF9}
.feat-group-icon{display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:8px;background:#EDF5E5;color:#3F7650}
.feat-group-copy{flex:1;min-width:0}
.feat-group-copy h2{font-size:13px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.feat-group-copy p{margin:1px 0 0;font-size:8.5px;line-height:1.4;color:#87948B}
.feat-group-count{font-size:8px;font-weight:700;color:#96A198;white-space:nowrap}
.feat-group-count b{color:#3E6652;font-weight:900}
.feat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px}
.feat-item{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:105px;padding:10px;border:1px solid #E9EDE5;border-radius:9px;background:#fff;transition:border-color .14s,background .14s}
.feat-item:hover{border-color:#CFDCCB;background:#FDFEFA}
.feat-item.is-off{background:#FCFCF9}
.feat-item.is-off .feat-item-icon{background:#F5F5F0;color:#9AA69A}
.feat-item.is-off .feat-item-title strong{color:#65736A}
.feat-item-main{display:flex;align-items:flex-start;gap:8px;flex:1;min-width:0}
.feat-item-icon{display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:8px;background:#F0F7E9;color:#3F7650}
.feat-item-copy{flex:1;min-width:0}
.feat-item-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.feat-item-title strong{font-size:10.5px;font-weight:800;line-height:1.25;color:var(--ink)}
.feat-kind{padding:1px 5px;border-radius:99px;background:#F2F5EF;color:#849287;font-size:6.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.feat-item-copy p{margin:3px 0 7px;font-size:8.5px;line-height:1.45;color:#78867D}
.feat-item-foot{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.feat-config{display:inline-flex;align-items:center;gap:2px;font-size:8px;font-weight:800;color:#39785A}
.feat-config:hover{color:var(--emerald-deep);text-decoration:underline}
.feat-req{display:inline-flex;align-items:center;gap:3px;padding:1px 5px;border-radius:99px;background:#FBF4E4;color:#9A7627;font-size:7px;font-weight:800}
.feat-note{font-size:7.5px;color:#94A097}
.feat-control{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none;padding-top:1px}
.feat-state{font-size:7px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6E8C7C}
.feat-item.is-off .feat-state{color:#A1ABA3}
.feat-item .feat-switch{width:36px;height:21px}
.feat-item .feat-switch::after{width:15px;height:15px;left:3px;top:3px}
.feat-item .feat-switch:checked::after{transform:translateX(15px)}
.feat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;padding:30px;border:1px dashed #DCE6D8;border-radius:12px;background:#FCFDF9;text-align:center}
.feat-empty-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:9px;border-radius:12px;background:#F0F5EA;color:#668572}
.feat-empty h3{font-size:14px;color:var(--ink)}
.feat-empty p{margin:4px 0 12px;font-size:10px;color:#87948B}
.feat-savebar{position:sticky;bottom:10px;z-index:15;display:flex;align-items:center;gap:9px;margin-top:13px;padding:10px 12px;border:1px solid #E0E7DC;border-radius:11px;background:#fff;box-shadow:0 16px 34px -30px rgba(10,21,18,.35)}
.feat-savebar.is-dirty{background:#0B1F1A;border-color:#0B1F1A;box-shadow:0 18px 40px -28px rgba(11,31,26,.65)}
.feat-savebar-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:8px;background:#F2F6EE;color:#547260}
.feat-savebar.is-dirty .feat-savebar-icon{background:rgba(215,242,106,.15);color:var(--lime)}
.feat-savebar-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.feat-savebar-copy strong{font-size:10.5px;font-weight:800;color:var(--ink)}
.feat-savebar.is-dirty .feat-savebar-copy strong{color:#F7F4E6}
.feat-savebar-copy small{font-size:8.5px;color:#8A978E}
.feat-savebar.is-dirty .feat-savebar-copy small{color:#AEC0B5}
.feat-save-state{padding:3px 7px;border-radius:99px;background:#F1F5EE;color:#829187;font-size:7px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.feat-savebar.is-dirty .feat-save-state{background:rgba(215,242,106,.14);color:var(--lime)}
.feat-savebar-btn{min-height:32px;padding:0 12px;border-radius:7px;background:var(--emerald);color:#fff;font-size:9.5px;font-weight:800;cursor:pointer;transition:.15s}
.feat-savebar-btn:hover{background:var(--emerald-deep)}
.feat-savebar-btn:disabled{opacity:.42;cursor:not-allowed}
.feat-savebar.is-dirty .feat-savebar-btn{background:var(--lime);color:var(--ink)}
.feat-savebar.is-dirty .feat-savebar-btn:hover{background:#E7FF9C}
.feat-toast{position:fixed;right:22px;bottom:76px;z-index:90;max-width:320px;padding:10px 13px;border-radius:8px;background:#0B1F1A;color:#F7F4E6;font-size:10px;font-weight:700;box-shadow:0 16px 34px -20px rgba(11,31,26,.55)}
.feat-toast[hidden]{display:none!important}
.feat-item[hidden],.feat-group[hidden],.feat-empty[hidden]{display:none!important}
.feat-search-clear[hidden]{display:none!important}
@media(max-width:1200px){.feat-grid{grid-template-columns:1fr}}
@media(max-width:1020px){
  .feat-layout{grid-template-columns:1fr}
  .feat-side{display:none}
  .feat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .feat-intro{align-items:flex-start;padding:16px}
  .feat-intro h2{font-size:22px}
  .feat-intro-actions{width:100%}
  .feat-intro-actions .feat-btn{flex:1}
  .feat-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feat-kpi{min-height:90px}
  .feat-search{width:100%}
  .feat-result{width:100%;margin-left:0}
  .feat-grid{grid-template-columns:1fr;padding:8px}
  .feat-group-head{align-items:flex-start}
  .feat-group-count{margin-left:auto}
  .feat-item{min-height:0}
  .feat-savebar{bottom:6px;flex-wrap:wrap}
  .feat-savebar-copy{flex-basis:calc(100% - 45px)}
  .feat-save-state{display:none}
  .feat-savebar-btn{margin-left:37px}
  .feat-toast{right:12px;left:12px;bottom:70px;max-width:none}
}
