/*
 CHISAN Goals & Missions · calm task library
 Scope: only #page-missions. Existing mission data and detail/audit contracts
 are preserved; private services remain disconnected in this preview.
*/
#page-missions{max-width:1100px;margin:0 auto;padding-top:7px;min-width:0;}
#page-missions .missions-intro{
  display:flex;align-items:flex-end;justify-content:space-between;gap:22px;
  margin:12px 0 29px;min-width:0;
}
#page-missions .missions-intro-copy{min-width:0}
#page-missions .missions-intro .eyebrow{margin:0 0 8px!important;
  font-size:.7rem!important;letter-spacing:.12em!important;color:var(--accent)!important}
#page-missions .missions-intro h1{
  font-size:clamp(2rem,3.45vw,3.25rem)!important;line-height:1.13!important;
  letter-spacing:-.052em!important;margin:0 0 9px!important;color:var(--ink)!important;
}
#page-missions .missions-subtitle{
  color:var(--muted)!important;line-height:1.6!important;
  max-width:610px;font-size:.88rem!important;margin:0!important
}
#page-missions .missions-demo-label{
  display:inline-flex;align-items:center;gap:8px;flex-shrink:0;
  padding:8px 11px;border:1px solid var(--border);border-radius:999px;
  color:var(--muted);font-size:.72rem;font-weight:640;white-space:nowrap
}
#page-missions .missions-demo-label span{color:var(--accent);font-size:.78rem}
#page-missions .missions-glance{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
  border:1px solid var(--border);border-radius:19px;
  background:linear-gradient(140deg,var(--surface),var(--surface2));
  overflow:hidden;margin-bottom:22px
}
#page-missions .missions-glance>div{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  min-height:104px;padding:22px 28px;position:relative
}
#page-missions .missions-glance>div+div::before{
  content:"";position:absolute;left:0;top:25%;height:50%;width:1px;background:var(--border)
}
#page-missions .missions-glance strong{color:var(--ink);font-size:2rem;font-weight:730;
  line-height:1.1;letter-spacing:-.06em}
#page-missions .missions-glance span{color:var(--muted);font-size:.78rem;margin-top:7px;font-weight:580}
#page-missions .missions-library{
  background:var(--surface);border:1px solid var(--border);border-radius:19px;
  padding:25px 29px 9px;min-width:0
}
#page-missions .missions-library-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  margin:0 0 21px
}
#page-missions .missions-library-head h2{
  font-size:1.23rem!important;line-height:1.3!important;letter-spacing:-.035em!important;
  color:var(--ink)!important;margin:0 0 6px!important
}
#page-missions .missions-library-head p{
  font-size:.78rem!important;line-height:1.5;color:var(--muted)!important;margin:0!important
}
#page-missions .missions-private-state{
  display:inline-flex;gap:8px;align-items:center;flex-shrink:0;
  font-size:.69rem;color:var(--muted);padding-top:5px;font-weight:560
}
#page-missions .missions-private-state span{color:var(--warning);font-size:.73rem}
#page-missions .mission-quick-filters{
  display:flex;gap:6px;min-width:0;overflow-x:auto;padding:0 0 15px;
  border-bottom:1px solid var(--border);scrollbar-width:none;overscroll-behavior-x:contain
}
#page-missions .mission-quick-filters::-webkit-scrollbar{display:none}
#page-missions .mission-quick-filters button{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid transparent;border-radius:10px;
  background:transparent;color:var(--muted);font-size:.79rem;font-weight:650;
  padding:10px 15px;min-height:44px;white-space:nowrap;flex:0 0 auto
}
#page-missions .mission-quick-filters button:hover{background:var(--surface2);color:var(--ink)}
#page-missions .mission-quick-filters button.is-selected{
  background:var(--accent-soft)!important;color:var(--ink)!important;
  border-color:var(--accent)!important
}
#page-missions .missions-tools{
  display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;
  margin:16px 0 0;position:relative;min-width:0
}
#page-missions .missions-search-label{
  display:flex!important;align-items:center!important;gap:9px;min-width:225px;
  flex:1 1 260px;margin:0!important;padding:0 13px!important;min-height:45px;
  border:1px solid var(--border);border-radius:11px;background:var(--surface2);
  transition:border-color .15s
}
#page-missions .missions-search-label:focus-within{border-color:var(--accent);
  box-shadow:0 0 0 2px var(--accent-soft)}
#page-missions .missions-search-label svg{width:18px;height:18px;flex-shrink:0;
  stroke:var(--muted);stroke-width:1.9;fill:none;stroke-linecap:round}
#page-missions .missions-search-label input{
  min-width:0!important;flex:1 1 auto;width:100%!important;min-height:43px!important;
  background:transparent!important;border:0!important;outline:0!important;
  box-shadow:none!important;color:var(--ink)!important;font-size:.82rem!important;
  padding:8px 0!important;font-family:inherit
}
#page-missions .missions-search-label input::placeholder{color:var(--faint);opacity:1}
#page-missions .missions-advanced{
  min-width:160px;flex:0 1 auto;position:relative;
}
#page-missions .missions-advanced summary{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  min-height:45px;padding:10px 13px;border:1px solid var(--border);
  border-radius:11px;background:var(--surface2);color:var(--muted);
  font-size:.77rem;font-weight:620;cursor:pointer;list-style:none
}
#page-missions .missions-advanced summary::-webkit-details-marker{display:none}
#page-missions .missions-advanced summary span{font-size:1rem;color:var(--accent)}
#page-missions .missions-advanced[open] summary span{transform:rotate(180deg)}
#page-missions .missions-advanced>label{
  display:block;margin:9px 0 0!important;font-size:.72rem;font-weight:630;
  color:var(--muted);line-height:1.5;min-width:180px
}
#page-missions .missions-advanced select{
  width:100%;display:block;margin:6px 0 0;min-height:44px;
  background:var(--surface2);color:var(--ink);border:1px solid var(--border);
  border-radius:10px;padding:8px;font-size:.8rem;font-weight:550
}
#page-missions .missions-results{
  display:block;color:var(--muted);font-size:.73rem;line-height:1.5;
  margin:12px 0 3px!important;min-height:20px
}
#page-missions .missions-refined-list{display:grid;gap:0;margin:0;padding:0}
#page-missions .missions-refined-list .mission-row{
  display:grid!important;grid-template-columns:40px minmax(0,1fr) auto auto!important;
  gap:15px!important;align-items:center!important;flex-wrap:nowrap!important;
  padding:18px 0!important;margin:0!important;border-top:1px solid var(--border)!important;
  background:transparent!important;min-width:0!important
}
#page-missions .missions-refined-list .mission-indicator{
  display:grid!important;place-items:center;width:38px;height:38px;min-width:38px;
  margin:0!important;border:1px solid var(--border);border-radius:12px;
  color:var(--accent);background:var(--surface2);font-size:1.03rem
}
#page-missions .missions-refined-list .mission-body{min-width:0!important;flex:none!important}
#page-missions .missions-refined-list .mission-title{
  color:var(--ink)!important;font-size:.88rem!important;font-weight:660!important;
  line-height:1.43!important;letter-spacing:-.012em!important;
  overflow-wrap:break-word;margin:0 0 5px!important
}
#page-missions .missions-refined-list .mission-director{
  color:var(--muted)!important;font-size:.72rem!important;line-height:1.45!important;margin:0!important
}
#page-missions .missions-refined-list .state{
  display:inline-flex!important;align-items:center;justify-content:center;
  min-height:28px;padding:5px 9px!important;font-size:.66rem!important;
  white-space:nowrap;border-radius:8px!important
}
#page-missions .missions-refined-list .mission-open{
  display:inline-flex!important;align-items:center;justify-content:center;min-height:40px;
  padding:9px 12px!important;border-radius:10px!important;
  border:1px solid var(--border)!important;background:var(--surface2)!important;
  font-size:.74rem!important;font-weight:660!important;color:var(--ink)!important;
  white-space:nowrap
}
#page-missions .missions-refined-list .mission-open:hover{border-color:var(--accent)!important}
#page-missions .missions-refined-list .empty-state{
  padding:29px 14px;margin:0;text-align:center;color:var(--muted);line-height:1.5;
}
#page-missions .mission-detail{
  border-radius:14px!important;border:1px solid var(--border)!important;
  background:var(--surface2)!important;padding:18px!important;margin:15px 0!important
}
#page-missions .mission-detail[hidden]{display:none!important}
#page-missions .mission-detail-head{gap:10px}
#page-missions .mission-detail-head button{min-height:40px!important;border-radius:10px!important}
@media(max-width:900px){
  #page-missions .missions-library{padding:22px 21px 8px}
  #page-missions .missions-library-head{flex-direction:column;gap:5px}
  #page-missions .missions-private-state{padding-top:0}
}
@media(max-width:680px){
  #page-missions{padding-top:3px}
  #page-missions .missions-intro{margin:8px 0 18px;gap:11px;align-items:flex-start;flex-direction:column}
  #page-missions .missions-intro h1{font-size:2.15rem!important;margin-bottom:7px!important}
  #page-missions .missions-subtitle{font-size:.81rem!important;line-height:1.52!important}
  #page-missions .missions-demo-label{font-size:.68rem;padding:6px 9px}
  #page-missions .missions-glance{margin-bottom:15px;border-radius:15px}
  #page-missions .missions-glance>div{min-height:77px;padding:13px 12px}
  #page-missions .missions-glance strong{font-size:1.55rem}
  #page-missions .missions-glance span{font-size:.66rem;margin-top:5px}
  #page-missions .missions-library{padding:18px 14px 5px;border-radius:15px}
  #page-missions .missions-library-head{margin-bottom:16px}
  #page-missions .missions-library-head h2{font-size:1.13rem!important}
  #page-missions .missions-library-head p{font-size:.72rem!important}
  #page-missions .mission-quick-filters{margin:0 -4px;padding-bottom:12px}
  #page-missions .mission-quick-filters button{font-size:.73rem;padding:8px 11px}
  #page-missions .missions-tools{gap:9px;flex-direction:column}
  #page-missions .missions-search-label{flex:none;width:100%;min-width:0!important}
  #page-missions .missions-advanced{width:100%;min-width:0}
  #page-missions .missions-advanced>summary{min-height:42px;padding:8px 12px}
  #page-missions .missions-advanced>label{width:100%;min-width:0}
  #page-missions .missions-refined-list .mission-row{
    grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important;
    align-items:start!important;padding:15px 1px!important
  }
  #page-missions .missions-refined-list .mission-indicator{display:none!important}
  #page-missions .missions-refined-list .mission-body{grid-column:1/-1;grid-row:1}
  #page-missions .missions-refined-list .mission-title{font-size:.84rem!important;line-height:1.46!important}
  #page-missions .missions-refined-list .mission-director{font-size:.69rem!important}
  #page-missions .missions-refined-list .state{grid-column:1;grid-row:2;justify-self:start}
  #page-missions .missions-refined-list .mission-open{grid-column:2;grid-row:2;min-height:39px}
  #page-missions .mission-detail{padding:14px!important}
}
@media(prefers-reduced-motion:reduce){
  #page-missions .missions-search-label{transition:none!important}
}

/* Hash deep links should start at the page heading, never halfway into the list.
   Browser-native fragment scrolling runs at different times across engines. */
#page-missions{scroll-margin-block-start:100svh!important}

/* Goals are a focused workspace. Duplicate companion notices and controls
   remain available on other modules, but not above this explicit sample page. */
.shell[data-active-page="missions"] #presence-rail,
.shell[data-active-page="missions"] .notice{display:none!important}
.shell[data-active-page="missions"] .page-width{padding-top:21px!important}
@media(max-width:680px){
  .shell[data-active-page="missions"] .topbar{min-height:50px!important;
    height:50px!important;padding:7px 14px!important}
  .shell[data-active-page="missions"] .page-width{padding-top:11px!important}
}
