:root{
  /* Surfaces */
  --bg:#FCFCFA;
  --bg-warm:#F6EFDF;
  --surface:#FFFFFF;
  --surface-2:#F2F0EC;
  --surface-blue:#EEF2FA;
  --surface-blue-2:#E3EAF6;

  /* Text */
  --text:#191C24;
  --text-soft:#4D525C;
  --text-mute:#868B96;
  --text-faint:#B5BAC4;

  /* Brand — Filipino-inspired, muted */
  --flag-blue:#355F8A;
  --flag-red:#B44A46;
  --flag-yellow:#FCD116;
  --blue:#355F8A;
  --blue-2:#2D5277;
  --blue-soft:#55799B;
  --blue-tint:rgba(53,95,138,0.08);
  --blue-tint-2:rgba(53,95,138,0.14);
  --red:#B44A46;
  --red-soft:#C86A66;
  --red-tint:rgba(180,74,70,0.08);
  --gold:#CF9A29;
  --gold-soft:#E0B454;
  --gold-tint:rgba(207,154,41,0.14);

  /* States */
  --green:#2E7D5B;
  --green-tint:rgba(46,125,91,0.12);
  --amber:#B87415;
  --amber-tint:rgba(184,116,21,0.14);
  --urgent:#B44A46;
  --urgent-tint:rgba(180,74,70,0.10);
  --neutral:#6B7280;
  --neutral-tint:rgba(107,114,128,0.10);
  --past:#9CA3AF;

  /* Lines */
  --line:#D7D2C8;
  --line-soft:#E6E1D7;
  --line-strong:#BDB7AC;

  /* Shadows */
  --shadow-xs:none;
  --shadow-sm:none;
  --shadow-md:none;
  --shadow-lg:none;
  --shadow-focus:none;

  /* Radii */
  --r-xs:4px;
  --r-sm:4px;
  --r-md:4px;
  --r-lg:4px;
  --r-xl:4px;
  --r-2xl:24px;
  --r-full:4px;

  --sidebar-w:236px;
  --context-w:300px;

  --ease:cubic-bezier(.22,1,.36,1);
  --ease-precise:cubic-bezier(.4,0,.2,1);
  --ease-emphasis:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{
  background:var(--bg);
  color:var(--text);
  font-family:"Public Sans",system-ui,-apple-system,sans-serif;
  font-size:15px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
body{min-height:100vh;min-height:100dvh;overflow-x:hidden}
img{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font-family:inherit;font-size:16px;color:inherit}
a{color:inherit;text-decoration:none}

/* ========== APP LAYOUT ========== */
.app{
  display:grid;
  grid-template-columns:1fr;
  min-height:100vh;
  min-height:100dvh;
}
@media(min-width:1024px){
  .app{grid-template-columns:var(--sidebar-w) minmax(0,1fr) var(--context-w)}
}
@media(min-width:1440px){
  .app{grid-template-columns:var(--sidebar-w) minmax(0,1fr) 320px}
}

/* ========== SIDEBAR (DESKTOP) ========== */
.sidebar{
  display:none;
  flex-direction:column;
  position:sticky;
  top:0;
  height:100vh;
  height:100dvh;
  padding:24px 18px 18px;
  border-right:1px solid var(--line);
  background:var(--bg);
}
@media(min-width:1024px){.sidebar{display:flex}}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 8px 24px;
}
.brand-name{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:800;
  font-size:20px;
  letter-spacing:-0.02em;
  color:var(--text);
}
.brand-aral{color:var(--flag-blue)}
.brand-p{color:var(--flag-red)}
.brand-h{color:var(--flag-yellow);text-shadow:none}

.nav-label{
  font-size:11px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-mute);
  padding:14px 10px 6px;
}
.nav-list{display:flex;flex-direction:column;gap:2px}
.nav-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:4px!important;
  color:var(--text-soft);
  font-weight:500;
  font-size:14.5px;
  transition:background .2s var(--ease),color .2s var(--ease);
  position:relative;
  text-align:left;
  width:100%;
}
.nav-item .ui-icon{width:18px;height:18px;flex-shrink:0}
.nav-item:hover{background:var(--surface-2);color:var(--text)}
.nav-item.active{
  background:var(--blue);
  color:#fff;
  box-shadow:none;
}
.nav-item.active::before{
  content:"";
  position:absolute;
  left:-18px;top:50%;
  transform:translateY(-50%);
  width:3px;height:18px;
  background:var(--gold);
  border-radius:4px!important;
}
.nav-item .badge-dot{
  margin-left:auto;
  width:6px;height:6px;
  border-radius:4px!important;
  background:var(--red);
}

.nav-secondary{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.user-card{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  border-radius:4px!important;
  background:var(--surface);
  border:1px solid var(--line);
  margin-top:8px;
  transition:background .2s var(--ease);
}
.user-card:hover{background:var(--surface-2)}
.user-card .avatar{width:34px;height:34px;font-size:13px}
.user-card-info{flex:1;min-width:0}
.user-card-name{font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:4px}
.user-card-meta{font-size:11.5px;color:var(--text-mute)}
.user-card .ui-icon{width:16px;height:16px;color:var(--text-mute)}

/* ========== AVATARS ========== */
.avatar{
  border-radius:4px!important;
  display:grid;place-items:center;
  font-weight:700;
  color:#fff;
  flex-shrink:0;
  letter-spacing:-0.02em;
}
.avatar-xs{width:24px;height:24px;font-size:10px}
.avatar-sm{width:32px;height:32px;font-size:12px}
.avatar-md{width:40px;height:40px;font-size:14px}
.avatar-lg{width:56px;height:56px;font-size:18px}
.av-blue{background:#355F8A}
.av-red{background:#B44A46}
.av-gold{background:#CF9A29}
.av-green{background:#2E7D5B}
.av-purple{background:#5D4380}
.av-teal{background:#2E6D77}

/* ========== TOPBAR (MOBILE) ========== */
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px 10px;
  position:sticky;
  top:0;
  background:var(--bg);
  z-index:30;
}
@media(min-width:1024px){.topbar{display:none}}
.topbar-brand{display:flex;align-items:center}
.topbar-brand-name{font-family:"Inter Tight","Public Sans",sans-serif;font-weight:800;font-size:17px;letter-spacing:-0.02em}
.topbar-brand-name .brand-aral{color:var(--flag-blue)}
.topbar-brand-name .brand-p{color:var(--flag-red)}
.topbar-brand-name .brand-h{color:var(--flag-yellow);text-shadow:none}
.topbar-actions{display:flex;align-items:center;gap:8px}

.icon-btn{
  width:38px;height:38px;
  border-radius:4px!important;
  display:grid;place-items:center;
  color:var(--text-soft);
  transition:background .2s var(--ease),color .2s var(--ease);
  position:relative;
}
.icon-btn:hover{background:var(--surface-2);color:var(--text)}
.icon-btn .ui-icon{width:18px;height:18px}
.icon-btn .dot{
  position:absolute;
  top:8px;right:8px;
  width:7px;height:7px;
  border-radius:4px!important;
  background:var(--red);
  border:2px solid var(--bg);
}

/* ========== MAIN ========== */
.main{
  padding:0 16px 88px;
  min-width:0;
  position:relative;
}
@media(min-width:768px){
  .main{padding:0 28px 80px}
}
@media(min-width:1024px){
  .main{padding:32px 28px 60px}
  .main-inner{max-width:880px;margin:0 auto}
}

/* ========== SCREENS ========== */
.screen{display:none;animation:screenIn .5s var(--ease) both}
.screen.is-active{display:block}
@keyframes screenIn{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}

/* ========== HOME ========== */
.greet-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-top:6px;
  margin-bottom:18px;
}
@media(min-width:1024px){
  .greet-row{padding-top:0;margin-bottom:24px}
}
.greet-text p{font-size:13px;color:var(--text-mute);font-weight:500}
.greet-text .greet-name{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:22px;
  letter-spacing:-0.02em;
  color:var(--text);
  margin-bottom:2px;
}
@media(min-width:1024px){
  .greet-text .greet-name{font-size:26px}
}
.greet-actions{display:flex;align-items:center;gap:6px}
@media(min-width:1024px){.greet-actions{display:none}}

/* Hero */
.hero{
  background:var(--surface);
  border-radius:4px!important;
  padding:24px;
  box-shadow:none;
  border:1px solid var(--line-soft);
  margin-bottom:24px;
  position:relative;
  overflow:hidden;
}
@media(min-width:768px){.hero{padding:28px}}
@media(min-width:1024px){.hero{padding:32px}}
.hero::before{
  content:"";
  position:absolute;
  top:-40%;right:-15%;
  width:60%;height:200%;
  background:transparent;
  pointer-events:none;
}
.hero-title{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:26px;
  line-height:1.1;
  letter-spacing:-0.025em;
  color:var(--text);
  margin-bottom:14px;
  position:relative;
}
@media(min-width:768px){.hero-title{font-size:32px}}
@media(min-width:1024px){.hero-title{font-size:36px}}
.hero-stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  position:relative;
}
.hero-stat{
  font-size:14px;
  color:var(--text-soft);
  display:flex;
  align-items:center;
  gap:6px;
}
.hero-stat b{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:18px;
  color:var(--text);
  letter-spacing:-0.02em;
}
.hero-stat.urgent b{color:var(--urgent)}
.hero-stat.warn b{color:var(--amber)}
.hero-stat-divider{
  width:1px;height:14px;
  background:var(--line);
}

/* Block */
.block{margin-bottom:28px}
@media(min-width:1024px){.block{margin-bottom:32px}}
.block-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.block-title{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:19px;
  letter-spacing:-0.02em;
  color:var(--text);
}
@media(min-width:768px){.block-title{font-size:21px}}
.block-meta{font-size:13px;color:var(--text-mute);font-weight:500}
.block-link{
  font-size:13px;
  color:var(--blue);
  font-weight:600;
  transition:color .2s var(--ease);
}
.block-link:hover{color:var(--blue-soft)}

/* Assignment card */
.assign-card{
  background:var(--surface);
  border-radius:4px!important;
  padding:16px;
  box-shadow:none;
  border:1px solid var(--line-soft);
  margin-bottom:10px;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
  cursor:pointer;
  position:relative;
}
@media(min-width:768px){.assign-card{padding:18px 20px}}
@media(hover:hover){
  .assign-card:hover{
    transform:none;
    box-shadow:none;
    border-color:var(--line);
  }
}
.assign-card:active{transform:none}
.assign-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.assign-type{
  font-size:11.5px;
  font-weight:600;
  color:var(--text-soft);
  background:var(--surface-2);
  padding:4px 10px;
  border-radius:4px!important;
  letter-spacing:.01em;
}
.urgency{
  font-size:11.5px;
  font-weight:700;
  padding:4px 10px;
  border-radius:4px!important;
  display:inline-flex;
  align-items:center;
  gap:5px;
  letter-spacing:.01em;
}
.urgency::before{
  content:"";
  width:6px;height:6px;
  border-radius:4px!important;
  background:currentColor;
}
.urgency-today{background:var(--urgent-tint);color:var(--urgent)}
.urgency-soon{background:var(--amber-tint);color:var(--amber)}
.urgency-upcoming{background:var(--neutral-tint);color:var(--neutral)}
.urgency-done{background:var(--green-tint);color:var(--green)}
.urgency-past{background:rgba(124,128,138,.10);color:var(--past)}

.assign-subject{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:16.5px;
  letter-spacing:-0.015em;
  color:var(--text);
  margin-bottom:3px;
}
@media(min-width:768px){.assign-subject{font-size:17.5px}}
.assign-title{
  font-size:14px;
  color:var(--text-soft);
  font-weight:500;
  margin-bottom:10px;
  line-height:1.4;
}
.assign-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 10px;
  font-size:12.5px;
  color:var(--text-mute);
  margin-bottom:12px;
}
.assign-meta b{color:var(--text-soft);font-weight:600}
.assign-meta .dot-sep{width:3px;height:3px;border-radius:4px!important;background:var(--text-faint)}
.assign-deadline{
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.assign-deadline.urgent{color:var(--urgent)}
.assign-deadline.warn{color:var(--amber)}
.assign-deadline.done{color:var(--green)}
.assign-deadline .ui-icon{width:13px;height:13px}

.assign-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:12px;
  border-top:1px solid var(--line-soft);
}
.confirm{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12.5px;
  color:var(--text-soft);
  font-weight:500;
}
.confirm-icon{
  width:18px;height:18px;
  border-radius:4px!important;
  background:var(--green-tint);
  color:var(--green);
  display:grid;place-items:center;
}
.confirm-icon .ui-icon{width:11px;height:11px}
.confirm b{color:var(--text);font-weight:700}
.confirm-status{
  font-size:11.5px;
  font-weight:600;
  color:var(--green);
  margin-left:4px;
}
.assign-actions{display:flex;align-items:center;gap:6px}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 14px;
  border-radius:4px!important;
  font-weight:600;
  font-size:13.5px;
  transition:background .2s var(--ease),color .2s var(--ease),transform .15s var(--ease),border-color .2s var(--ease);
  white-space:nowrap;
  border:1px solid transparent;
}
.btn:active{transform:none}
.btn .ui-icon{width:14px;height:14px}
.btn-sm{padding:7px 11px;font-size:12.5px;border-radius:4px!important}
.btn-primary{background:var(--blue);color:#fff;box-shadow:none}
.btn-primary:hover{background:var(--blue-2)}
.btn-outline{background:transparent;border-color:var(--line-strong);color:var(--text)}
.btn-outline:hover{background:var(--surface-2);border-color:var(--text-mute)}
.btn-ghost{background:transparent;color:var(--text-soft)}
.btn-ghost:hover{background:var(--surface-2);color:var(--text)}
.btn-soft{background:var(--surface-2);color:var(--text)}
.btn-soft:hover{background:var(--surface-blue-2)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:#256E4F}
.btn-amber{background:var(--amber);color:#fff}
.btn-red{background:var(--red);color:#fff}
.btn-block{width:100%}
.btn-lg{padding:13px 20px;font-size:15px;border-radius:4px!important}

/* Progress card */
.progress-card{
  background:var(--surface);
  border-radius:4px!important;
  padding:18px;
  box-shadow:none;
  border:1px solid var(--line-soft);
}
@media(min-width:768px){.progress-card{padding:20px 22px}}
.progress-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.progress-title{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:15px;
  letter-spacing:-0.015em;
}
.progress-count{
  font-size:13px;
  color:var(--text-soft);
  font-weight:600;
}
.progress-count b{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-size:16px;
  color:var(--text);
}
.progress-bar{
  height:8px;
  background:var(--surface-2);
  border-radius:4px!important;
  overflow:hidden;
  margin-bottom:10px;
}
.progress-fill{
  height:100%;
  background:var(--blue);
  border-radius:4px!important;
  width:0;
  transition:width 1.2s var(--ease-emphasis);
}
.progress-msg{
  font-size:13px;
  color:var(--text-mute);
  font-style:italic;
}

/* Activity feed */
.activity-list{display:flex;flex-direction:column}
.activity-item{
  display:flex;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid var(--line-soft);
}
.activity-item:last-child{border-bottom:none}
.activity-icon{
  width:32px;height:32px;
  border-radius:4px!important;
  display:grid;place-items:center;
  flex-shrink:0;
}
.activity-icon .ui-icon{width:15px;height:15px}
.activity-icon.blue{background:var(--blue-tint);color:var(--blue)}
.activity-icon.amber{background:var(--amber-tint);color:var(--amber)}
.activity-icon.green{background:var(--green-tint);color:var(--green)}
.activity-icon.red{background:var(--red-tint);color:var(--red)}
.activity-icon.gold{background:var(--gold-tint);color:var(--gold)}
.activity-body{flex:1;min-width:0;font-size:13.5px;line-height:1.45}
.activity-body p{color:var(--text-soft)}
.activity-body b{color:var(--text);font-weight:700}
.activity-time{
  font-size:11.5px;
  color:var(--text-faint);
  margin-top:2px;
  font-weight:500;
}
.activity-diff{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  background:var(--amber-tint);
  color:var(--amber);
  padding:3px 8px;
  border-radius:4px!important;
  font-weight:600;
  margin-top:4px;
}
.activity-diff .arrow{font-weight:800}

/* ========== TAKDA SCREEN ========== */
.takda-head{margin-bottom:18px}
@media(min-width:1024px){.takda-head{margin-bottom:22px;padding-top:0}}
.display-title{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:800;
  font-size:30px;
  line-height:1.05;
  letter-spacing:-0.03em;
  color:var(--text);
  margin-bottom:6px;
}
@media(min-width:768px){.display-title{font-size:38px}}
@media(min-width:1024px){.display-title{font-size:42px}}
.display-sub{
  font-size:14.5px;
  color:var(--text-soft);
  max-width:520px;
}

/* Search */
.search-wrap{
  display:flex;
  gap:8px;
  margin-bottom:14px;
  position:relative;
}
.search-input{
  flex:1;
  position:relative;
  display:flex;
  align-items:center;
}
.search-input .ui-icon.search-ic{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  color:var(--text-mute);
  pointer-events:none;
  z-index:1;
}
.search-input input{
  width:100%;
  padding:14px 16px 14px 46px;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:var(--surface);
  font-size:15px;
  font-weight:500;
  color:var(--text);
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
  box-shadow:none;
}
@media(min-width:768px){.search-input input{padding:16px 18px 16px 48px;font-size:15.5px;border-radius:4px!important}}
.search-input input::placeholder{color:var(--text-mute)}
.search-input input:focus{
  outline:none;
  border-color:var(--blue);
  box-shadow:none;
}
.kbd-hint{
  position:absolute;
  right:14px;
  font-size:11px;
  font-weight:600;
  color:var(--text-mute);
  background:var(--surface-2);
  padding:3px 7px;
  border-radius:4px!important;
  border:1px solid var(--line);
  font-family:"Public Sans",sans-serif;
}
.filter-btn{
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 16px;
  border-radius:4px!important;
  background:var(--surface);
  border:1px solid var(--line);
  color:var(--text-soft);
  font-weight:600;
  font-size:14px;
  box-shadow:none;
  transition:background .2s var(--ease),color .2s var(--ease);
  flex-shrink:0;
}
@media(min-width:768px){.filter-btn{padding:0 18px;border-radius:4px!important}}
.filter-btn:hover{background:var(--surface-2);color:var(--text)}
.filter-btn .ui-icon{width:16px;height:16px}
.filter-btn .filter-count{
  background:var(--blue);
  color:#fff;
  font-size:10.5px;
  font-weight:700;
  padding:1px 6px;
  border-radius:4px!important;
  margin-left:2px;
}

/* Chips */
.chips-row{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:6px;
  margin-bottom:20px;
  margin-left:-16px;
  margin-right:-16px;
  padding-left:16px;
  padding-right:16px;
  scrollbar-width:none;
}
@media(min-width:768px){
  .chips-row{margin-left:0;margin-right:0;padding-left:0;padding-right:0;flex-wrap:wrap;overflow:visible}
}
.chips-row::-webkit-scrollbar{display:none}
.chip{
  flex-shrink:0;
  padding:7px 13px;
  border-radius:4px!important;
  background:var(--surface);
  border:1px solid var(--line);
  font-size:13px;
  font-weight:500;
  color:var(--text-soft);
  transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
  white-space:nowrap;
}
.chip:hover{background:var(--surface-2);color:var(--text);border-color:var(--line-strong)}
.chip.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.chip .ui-icon{width:11px;height:11px;margin-left:4px;display:inline-block;vertical-align:-1px}

/* Active filters */
.active-filters{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:16px;
}
.active-filter{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 8px 5px 11px;
  background:var(--blue-tint);
  color:var(--blue);
  border-radius:4px!important;
  font-size:12.5px;
  font-weight:600;
}
.active-filter button{
  width:16px;height:16px;
  border-radius:4px!important;
  background:var(--blue-tint-2);
  color:var(--blue);
  display:grid;place-items:center;
}
.active-filter button .ui-icon{width:9px;height:9px}

/* Trending grid */
.trending-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
@media(min-width:640px){.trending-grid{grid-template-columns:1fr 1fr}}
.trend-card{
  background:var(--surface);
  border-radius:4px!important;
  padding:16px;
  border:1px solid var(--line-soft);
  box-shadow:none;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
  cursor:pointer;
  position:relative;
  overflow:hidden;
}
@media(hover:hover){
  .trend-card:hover{
    transform:none;
    box-shadow:none;
    border-color:var(--line);
  }
}
.trend-rank{
  position:absolute;
  top:14px;right:14px;
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:800;
  font-size:14px;
  color:var(--text-faint);
  letter-spacing:-0.02em;
}
.trend-subject{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:15px;
  letter-spacing:-0.015em;
  margin-bottom:4px;
  padding-right:24px;
}
.trend-title{
  font-size:13.5px;
  color:var(--text-soft);
  font-weight:500;
  margin-bottom:12px;
  line-height:1.4;
}
.trend-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-top:12px;
  border-top:1px solid var(--line-soft);
}
.trend-due{
  font-size:12px;
  font-weight:600;
  color:var(--amber);
}
.trend-due.neutral{color:var(--text-mute)}
.trend-checks{
  font-size:12px;
  color:var(--text-mute);
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.trend-checks .ui-icon{width:12px;height:12px;color:var(--green)}

/* Results header */
.results-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.results-title{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:18px;
  letter-spacing:-0.02em;
}
.results-title b{color:var(--blue)}
.results-meta{font-size:13px;color:var(--text-mute)}
.results-meta button{
  color:var(--blue);
  font-weight:600;
  font-size:13px;
  margin-left:8px;
}

/* Result card (richer) */
.result-card{
  background:var(--surface);
  border-radius:4px!important;
  padding:18px;
  border:1px solid var(--line-soft);
  box-shadow:none;
  margin-bottom:10px;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
  cursor:pointer;
}
@media(min-width:768px){.result-card{padding:20px 22px}}
@media(hover:hover){
  .result-card:hover{
    transform:none;
    box-shadow:none;
    border-color:var(--line);
  }
}
.result-top{
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.result-content{flex:1;min-width:0}
.result-thumb{
  width:64px;height:64px;
  border-radius:4px!important;
  background:var(--surface-2);
  flex-shrink:0;
  overflow:hidden;
  position:relative;
}
.result-thumb img{width:100%;height:100%;object-fit:cover}
.result-thumb.no-img{
  display:grid;
  place-items:center;
  color:var(--text-mute);
}
.result-thumb.no-img .ui-icon{width:22px;height:22px}
.result-subject-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:4px;
  flex-wrap:wrap;
}
.result-subject{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:17px;
  letter-spacing:-0.02em;
  color:var(--text);
}
.result-type{
  font-size:11px;
  font-weight:600;
  color:var(--text-soft);
  background:var(--surface-2);
  padding:3px 9px;
  border-radius:4px!important;
}
.result-title{
  font-size:14.5px;
  color:var(--text);
  font-weight:500;
  margin-bottom:8px;
  line-height:1.4;
}
.result-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 8px;
  font-size:12.5px;
  color:var(--text-mute);
  margin-bottom:10px;
}
.result-meta b{color:var(--text-soft);font-weight:600}
.result-meta .dot-sep{width:3px;height:3px;border-radius:4px!important;background:var(--text-faint)}
.result-deadline{
  font-weight:700;
  color:var(--amber);
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.result-deadline.urgent{color:var(--urgent)}
.result-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:14px;
  margin-top:14px;
  border-top:1px solid var(--line-soft);
  flex-wrap:wrap;
}
.verify-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12.5px;
  color:var(--green);
  font-weight:600;
}
.verify-badge .ui-icon{width:14px;height:14px}
.verify-badge.high::after{
  content:"Highly confirmed";
  margin-left:6px;
  padding:2px 8px;
  background:var(--green-tint);
  border-radius:4px!important;
  font-size:11px;
  font-weight:700;
}
.result-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

/* ========== ASSIGNMENT DETAIL ========== */
.detail-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  font-weight:600;
  color:var(--text-soft);
  margin-bottom:16px;
  padding:6px 10px 6px 6px;
  border-radius:4px!important;
  transition:background .2s var(--ease),color .2s var(--ease);
}
.detail-back:hover{background:var(--surface-2);color:var(--text)}
.detail-back .ui-icon{width:14px;height:14px}

.detail-head{margin-bottom:20px}
.detail-subject-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:700;
  color:var(--blue);
  background:var(--blue-tint);
  padding:5px 11px;
  border-radius:4px!important;
  margin-bottom:12px;
  letter-spacing:.01em;
}
.detail-subject-tag::before{
  content:"";
  width:6px;height:6px;
  border-radius:4px!important;
  background:var(--blue);
}
.detail-title{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:800;
  font-size:26px;
  line-height:1.1;
  letter-spacing:-0.025em;
  color:var(--text);
  margin-bottom:14px;
}
@media(min-width:768px){.detail-title{font-size:32px}}

.detail-meta-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:14px;
}
@media(min-width:540px){.detail-meta-grid{grid-template-columns:repeat(4,1fr)}}
.detail-meta-item{
  background:var(--surface);
  border:1px solid var(--line-soft);
  border-radius:4px!important;
  padding:12px 14px;
}
.detail-meta-label{
  font-size:11px;
  font-weight:600;
  color:var(--text-mute);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:4px;
}
.detail-meta-value{
  font-size:14px;
  font-weight:600;
  color:var(--text);
}

.urgency-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:var(--amber-tint);
  border:1px solid rgba(184,116,21,0.18);
  border-radius:4px!important;
  padding:14px 18px;
  margin-bottom:20px;
}
.urgency-banner.urgent{
  background:var(--urgent-tint);
  border-color:rgba(180,74,70,0.18);
}
.urgency-banner.done{
  background:var(--green-tint);
  border-color:rgba(46,125,91,0.18);
}
.urgency-banner-label{
  font-size:12.5px;
  color:var(--text-soft);
  font-weight:500;
  margin-bottom:2px;
}
.urgency-banner-value{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:800;
  font-size:22px;
  letter-spacing:-0.02em;
  color:var(--amber);
}
.urgency-banner.urgent .urgency-banner-value{color:var(--urgent)}
.urgency-banner.done .urgency-banner-value{color:var(--green)}
.urgency-banner-icon{
  width:44px;height:44px;
  border-radius:4px!important;
  background:#fff;
  display:grid;place-items:center;
  color:var(--amber);
  flex-shrink:0;
  box-shadow:none;
}
.urgency-banner.urgent .urgency-banner-icon{color:var(--urgent)}
.urgency-banner.done .urgency-banner-icon{color:var(--green)}
.urgency-banner-icon .ui-icon{width:22px;height:22px}

.detail-section{margin-bottom:24px}
.detail-section-title{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:16px;
  letter-spacing:-0.015em;
  margin-bottom:10px;
  color:var(--text);
}
.detail-desc{
  font-size:14.5px;
  color:var(--text-soft);
  line-height:1.6;
}

.detail-attachment{
  border-radius:4px!important;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--surface);
}
.detail-attachment img{
  width:100%;
  height:auto;
  display:block;
  max-height:340px;
  object-fit:cover;
}
.detail-attachment-meta{
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:12.5px;
  color:var(--text-mute);
}
.detail-attachment-meta b{color:var(--text-soft);font-weight:600}

/* Verification section */
.verify-section{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:4px!important;
  padding:20px;
  box-shadow:none;
  position:relative;
  overflow:hidden;
}
@media(min-width:768px){.verify-section{padding:24px}}
.verify-section::before{display:none}
.verify-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:16px;
  flex-wrap:wrap;
}
.verify-head-title{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:18px;
  letter-spacing:-0.02em;
}
.verify-status-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:var(--green-tint);
  color:var(--green);
  font-size:12.5px;
  font-weight:700;
  padding:5px 11px;
  border-radius:4px!important;
}
.verify-status-pill .ui-icon{width:13px;height:13px}

.verify-bars{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:16px;
}
.verify-bar-row{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13.5px;
}
.verify-bar-label{
  width:130px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--text-soft);
  font-weight:500;
}
.verify-bar-label .ui-icon{width:14px;height:14px}
.verify-bar-label.confirm{color:var(--green)}
.verify-bar-label.unsure{color:var(--amber)}
.verify-bar-label.incorrect{color:var(--red)}
.verify-bar-track{
  flex:1;
  height:8px;
  background:var(--surface-2);
  border-radius:4px!important;
  overflow:hidden;
}
.verify-bar-fill{
  height:100%;
  border-radius:4px!important;
  width:0;
  transition:width 1.2s var(--ease-emphasis);
}
.verify-bar-fill.confirm{background:var(--green)}
.verify-bar-fill.unsure{background:var(--amber)}
.verify-bar-fill.incorrect{background:var(--red)}
.verify-bar-count{
  width:34px;
  text-align:right;
  font-weight:700;
  color:var(--text);
  font-size:13px;
  font-family:"Inter Tight","Public Sans",sans-serif;
}

.verify-summary{
  font-size:14px;
  color:var(--text-soft);
  margin-bottom:14px;
  font-style:italic;
}
.verify-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

/* Corrections */
.correction-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:4px!important;
  padding:16px;
  box-shadow:none;
  border:1px solid var(--line);
}
.correction-head{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:10px;
}
.correction-avatar{
  width:30px;height:30px;
  border-radius:4px!important;
  background:#5D4380;
  color:#fff;
  display:grid;place-items:center;
  font-weight:700;
  font-size:12px;
  flex-shrink:0;
}
.correction-prop{
  font-size:14px;
  color:var(--text);
  font-weight:500;
  line-height:1.45;
  margin-bottom:3px;
}
.correction-meta{
  font-size:12px;
  color:var(--text-mute);
}
.correction-meta b{color:var(--text-soft);font-weight:600}
.correction-actions{
  display:flex;
  gap:8px;
  margin-top:10px;
}

/* Questions */
.q-card{
  background:var(--surface);
  border:1px solid var(--line-soft);
  border-radius:4px!important;
  padding:16px;
  margin-bottom:10px;
  box-shadow:none;
}
.q-text{
  font-size:14.5px;
  color:var(--text);
  font-weight:600;
  margin-bottom:4px;
}
.q-asker{
  font-size:12px;
  color:var(--text-mute);
  margin-bottom:10px;
}
.q-asker b{color:var(--text-soft);font-weight:600}
.q-answer{
  background:var(--surface-2);
  border-radius:4px!important;
  padding:12px 14px;
  font-size:13.5px;
  color:var(--text-soft);
  line-height:1.5;
  margin-bottom:8px;
}
.q-answer-meta{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:var(--text-mute);
}
.q-helpful-btn{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--green);
  font-weight:600;
  font-size:12px;
  padding:3px 8px;
  border-radius:4px!important;
  transition:background .2s var(--ease);
}
.q-helpful-btn:hover{background:var(--green-tint)}
.q-helpful-btn .ui-icon{width:12px;height:12px}

.q-input-wrap{
  display:flex;
  gap:8px;
  margin-top:12px;
}
.q-input-wrap input{
  flex:1;
  padding:11px 14px;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:var(--surface);
  font-size:14px;
  transition:border-color .2s var(--ease);
}
.q-input-wrap input:focus{outline:none;border-color:var(--blue)}
.q-input-wrap button{
  padding:0 14px;
  background:var(--blue);
  color:#fff;
  border-radius:4px!important;
  font-weight:600;
  font-size:13px;
  transition:background .2s var(--ease);
}
.q-input-wrap button:hover{background:var(--blue-2)}

/* Trust badge */
.trust-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:11px;
  font-weight:700;
  padding:2px 8px;
  border-radius:4px!important;
  background:var(--gold-tint);
  color:var(--gold);
  letter-spacing:.01em;
}
.trust-badge .ui-icon{width:11px;height:11px}
.trust-badge.blue{background:var(--blue-tint);color:var(--blue)}
.trust-badge.green{background:var(--green-tint);color:var(--green)}

/* ========== KLASE SCREEN ========== */
.klase-head{
  margin-bottom:18px;
  padding-top:6px;
}
@media(min-width:1024px){.klase-head{padding-top:0}}
.klase-tag{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  color:var(--text-mute);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:6px;
}
.klase-name{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:800;
  font-size:28px;
  letter-spacing:-0.025em;
  margin-bottom:4px;
}
@media(min-width:768px){.klase-name{font-size:34px}}
.klase-sub{font-size:14px;color:var(--text-soft)}

.tabs{
  display:flex;
  gap:4px;
  border-bottom:1px solid var(--line);
  margin-bottom:20px;
  overflow-x:auto;
  scrollbar-width:none;
}
.tabs::-webkit-scrollbar{display:none}
.tab{
  padding:10px 14px;
  font-size:13.5px;
  font-weight:600;
  color:var(--text-mute);
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
  transition:color .2s var(--ease),border-color .2s var(--ease);
  white-space:nowrap;
}
.tab:hover{color:var(--text)}
.tab.active{color:var(--blue);border-bottom-color:var(--blue)}

.klase-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:20px;
}
@media(min-width:540px){.klase-stats{grid-template-columns:repeat(3,1fr)}}
.klase-stat-card{
  background:var(--surface);
  border:1px solid var(--line-soft);
  border-radius:4px!important;
  padding:16px;
  box-shadow:none;
}
.klase-stat-label{
  font-size:11.5px;
  font-weight:600;
  color:var(--text-mute);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:6px;
}
.klase-stat-value{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:800;
  font-size:26px;
  letter-spacing:-0.02em;
  color:var(--text);
  line-height:1;
  margin-bottom:3px;
}
.klase-stat-value.amber{color:var(--amber)}
.klase-stat-value.blue{color:var(--blue)}
.klase-stat-sub{font-size:12px;color:var(--text-mute)}

/* ========== EMPTY STATES ========== */
.empty-state{
  text-align:center;
  padding:48px 24px;
  background:var(--surface);
  border:1px dashed var(--line-strong);
  border-radius:4px!important;
}
.empty-icon{
  width:56px;height:56px;
  margin:0 auto 16px;
  border-radius:4px!important;
  background:var(--surface-2);
  display:grid;place-items:center;
  color:var(--text-mute);
}
.empty-icon .ui-icon{width:26px;height:26px}
.empty-title{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:18px;
  letter-spacing:-0.02em;
  margin-bottom:6px;
}
.empty-sub{
  font-size:14px;
  color:var(--text-soft);
  max-width:320px;
  margin:0 auto;
  font-style:italic;
}

/* ========== CONTEXT SIDEBAR (DESKTOP) ========== */
.context-sidebar{
  display:none;
  flex-direction:column;
  padding:32px 24px;
  position:sticky;
  top:0;
  height:100vh;
  height:100dvh;
  border-left:1px solid var(--line);
  background:var(--bg);
  overflow-y:auto;
}
@media(min-width:1024px){.context-sidebar{display:flex}}
@media(min-width:1440px){.context-sidebar{padding:32px 28px}}

.context-section{margin-bottom:24px}
.context-title{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:13px;
  letter-spacing:-0.01em;
  color:var(--text-mute);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:12px;
  font-size:11px;
}
.week-list{display:flex;flex-direction:column;gap:6px}
.week-item{
  display:flex;
  gap:10px;
  padding:10px 12px;
  border-radius:4px!important;
  background:var(--surface);
  border:1px solid var(--line-soft);
  font-size:13px;
  transition:background .2s var(--ease);
}
.week-item:hover{background:var(--surface-2)}
.week-day{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:11px;
  color:var(--text-mute);
  text-transform:uppercase;
  letter-spacing:.05em;
  width:32px;
  flex-shrink:0;
  padding-top:1px;
}
.week-day.urgent{color:var(--urgent)}
.week-day.warn{color:var(--amber)}
.week-text{color:var(--text-soft);font-weight:500;line-height:1.35}

.class-list{display:flex;flex-direction:column;gap:6px}
.class-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:4px!important;
  background:var(--surface);
  border:1px solid var(--line-soft);
  transition:background .2s var(--ease);
  cursor:pointer;
}
.class-item:hover{background:var(--surface-2)}
.class-icon{
  width:32px;height:32px;
  border-radius:4px!important;
  display:grid;place-items:center;
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:13px;
  color:#fff;
  flex-shrink:0;
}
.class-info{flex:1;min-width:0}
.class-name{font-size:13px;font-weight:600;color:var(--text)}
.class-meta{font-size:11.5px;color:var(--text-mute)}

.trust-card{
  background:var(--surface);
  border:1px solid var(--line-soft);
  border-radius:4px!important;
  padding:14px;
  box-shadow:none;
}
.trust-card-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.trust-card-name{font-size:13px;font-weight:700;color:var(--text)}
.trust-card-meta{font-size:11px;color:var(--text-mute)}
.trust-card-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  font-size:11.5px;
}
.trust-stat{
  background:var(--surface-2);
  padding:8px 10px;
  border-radius:4px!important;
}
.trust-stat b{
  display:block;
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:14px;
  color:var(--text);
  margin-bottom:1px;
}
.trust-stat span{color:var(--text-mute);font-size:10.5px}

/* ========== BOTTOM NAV (MOBILE) ========== */
.bottom-nav{
  position:fixed;
  bottom:0;left:0;right:0;
  height:64px;
  height:calc(64px + env(safe-area-inset-bottom));
  padding-bottom:env(safe-area-inset-bottom);
  background:var(--surface);
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-around;
  z-index:40;
}
@media(min-width:1024px){.bottom-nav{display:none}}
.nav-mobile{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  font-size:10.5px;
  font-weight:600;
  color:var(--text-mute);
  padding:8px 12px;
  flex:1;
  transition:color .2s var(--ease);
}
.nav-mobile .ui-icon{width:20px;height:20px}
.nav-mobile.active{color:var(--blue)}
.nav-mobile.avatar-mobile{padding-top:6px}
.nav-mobile.avatar-mobile .avatar{width:24px;height:24px;font-size:10px;border:2px solid transparent;transition:border-color .2s var(--ease)}
.nav-mobile.avatar-mobile.active .avatar{border-color:var(--blue)}

.compose-fab{
  width:48px;height:48px;
  border-radius:4px!important;
  background:var(--blue);
  color:#fff;
  display:grid;place-items:center;
  margin-top:-18px;
  box-shadow:none;
  flex-shrink:0;
  transition:transform .15s var(--ease),background .2s var(--ease);
  border:3px solid var(--bg);
}
.compose-fab:active{transform:none}
.compose-fab .ui-icon{width:22px;height:22px}

/* ========== MODAL / SHEET ========== */
.overlay{
  position:fixed;
  inset:0;
  background:rgba(25,28,36,0.5);
  opacity:0;
  pointer-events:none;
  transition:opacity .3s var(--ease);
  z-index:90;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.overlay.is-open{opacity:1;pointer-events:auto}

.sheet{
  position:fixed;
  z-index:100;
  background:var(--surface);
  transition:transform .4s var(--ease-emphasis),opacity .3s var(--ease);
  opacity:0;
  pointer-events:none;
}
.sheet.is-open{opacity:1;pointer-events:auto}

/* Bottom sheet (mobile) */
.sheet-bottom{
  bottom:0;left:0;right:0;
  border-radius:4px!important;
  max-height:88vh;
  max-height:88dvh;
  overflow-y:auto;
  transform:translateY(100%);
  padding:8px 18px 32px;
  padding-bottom:calc(32px + env(safe-area-inset-bottom));
}
.sheet-bottom.is-open{transform:translateY(0)}
.sheet-handle{
  width:36px;height:4px;
  border-radius:4px!important;
  background:var(--text-faint);
  margin:8px auto 18px;
}
.sheet-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}
.sheet-title{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:22px;
  letter-spacing:-0.02em;
  margin-bottom:4px;
}
.sheet-sub{font-size:13.5px;color:var(--text-soft)}
.sheet-close{
  width:34px;height:34px;
  border-radius:4px!important;
  background:var(--surface-2);
  display:grid;place-items:center;
  color:var(--text-soft);
  flex-shrink:0;
  transition:background .2s var(--ease);
}
.sheet-close:hover{background:var(--surface-blue-2);color:var(--text)}
.sheet-close .ui-icon{width:16px;height:16px}

/* Modal (desktop) */
@media(min-width:768px){
  .sheet-bottom{
    bottom:auto;top:50%;left:50%;
    transform:translate(-50%,-46%);
    border-radius:4px!important;
    width:min(560px,92vw);
    max-height:88vh;
    max-height:88dvh;
    padding:24px 28px 28px;
    padding-bottom:28px;
  }
  .sheet-bottom.is-open{transform:translate(-50%,-50%)}
  .sheet-handle{display:none}
  .sheet-head{margin-bottom:22px}
  .sheet-title{font-size:24px}
}

/* Filter sheet */
.filter-group{margin-bottom:18px}
.filter-label{
  font-size:11.5px;
  font-weight:700;
  color:var(--text-mute);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:8px;
}
.filter-options{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.filter-opt{
  padding:8px 13px;
  border-radius:4px!important;
  border:1px solid var(--line);
  background:var(--surface);
  font-size:13px;
  font-weight:500;
  color:var(--text-soft);
  transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.filter-opt:hover{background:var(--surface-2);color:var(--text)}
.filter-opt.active{background:var(--blue);color:#fff;border-color:var(--blue)}

.filter-input{
  width:100%;
  padding:11px 14px;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:var(--surface);
  font-size:14px;
  transition:border-color .2s var(--ease);
}
.filter-input:focus{outline:none;border-color:var(--blue)}

.filter-actions{
  display:flex;
  gap:8px;
  position:sticky;
  bottom:0;
  background:var(--surface);
  padding-top:14px;
  margin-top:8px;
}

/* Compose form */
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:14px;
}
.form-field{display:flex;flex-direction:column;gap:5px}
.form-field-full{grid-column:1/-1}
.form-label{
  font-size:11.5px;
  font-weight:600;
  color:var(--text-mute);
  text-transform:uppercase;
  letter-spacing:.05em;
}
.form-input,.form-select{
  padding:11px 14px;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:var(--surface);
  font-size:14px;
  font-weight:500;
  color:var(--text);
  transition:border-color .2s var(--ease);
  width:100%;
}
.form-input:focus,.form-select:focus{outline:none;border-color:var(--blue)}
.form-select{
  appearance:auto;
  background-image:none;
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:14px;
  padding-right:36px;
}

.type-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  margin-bottom:14px;
}
@media(min-width:480px){.type-grid{grid-template-columns:repeat(4,1fr)}}
.type-opt{
  padding:9px 8px;
  border-radius:4px!important;
  border:1px solid var(--line);
  background:var(--surface);
  font-size:12px;
  font-weight:600;
  color:var(--text-soft);
  text-align:center;
  transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.type-opt:hover{background:var(--surface-2);color:var(--text)}
.type-opt.active{background:var(--blue-tint);color:var(--blue);border-color:var(--blue)}

.textarea-field{
  width:100%;
  min-height:90px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:var(--surface);
  font-size:14px;
  font-weight:500;
  color:var(--text);
  resize:vertical;
  font-family:inherit;
  transition:border-color .2s var(--ease);
}
.textarea-field:focus{outline:none;border-color:var(--blue)}
.textarea-field::placeholder{color:var(--text-mute)}

.attach-row{
  display:flex;
  gap:8px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.attach-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:10px 14px;
  border-radius:4px!important;
  border:1px dashed var(--line-strong);
  background:var(--surface);
  font-size:13px;
  font-weight:600;
  color:var(--text-soft);
  transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.attach-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--text-mute)}
.attach-btn .ui-icon{width:14px;height:14px}

/* AI detected preview */
.ai-preview{
  display:flex;
  gap:12px;
  background:var(--surface-blue);
  border:1px solid var(--line);
  border-radius:4px!important;
  padding:12px;
  margin-bottom:14px;
  position:relative;
  overflow:hidden;
}
.ai-preview::before{display:none}
.ai-preview-img{
  width:72px;height:72px;
  border-radius:4px!important;
  background:var(--surface-2);
  flex-shrink:0;
  overflow:hidden;
}
.ai-preview-img img{width:100%;height:100%;object-fit:cover}
.ai-preview-body{flex:1;min-width:0}
.ai-preview-tag{
  font-size:10.5px;
  font-weight:700;
  color:var(--blue);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:4px;
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.ai-preview-tag::before{
  content:"";
  width:5px;height:5px;
  border-radius:4px!important;
  background:var(--gold);
}
.ai-preview-title{
  font-family:"Inter Tight","Public Sans",sans-serif;
  font-weight:700;
  font-size:14px;
  letter-spacing:-0.01em;
  margin-bottom:2px;
}
.ai-preview-meta{font-size:11.5px;color:var(--text-mute);line-height:1.4}
.ai-preview-btn{
  font-size:12px;
  font-weight:700;
  color:var(--blue);
  margin-top:6px;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.ai-preview-btn .ui-icon{width:11px;height:11px}

/* ========== TOAST ========== */
.toast-container{
  position:fixed;
  bottom:80px;
  left:50%;
  transform:translateX(-50%);
  z-index:200;
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:center;
  pointer-events:none;
  width:max-content;
  max-width:calc(100vw - 32px);
}
@media(min-width:1024px){
  .toast-container{
    bottom:auto;
    top:24px;
    right:24px;
    left:auto;
    transform:none;
    align-items:flex-end;
  }
}
.toast{
  background:var(--text);
  color:#fff;
  padding:11px 16px;
  border-radius:4px!important;
  font-size:13.5px;
  font-weight:500;
  box-shadow:none;
  display:flex;
  align-items:center;
  gap:8px;
  pointer-events:auto;
  animation:toastIn .4s var(--ease-emphasis),toastOut .4s var(--ease) 2.6s forwards;
  max-width:100%;
}
.toast .ui-icon{width:16px;height:16px;color:var(--gold-soft);flex-shrink:0}
.toast.success .ui-icon{color:#5FCB8E}
@keyframes toastIn{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:none}
}
@keyframes toastOut{
  to{opacity:0;transform:translateY(-12px)}
}

/* ========== SCROLLBAR ========== */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(25,28,36,0.14);border-radius:4px!important}
::-webkit-scrollbar-thumb:hover{background:rgba(25,28,36,0.24)}

/* ========== HELPER ========== */
.hidden{display:none !important}
.flex-row{display:flex;align-items:center;gap:8px}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
}


/* ========== DATABASE-DRIVEN UI ADDITIONS ========== */
.user-card[role="button"]{cursor:pointer}
.data-list:empty,.assign-list:empty,.trending-grid:empty{min-height:0}
.compact-empty{padding:30px 20px}
.context-empty{font-size:12px;color:var(--text-mute);line-height:1.5;padding:10px 2px}
.auth-required-note{padding:10px 12px;margin-bottom:14px;border-radius:4px!important;background:var(--amber-tint);color:var(--amber);font-size:12.5px;font-weight:600}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:var(--surface-2);border-radius:4px!important;margin-bottom:16px}
.auth-tab{padding:9px 10px;border-radius:4px!important;font-size:13px;font-weight:700;color:var(--text-mute)}
.auth-tab.active{background:var(--surface);color:var(--blue);box-shadow:none}
.profile-actions{display:flex;justify-content:space-between;gap:8px;margin-top:18px}
.loading-row{height:96px;border-radius:4px!important;background:var(--surface-2);animation:aralphFlatPulse 1.1s ease-in-out infinite;border:1px solid var(--line-soft);margin-bottom:10px}
.loading-card{height:130px;border-radius:4px!important;background:var(--surface-2);animation:aralphFlatPulse 1.1s ease-in-out infinite;border:1px solid var(--line-soft)}
@keyframes aralphFlatPulse{0%,100%{opacity:.62}50%{opacity:1}}
.data-error{padding:12px 14px;border:1px solid rgba(180,74,70,.16);background:var(--red-tint);color:var(--red);border-radius:4px!important;font-size:12.5px;line-height:1.5}
.connection-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--text-mute)}
.connection-pill::before{content:"";width:6px;height:6px;border-radius:4px!important;background:var(--past)}
.connection-pill.online::before{background:var(--green)}
.assignment-owner{display:inline-flex;align-items:center;gap:5px}
.detail-action-row{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 20px}
.detail-empty-note{font-size:13px;color:var(--text-mute);font-style:italic;padding:10px 0}
.correction-list,.question-list{display:flex;flex-direction:column;gap:10px}
.correction-card.accepted{border-color:var(--line)}
.correction-status{display:inline-flex;padding:2px 7px;border-radius:4px!important;font-size:10.5px;font-weight:700;background:var(--surface-2);color:var(--text-mute);margin-left:6px;text-transform:capitalize}
.correction-card.accepted .correction-status{background:var(--green-tint);color:var(--green)}
.q-no-answer{font-size:12px;color:var(--text-mute);font-style:italic;padding:8px 0}
.select-empty-hint{font-size:11.5px;color:var(--text-mute);margin-top:6px}
.db-status{position:fixed;right:16px;bottom:16px;z-index:45;padding:7px 10px;border-radius:4px!important;background:var(--surface);border:1px solid var(--line);box-shadow:none;font-size:10px;color:var(--text-mute);display:none}
@media(min-width:1024px){.db-status{display:block}}
@media(max-width:767px){.profile-actions{position:sticky;bottom:0;background:var(--surface);padding-top:12px}}
.q-answer-compose{display:flex;gap:8px;align-items:center;margin-top:10px}
.q-answer-compose .form-input{min-width:0;flex:1}
@media(max-width:480px){.q-answer-compose{align-items:stretch}.q-answer-compose .btn{flex-shrink:0}}


/* ========== TANONG ========== */
.tanong-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.tanong-ask-main{flex-shrink:0}
.tanong-search-row{display:flex;gap:8px;margin-bottom:14px}
.tanong-search-input{flex:1}
.tanong-mobile-ask{display:none}
.tanong-tabs{margin-bottom:14px}
.tanong-filter-bar{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:14px;
}
.tanong-filter-bar .form-select{min-width:0;background-color:var(--surface)}
.tanong-summary{font-size:12.5px;color:var(--text-mute);margin-bottom:12px;min-height:18px}
.tanong-list{display:flex;flex-direction:column;gap:10px}
.tanong-card{
  background:var(--surface);
  border:1px solid var(--line-soft);
  border-radius:4px!important;
  padding:18px 20px;
  box-shadow:none;
  cursor:pointer;
  transition:transform .26s var(--ease),box-shadow .26s var(--ease),border-color .26s var(--ease);
}
@media(hover:hover){.tanong-card:hover{transform:none;box-shadow:none;border-color:var(--line)}}
.tanong-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.tanong-context{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}
.tanong-pill{display:inline-flex;align-items:center;padding:4px 9px;border-radius:4px!important;background:var(--surface-2);color:var(--text-soft);font-size:10.5px;font-weight:700}
.tanong-pill.blue{background:var(--blue-tint);color:var(--blue)}
.tanong-pill.solved{background:var(--green-tint);color:var(--green)}
.tanong-title{font-family:"Inter Tight","Public Sans",sans-serif;font-size:18px;line-height:1.25;font-weight:700;letter-spacing:-.018em;color:var(--text);margin-bottom:6px}
.tanong-excerpt{font-size:13.5px;line-height:1.55;color:var(--text-soft);margin-bottom:13px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.tanong-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line-soft);flex-wrap:wrap}
.tanong-author{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-mute);min-width:0}
.tanong-author .avatar{width:26px;height:26px;font-size:9px}
.tanong-author b{color:var(--text-soft);font-weight:700}
.tanong-metrics{display:flex;align-items:center;gap:12px;font-size:11.5px;color:var(--text-mute)}
.tanong-metric{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.tanong-metric .ui-icon{width:13px;height:13px}
.tanong-follow-btn{padding:5px 8px;border-radius:4px!important;font-size:11px;font-weight:700;color:var(--blue)}
.tanong-follow-btn:hover{background:var(--blue-tint)}
.tanong-follow-btn.is-following{background:var(--blue-tint);color:var(--blue)}
.tanong-detail-head{margin-bottom:18px}
.tanong-detail-title{font-family:"Inter Tight","Public Sans",sans-serif;font-size:clamp(27px,4vw,36px);font-weight:800;letter-spacing:-.03em;line-height:1.08;margin:10px 0 10px}
.tanong-detail-body{font-size:14.5px;line-height:1.65;color:var(--text-soft);white-space:pre-wrap}
.tanong-detail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--text-mute)}
.tanong-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 22px}
.tanong-answer-list{display:flex;flex-direction:column;gap:10px}
.tanong-answer-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:4px!important;padding:16px 18px;box-shadow:none}
.tanong-answer-card.accepted{border-color:rgba(46,125,91,.24);box-shadow:none}
.tanong-answer-copy{font-size:14px;line-height:1.62;color:var(--text-soft);white-space:pre-wrap;margin-bottom:12px}
.tanong-answer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line-soft)}
.tanong-answer-person{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-mute)}
.tanong-answer-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.tanong-accepted-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:4px!important;background:var(--green-tint);color:var(--green);font-size:10.5px;font-weight:800}
.tanong-compose-answer{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:4px!important;padding:14px}
.tanong-compose-answer textarea{min-height:88px}
.tanong-compose-actions{display:flex;justify-content:flex-end;margin-top:8px}
.tanong-question-owner-note{font-size:11.5px;color:var(--green);font-weight:700}

@media(max-width:767px){
  .tanong-head{align-items:flex-start;margin-top:4px}
  .tanong-ask-main{display:none}
  .tanong-mobile-ask{display:flex;padding:0 15px}
  .tanong-filter-bar{grid-template-columns:1fr;gap:7px}
  .tanong-card{padding:16px}
  .tanong-card-foot{align-items:flex-start}
}
@media(max-width:480px){
  .tanong-title{font-size:17px}
  .tanong-metrics{width:100%;justify-content:space-between}
  .tanong-detail-actions .btn{flex:1}
  .tanong-answer-foot{align-items:flex-start}
}


/* ========== TAKDA V4 — UTILITY-FIRST HARDENING ========== */
.takda-search-sticky{position:sticky;top:0;z-index:22;background:var(--bg);padding:4px 0 8px;margin-bottom:2px}
@media(max-width:1023px){.takda-search-sticky{top:56px;padding-top:6px}}
.block-sub{font-size:12.5px;color:var(--text-mute);margin-top:3px}
.takda-feed-head{align-items:flex-start}
.takda-feed-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -4px 12px;padding:2px 4px 4px}.takda-feed-tabs::-webkit-scrollbar{display:none}
.takda-sort-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;font-size:11.5px;font-weight:650;color:var(--text-mute)}
.sort-pills{display:flex;align-items:center;gap:5px;overflow-x:auto;scrollbar-width:none}.sort-pills::-webkit-scrollbar{display:none}.sort-pill{padding:5px 9px;font-size:11.5px}
.results-sort-row{padding-bottom:2px}
.filter-text-grid{margin-bottom:18px}.single-select .filter-opt.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.compose-sheet-wide{--compose-max:640px}@media(min-width:768px){.compose-sheet-wide{width:min(var(--compose-max),94vw)}}
.composer-context-note{display:flex;gap:10px;align-items:flex-start;background:var(--blue-tint);border:1px solid rgba(53,95,138,.12);border-radius:4px!important;padding:11px 13px;margin-bottom:14px;font-size:12px;color:var(--text-soft)}.composer-context-note strong{color:var(--blue);white-space:nowrap}.composer-context-note span{line-height:1.45}
.form-label-optional{font-weight:500;text-transform:none;letter-spacing:0;color:var(--text-mute)}
.file-input-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.attach-input-btn{width:max-content;cursor:pointer}.selected-files{display:flex;flex-direction:column;gap:6px;margin-top:8px}.selected-file{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:4px!important;background:var(--surface-2);font-size:12px;color:var(--text-soft)}.selected-file strong{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-file button{color:var(--red);font-weight:700;font-size:11px}
.duplicate-warning{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid rgba(184,116,21,.25);background:var(--amber-tint);border-radius:4px!important;padding:12px 14px;margin:2px 0 14px}.duplicate-warning strong{font-size:13px;color:var(--amber)}.duplicate-warning p{font-size:12px;color:var(--text-soft);margin-top:2px}.duplicate-override{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:650;color:var(--text-soft);white-space:nowrap}.duplicate-override input{accent-color:var(--blue)}
.composer-review{border:1px solid var(--line);background:var(--surface-2);border-radius:4px!important;padding:12px 14px;margin-bottom:14px;font-size:12.5px;color:var(--text-soft);line-height:1.5}.composer-review-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:750;color:var(--text-mute);margin-bottom:5px}.composer-review b{color:var(--text)}
.assign-card .correction-mini,.result-card .correction-mini{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;color:var(--amber);background:var(--amber-tint);padding:2px 7px;border-radius:4px!important;margin-left:6px}
.confidence-wrap{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.confidence-score{font-size:11px;color:var(--text-mute);font-weight:600}.confidence-score b{color:var(--green)}
.detail-owner-actions{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.detail-action-row{flex-wrap:wrap}.detail-action-row .detail-owner-actions{margin-left:auto}
.detail-history{display:flex;flex-direction:column;gap:8px}.history-item{border:1px solid var(--line-soft);border-radius:4px!important;padding:10px 12px;background:var(--surface)}.history-item.accepted{border-color:var(--line)}.history-item-title{font-size:13px;font-weight:650;color:var(--text)}.history-item-meta{font-size:11.5px;color:var(--text-mute);margin-top:2px;line-height:1.45}.community-applied{display:inline-flex;align-items:center;gap:5px;color:var(--green);background:var(--green-tint);border-radius:4px!important;padding:3px 8px;font-size:10.5px;font-weight:750;margin-left:6px}
.attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.attachment-card{border:1px solid var(--line);background:var(--surface);border-radius:4px!important;overflow:hidden;cursor:pointer;text-align:left;transition:.2s var(--ease)}.attachment-card:hover{transform:none;box-shadow:none}.attachment-thumb{aspect-ratio:16/10;background:var(--surface-2);display:grid;place-items:center;overflow:hidden;color:var(--text-mute)}.attachment-thumb img{width:100%;height:100%;object-fit:cover}.attachment-thumb .ui-icon{width:26px;height:26px}.attachment-card-meta{padding:9px 10px}.attachment-card-name{font-size:11.5px;font-weight:650;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-card-type{font-size:10.5px;color:var(--text-mute);margin-top:2px}
.attachment-viewer{position:fixed;inset:0;background:rgba(17,20,28,.72);z-index:150;display:grid;place-items:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .2s var(--ease);backdrop-filter:none}.attachment-viewer.is-open{opacity:1;pointer-events:auto}.attachment-viewer-shell{position:relative;width:min(1000px,96vw);height:min(760px,90dvh);background:#0f1116;border-radius:4px!important;overflow:hidden;box-shadow:none}.attachment-viewer-close{position:absolute;right:10px;top:10px;z-index:2;width:38px;height:38px;border-radius:4px!important;background:rgba(255,255,255,.92);color:#111;font-size:24px;display:grid;place-items:center}.attachment-viewer-content{width:100%;height:100%;display:grid;place-items:center}.attachment-viewer-content img{max-width:100%;max-height:100%;object-fit:contain}.attachment-viewer-content iframe{border:0;width:100%;height:100%;background:#fff}.attachment-viewer-file{color:#fff;text-align:center;padding:24px}.attachment-viewer-file a{display:inline-flex;margin-top:12px;background:#fff;color:#111;padding:10px 14px;border-radius:4px!important;font-weight:700}
@media(max-width:640px){.takda-sort-row{align-items:flex-start;flex-direction:column}.sort-pills{width:100%}.duplicate-warning{flex-direction:column}.attachment-grid{grid-template-columns:1fr}.detail-owner-actions{width:100%;margin-left:0}.detail-owner-actions .btn{flex:1}.composer-context-note{flex-direction:column;gap:3px}}


/* ========== INTERACTION FIXES v4.1 ========== */
.empty-icon.empty-action{
  border:0;
  cursor:pointer;
  color:var(--text-mute);
  transition:transform .18s var(--ease),background .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease);
}
.empty-icon.empty-action:hover{
  background:var(--blue-tint);
  color:var(--blue);
  transform:none;
  box-shadow:none;
}
.empty-icon.empty-action:active{transform:none}
.empty-icon.empty-action:focus-visible{outline:none;box-shadow:none}

.nav-mobile.nav-more.active{color:var(--blue)}

.mobile-more-sheet{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
.mobile-more-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.mobile-more-item{
  min-width:0;
  display:flex;
  align-items:center;
  gap:11px;
  text-align:left;
  padding:12px;
  border:1px solid var(--line-soft);
  border-radius:4px!important;
  background:var(--surface);
  color:var(--text);
  transition:background .2s var(--ease),border-color .2s var(--ease),transform .15s var(--ease);
}
.mobile-more-item:hover{background:var(--surface-2);border-color:var(--line)}
.mobile-more-item:active{transform:none}
.mobile-more-icon{
  width:34px;height:34px;
  flex:0 0 34px;
  display:grid;place-items:center;
  border-radius:4px!important;
  background:var(--surface-2);
  color:var(--blue);
}
.mobile-more-icon .ui-icon{width:17px;height:17px}
.mobile-more-item>span:last-child{min-width:0;display:flex;flex-direction:column;gap:1px}
.mobile-more-item b{font-size:13.5px;font-weight:700;color:var(--text)}
.mobile-more-item small{font-size:10.5px;color:var(--text-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-profile-icon .avatar{width:26px;height:26px;font-size:10px}

@media(max-width:420px){
  .mobile-more-grid{grid-template-columns:1fr}
  .mobile-more-item{padding:11px 12px}
}


/* ========== REALTIME STABILITY + SKELETONS ========== */
.skeleton-row,.skeleton-card{
  position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line-soft);border-radius:4px!important;padding:18px;margin-bottom:10px;min-height:118px;
}
.skeleton-card{min-height:138px;margin:0}
.skeleton-row span,.skeleton-card span,.skeleton-line,.skeleton-grid>div,.skeleton-panel{
  display:block;border-radius:4px!important;background:var(--surface-2);position:relative;overflow:hidden;
}
.skeleton-row span::after,.skeleton-card span::after,.skeleton-line::after,.skeleton-grid>div::after,.skeleton-panel::after{
  content:"";position:absolute;inset:0;transform:translateX(-100%);background:rgba(255,255,255,.28);animation:aralphSkeleton 1.1s ease-in-out infinite;
}
.skeleton-row span:nth-child(1),.skeleton-card span:nth-child(1){width:28%;height:12px;margin-bottom:14px}
.skeleton-row span:nth-child(2),.skeleton-card span:nth-child(2){width:74%;height:18px;margin-bottom:12px}
.skeleton-row span:nth-child(3),.skeleton-card span:nth-child(3){width:52%;height:11px}
@keyframes aralphSkeleton{0%,100%{opacity:.25}50%{opacity:.65}}
.detail-skeleton{display:flex;flex-direction:column;gap:16px;padding-top:4px}
.skeleton-line{height:13px}.skeleton-line.big{height:28px;border-radius:4px!important}.skeleton-line.w-28{width:28%}.skeleton-line.w-70{width:70%}
.skeleton-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.skeleton-grid>div{height:64px;border-radius:4px!important}
.skeleton-panel{height:86px;border-radius:4px!important}.skeleton-panel.tall{height:210px}
.verify-section,.correction-card,.history-item{transition:background .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.verify-section.live-pulse{animation:liveSoftPulse .55s var(--ease)}
@keyframes liveSoftPulse{0%{background:var(--surface)}45%{background:var(--green-tint)}100%{background:var(--surface)}}
/* No decorative rainbow/colored edge treatment in data cards. State color belongs to labels and controls only. */
.verify-section,.correction-card,.history-item{border-color:var(--line)}
@media(max-width:620px){.skeleton-grid{grid-template-columns:1fr 1fr}.skeleton-line.w-70{width:88%}}
@media(prefers-reduced-motion:reduce){.skeleton-row span::after,.skeleton-card span::after,.skeleton-line::after,.skeleton-grid>div::after,.skeleton-panel::after,.verify-section.live-pulse{animation:none!important}}


/* ========== TAKDA DETAIL UX POLISH v4.4 ========== */
.detail-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.detail-section-heading .detail-section-title{margin:0}.detail-section-sub{font-size:12.5px;color:var(--text-mute);line-height:1.5;margin-top:3px;max-width:560px}.section-eyebrow{display:block;font-size:10.5px;font-weight:750;letter-spacing:.075em;text-transform:uppercase;color:var(--text-mute);margin-bottom:4px}.detail-byline{font-size:11.5px;color:var(--text-mute);line-height:1.4}.detail-copy-section .detail-desc{font-size:15px;line-height:1.7}.danger-quiet{color:var(--red)}.danger-quiet:hover{background:var(--red-tint);color:var(--red)}

.verify-section{padding:22px;border:1px solid var(--line);border-radius:4px!important;box-shadow:none;overflow:visible}.verify-head{align-items:flex-start;margin-bottom:18px}.verify-head-title{font-size:20px;line-height:1.2;margin:0}.verify-helper{font-size:12.5px;color:var(--text-mute);margin-top:4px}.verify-status-pill{flex-shrink:0;background:var(--surface-2);color:var(--text-soft);border:1px solid transparent}.verify-status-pill.is-good{background:var(--green-tint);color:var(--green)}.verify-status-pill.is-watch{background:var(--amber-tint);color:var(--amber)}.verify-status-pill.is-bad{background:var(--red-tint);color:var(--red)}.verify-status-pill.is-neutral{background:var(--surface-2);color:var(--text-mute)}
.verify-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.verify-choice{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;padding:13px 12px;border:1px solid var(--line);border-radius:4px!important;background:var(--surface);transition:background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),transform .12s var(--ease)}.verify-choice:hover{background:var(--surface-2);border-color:var(--line-strong)}.verify-choice:active{transform:none}.verify-choice-icon{width:28px;height:28px;border-radius:4px!important;display:grid;place-items:center;background:var(--surface-2);color:var(--text-soft)}.verify-choice-icon .ui-icon{width:14px;height:14px}.verify-choice-copy{min-width:0;display:flex;flex-direction:column}.verify-choice-copy b{font-size:12.5px;line-height:1.25}.verify-choice-copy small{font-size:10.5px;line-height:1.35;color:var(--text-mute);margin-top:2px}.verify-choice>strong{font-family:"Inter Tight","Public Sans",sans-serif;font-size:16px}.verify-choice.confirm.selected{background:var(--green-tint);border-color:rgba(46,125,91,.22);color:var(--green)}.verify-choice.unsure.selected{background:var(--amber-tint);border-color:rgba(184,116,21,.24);color:var(--amber)}.verify-choice.incorrect.selected{background:var(--red-tint);border-color:rgba(180,74,70,.22);color:var(--red)}.verify-choice.selected .verify-choice-icon{background:rgba(255,255,255,.66);color:currentColor}.verify-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;margin-top:14px;border-top:1px solid var(--line-soft)}.verify-footer>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.verify-footer b{font-size:11.5px;color:var(--text-soft)}.verify-footer span{font-size:11px;color:var(--text-mute)}.verify-clear{font-size:11.5px;color:var(--blue);font-weight:650;padding:5px 7px;border-radius:4px!important}.verify-clear:hover{background:var(--blue-tint)}.verify-summary{font-style:normal;font-size:12.5px;line-height:1.5;color:var(--text-mute);margin:10px 0 0}.verify-bars,.verify-actions,.confidence-wrap{display:none!important}

.correction-section-heading{align-items:center}.correction-list{gap:10px}.correction-card{padding:16px 17px;border-radius:4px!important;box-shadow:none;border:1px solid var(--line);background:var(--surface)}.correction-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.correction-person{min-width:0;font-size:12.5px;color:var(--text-soft);line-height:1.35}.correction-person b,.correction-person strong{color:var(--text);font-weight:700}.correction-person span{display:block;font-size:10.5px;color:var(--text-mute);margin-top:2px}.correction-state{font-size:10.5px;font-weight:700;padding:4px 8px;border-radius:4px!important;background:var(--surface-2);color:var(--text-mute)}.correction-state.accepted{background:var(--green-tint);color:var(--green)}.correction-change{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:stretch;margin-top:14px}.correction-value{padding:11px 12px;border-radius:4px!important;background:var(--surface-2);min-width:0}.correction-value span,.correction-reason span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:750;color:var(--text-mute);margin-bottom:4px}.correction-value p{font-size:12.5px;color:var(--text-soft);line-height:1.45;overflow-wrap:anywhere}.correction-value.new{background:var(--blue-tint)}.correction-value.new p{color:var(--text)}.correction-arrow{display:grid;place-items:center;color:var(--text-faint);font-weight:700}.correction-reason{margin-top:8px;padding:9px 11px;border-radius:4px!important;background:var(--bg);border:1px solid var(--line-soft)}.correction-reason p{font-size:11.5px;color:var(--text-soft);line-height:1.45}.correction-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.correction-vote-summary{font-size:10.5px;color:var(--text-mute)}.correction-vote-summary b{color:var(--text-soft)}.correction-actions{margin:0;gap:6px}.correction-vote-btn{font-size:11.5px;font-weight:650;padding:7px 10px;border-radius:4px!important;border:1px solid var(--line);background:var(--surface);color:var(--text-soft)}.correction-vote-btn:hover{background:var(--surface-2)}.correction-vote-btn.agree.selected{background:var(--blue);border-color:var(--blue);color:#fff}.correction-vote-btn.disagree.selected{background:var(--surface-2);border-color:var(--line-strong);color:var(--text)}
.correction-current-preview{margin-top:10px;padding:10px 12px;border-radius:4px!important;background:var(--surface-2);border:1px solid var(--line-soft)}.correction-current-preview span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute);font-weight:700;margin-bottom:3px}.correction-current-preview strong{display:block;font-size:12.5px;color:var(--text-soft);font-weight:600;line-height:1.45;overflow-wrap:anywhere}.form-label-optional{font-weight:500;text-transform:none;letter-spacing:0;color:var(--text-faint)}

.history-disclosure{border:1px solid var(--line);border-radius:4px!important;background:var(--surface);overflow:hidden}.history-disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;cursor:pointer}.history-disclosure>summary::-webkit-details-marker{display:none}.history-disclosure>summary span:first-child{display:flex;align-items:baseline;gap:8px}.history-disclosure>summary b{font-size:13px}.history-disclosure>summary small{font-size:10.5px;color:var(--text-mute)}.history-chevron{color:var(--text-mute);transition:transform .18s var(--ease)}.history-disclosure[open] .history-chevron{transform:rotate(180deg)}.history-disclosure[open]>summary{border-bottom:1px solid var(--line-soft)}.detail-history{gap:0}.history-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;border:0!important;border-radius:4px!important;padding:11px 15px;background:transparent}.history-item+.history-item{border-top:1px solid var(--line-soft)!important}.history-dot{width:8px;height:8px;border-radius:4px!important;margin-top:5px;background:var(--text-faint)}.history-dot.edit{background:var(--blue-soft)}.history-dot.correction{background:var(--amber)}.history-item-title{font-size:12px}.history-item-meta{font-size:10.5px}.history-status{display:inline-flex;margin-left:6px;padding:2px 6px;border-radius:4px!important;background:var(--green-tint);color:var(--green);font-size:9.5px;font-weight:700}

.detail-empty-state.compact{display:flex;flex-direction:column;gap:3px;padding:15px 16px;border:1px dashed var(--line);border-radius:4px!important;background:rgba(255,255,255,.38)}.detail-empty-state.compact b{font-size:12.5px}.detail-empty-state.compact span{font-size:11.5px;line-height:1.45;color:var(--text-mute)}
.q-section{padding-bottom:16px}.question-list{gap:10px}.q-card-polished{padding:15px 16px;border-color:var(--line);box-shadow:none}.q-card-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px;font-size:10.5px;color:var(--text-mute)}.q-card-label{text-transform:uppercase;letter-spacing:.06em;font-weight:750}.q-card-polished .q-text{font-size:14px;margin-bottom:3px}.q-card-polished .q-asker{margin-bottom:10px}.q-answers{display:flex;flex-direction:column;gap:7px}.q-answer-wrap{padding:10px 11px;border-radius:4px!important;background:var(--surface-2)}.q-answer-wrap.best{background:var(--green-tint)}.q-answer-wrap .q-answer{background:transparent;padding:0;margin:0 0 7px;color:var(--text-soft)}.q-answer-wrap .q-answer-meta{justify-content:space-between;flex-wrap:wrap}.q-best-badge{display:inline-flex;margin-left:5px;padding:2px 6px;border-radius:4px!important;background:rgba(255,255,255,.62);color:var(--green);font-size:9.5px;font-weight:700}.q-answer-compose{padding-top:10px;border-top:1px solid var(--line-soft);margin-top:10px}.q-ask-box{display:flex;gap:8px;margin-top:10px;padding:8px;border:1px solid var(--line);border-radius:4px!important;background:var(--surface)}.q-ask-box input{min-width:0;flex:1;border:0;background:transparent;padding:5px 7px;font:inherit;font-size:13px;outline:none}.q-ask-box .btn{flex-shrink:0}

@media(max-width:720px){.verify-choice-grid{grid-template-columns:1fr}.verify-choice{padding:12px}.verify-footer{align-items:flex-start}.correction-section-heading{align-items:flex-start}.correction-section-heading .btn{flex-shrink:0}.correction-change{grid-template-columns:1fr}.correction-arrow{height:14px;transform:rotate(90deg)}.correction-footer{align-items:flex-start;flex-direction:column}.correction-actions{width:100%}.correction-vote-btn{flex:1}.detail-section-heading{flex-direction:column}.detail-byline{margin-top:-4px}.q-ask-box{align-items:stretch}.q-ask-box .btn{padding-left:13px;padding-right:13px}}
@media(max-width:420px){.verify-section{padding:17px}.verify-head{gap:10px}.verify-status-pill{font-size:10.5px}.correction-top{grid-template-columns:auto minmax(0,1fr)}.correction-state{grid-column:2;justify-self:start}.history-disclosure>summary span:first-child{align-items:flex-start;flex-direction:column;gap:1px}}



/* ========== BRAND LOGO / WORDMARK UPDATE ========== */
.brand{
  padding:0 8px 24px;
}
.brand-lockup,
.topbar-brand-lockup{
  display:flex;
  align-items:center;
  gap:12px;
}
.brand-logo{
  width:48px;
  height:48px;
  object-fit:contain;
  flex:none;
  display:block;
}
.topbar-brand-logo{
  width:34px;
  height:34px;
  object-fit:contain;
  flex:none;
  display:block;
}
.brand-name,
.topbar-brand{
  display:flex;
  align-items:center;
}
.brand-wordmark{
  font-family:"Geom","Inter Tight","Public Sans",sans-serif;
  font-weight:800;
  font-size:30px;
  line-height:1;
  letter-spacing:-0.02em;
  color:var(--text);
}
.topbar-brand-name{
  font-family:"Geom","Inter Tight","Public Sans",sans-serif;
  font-weight:800;
  font-size:24px;
  line-height:1;
  letter-spacing:-0.015em;
  color:var(--text);
}
.brand-aral,
.brand-p,
.brand-h{
  color:inherit;
  text-shadow:none;
}
@media(max-width:767px){
  .topbar-brand-logo{
    width:30px;
    height:30px;
  }
  .topbar-brand-name{
    font-size:22px;
  }
}



/* ========== BRAND OPTICAL BALANCE FIX ========== */
.brand-lockup{
  gap:4px;
}
.brand-logo{
  width:58px;
  height:58px;
  margin-left:-2px;
  object-fit:contain;
}
.brand-wordmark{
  font-size:30px;
  line-height:.96;
}
.topbar-brand-lockup{
  gap:5px;
}
.topbar-brand-logo{
  width:40px;
  height:40px;
  margin-left:-1px;
}
.topbar-brand-name{
  font-size:24px;
  line-height:.96;
}
@media(max-width:767px){
  .topbar-brand-lockup{
    gap:4px;
  }
  .topbar-brand-logo{
    width:38px;
    height:38px;
  }
  .topbar-brand-name{
    font-size:23px;
  }
}


/* ========== BRAND COLOR TUNE ========== */
:root{
  --brand-dark:#1f2430;
  --brand-blue-soft:#355f8a;
  --brand-red-soft:#b44a46;
}
.brand-wordmark,
.topbar-brand-name{
  color:var(--brand-dark);
}
.brand-wordmark .brand-aral,
.topbar-brand-name .brand-aral{
  color:var(--brand-dark);
}
.brand-wordmark .brand-p,
.topbar-brand-name .brand-p{
  color:var(--brand-blue-soft);
}
.brand-wordmark .brand-h,
.topbar-brand-name .brand-h{
  color:var(--brand-red-soft);
}


/* ========== TAKDA PRODUCTION PASS ========== */
.takda-personal-summary{background:var(--surface);border:1px solid var(--line);border-radius:4px!important;padding:16px 18px;margin:14px 0 16px;box-shadow:none}
.task-summary-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.task-summary-head>div{display:flex;flex-direction:column;gap:2px}.task-summary-head strong{font-family:"Inter Tight","Public Sans",sans-serif;font-size:18px}.task-summary-head>span{font-size:12px;color:var(--text-mute);font-weight:600}
.task-summary-progress{height:7px;border-radius:4px!important;background:var(--surface-2);overflow:hidden;margin-bottom:14px}.task-summary-progress span{display:block;height:100%;background:var(--blue);border-radius:4px!important;transition:width .35s var(--ease)}
.task-summary-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.task-summary-stats>div{min-width:0;padding:9px 10px;border-radius:4px!important;background:var(--surface-2)}.task-summary-stats b{display:block;font-family:"Inter Tight","Public Sans",sans-serif;font-size:17px}.task-summary-stats span{display:block;font-size:10.5px;color:var(--text-mute);margin-top:1px}
.takda-feed-group{margin:0 0 22px}.takda-feed-group:last-child{margin-bottom:0}.takda-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 9px;padding:0 2px}.takda-group-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-soft)}.takda-group-dot{width:7px;height:7px;border-radius:4px!important;background:var(--text-faint)}.takda-feed-group[data-feed-group="overdue"] .takda-group-dot{background:var(--urgent)}.takda-feed-group[data-feed-group="today"] .takda-group-dot{background:var(--red)}.takda-feed-group[data-feed-group="tomorrow"] .takda-group-dot,.takda-feed-group[data-feed-group="week"] .takda-group-dot{background:var(--amber)}.takda-feed-group[data-feed-group="done"] .takda-group-dot{background:var(--green)}.takda-group-count{font-size:11px;color:var(--text-mute)}
.assignment-personal-badges{display:inline-flex;gap:5px;flex-wrap:wrap;margin-left:4px}.personal-mini{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px!important;background:var(--surface-2);color:var(--text-mute)}.personal-mini.done{background:var(--green-tint);color:var(--green)}.personal-mini.saved{background:var(--blue-tint);color:var(--blue)}
.duplicate-match-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.duplicate-match{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:9px 10px;border:1px solid var(--line);border-radius:4px!important;background:var(--surface);color:var(--text)}.duplicate-match:hover{background:var(--surface-2)}.duplicate-match>span{min-width:0}.duplicate-match b,.duplicate-match small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duplicate-match b{font-size:12px}.duplicate-match small{font-size:10.5px;color:var(--text-mute);margin-top:2px}.duplicate-score{flex:none;font-size:10px;font-weight:700;color:var(--amber)}
.report-reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.report-reason{padding:10px 11px;border-radius:4px!important;border:1px solid var(--line);background:var(--surface);font-size:12.5px;font-weight:600;color:var(--text-soft);text-align:left}.report-reason.active{background:var(--blue-tint);border-color:rgba(53,95,138,.28);color:var(--blue)}.report-note{font-size:11.5px;color:var(--text-mute);line-height:1.5;margin:12px 0 14px}.report-quiet{color:var(--text-mute)!important}.report-quiet.reported{color:var(--green)!important}
.connection-pill[data-mode="reconnecting"]{opacity:.8}
@media(max-width:640px){.task-summary-stats{grid-template-columns:1fr 1fr}.takda-personal-summary{padding:14px}.report-reason-grid{grid-template-columns:1fr}.takda-group-head{padding:0}.takda-feed-group{margin-bottom:18px}}


/* ========== TAKDA TASK WORKSPACE v4.7 ========== */
/* Composer: optional details stay collapsed until the student needs them. */
.composer-optional{
  margin:2px 0 14px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.composer-optional>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 2px;
  cursor:pointer;
  color:var(--text);
}
.composer-optional>summary::-webkit-details-marker{display:none}
.composer-optional>summary span:first-child{display:flex;align-items:baseline;gap:8px;min-width:0}
.composer-optional>summary b{font-size:13.5px}
.composer-optional>summary small{font-size:11px;color:var(--text-mute);font-weight:500}
.composer-optional-chevron{color:var(--text-mute);transition:transform .18s var(--ease)}
.composer-optional[open] .composer-optional-chevron{transform:rotate(180deg)}
.composer-optional-body{padding:2px 0 15px}
.textarea-compact{min-height:82px}
.submission-compact{margin-top:14px}
.submission-method-grid{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.submission-method,.mini-choice{
  min-height:34px;
  padding:7px 11px;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:var(--surface);
  color:var(--text-soft);
  font-size:12px;
  font-weight:650;
  transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease);
}
.submission-method:hover,.mini-choice:hover{background:var(--surface-2);color:var(--text)}
.submission-method.active,.mini-choice.active{background:var(--blue-tint);border-color:rgba(53,95,138,.25);color:var(--blue)}
.mini-choice.subtle{border-color:transparent;color:var(--text-mute);background:transparent}
.submission-fields{margin-top:12px}
.compact-grid{margin-bottom:10px}
.inline-choice-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}
.inline-choice-row>.form-label{margin-right:3px}

/* Detail: one compact workspace, not a pile of cards. */
.task-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  padding:0;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:var(--surface);
  overflow:hidden;
}
.task-workspace-block{padding:17px 18px;min-width:0}
.task-workspace-block+.task-workspace-block{border-left:1px solid var(--line-soft)}
.task-workspace-block:only-child{grid-column:1/-1}
.task-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.task-workspace-head h3{font-family:"Inter Tight","Public Sans",sans-serif;font-size:16px;line-height:1.2;margin:0;color:var(--text)}
.task-count,.submission-badge{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 8px;
  border-radius:4px!important;
  background:var(--surface-2);
  color:var(--text-soft);
  font-size:10.5px;
  font-weight:750;
  white-space:nowrap;
}
.requirement-list{display:flex;flex-direction:column}
.requirement-item{
  width:100%;
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:8px 0;
  text-align:left;
  border-bottom:1px solid var(--line-soft);
  color:var(--text-soft);
  font-size:13px;
  line-height:1.45;
}
.requirement-item:last-child{border-bottom:0;padding-bottom:0}
.requirement-item:first-child{padding-top:1px}
.requirement-item:hover{color:var(--text)}
.requirement-item.done{color:var(--text-mute);text-decoration:none}
.requirement-item.done>span:last-child{text-decoration:line-through}
.requirement-check{
  width:18px;height:18px;flex:0 0 18px;
  border-radius:4px!important;
  border:1px solid var(--line-strong);
  display:grid;place-items:center;
  margin-top:1px;
  font-size:11px;font-weight:800;color:#fff;
}
.requirement-item.done .requirement-check{background:var(--green);border-color:var(--green)}
.submission-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.submission-summary>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.submission-summary>div.wide{grid-column:1/-1}
.submission-summary span{font-size:10.5px;color:var(--text-mute);font-weight:650;text-transform:uppercase;letter-spacing:.045em}
.submission-summary b,.submission-summary a{font-size:12.5px;color:var(--text);font-weight:650;overflow-wrap:anywhere}
.submission-summary a{color:var(--blue)}
.submission-note{margin-top:10px;padding-top:9px;border-top:1px solid var(--line-soft);font-size:12px;color:var(--text-soft);line-height:1.5}

/* Deadline reminder stays attached to the deadline, so it doesn't become another section. */
.urgency-banner-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}
.deadline-reminder-btn{
  display:inline-flex;align-items:center;gap:6px;
  min-height:34px;padding:7px 10px;
  border:1px solid rgba(25,28,36,.10);
  border-radius:4px!important;
  background:rgba(255,255,255,.72);
  color:var(--text-soft);
  font-size:11.5px;font-weight:650;
}
.deadline-reminder-btn:hover{background:#fff;color:var(--text)}
.deadline-reminder-btn.active{color:var(--blue);border-color:rgba(53,95,138,.18);background:var(--blue-tint)}
.reminder-options{display:flex;flex-direction:column;gap:7px}
.reminder-option{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:4px!important;background:var(--surface);text-align:left
}
.reminder-option b{font-size:13px}.reminder-option span{font-size:11.5px;color:var(--text-mute)}
.reminder-option:hover{background:var(--surface-2)}
.reminder-option.active{border-color:rgba(53,95,138,.25);background:var(--blue-tint);color:var(--blue)}
.reminder-option:disabled{opacity:.4;cursor:not-allowed}
.reminder-off{margin-top:10px;color:var(--text-mute)}

/* Related posts remain tucked away unless the student chooses to inspect them. */
.related-list{display:flex;flex-direction:column}
.related-row{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  width:100%;padding:11px 15px;text-align:left;border-bottom:1px solid var(--line-soft);background:transparent
}
.related-row:last-child{border-bottom:0}
.related-row:hover{background:var(--surface-2)}
.related-row>span:first-child{min-width:0;display:flex;flex-direction:column;gap:2px}
.related-row b{font-size:12.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.related-row small{font-size:10.5px;color:var(--text-mute)}
.related-row>span:last-child{font-size:10.5px;font-weight:750;color:var(--text-mute)}
.personal-mini.working{background:var(--blue-tint);color:var(--blue)}

@media(max-width:720px){
  .composer-optional>summary span:first-child{align-items:flex-start;flex-direction:column;gap:1px}
  .submission-method-grid{display:grid;grid-template-columns:1fr 1fr}
  .submission-method{border-radius:4px!important;text-align:left}
  .task-workspace{grid-template-columns:1fr}
  .task-workspace-block+.task-workspace-block{border-left:0;border-top:1px solid var(--line-soft)}
  .submission-summary{grid-template-columns:1fr}
  .submission-summary>div.wide{grid-column:auto}
  .urgency-banner{align-items:flex-start}
  .urgency-banner-tools{align-items:flex-end;flex-direction:column-reverse}
  .deadline-reminder-btn{min-height:32px}
}
@media(max-width:420px){
  .task-workspace-block{padding:15px}
  .reminder-option{align-items:flex-start;flex-direction:column;gap:2px}
}


/* ========== TAKDA PAGE CREATE CTA (DESKTOP) ========== */
.takda-page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.takda-page-head-copy{
  min-width:0;
}
.takda-page-create{
  display:none;
}
@media(min-width:1024px){
  .takda-page-create{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    flex:none;
    min-height:42px;
    margin-top:2px;
    padding:0 16px;
    border:1px solid rgba(31,36,48,.10);
    border-radius:4px!important;
    background:var(--brand-dark,#1f2430);
    color:#fff;
    font:700 13.5px/1 "Public Sans",sans-serif;
    letter-spacing:-.01em;
    box-shadow:none;
    transition:background .16s var(--ease),transform .16s var(--ease),box-shadow .16s var(--ease);
  }
  .takda-page-create .ui-icon{
    width:17px;
    height:17px;
    flex:none;
    ;
  }
  .takda-page-create:hover{
    background:#2a303d;
    transform:none;
    box-shadow:none;
  }
  .takda-page-create:active{
    transform:none;
  }
  .takda-page-create:focus-visible{
    outline:3px solid rgba(53,95,138,.18);
    outline-offset:2px;
  }
}

/* ========== ACTIVITY UPDATES v4.8 · TYPE-AWARE DETAILS ========== */
.smart-type-panel{
  margin:-2px 0 14px;
  padding:14px;
  border:1px solid var(--line-soft);
  border-radius:4px!important;
  background:rgba(255,255,255,.48);
}
.smart-type-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.smart-type-head span{font:700 13px/1.2 "Public Sans",sans-serif;color:var(--text)}
.smart-type-head small{font-size:11px;color:var(--text-mute)}
.smart-type-panel .form-field:last-child{margin-bottom:0}
.smart-mode-row{margin:0 0 12px}
.smart-mode-row .mini-choice.active{background:var(--brand-dark,#1f2430);border-color:var(--brand-dark,#1f2430);color:#fff}

.detail-head-tags{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:8px}
.activity-signal{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border:1px solid var(--line-soft);border-radius:4px!important;background:var(--surface-2);font:700 10px/1 "Public Sans",sans-serif;color:var(--text-soft);white-space:nowrap}
.activity-signal.signal-new{color:var(--brand-blue-soft,#355f8a);background:rgba(53,95,138,.07);border-color:rgba(53,95,138,.12)}
.activity-signal.signal-changed{color:#8a6428;background:rgba(176,132,55,.08);border-color:rgba(176,132,55,.14)}
.activity-signal.signal-verify{color:var(--text-mute)}
.assign-type .activity-signal{margin-left:6px;vertical-align:middle}
.result-subject-row .activity-signal{margin-left:0}
.activity-date-label{font-weight:700;color:inherit}

.source-context{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:9px 12px;border:1px solid var(--line-soft);border-radius:4px!important;background:rgba(255,255,255,.35);font-size:11.5px;color:var(--text-mute)}
.source-context b{color:var(--text-soft);font-weight:700}

.type-aware-detail{padding:16px 18px}
.type-aware-detail .task-workspace-head{margin-bottom:12px}
.type-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.type-detail-grid>div{min-width:0;padding:9px 10px;border-radius:4px!important;background:var(--surface-2)}
.type-detail-grid span{display:block;margin-bottom:3px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-mute)}
.type-detail-grid b,.type-detail-grid a{display:block;overflow-wrap:anywhere;font-size:12.5px;line-height:1.4;color:var(--text);font-weight:650}
.type-detail-grid a{color:var(--flag-blue);text-decoration:none}
.type-detail-subhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 7px;font-size:11px;color:var(--text-mute)}
.type-detail-subhead span{font-weight:700;color:var(--text-soft)}
.coverage-checklist{margin-bottom:12px}
.coverage-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 4px;border:0;border-bottom:1px solid var(--line-soft);background:transparent;text-align:left;color:var(--text-soft)}
.coverage-item:last-child{border-bottom:0}
.coverage-item>span{display:grid;place-items:center;width:18px;height:18px;flex:none;border:1px solid var(--line);border-radius:4px!important;background:var(--surface);font-size:11px;color:#fff}
.coverage-item b{font-size:12.5px;font-weight:600;line-height:1.35}
.coverage-item.done>span{background:var(--brand-dark,#1f2430);border-color:var(--brand-dark,#1f2430)}
.coverage-item.done b{text-decoration:line-through;color:var(--text-mute)}
.milestone-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.milestone-row{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--text-soft)}
.milestone-row>span{width:6px;height:6px;margin-top:6px;border-radius:4px!important;background:var(--text-mute);flex:none}
.milestone-row b{font-weight:600}

.important-changes{margin:10px 0 12px;padding:10px 12px;border:1px solid rgba(176,132,55,.16);border-radius:4px!important;background:rgba(176,132,55,.055)}
.important-changes-title{margin-bottom:6px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#8a6428}
.important-change-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;padding:4px 0;font-size:11.5px;line-height:1.35}
.important-change-row span{color:var(--text-mute)}
.important-change-row b{font-weight:650;color:var(--text-soft);overflow-wrap:anywhere}
.history-change-line{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;margin-top:4px;font-size:11.5px;line-height:1.35}
.history-change-line b{font-weight:700;color:var(--text-soft)}
.history-change-line span{color:var(--text-mute);overflow-wrap:anywhere}

.action-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:4px!important;background:rgba(255,255,255,.18);font-size:10px;font-weight:800}
.primary-action-slot{display:inline-flex}

.selected-file{align-items:center}
.selected-file-main{display:flex;align-items:center;gap:8px;min-width:0}
.selected-file-main strong{max-width:260px}
.selected-file-actions{display:flex;align-items:center;gap:6px;flex:none}
.selected-file .file-label-chip{padding:4px 7px;border:1px solid var(--line-soft);border-radius:4px!important;background:var(--surface);color:var(--text-soft);font-weight:700;font-size:10px}
.attachment-category{display:inline-flex;width:max-content;margin-bottom:4px;padding:3px 6px;border-radius:4px!important;background:var(--surface-2);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-mute)}

@media(max-width:767px){
  .smart-type-panel{padding:12px}
  .source-context{align-items:flex-start;flex-direction:column;gap:3px}
  .type-detail-grid{grid-template-columns:1fr}
  .important-change-row{grid-template-columns:78px minmax(0,1fr)}
  .selected-file{align-items:flex-start}
  .selected-file-main{align-items:flex-start;flex-direction:column;gap:2px}
}
.attachment-disclosure{border-top:1px solid var(--line-soft);padding-top:8px}
.attachment-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;padding:4px 0 10px;font-size:12px;font-weight:700;color:var(--text-soft)}
.attachment-disclosure summary::-webkit-details-marker{display:none}
.attachment-disclosure[open] .history-chevron{transform:rotate(180deg)}
.attachment-disclosure .attachment-grid{margin-top:2px}


/* ========== ACADEMIC PROFILE DEFAULTS ========== */
.profile-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:22px 0 12px;padding-top:18px;border-top:1px solid var(--line-soft)}
.profile-section-head h3{margin:2px 0 0;font-family:"Inter Tight","Public Sans",sans-serif;font-size:18px;letter-spacing:-.02em}
.profile-section-head p{max-width:360px;margin:0;color:var(--text-mute);font-size:12px;line-height:1.45;text-align:right}
.form-helper{margin:7px 0 0;color:var(--text-mute);font-size:11.5px;line-height:1.45}
.profile-teacher-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.profile-teacher-list,.compose-teacher-suggestions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.profile-teacher-chip,.teacher-quick-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 9px;border:1px solid var(--line);border-radius:4px!important;background:var(--surface-2);color:var(--text-soft);font:700 11.5px/1 "Public Sans",sans-serif}
.profile-teacher-chip button{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;background:transparent;color:var(--text-mute);cursor:pointer}
.profile-teacher-chip button .ui-icon{width:12px;height:12px}
.profile-teacher-empty{color:var(--text-mute);font-size:11.5px}
.teacher-quick-chip{cursor:pointer;background:var(--surface);transition:border-color .15s var(--ease),background .15s var(--ease),color .15s var(--ease)}
.teacher-quick-chip:hover,.teacher-quick-chip.active{border-color:rgba(53,95,138,.32);background:rgba(53,95,138,.08);color:var(--brand-blue-soft,#355f8a)}
.composer-context-details{margin:0 0 14px;border:1px solid var(--line);border-radius:4px!important;background:var(--surface)}
.composer-context-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.composer-context-details>summary::-webkit-details-marker{display:none}
.composer-context-details>summary>span:first-child{display:flex;align-items:baseline;gap:8px;min-width:0}
.composer-context-details>summary b{font-size:13px}
.composer-context-details>summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-mute);font-size:11.5px}
.composer-context-details[open] .composer-optional-chevron{transform:rotate(180deg)}
.composer-context-body{padding:0 14px 14px;border-top:1px solid var(--line-soft)}
.composer-context-body .composer-context-note{margin:12px 0;background:transparent;border:0;padding:0}
.composer-primary-context{margin-bottom:14px}
@media(max-width:767px){.profile-section-head{display:block}.profile-section-head p{margin-top:6px;text-align:left}.composer-context-details>summary>span:first-child{display:block}.composer-context-details>summary small{display:block;margin-top:3px;max-width:250px}.profile-teacher-entry{grid-template-columns:minmax(0,1fr) auto}}

/* Keep saved-teacher choices compact inside the composer. */
.compose-teacher-suggestions{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.compose-teacher-suggestions::-webkit-scrollbar{display:none}
.compose-teacher-suggestions .teacher-quick-chip{flex:none;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}



/* ========== ACTIVITY UPDATES v4.8.2 · COMPOSER UI POLISH ========== */
#compose-sheet.compose-sheet-wide{--compose-max:720px}
#compose-sheet .sheet-head{align-items:flex-start;gap:16px;margin-bottom:18px}
#compose-sheet .sheet-title{font-size:34px;line-height:1.02;letter-spacing:-.045em}
#compose-sheet .sheet-sub{max-width:560px;margin-top:8px;font-size:14px;line-height:1.55;color:var(--text-soft)}
#compose-sheet .sheet-close{
  width:42px;height:42px;flex:none;border-radius:4px!important;
  border:1px solid rgba(25,28,36,.08);
  background:rgba(255,255,255,.7);
  box-shadow:none;
}
#compose-sheet .sheet-close:hover{background:#fff;box-shadow:none}

.compose-form-polished{display:flex;flex-direction:column;gap:14px}
.compose-form-polished>*{margin:0!important}
.compose-block{
  padding:16px;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:#fff;
  box-shadow:none;
}
.compose-block--type{background:var(--surface-blue)}
.compose-block--extras{background:var(--surface)}
.compose-field-tight{margin-bottom:0!important}

#compose-form .form-grid{gap:12px;margin-bottom:0}
#compose-form .form-field{gap:7px}
#compose-form .form-label{
  font-size:11px;
  font-weight:750;
  letter-spacing:.08em;
  color:var(--text-mute);
}
#compose-form .form-input,
#compose-form .textarea-field,
#compose-form .form-select{
  width:100%;
  min-height:48px;
  padding:12px 15px;
  border:1px solid rgba(25,28,36,.08);
  border-radius:4px!important;
  background:rgba(255,255,255,.82);
  box-shadow:none;
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease),transform .18s var(--ease);
}
#compose-form .form-input:hover,
#compose-form .textarea-field:hover,
#compose-form .form-select:hover{
  background:#fff;
  border-color:rgba(25,28,36,.12);
}
#compose-form .form-input:focus,
#compose-form .textarea-field:focus,
#compose-form .form-select:focus{
  outline:none;
  background:#fff;
  border-color:rgba(53,95,138,.28);
  box-shadow:none;
}
#compose-form .form-input::placeholder,
#compose-form .textarea-field::placeholder{color:#98A0AC}
#compose-form .textarea-field{min-height:124px;line-height:1.55}
#compose-form .textarea-compact{min-height:96px}
#compose-form input[type="date"],
#compose-form input[type="time"]{font-variant-numeric:tabular-nums}

#compose-form .composer-context-details{
  margin:0;
  border-radius:4px!important;
  border:1px solid var(--line);
  background:var(--surface-blue);
  box-shadow:none;
  overflow:hidden;
}
#compose-form .composer-context-details>summary{padding:15px 17px}
#compose-form .composer-context-details>summary b{
  font-size:14px;
  letter-spacing:-.01em;
  color:var(--text);
}
#compose-form .composer-context-details>summary small{font-size:11.5px}
#compose-form .composer-context-body{padding:0 17px 17px}
#compose-form .composer-context-body .composer-context-note{
  margin:12px 0 14px;
  padding:11px 12px;
  border-radius:4px!important;
  border:1px solid rgba(53,95,138,.08);
  background:rgba(53,95,138,.05);
}
#compose-form .composer-primary-context{margin-bottom:0}
#compose-form .compose-teacher-suggestions{margin-top:10px}
#compose-form .teacher-quick-chip{
  min-height:32px;
  padding:6px 10px;
  border-radius:4px!important;
  border-color:rgba(53,95,138,.12);
  background:rgba(53,95,138,.05);
  color:var(--blue);
}

#compose-form .type-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:4px 0 0;
}
@media(min-width:560px){
  #compose-form .type-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
#compose-form .type-opt{
  min-height:44px;
  padding:10px 12px;
  border-radius:4px!important;
  border:1px solid rgba(25,28,36,.08);
  background:rgba(255,255,255,.72);
  color:var(--text-soft);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:-.01em;
  box-shadow:none;
}
#compose-form .type-opt:hover{
  border-color:rgba(25,28,36,.12);
  background:#fff;
  color:var(--text);
}
#compose-form .type-opt.active{
  border-color:rgba(53,95,138,.28);
  background:var(--blue-tint);
  color:var(--blue);
  box-shadow:none;
}

#compose-form .smart-type-panel{
  margin-top:12px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:var(--surface);
  box-shadow:none;
}
#compose-form .smart-type-panel[data-type="announcement"]{
  background:var(--surface-blue);
  border-color:rgba(53,95,138,.12);
}
#compose-form .smart-type-panel[data-type="project"],
#compose-form .smart-type-panel[data-type="activity"]{
  background:var(--surface-2);
}
#compose-form .smart-type-panel[data-type="quiz"],
#compose-form .smart-type-panel[data-type="exam"]{
  background:#fffaf1;
}
#compose-form .smart-type-panel[data-type="reading"]{
  background:#f5fcf8;
}
#compose-form .smart-type-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
#compose-form .smart-type-head>div{min-width:0}
#compose-form .smart-type-head span{
  display:block;
  font:750 15px/1.2 "Inter Tight","Public Sans",sans-serif;
  letter-spacing:-.02em;
  color:var(--text);
}
#compose-form .smart-type-head p{
  margin-top:4px;
  font-size:12px;
  line-height:1.45;
  color:var(--text-mute);
}
#compose-form .smart-type-head small{
  flex:none;
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:4px!important;
  background:rgba(255,255,255,.72);
  border:1px solid var(--line-soft);
  color:var(--text-mute);
  font-size:10.5px;
  font-weight:750;
}
#compose-form .compact-grid{margin-bottom:0}
#compose-form .inline-choice-row{
  margin-top:12px;
  padding:11px 12px;
  border:1px solid var(--line-soft);
  border-radius:4px!important;
  background:rgba(255,255,255,.64);
}
#compose-form .submission-compact{
  margin-top:15px;
  padding:14px;
  border:1px solid var(--line-soft);
  border-radius:4px!important;
  background:rgba(255,255,255,.52);
}
#compose-form .submission-method-grid{gap:8px;margin-top:9px}
#compose-form .submission-method,
#compose-form .mini-choice{
  min-height:36px;
  padding:8px 12px;
  border-radius:4px!important;
  font-size:12px;
  font-weight:700;
  border-color:rgba(25,28,36,.08);
  background:#fff;
  box-shadow:none;
}
#compose-form .submission-method.active,
#compose-form .mini-choice.active{
  background:var(--blue-tint);
  border-color:rgba(53,95,138,.22);
  color:var(--blue);
}
#compose-form .mini-choice.subtle{
  background:transparent;
  border-color:transparent;
  color:var(--text-mute);
  box-shadow:none;
}
#compose-form .composer-optional{
  margin:0;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:rgba(255,255,255,.60);
}
#compose-form .composer-optional>summary{padding:15px 16px}
#compose-form .composer-optional>summary b{
  font-size:14px;
  letter-spacing:-.01em;
}
#compose-form .composer-optional>summary small{font-size:11.5px}
#compose-form .composer-optional-body{padding:0 16px 16px}
#compose-form .compose-deadline-panel{
  padding:14px;
  border:1px solid var(--line-soft);
  border-radius:4px!important;
  background:rgba(255,255,255,.56);
}
#compose-form .attach-input-btn{
  width:100%;
  justify-content:center;
  min-height:54px;
  border-radius:4px!important;
  border-style:dashed;
  background:rgba(255,255,255,.66);
  color:var(--text-soft);
}
#compose-form .attach-input-btn:hover{
  background:#fff;
  border-color:rgba(53,95,138,.18);
  color:var(--blue);
}
#compose-form .selected-files{margin-top:10px;gap:8px}
#compose-form .selected-file{
  padding:10px 12px;
  border-radius:4px!important;
  border:1px solid var(--line-soft);
  background:rgba(255,255,255,.76);
}
#compose-form .duplicate-warning{
  margin:0;
  border-radius:4px!important;
  box-shadow:none;
}
#compose-form .composer-review{
  margin:0;
  padding:14px 15px;
  border-radius:4px!important;
  border:1px solid rgba(207,154,41,.14);
  background:#fcf8ec;
  box-shadow:none;
}
#compose-form .composer-review-label{
  font-size:10px;
  letter-spacing:.08em;
  color:#8a6428;
}
#compose-form #compose-submit{
  min-height:54px;
  border-radius:4px!important;
  box-shadow:none;
}
#compose-form #compose-submit:hover{transform:none}
#compose-form #compose-submit:active{transform:none}

/* Type-specific detail sections on the detail view */
.type-aware-detail{
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:var(--surface);
  box-shadow:none;
}
.type-aware-detail .task-workspace-head{margin-bottom:14px}
.type-aware-detail .task-workspace-head h3{
  font-size:17px;
  letter-spacing:-.02em;
}
.type-detail-grid{gap:10px}
.type-detail-grid>div{
  padding:11px 12px;
  border-radius:4px!important;
  border:1px solid var(--line-soft);
  background:rgba(255,255,255,.78);
}
.milestone-list{gap:8px}
.milestone-row{
  padding:10px 11px;
  border:1px solid var(--line-soft);
  border-radius:4px!important;
  background:rgba(255,255,255,.74);
}
.source-context{
  padding:11px 13px;
  border-radius:4px!important;
  background:var(--surface-blue);
}

@media(max-width:767px){
  #compose-sheet .sheet-title{font-size:28px}
  .compose-block{padding:14px}
  #compose-form .compose-deadline-panel{padding:12px}
  #compose-form .smart-type-panel{padding:14px}
}
@media(max-width:520px){
  #compose-sheet .sheet-sub{font-size:13px}
  #compose-form .type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #compose-form .smart-type-head{flex-direction:column;align-items:flex-start}
  #compose-form .submission-method-grid{grid-template-columns:1fr 1fr}
}

/* ========== ACTIVITY UPDATES v4.8.2 · PREMIUM FORM FINISH ========== */
#compose-sheet{
  --compose-ink:#20242d;
  --compose-line:rgba(31,36,48,.095);
  --compose-line-strong:rgba(31,36,48,.145);
  --compose-focus:rgba(53,95,138,.13);
}
#compose-sheet .sheet-head{
  padding-bottom:2px;
}
#compose-sheet .sheet-title{
  color:var(--compose-ink);
  font-weight:800;
}
#compose-sheet .sheet-sub{
  color:#68707c;
}
#compose-form .form-label-optional{
  margin-left:3px;
  text-transform:none;
  letter-spacing:0;
  font-weight:550;
  color:#a0a5ae;
}
#compose-form .form-input,
#compose-form .textarea-field{
  border-color:var(--compose-line);
  color:var(--compose-ink);
}
#compose-form .form-input:focus,
#compose-form .textarea-field:focus{
  border-color:rgba(53,95,138,.35);
  box-shadow:none;
}
#compose-form .form-input:disabled,
#compose-form .textarea-field:disabled{
  opacity:.62;
  cursor:not-allowed;
}

/* Type chooser: subtle identity, not rainbow cards. */
#compose-form .type-opt{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  position:relative;
}
#compose-form .type-opt::before{
  content:"";
  width:6px;
  height:6px;
  flex:none;
  border-radius:4px!important;
  background:#a6abb4;
  box-shadow:none;
}
#compose-form .type-opt[data-value="assignment"]::before{background:#64748b;box-shadow:none}
#compose-form .type-opt[data-value="activity"]::before{background:#668375;box-shadow:none}
#compose-form .type-opt[data-value="project"]::before{background:#8c7757;box-shadow:none}
#compose-form .type-opt[data-value="quiz"]::before{background:#62719a;box-shadow:none}
#compose-form .type-opt[data-value="exam"]::before{background:#9b6663;box-shadow:none}
#compose-form .type-opt[data-value="reading"]::before{background:#74806b;box-shadow:none}
#compose-form .type-opt[data-value="announcement"]::before{background:#a88954;box-shadow:none}
#compose-form .type-opt.active{
  transform:none;
  box-shadow:none;
}
#compose-form .type-opt:active{transform:none}

/* Type-aware panels stay quiet but clearly belong to the selected type. */
#compose-form .smart-type-panel[data-type]{
  position:relative;
  overflow:hidden;
}
#compose-form .smart-type-panel[data-type]::before{
  content:"";
  position:absolute;
  top:16px;
  right:16px;
  width:7px;
  height:7px;
  border-radius:4px!important;
  background:#9ca3af;
  opacity:.72;
}
#compose-form .smart-type-panel[data-type="activity"]::before{background:#668375}
#compose-form .smart-type-panel[data-type="project"]::before{background:#8c7757}
#compose-form .smart-type-panel[data-type="quiz"]::before{background:#62719a}
#compose-form .smart-type-panel[data-type="exam"]::before{background:#9b6663}
#compose-form .smart-type-panel[data-type="reading"]::before{background:#74806b}
#compose-form .smart-type-panel[data-type="announcement"]::before{background:#a88954}
#compose-form .smart-type-panel .smart-type-head{padding-right:18px}
#compose-form .smart-type-panel .smart-type-head small{
  background:rgba(255,255,255,.62);
  border-color:rgba(31,36,48,.06);
}

/* Deadline and attachment areas read as utility rows, not more cards. */
#compose-form .compose-deadline-panel{
  gap:10px;
  background:rgba(250,248,243,.72);
  border-color:rgba(31,36,48,.07);
}
#compose-form .compose-deadline-panel .form-label::before{
  content:"";
  display:inline-block;
  width:5px;
  height:5px;
  margin-right:6px;
  border-radius:4px!important;
  background:#a88954;
  vertical-align:1px;
}
#compose-form .attach-input-btn{
  border-width:1px;
  border-color:rgba(31,36,48,.12);
  color:#626a76;
}
#compose-form .attach-input-btn .ui-icon{width:17px;height:17px}
#compose-form .attach-input-btn:hover{
  border-color:rgba(53,95,138,.22);
  box-shadow:none;
}

/* Type details on the Activity Update view use the same restrained visual language. */
.type-aware-detail[data-activity-type]{
  position:relative;
  overflow:hidden;
}
.type-aware-detail[data-activity-type] .section-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.type-aware-detail[data-activity-type] .section-eyebrow::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:4px!important;
  background:#9298a2;
}
.type-aware-detail[data-activity-type="activity"] .section-eyebrow::before{background:#668375}
.type-aware-detail[data-activity-type="project"] .section-eyebrow::before{background:#8c7757}
.type-aware-detail[data-activity-type="quiz"] .section-eyebrow::before{background:#62719a}
.type-aware-detail[data-activity-type="exam"] .section-eyebrow::before{background:#9b6663}
.type-aware-detail[data-activity-type="reading"] .section-eyebrow::before{background:#74806b}
.type-aware-detail[data-activity-type="announcement"] .section-eyebrow::before{background:#a88954}
.type-aware-detail .coverage-item{
  border-radius:4px!important;
  padding:9px 8px;
  border-bottom:0;
}
.type-aware-detail .coverage-item:hover{background:rgba(31,36,48,.025)}

@media(min-width:768px){
  #compose-sheet.sheet-bottom{
    padding:28px 30px 30px;
    max-height:min(900px,90dvh);
  }
}
@media(max-width:640px){
  #compose-sheet.sheet-bottom{
    padding-left:15px;
    padding-right:15px;
  }
  #compose-sheet .sheet-head{margin-bottom:15px}
  #compose-sheet .sheet-title{font-size:27px}
  #compose-form .compose-block{border-radius:4px!important;padding:13px}
  #compose-form .composer-context-details{border-radius:4px!important}
  #compose-form .form-input,
  #compose-form .textarea-field{border-radius:4px!important}
  #compose-form .smart-type-panel{border-radius:4px!important}
}

/* ========== v4.9 PRIVATE MY ACTIVITY ========== */
.profile-private-activity{
  margin:16px 0 18px;
  padding:15px 16px;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:var(--surface);
}
.profile-private-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.profile-private-head h3{margin:2px 0 0;font:750 16px/1.15 "Inter Tight","Public Sans",sans-serif;letter-spacing:-.02em;color:var(--text)}
.profile-activity-link{border:0;background:transparent;padding:3px 0;color:var(--blue);font:700 12px/1.2 "Public Sans",sans-serif;cursor:pointer;white-space:nowrap}
.profile-activity-link:hover{text-decoration:underline}
.profile-activity-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.profile-activity-stats>div{display:flex;flex-direction:column;gap:1px;padding:10px 11px;border:1px solid var(--line-soft);border-radius:4px!important;background:rgba(255,255,255,.72)}
.profile-activity-stats b{font:780 18px/1 "Inter Tight","Public Sans",sans-serif;color:var(--text)}
.profile-activity-stats span{font-size:10.5px;color:var(--text-mute)}
.profile-private-note{margin:10px 0 0;font-size:11px;line-height:1.45;color:var(--text-mute)}

.personal-feed-group .takda-group-dot{background:var(--text-mute)}
.personal-feed-group[data-personal-group="active"] .takda-group-dot{background:var(--blue)}
.personal-feed-group[data-personal-group="completed"] .takda-group-dot{background:var(--green)}
.personal-feed-group[data-personal-group="acknowledged"] .takda-group-dot{background:var(--flag-blue)}
.personal-feed-group[data-personal-group="history"] .takda-group-dot,
.personal-feed-group[data-personal-group="recent"] .takda-group-dot{background:#9a9489}
.personal-activity-context{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:12px 0 -1px;
  padding-top:10px;
  border-top:1px solid var(--line-soft);
  color:var(--text-mute);
  font-size:10.5px;
  line-height:1.35;
}
.personal-activity-context>span:first-child{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.personal-activity-context b{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:var(--surface-2);
  color:var(--text-soft);
  font-size:10px;
  font-weight:650;
}
.personal-activity-context.recent>span:first-child{font-weight:650;color:var(--text-soft)}
.recent-feed-group .result-card{transition:transform .16s var(--ease),box-shadow .16s var(--ease)}

@media(max-width:640px){
  .profile-private-head{align-items:flex-start}
  .profile-activity-stats{gap:6px}
  .profile-activity-stats>div{padding:9px}
  .personal-activity-context{align-items:flex-start;flex-direction:column;gap:6px}
}


/* ACTIVITY UPDATES v4.9.1 · FEED CARD POLISH */
.result-card{
  border-radius:4px!important;
  padding:15px 16px;
  overflow:hidden;
}
@media(min-width:768px){
  .result-card{
    padding:16px 18px;
    border-radius:4px!important;
  }
}
.result-top{
  display:block;
}
.result-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
}
.result-copy{
  min-width:0;
}
.result-subject-row{
  gap:7px;
  margin-bottom:6px;
}
.result-subject{
  font-size:15.5px;
  line-height:1.18;
}
@media(min-width:768px){
  .result-subject{
    font-size:16.5px;
  }
}
.result-type{
  padding:4px 9px;
  font-size:10.5px;
}
.result-title{
  margin-bottom:7px;
  font-size:14px;
  line-height:1.42;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.result-meta{
  margin-bottom:0;
  gap:4px 7px;
  font-size:12px;
}
.result-date-chip{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  min-width:138px;
  max-width:170px;
  padding:10px 11px;
  border-radius:4px!important;
  border:1px solid var(--line-soft);
  background:var(--surface-2);
  color:var(--text-soft);
  box-shadow:none;
}
.result-date-chip-label{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font:700 10px/1 "Public Sans",sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-mute);
}
.result-date-chip-label .ui-icon{
  width:12px;
  height:12px;
  ;
}
.result-date-chip-value{
  font:780 13px/1.28 "Inter Tight","Public Sans",sans-serif;
  letter-spacing:-.02em;
  color:var(--text);
}
.result-date-chip-state{
  font:700 10.5px/1.25 "Public Sans",sans-serif;
  color:currentColor;
}
.result-date-chip.warn{
  background:rgba(184,116,21,.08);
  border-color:rgba(184,116,21,.16);
  color:var(--amber);
}
.result-date-chip.warn .result-date-chip-label{
  color:rgba(128,90,24,.82);
}
.result-date-chip.urgent{
  background:rgba(173,69,69,.08);
  border-color:rgba(173,69,69,.16);
  color:var(--urgent);
}
.result-date-chip.urgent .result-date-chip-label{
  color:rgba(142,66,66,.82);
}
.result-date-chip.done{
  background:rgba(46,125,91,.08);
  border-color:rgba(46,125,91,.16);
  color:var(--green);
}
.result-date-chip.done .result-date-chip-label{
  color:rgba(44,103,76,.82);
}
.result-foot{
  padding-top:10px;
  margin-top:10px;
}
.result-actions{
  gap:7px;
}
.result-actions .btn{
  min-height:34px;
  padding:0 12px;
}
.personal-activity-context{
  margin:10px 0 -1px;
  padding-top:8px;
  font-size:10px;
}
.personal-activity-context b{
  min-height:20px;
  padding:0 7px;
  font-size:9.6px;
}
@media(max-width:720px){
  .result-head{
    grid-template-columns:1fr;
    gap:10px;
  }
  .result-date-chip{
    min-width:0;
    max-width:none;
    width:100%;
  }
  .result-title{
    -webkit-line-clamp:3;
  }
}

/* ACTIVITY UPDATES v4.9.2 · SCHOOL-SCOPED PERSONALIZATION */
.personal-feed-group[data-personal-group="other-schools"] .takda-group-dot{background:var(--amber)}
.personal-feed-group[data-personal-group="other-schools"] .takda-group-title{color:var(--text-soft)}


/* ==========================================================
   ARALPH v4.10 · SIGNED-OUT LANDING EXPERIENCE
   ========================================================== */
body.auth-pending .app,
body.auth-pending .landing-shell{
  visibility:hidden;
}
body.is-signed-in .landing-shell{
  display:none;
}
body.is-signed-out .app{
  display:none!important;
}
body.is-signed-out{
  background:#fbf7ee;
}
body.is-signed-out .landing-shell{
  display:block;
}
.landing-shell{
  display:none;
  min-height:100vh;
  min-height:100dvh;
  background:#FCFCFA;
  color:#171a22;
  overflow:hidden;
}
.landing-nav{
  width:min(1180px,calc(100% - 40px));
  min-height:82px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid rgba(25,28,36,.07);
}
.landing-brand{
  display:flex;
  flex-direction:column;
  gap:1px;
  flex:none;
}
.landing-brand-word{
  display:inline-flex;
  align-items:baseline;
  font:800 22px/1 "Inter Tight","Public Sans",sans-serif;
  letter-spacing:-.045em;
}
.landing-brand-word span{color:#183a8b}
.landing-brand-word b{color:#b73c3c}
.landing-brand small{
  color:#858a94;
  font-size:9.5px;
  font-weight:650;
  letter-spacing:.035em;
}
.landing-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  color:#5e626d;
  font-size:12.5px;
  font-weight:650;
}
.landing-links a{
  transition:color .18s var(--ease);
}
.landing-links a:hover{color:#1b3a8a}
.landing-nav-actions,.landing-hero-actions,.landing-final-actions{
  display:flex;
  align-items:center;
  gap:9px;
}
.landing-btn{
  min-height:40px;
  padding:0 15px;
  border-radius:4px!important;
  font:700 12.5px/1 "Public Sans",sans-serif;
  border:1px solid transparent;
  transition:transform .15s var(--ease),background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease);
}
.landing-btn:hover{transform:none}
.landing-btn:active{transform:none}
.landing-btn-primary{
  background:#1b3a8a;
  color:#fff;
  border-color:#1b3a8a;
  box-shadow:none;
}
.landing-btn-primary:hover{
  background:#173476;
  box-shadow:none;
}
.landing-btn-secondary{
  background:rgba(255,255,255,.72);
  color:#2d313b;
  border-color:rgba(25,28,36,.1);
}
.landing-btn-secondary:hover{background:#fff;border-color:rgba(25,28,36,.16)}
.landing-btn-quiet{
  color:#353943;
  background:transparent;
}
.landing-btn-quiet:hover{background:rgba(25,28,36,.045)}
.landing-btn-large{
  min-height:48px;
  padding:0 20px;
  border-radius:4px!important;
  font-size:13.5px;
}
.landing-main{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}
.landing-hero{
  min-height:680px;
  padding:74px 0 82px;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);
  align-items:center;
  gap:66px;
}
.landing-hero-copy{
  max-width:570px;
}
.landing-kicker{
  display:inline-flex;
  margin-bottom:16px;
  color:#244891;
  font-size:11px;
  font-weight:800;
  letter-spacing:.105em;
  text-transform:uppercase;
}
.landing-hero h1{
  max-width:620px;
  font:800 clamp(46px,5vw,72px)/.98 "Inter Tight","Public Sans",sans-serif;
  letter-spacing:-.055em;
  color:#161922;
}
.landing-hero-copy>p{
  max-width:590px;
  margin-top:22px;
  color:#606570;
  font-size:16px;
  line-height:1.72;
}
.landing-hero-actions{margin-top:28px;flex-wrap:wrap}
.landing-proof-row{
  margin-top:26px;
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  color:#737883;
  font-size:10.5px;
  font-weight:650;
}
.landing-proof-row span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.landing-proof-row span::before{
  content:"";
  width:5px;height:5px;border-radius:4px!important;
  background:#2e7d5b;
}
.landing-product-stage{
  position:relative;
  min-height:500px;
  display:grid;
  place-items:center;
}
.landing-product-glow{
  position:absolute;
  inset:5% 4% 0;
  border-radius:4px!important;
  background:transparent;
  filter:none;
}
.landing-product-window{
  position:relative;
  z-index:2;
  width:100%;
  max-width:610px;
  overflow:hidden;
  border:1px solid rgba(25,28,36,.11);
  border-radius:4px!important;
  background:rgba(255,255,255,.9);
  box-shadow:none;
  backdrop-filter:none;
}
.landing-product-bar{
  min-height:58px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid rgba(25,28,36,.07);
  background:rgba(250,248,243,.9);
}
.landing-product-bar>div{display:flex;align-items:baseline;gap:9px}
.landing-mini-brand{
  font:800 14px/1 "Inter Tight","Public Sans",sans-serif;
  letter-spacing:-.03em;color:#1b3a8a;
}
.landing-product-bar small{font-size:10px;color:#9296a0}
.landing-live-pill{
  display:inline-flex;align-items:center;gap:6px;
  min-height:27px;padding:0 9px;
  border:1px solid rgba(46,125,91,.13);
  border-radius:4px!important;
  background:rgba(46,125,91,.07);
  color:#2e6f54;
  font-size:9.5px;font-weight:750;
}
.landing-live-pill i{width:5px;height:5px;border-radius:4px!important;background:#2e7d5b}
.landing-product-grid{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
}
.landing-product-nav{
  min-height:395px;
  padding:18px 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  border-right:1px solid rgba(25,28,36,.06);
  background:#fbf8f1;
}
.landing-product-nav span{
  width:20px;height:20px;border-radius:4px!important;background:#e9e6df;
}
.landing-product-nav span.active{background:#1b3a8a}
.landing-product-content{padding:20px}
.landing-preview-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:15px;
  margin-bottom:14px;
}
.landing-preview-head small{
  display:block;margin-bottom:2px;
  color:#8a8f99;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em
}
.landing-preview-head h3{
  font:750 20px/1.1 "Inter Tight","Public Sans",sans-serif;
  letter-spacing:-.025em;
}
.landing-date-chip{
  min-height:29px;padding:0 10px;display:inline-flex;align-items:center;
  border:1px solid rgba(25,28,36,.08);border-radius:4px!important;background:#f8f5ee;
  color:#666b75;font-size:9.5px;font-weight:700
}
.landing-update{
  padding:14px 15px;
  border:1px solid rgba(25,28,36,.08);
  border-radius:4px!important;
  background:#fff;
}
.landing-update-urgent{box-shadow:none}
.landing-update-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.landing-update-type{
  color:#626772;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em
}
.landing-update-status{
  min-height:22px;padding:0 8px;display:inline-flex;align-items:center;
  border-radius:4px!important;background:rgba(180,74,70,.08);color:#a53d3d;
  font-size:9px;font-weight:750
}
.landing-update h4{font:750 15px/1.2 "Inter Tight","Public Sans",sans-serif;letter-spacing:-.015em}
.landing-update p{margin-top:3px;color:#5f646f;font-size:11.5px}
.landing-update-meta{margin-top:11px;display:flex;align-items:center;flex-wrap:wrap;gap:6px 13px;color:#8a8f98;font-size:9.5px;font-weight:600}
.landing-verified{color:#2e7d5b!important}
.landing-change{
  margin-top:10px;
  padding:11px 12px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  border:1px solid rgba(184,116,21,.13);
  border-radius:4px!important;
  background:rgba(184,116,21,.055);
}
.landing-change-label{
  writing-mode:vertical-rl;transform:rotate(180deg);
  color:#9b6b22;font-size:7px;font-weight:850;letter-spacing:.08em;text-transform:uppercase
}
.landing-change div{min-width:0;display:flex;flex-direction:column;gap:2px}
.landing-change b{font-size:10.5px;color:#363a43}
.landing-change div span{font-size:9px;color:#777b84}
.landing-change i{padding:0 4px;color:#a17533;font-style:normal}
.landing-change-state{font-size:8.5px;font-weight:750;color:#2e7d5b}
.landing-preview-split{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.landing-mini-panel{
  min-height:83px;padding:11px 12px;
  display:flex;flex-direction:column;gap:3px;
  border:1px solid rgba(25,28,36,.07);border-radius:4px!important;background:#faf8f2
}
.landing-mini-panel small{color:#92969e;font-size:8.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:750}
.landing-mini-panel>b{font-size:11.5px;color:#2f333c}
.landing-mini-panel>span{font-size:8.8px;color:#7f848e}
.landing-progress-line{display:flex;align-items:baseline;gap:5px}
.landing-progress-line b{font:780 16px/1 "Inter Tight","Public Sans",sans-serif;color:#1d2130}
.landing-progress-line span{font-size:8.5px;color:#8d9199}
.landing-progress-track{height:5px;margin-top:7px;border-radius:4px!important;background:#e8e6df;overflow:hidden}
.landing-progress-track i{display:block;width:75%;height:100%;border-radius:4px!important;background:#2e7d5b}
.landing-floating-note{
  position:absolute;
  z-index:3;
  right:-18px;
  bottom:38px;
  width:182px;
  padding:12px 13px;
  display:flex;flex-direction:column;
  border:1px solid rgba(46,125,91,.15);
  border-radius:4px!important;
  background:rgba(255,255,255,.94);
  box-shadow:none;
}
.landing-floating-note span{color:#2e7d5b;font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.landing-floating-note b{margin-top:2px;font:750 12px/1.25 "Inter Tight","Public Sans",sans-serif}
.landing-floating-note small{margin-top:3px;color:#858a93;font-size:8.5px;line-height:1.35}
.landing-principles{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(25,28,36,.08);
  border-bottom:1px solid rgba(25,28,36,.08);
}
.landing-principles>div{
  min-height:126px;
  padding:25px 22px;
  display:flex;flex-direction:column;gap:6px;
  border-right:1px solid rgba(25,28,36,.07);
}
.landing-principles>div:last-child{border-right:0}
.landing-principles b{font:750 13.5px/1.2 "Inter Tight","Public Sans",sans-serif;letter-spacing:-.01em}
.landing-principles span{color:#7c818b;font-size:10.5px;line-height:1.55}
.landing-section{padding:108px 0}
.landing-section-heading{max-width:620px;margin-bottom:38px}
.landing-section-heading h2,.landing-boundary h2,.landing-final h2{
  font:800 clamp(34px,4vw,52px)/1.02 "Inter Tight","Public Sans",sans-serif;
  letter-spacing:-.045em;
}
.landing-section-heading p{
  max-width:560px;margin-top:14px;color:#70757f;font-size:14px;line-height:1.7
}
.landing-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.landing-feature-card{
  position:relative;
  min-height:300px;
  padding:27px 25px;
  border:1px solid rgba(25,28,36,.08);
  border-radius:4px!important;
  background:rgba(255,255,255,.65);
}
.landing-feature-number{
  position:absolute;top:22px;right:23px;
  color:#b4b0a6;font:800 10px/1 "Inter Tight","Public Sans",sans-serif;letter-spacing:.08em
}
.landing-feature-icon{
  width:40px;height:40px;display:grid;place-items:center;
  border-radius:4px!important;background:#eef2fa;color:#1b3a8a;
}
.landing-feature-icon .ui-icon{width:19px;height:19px}
.landing-feature-card h3{
  max-width:260px;margin-top:44px;
  font:750 21px/1.15 "Inter Tight","Public Sans",sans-serif;
  letter-spacing:-.025em
}
.landing-feature-card p{margin-top:12px;color:#777c85;font-size:12px;line-height:1.7}
.landing-boundary{
  margin:10px 0 108px;
  padding:62px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:70px;
  align-items:center;
  border-radius:4px!important;
  background:#162d67;
  color:#fff;
  box-shadow:none;
}
.landing-kicker-light{color:#b8c8f3}
.landing-boundary-copy>p{max-width:620px;margin-top:16px;color:rgba(255,255,255,.67);font-size:13.5px;line-height:1.72}
.landing-boundary-list{margin-top:31px;display:flex;flex-direction:column}
.landing-boundary-list>div{padding:14px 0;display:grid;grid-template-columns:32px 1fr;gap:13px;border-top:1px solid rgba(255,255,255,.11)}
.landing-boundary-list>div:last-child{border-bottom:1px solid rgba(255,255,255,.11)}
.landing-boundary-list span{color:#aebfe9;font-size:9px;font-weight:800}
.landing-boundary-list p{color:rgba(255,255,255,.67);font-size:11px;line-height:1.5}
.landing-boundary-list b{color:#fff}
.landing-boundary-diagram{
  min-height:355px;
  padding:28px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.11);
  border-radius:4px!important;
  background:rgba(255,255,255,.045);
}
.landing-school-node{
  width:160px;min-height:112px;padding:15px;
  display:flex;flex-direction:column;justify-content:center;
  border:1px solid rgba(255,255,255,.13);border-radius:4px!important;
  background:rgba(255,255,255,.07)
}
.landing-school-node small{color:rgba(255,255,255,.5);font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.landing-school-node b{margin-top:3px;font:750 18px/1.1 "Inter Tight","Public Sans",sans-serif}
.landing-school-node span{margin-top:6px;color:rgba(255,255,255,.55);font-size:8.5px;line-height:1.35}
.landing-school-main{border-color:rgba(184,200,243,.36);background:rgba(184,200,243,.1)}
.landing-school-stack{display:flex;flex-direction:column;gap:9px}
.landing-school-muted{opacity:.72}
.landing-boundary-arrow{width:44px;height:2px;background:rgba(255,255,255,.2);position:relative}
.landing-boundary-arrow::after{
  content:"";position:absolute;right:-1px;top:-3px;width:7px;height:7px;
  border-top:1px solid rgba(255,255,255,.45);border-right:1px solid rgba(255,255,255,.45);transform:rotate(45deg)
}
.landing-final{
  margin-bottom:92px;
  padding:50px 0 12px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:50px;
  border-top:1px solid rgba(25,28,36,.08);
}
.landing-final>div:first-child{max-width:640px}
.landing-final p{margin-top:12px;color:#777c85;font-size:13px}
.landing-final-actions{flex-wrap:wrap;justify-content:flex-end}
.landing-footer{
  width:min(1180px,calc(100% - 40px));
  min-height:92px;
  margin:0 auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:24px;
  border-top:1px solid rgba(25,28,36,.08);
  color:#898e97;
  font-size:9.5px;
}
.landing-footer p{text-align:center}
@media(max-width:1020px){
  .landing-links{display:none}
  .landing-hero{grid-template-columns:1fr;padding-top:60px;gap:45px}
  .landing-hero-copy{max-width:720px}
  .landing-product-stage{width:min(690px,100%);margin:0 auto}
  .landing-principles{grid-template-columns:1fr 1fr}
  .landing-principles>div:nth-child(2){border-right:0}
  .landing-principles>div:nth-child(-n+2){border-bottom:1px solid rgba(25,28,36,.07)}
  .landing-feature-grid{grid-template-columns:1fr}
  .landing-feature-card{min-height:230px}
  .landing-feature-card h3{margin-top:30px}
  .landing-boundary{grid-template-columns:1fr;padding:45px;gap:45px}
  .landing-boundary-diagram{max-width:520px;width:100%;margin:0 auto}
  .landing-final{align-items:flex-start;flex-direction:column}
  .landing-final-actions{justify-content:flex-start}
}
@media(max-width:640px){
  .landing-nav,.landing-main,.landing-footer{width:min(100% - 28px,1180px)}
  .landing-nav{min-height:70px}
  .landing-brand small{display:none}
  .landing-nav-actions .landing-btn-quiet{display:none}
  .landing-nav-actions .landing-btn{min-height:36px;padding:0 12px;font-size:11.5px}
  .landing-hero{min-height:auto;padding:52px 0 58px}
  .landing-kicker{font-size:9.5px;margin-bottom:13px}
  .landing-hero h1{font-size:44px}
  .landing-hero-copy>p{margin-top:18px;font-size:14px;line-height:1.65}
  .landing-hero-actions{align-items:stretch;flex-direction:column}
  .landing-hero-actions .landing-btn{width:100%}
  .landing-proof-row{gap:7px 14px;margin-top:21px}
  .landing-product-stage{min-height:420px}
  .landing-product-window{border-radius:4px!important}
  .landing-product-grid{grid-template-columns:35px minmax(0,1fr)}
  .landing-product-nav{min-height:340px}
  .landing-product-nav span{width:16px;height:16px;border-radius:4px!important}
  .landing-product-content{padding:14px}
  .landing-product-bar{padding:0 13px;min-height:50px}
  .landing-live-pill{font-size:8.5px}
  .landing-update{padding:12px}
  .landing-preview-split{grid-template-columns:1fr}
  .landing-preview-split .landing-mini-panel:first-child{display:none}
  .landing-floating-note{right:-5px;bottom:8px;width:160px}
  .landing-principles{grid-template-columns:1fr}
  .landing-principles>div{min-height:100px;border-right:0;border-bottom:1px solid rgba(25,28,36,.07)!important}
  .landing-principles>div:last-child{border-bottom:0!important}
  .landing-section{padding:78px 0}
  .landing-section-heading h2,.landing-boundary h2,.landing-final h2{font-size:36px}
  .landing-feature-card{padding:22px;min-height:245px}
  .landing-boundary{margin-bottom:78px;padding:30px 22px;border-radius:4px!important}
  .landing-boundary-diagram{min-height:300px;padding:18px;flex-direction:column}
  .landing-boundary-arrow{width:2px;height:32px}
  .landing-boundary-arrow::after{right:-3px;top:auto;bottom:0;transform:rotate(135deg)}
  .landing-school-stack{width:100%}
  .landing-school-node{width:100%}
  .landing-school-main{width:100%}
  .landing-final{margin-bottom:68px}
  .landing-final-actions{width:100%;align-items:stretch;flex-direction:column}
  .landing-final-actions .landing-btn{width:100%}
  .landing-footer{padding:25px 0;grid-template-columns:1fr;gap:7px;text-align:left}
  .landing-footer p{text-align:left}
}


/* ========== ARALPH v4.10.1 · SINGLE-SCREEN LANDING ========== */
body.is-signed-out{
  overflow:hidden;
  background:#f4f1e9;
}
body.is-signed-out .landing-shell{
  display:flex;
}
.landing-shell.landing-simple{
  width:100%;
  height:100vh;
  height:100dvh;
  min-height:0;
  overflow:hidden;
  flex-direction:column;
  padding:0 clamp(22px,5vw,72px);
  background:#f4f1e9;
  color:#1f2430;
}
.landing-simple-nav{
  height:92px;
  flex:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:min(1180px,100%);
  margin:0 auto;
}
.landing-brand-lockup{
  gap:4px;
}
.landing-brand-lockup .landing-logo{
  width:48px;
  height:48px;
  margin-left:-2px;
}
.landing-brand-lockup .landing-wordmark{
  font-size:29px;
}
.landing-simple-signin{
  min-height:40px;
  padding:0 15px;
  border:1px solid rgba(31,36,48,.14);
  border-radius:4px!important;
  background:rgba(255,255,255,.46);
  color:#313640;
  font:700 13px/1 "Public Sans",sans-serif;
  transition:background .18s ease,border-color .18s ease,transform .14s ease;
}
.landing-simple-signin:hover{
  background:#fff;
  border-color:rgba(31,36,48,.22);
}
.landing-simple-signin:active{
  transform:none;
}
.landing-simple-main{
  width:min(1180px,100%);
  min-height:0;
  flex:1;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,.78fr);
  gap:clamp(50px,8vw,112px);
  align-items:center;
  padding:12px 0 34px;
}
.landing-simple-copy{
  max-width:620px;
}
.landing-simple-label{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:4px!important;
  border:1px solid rgba(53,95,138,.13);
  background:rgba(53,95,138,.06);
  color:#355f8a;
  font:800 10px/1 "Public Sans",sans-serif;
  letter-spacing:.095em;
  text-transform:uppercase;
}
.landing-simple-copy h1{
  margin:20px 0 18px;
  max-width:650px;
  color:#1f2430;
  font:800 clamp(50px,6vw,80px)/.94 "Inter Tight","Public Sans",sans-serif;
  letter-spacing:-.055em;
}
.landing-simple-copy p{
  max-width:570px;
  margin:0;
  color:#676b73;
  font:500 clamp(15px,1.45vw,18px)/1.62 "Public Sans",sans-serif;
}
.landing-simple-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:30px;
}
.landing-simple-primary,
.landing-simple-secondary{
  min-height:48px;
  padding:0 19px;
  border-radius:4px!important;
  font:750 14px/1 "Public Sans",sans-serif;
  transition:transform .14s ease,background .18s ease,border-color .18s ease;
}
.landing-simple-primary{
  border:1px solid #1f2430;
  background:#1f2430;
  color:#fff;
  box-shadow:none;
}
.landing-simple-primary:hover{
  background:#2b303b;
}
.landing-simple-secondary{
  border:1px solid rgba(31,36,48,.14);
  background:transparent;
  color:#313640;
}
.landing-simple-secondary:hover{
  background:rgba(255,255,255,.58);
}
.landing-simple-primary:active,
.landing-simple-secondary:active{
  transform:none;
}
.landing-simple-note{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:20px;
  color:#8a8d93;
  font:600 11px/1.35 "Public Sans",sans-serif;
}
.landing-simple-note i{
  width:3px;
  height:3px;
  border-radius:4px!important;
  background:#bbb7ae;
}
.landing-simple-preview{
  width:100%;
  max-width:490px;
  justify-self:end;
  border:1px solid rgba(31,36,48,.11);
  border-radius:4px!important;
  background:#fffdf8;
  box-shadow:none;
  overflow:hidden;
}
.landing-preview-toolbar{
  height:54px;
  padding:0 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #ece8de;
}
.landing-preview-brand{
  font:800 17px/1 "Geom","Inter Tight","Public Sans",sans-serif;
  letter-spacing:-.015em;
}
.landing-preview-toolbar>span{
  color:#97999e;
  font:700 10px/1 "Public Sans",sans-serif;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.landing-preview-body{
  padding:19px;
}
.landing-preview-title{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:14px;
}
.landing-preview-title span{
  color:#9a9ca1;
  font:800 9px/1 "Public Sans",sans-serif;
  letter-spacing:.11em;
}
.landing-preview-title strong{
  color:#252a34;
  font:750 18px/1.15 "Inter Tight","Public Sans",sans-serif;
  letter-spacing:-.025em;
}
.landing-preview-item{
  padding:14px 15px 12px;
  border:1px solid #e7e3da;
  border-radius:4px!important;
  background:#fff;
}
.landing-preview-item + .landing-preview-item{
  margin-top:9px;
}
.landing-preview-item-soft{
  background:#faf8f3;
}
.landing-preview-item-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:start;
}
.landing-preview-item-main>div:first-child{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.landing-preview-type{
  display:inline-flex;
  align-items:center;
  min-height:19px;
  padding:0 7px;
  margin-bottom:7px;
  border-radius:4px!important;
  background:#f0eee8;
  color:#686d75;
  font:750 8.5px/1 "Public Sans",sans-serif;
}
.landing-preview-item b{
  color:#292e38;
  font:750 13.5px/1.2 "Inter Tight","Public Sans",sans-serif;
}
.landing-preview-item p{
  margin:3px 0 0;
  color:#777b83;
  font:500 10.5px/1.35 "Public Sans",sans-serif;
}
.landing-preview-date{
  min-width:82px;
  padding:8px 9px;
  border-radius:4px!important;
  background:#fbefed;
  text-align:left;
}
.landing-preview-date.neutral{
  background:#f0f2f6;
}
.landing-preview-date small{
  display:block;
  color:#a2534f;
  font:800 7.5px/1 "Public Sans",sans-serif;
  letter-spacing:.07em;
}
.landing-preview-date.neutral small{
  color:#6c7585;
}
.landing-preview-date strong{
  display:block;
  margin-top:4px;
  color:#713b39;
  font:800 11px/1 "Inter Tight","Public Sans",sans-serif;
}
.landing-preview-date.neutral strong{
  color:#4b5565;
}
.landing-preview-meta{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:11px;
  color:#94979d;
  font:650 9px/1.2 "Public Sans",sans-serif;
}
.landing-preview-confirmed{
  color:#4a7c68;
}
.landing-preview-foot{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:12px;
  color:#90939a;
  font:650 9.5px/1 "Public Sans",sans-serif;
}
.landing-preview-dot{
  width:6px;
  height:6px;
  border-radius:4px!important;
  background:#4f856e;
}
.landing-simple-bottom{
  flex:none;
  width:min(1180px,100%);
  height:46px;
  margin:0 auto;
  display:flex;
  align-items:flex-start;
  color:#a09c94;
  font:650 10.5px/1 "Public Sans",sans-serif;
}
@media(max-width:900px){
  .landing-shell.landing-simple{
    padding:0 22px;
  }
  .landing-simple-nav{
    height:76px;
  }
  .landing-brand-lockup .landing-logo{
    width:40px;
    height:40px;
  }
  .landing-brand-lockup .landing-wordmark{
    font-size:25px;
  }
  .landing-simple-main{
    grid-template-columns:1fr;
    gap:24px;
    align-content:center;
    padding:0 0 18px;
  }
  .landing-simple-copy{
    max-width:680px;
  }
  .landing-simple-copy h1{
    margin-top:15px;
    font-size:clamp(43px,10vw,64px);
  }
  .landing-simple-copy p{
    max-width:620px;
    font-size:15px;
  }
  .landing-simple-preview{
    justify-self:start;
    max-width:580px;
  }
  .landing-simple-bottom{
    height:34px;
  }
}
@media(max-width:600px){
  .landing-shell.landing-simple{
    padding:0 16px;
  }
  .landing-simple-nav{
    height:68px;
  }
  .landing-brand-lockup{
    gap:2px;
  }
  .landing-brand-lockup .landing-logo{
    width:36px;
    height:36px;
  }
  .landing-brand-lockup .landing-wordmark{
    font-size:23px;
  }
  .landing-simple-signin{
    min-height:36px;
    padding:0 12px;
    font-size:12px;
  }
  .landing-simple-main{
    gap:18px;
    padding:4px 0 12px;
  }
  .landing-simple-label{
    min-height:24px;
    font-size:8.7px;
  }
  .landing-simple-copy h1{
    margin:13px 0 12px;
    font-size:clamp(38px,12.2vw,53px);
    line-height:.96;
  }
  .landing-simple-copy p{
    font-size:13.5px;
    line-height:1.5;
  }
  .landing-simple-actions{
    margin-top:19px;
  }
  .landing-simple-primary,
  .landing-simple-secondary{
    min-height:43px;
    padding:0 15px;
    font-size:12.5px;
  }
  .landing-simple-note{
    margin-top:13px;
    font-size:9.7px;
  }
  .landing-simple-preview{
    border-radius:4px!important;
    box-shadow:none;
  }
  .landing-preview-toolbar{
    height:43px;
    padding:0 13px;
  }
  .landing-preview-brand{
    font-size:14px;
  }
  .landing-preview-body{
    padding:13px;
  }
  .landing-preview-title{
    margin-bottom:10px;
  }
  .landing-preview-title strong{
    font-size:15px;
  }
  .landing-preview-item{
    padding:11px 11px 10px;
  }
  .landing-preview-date{
    min-width:72px;
    padding:7px 8px;
  }
  .landing-preview-meta{
    margin-top:8px;
  }
  .landing-preview-foot{
    margin-top:9px;
  }
  .landing-simple-bottom{
    display:none;
  }
}
@media(max-height:700px) and (max-width:900px){
  .landing-simple-nav{
    height:60px;
  }
  .landing-simple-main{
    gap:12px;
  }
  .landing-simple-copy h1{
    margin:8px 0 9px;
    font-size:clamp(36px,9vw,48px);
  }
  .landing-simple-copy p{
    font-size:12.5px;
    line-height:1.4;
  }
  .landing-simple-actions{
    margin-top:13px;
  }
  .landing-simple-note{
    display:none;
  }
  .landing-preview-body{
    padding:11px;
  }
  .landing-preview-title{
    display:none;
  }
  .landing-preview-item-soft{
    display:none;
  }
  .landing-preview-foot{
    margin-top:8px;
  }
}


/* ARALPH v4.10.2 · LOCAL LANDING ILLUSTRATION */
.landing-simple-preview.landing-image-preview{
  width:min(100%,520px);
  max-width:520px;
  aspect-ratio:1;
  justify-self:end;
  margin:0;
  border:0;
  border-radius:4px!important;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
}
.landing-image-preview .landing-illustration{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:900px){
  .landing-simple-preview.landing-image-preview{
    width:min(44vh,390px,100%);
    max-width:390px;
    justify-self:start;
    border-radius:4px!important;
  }
}
@media(max-width:600px){
  .landing-simple-preview.landing-image-preview{
    width:min(31vh,290px,82vw);
    max-width:290px;
    justify-self:center;
    border-radius:4px!important;
  }
}
@media(max-height:700px) and (max-width:900px){
  .landing-simple-preview.landing-image-preview{
    width:min(27vh,240px,72vw);
    max-width:240px;
  }
}


/* ARALPH v4.10.3 · EXACT WORDMARK PALETTE */
#landing-page{
  --landing-brand-blue:#355F8A;
  --landing-brand-red:#B44A46;
  --landing-brand-yellow:#FCD116;
  --landing-brand-cream:#FCFCFA;
  background:var(--landing-brand-cream);
}
#landing-page .landing-simple-label{
  color:var(--landing-brand-blue);
  border-color:rgba(53,95,138,.18);
  background:rgba(53,95,138,.07);
}
#landing-page .landing-simple-primary{
  background:var(--landing-brand-blue);
  border-color:var(--landing-brand-blue);
  color:#fff;
  box-shadow:none;
}
#landing-page .landing-simple-primary:hover{
  background:var(--landing-brand-blue);
  border-color:var(--landing-brand-blue);
  transform:none;
}
#landing-page .landing-simple-secondary{
  color:var(--landing-brand-red);
  border-color:rgba(180,74,70,.28);
}
#landing-page .landing-simple-secondary:hover{
  color:var(--landing-brand-red);
  border-color:var(--landing-brand-red);
  background:rgba(180,74,70,.045);
}
#landing-page .landing-simple-signin{
  color:var(--landing-brand-red);
  border-color:rgba(180,74,70,.24);
  background:rgba(255,255,255,.38);
}
#landing-page .landing-simple-signin:hover{
  color:var(--landing-brand-red);
  border-color:var(--landing-brand-red);
  background:#fff;
}
#landing-page .landing-simple-note i{
  background:var(--landing-brand-yellow);
}
#landing-page .landing-simple-bottom{
  color:rgba(53,95,138,.56);
}
#landing-page .landing-image-preview{
  background:var(--landing-brand-cream);
}


/* ========== ARALPH v4.10.3 · PH WORDMARK PRODUCT PALETTE ========== */
:root{
  /* Exact colors used by the P and H in the AralPH wordmark. */
  --brand-blue:#355F8A;
  --brand-red:#B44A46;

  --flag-blue:var(--brand-blue);
  --flag-red:var(--brand-red);
  --blue:var(--brand-blue);
  --blue-2:#2D5277;
  --blue-soft:#55799B;
  --blue-tint:rgba(53,95,138,.08);
  --blue-tint-2:rgba(53,95,138,.14);
  --red:var(--brand-red);
  --red-soft:#C86A66;
  --red-tint:rgba(180,74,70,.08);
  --urgent:var(--brand-red);

  /* Deadlines no longer introduce an unrelated orange accent. */
  --amber:var(--brand-red);
  --amber-tint:rgba(180,74,70,.08);
}

/* Keep the wordmark and the product UI on the exact same source colors. */
.brand-wordmark .brand-p,
.topbar-brand-name .brand-p,
.landing-brand-lockup .brand-p{color:#355F8A}
.brand-wordmark .brand-h,
.topbar-brand-name .brand-h,
.landing-brand-lockup .brand-h{color:#B44A46}

/* Interactive controls: blue for primary/selected, red only for danger/urgent. */
.btn-primary,
.btn-green,
.btn-amber,
.filter-opt.active,
.single-select .filter-opt.active,
.chip.active,
.auth-submit,
.q-input-wrap button,
.compose-fab{
  background:#355F8A;
  border-color:#355F8A;
  color:#fff;
  box-shadow:none;
}
.btn-primary:hover,
.btn-green:hover,
.btn-amber:hover,
.q-input-wrap button:hover{background:#2D5277;border-color:#2D5277}
.btn-red,
.danger-btn{background:#B44A46;border-color:#B44A46;color:#fff}

/* Selection / focus language. */
.form-input:focus,
.form-select:focus,
.textarea-field:focus,
.filter-input:focus,
.q-input-wrap input:focus{
  border-color:#355F8A;
  box-shadow:none;
}
.type-opt.active,
.submission-method.active,
.mini-choice.active,
.reminder-option.active,
.deadline-reminder-btn.active,
.report-reason.active{
  color:#355F8A;
  border-color:rgba(53,95,138,.28);
  background:rgba(53,95,138,.08);
}

/* Navigation and links. */
.block-link,
.profile-activity-link,
.verify-clear,
.tanong-follow-btn,
.nav-mobile.active,
.nav-mobile.nav-more.active,
.tab.active,
.results-title b,
.submission-summary a{color:#355F8A}
.tab.active{border-bottom-color:#355F8A}

/* Feed hierarchy: exact brand colors, with green reserved only for completed/verified meaning. */
.takda-feed-group[data-feed-group="overdue"] .takda-group-dot,
.takda-feed-group[data-feed-group="today"] .takda-group-dot{background:#B44A46}
.takda-feed-group[data-feed-group="tomorrow"] .takda-group-dot,
.takda-feed-group[data-feed-group="week"] .takda-group-dot,
.personal-feed-group[data-personal-group="active"] .takda-group-dot,
.personal-feed-group[data-personal-group="acknowledged"] .takda-group-dot,
.personal-feed-group[data-personal-group="other-schools"] .takda-group-dot{background:#355F8A}
.task-summary-progress span{background:#355F8A}

/* Compact date chips now use the wordmark palette instead of orange. */
.result-date-chip.warn,
.result-date-chip.urgent{
  background:rgba(180,74,70,.075);
  border-color:rgba(180,74,70,.16);
  color:#B44A46;
}
.result-date-chip.warn .result-date-chip-label,
.result-date-chip.urgent .result-date-chip-label{color:#9A4543}

/* Personal state chips. */
.personal-mini.saved,
.personal-mini.working,
.activity-signal.signal-new{
  background:rgba(53,95,138,.08);
  color:#355F8A;
  border-color:rgba(53,95,138,.14);
}
.activity-signal.signal-changed{
  color:#B44A46;
  background:rgba(180,74,70,.08);
  border-color:rgba(180,74,70,.14);
}

/* Landing uses the exact same P/H colors and nothing brighter. */
#landing-page{
  --landing-brand-blue:#355F8A;
  --landing-brand-red:#B44A46;
}
#landing-page .landing-simple-label{
  color:#355F8A;
  border-color:rgba(53,95,138,.18);
  background:rgba(53,95,138,.07);
}
#landing-page .landing-simple-primary{
  background:#355F8A;
  border-color:#355F8A;
  color:#fff;
  box-shadow:none;
}
#landing-page .landing-simple-primary:hover{background:#2D5277;border-color:#2D5277}
#landing-page .landing-simple-secondary,
#landing-page .landing-simple-signin{color:#B44A46;border-color:rgba(180,74,70,.28)}
#landing-page .landing-simple-secondary:hover,
#landing-page .landing-simple-signin:hover{
  color:#B44A46;
  border-color:#B44A46;
  background:rgba(180,74,70,.045);
}
#landing-page .landing-simple-bottom{color:rgba(53,95,138,.58)}

/* Final brand-color cleanup */
#landing-page .landing-simple-note i{background:#355F8A}
.activity-icon.amber,.activity-icon.gold{background:rgba(180,74,70,.08);color:#B44A46}

/* ARALPH v4.10.4 · ORIGINAL LANDING ILLUSTRATION */
#landing-page .landing-image-preview{
  background:transparent !important;
}
#landing-page .landing-image-preview .landing-illustration{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  transform:none !important;
}


/* ARALPH v4.10.5 · FLAT / CRISP / FAST INTERACTION SYSTEM */
:root{
  --shadow-xs:none;
  --shadow-sm:none;
  --shadow-md:none;
  --shadow-lg:none;
  --shadow-focus:none;
  --line:#D7D2C8;
  --line-soft:#E6E1D7;
  --line-strong:#BDB7AC;
}

html,body,
button,input,textarea,select{
  text-shadow:none !important;
  -webkit-font-smoothing:auto;
  -moz-osx-font-smoothing:auto;
  text-rendering:geometricPrecision;
  font-synthesis:none;
}

*,*::before,*::after{
  box-shadow:none !important;
  text-shadow:none !important;
}

.sheet-overlay,
.attachment-viewer,
.landing-shell,
.landing-image-preview,
.landing-illustration{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  filter:none !important;
}

/* Every major grouped surface is separated by one crisp physical border. */
.assign-card,
.result-card,
.trend-card,
.tanong-card,
.tanong-answer-card,
.q-card,
.detail-section,
.verify-section,
.correction-card,
.history-disclosure,
.takda-personal-summary,
.profile-private-activity,
.profile-activity-stats>div,
.composer-context-details,
.composer-optional,
.smart-type-panel,
.compose-block,
.attachment-card,
.attachment-disclosure,
.sheet-panel,
.auth-panel,
.landing-image-preview{
  border-width:1px !important;
  border-style:solid !important;
  border-color:var(--line) !important;
  box-shadow:none !important;
}

/* Inputs stay sharp: border change only on focus, never a glow. */
.form-input,
.form-select,
.textarea-field,
.search-input,
.q-ask-box,
input,
textarea,
select{
  box-shadow:none !important;
}
.form-input:focus,
.form-select:focus,
.textarea-field:focus,
.search-input:focus-within,
.q-ask-box:focus-within,
input:focus,
textarea:focus,
select:focus{
  box-shadow:none !important;
  outline:none;
  border-color:var(--blue) !important;
}

/* Fast, flat controls. No transform / scale / lift animation. */
button,
.btn,
.nav-item,
.nav-mobile,
.icon-btn,
.feed-tab,
.sort-pill,
.filter-opt,
.type-opt,
.mini-choice,
.teacher-quick-chip,
.attach-btn,
.attachment-card,
.assign-card,
.result-card,
.trend-card,
.tanong-card,
.mobile-more-item,
.empty-action,
.compose-fab,
.sheet-close,
.landing-btn,
.profile-activity-link{
  transition:
    background-color 70ms linear,
    border-color 70ms linear,
    color 70ms linear,
    opacity 70ms linear !important;
}

button:hover,
button:active,
.btn:hover,
.btn:active,
.assign-card:hover,
.assign-card:active,
.result-card:hover,
.result-card:active,
.trend-card:hover,
.trend-card:active,
.tanong-card:hover,
.tanong-card:active,
.attachment-card:hover,
.attachment-card:active,
.type-opt:hover,
.type-opt:active,
.mobile-more-item:hover,
.mobile-more-item:active,
.empty-action:hover,
.empty-action:active,
.compose-fab:hover,
.compose-fab:active,
.landing-btn:hover,
.landing-btn:active{
  transform:none !important;
  box-shadow:none !important;
}

@media(hover:hover){
  .assign-card:hover,
  .result-card:hover,
  .trend-card:hover,
  .tanong-card:hover,
  .attachment-card:hover{
    transform:none !important;
    box-shadow:none !important;
    border-color:var(--line-strong) !important;
    background:var(--surface) !important;
  }

  .btn:hover,
  .feed-tab:hover,
  .sort-pill:hover,
  .filter-opt:hover,
  .type-opt:hover,
  .mini-choice:hover,
  .teacher-quick-chip:hover,
  .nav-item:hover,
  .mobile-more-item:hover,
  .landing-btn:hover{
    transform:none !important;
    box-shadow:none !important;
  }
}

/* Filled controls get a matching 1px edge instead of depth/shadow. */
.btn-primary,
.type-opt.active,
.filter-opt.active,
.landing-btn-primary,
.compose-fab{
  border:1px solid var(--blue) !important;
}
.btn-red,
.danger,
.danger-btn{
  border:1px solid var(--red) !important;
}
.btn-green{
  border:1px solid var(--green) !important;
}

/* Keep modal/sheet movement functional, but make it immediate and light. */
.sheet{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.sheet-bottom{
  transition:transform 120ms ease-out,opacity 80ms linear !important;
}
.sheet-overlay{
  transition:opacity 80ms linear !important;
}

/* The original landing illustration must remain untouched. */
#landing-page .landing-illustration{
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  text-shadow:none !important;
  box-shadow:none !important;
}

/* ARALPH v4.10.6 · DETAIL BORDER CLEANUP */
.detail-section{
  border:0 !important;
  background:transparent !important;
  border-radius:4px!important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}

.detail-section > .verify-section,
.detail-section > .history-disclosure,
.detail-section > .q-card,
.detail-section > .question-list > .q-card,
.detail-section > .correction-list > .correction-card,
.detail-section > .detail-attachment,
.detail-section > .empty-card,
.detail-section > .empty-state,
.detail-section > .empty-block{
  margin-top:0;
}

.detail-section .detail-section-heading{
  margin-bottom:12px;
}

.detail-section .empty-card,
.detail-section .empty-state,
.detail-section .empty-block{
  border:1px solid var(--line) !important;
  border-radius:4px!important;
  background:var(--surface);
  box-shadow:none !important;
}

.detail-section .empty-card.dashed,
.detail-section .empty-state.dashed,
.detail-section .empty-block.dashed{
  border-style:dashed !important;
}

.detail-section .question-list,
.detail-section .correction-list,
.detail-section .detail-history{
  margin-top:0;
}


/* ARALPH v4.11 · ACTIVITY INTELLIGENCE + SIMPLIFIED FEED */
.takda-feed-nav{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:0 0 12px;
}
.takda-feed-nav .takda-feed-tabs{
  flex:1 1 auto;
  min-width:0;
  margin:0;
  padding:0;
}
.feed-more-menu{
  position:relative;
  flex:0 0 auto;
}
.feed-more-menu>summary{
  list-style:none;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:var(--surface);
  color:var(--text-soft);
  font-size:12.5px;
  font-weight:650;
  cursor:pointer;
  user-select:none;
}
.feed-more-menu>summary::-webkit-details-marker{display:none}
.feed-more-menu.active>summary{
  background:var(--blue);
  border-color:var(--blue);
  color:#fff;
}
.feed-more-chevron{
  font-size:11px;
  line-height:1;
  transition:none;
}
.feed-more-menu[open] .feed-more-chevron{transform:rotate(180deg)}
.feed-more-options{
  position:absolute;
  z-index:30;
  top:calc(100% + 6px);
  right:0;
  width:190px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:var(--surface);
  box-shadow:none;
}
.feed-more-options button{
  width:100%;
  min-height:36px;
  padding:0 10px;
  border:1px solid transparent;
  border-radius:4px!important;
  background:transparent;
  color:var(--text-soft);
  text-align:left;
  font-size:12.5px;
  font-weight:650;
  transition:background-color 70ms linear,border-color 70ms linear,color 70ms linear !important;
}
.feed-more-options button:hover{
  background:var(--surface-2);
  border-color:var(--line);
}
.feed-more-options button.active{
  background:var(--blue-tint);
  border-color:rgba(53,95,138,.22);
  color:var(--blue);
}

.activity-attention{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:0 7px;
  border:1px solid rgba(180,74,70,.22);
  border-radius:4px!important;
  background:rgba(180,74,70,.07);
  color:var(--red);
  font:750 10px/1 "Public Sans",sans-serif;
  white-space:nowrap;
}
.home-attention-block .block-head{align-items:flex-end}
.home-attention-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.home-attention-list .assign-card{
  margin-bottom:0;
  border-color:rgba(180,74,70,.25) !important;
}
.home-attention-list .assign-card .urgency{
  background:rgba(180,74,70,.07);
  color:var(--red);
}

.result-card{
  padding-top:14px;
  padding-bottom:14px;
}
.result-meta{
  color:var(--text-mute);
}
.result-actions{
  align-items:center;
}
.result-actions .btn-primary,
.result-actions .btn-green{
  font-weight:700;
}
.result-share-action{
  padding-left:10px;
  padding-right:10px;
}
.result-subject-row .activity-attention{
  order:3;
}

.detail-meta-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(min-width:760px){
  .detail-meta-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}

#profile-year-text,
#compose-year-text,
#edit-year-text,
#filter-year-text{
  font-variant-numeric:tabular-nums;
}

@media(max-width:640px){
  .takda-feed-nav{
    align-items:center;
  }
  .takda-feed-nav .takda-feed-tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
  }
  .feed-more-options{
    width:min(210px,72vw);
  }
  .result-share-action{
    min-width:34px;
  }
}


/* ARALPH v4.11.1 · ZERO-GRADIENT + FONT AWESOME + INTERACTION AUDIT */
:root{
  --blue-hover:#2E557B;
  --blue-active:#274966;
  --red-hover:#A3423F;
  --red-active:#913A37;
}

/* Font Awesome is the only custom icon system. */
.ui-icon{
  display:inline-block;
  width:1em;
  min-width:1em;
  line-height:1;
  text-align:center;
  font-size:1em;
  flex:0 0 auto;
  pointer-events:none;
}
.btn .ui-icon,.filter-btn .ui-icon,.detail-back .ui-icon,.attach-btn .ui-icon{margin-right:1px}
.feed-more-chevron,.composer-optional-chevron,.history-chevron .ui-icon{font-size:.8em}

/* Cursor semantics: click = pointer, typing = text, unavailable = not-allowed. */
button:not(:disabled),
a[href],
summary,
label[for],
select:not(:disabled),
input[type="checkbox"]:not(:disabled),
input[type="radio"]:not(:disabled),
input[type="file"]:not(:disabled),
[role="button"]:not([aria-disabled="true"]),
[data-action],
[data-screen],
[data-open-assignment],
[data-class-id],
[data-duplicate-open],
.attachment-card,
.chip,
.teacher-quick-chip,
.result-card,
.assign-card,
.trend-card,
.week-item{cursor:pointer!important}

input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="url"],input[type="number"],input[type="date"],input[type="time"],textarea{cursor:text!important}
button:disabled,input:disabled,textarea:disabled,select:disabled,[aria-disabled="true"]{cursor:not-allowed!important;opacity:.55}

/* Fast hover: color/border only. No lift, scale, blur, shadow, or expensive movement. */
button,.btn,a[href],summary,.nav-item,.nav-mobile,.icon-btn,.filter-btn,.feed-tab,.sort-pill,.filter-opt,.type-opt,.mini-choice,.submission-method,.teacher-quick-chip,.attachment-card,.assign-card,.result-card,.trend-card,.mobile-more-item,.empty-action,.compose-fab,.landing-btn,.week-item{
  transition:background-color 60ms linear,border-color 60ms linear,color 60ms linear,opacity 60ms linear!important;
}
button:hover,.btn:hover,.nav-item:hover,.nav-mobile:hover,.icon-btn:hover,.filter-btn:hover,.feed-tab:hover,.sort-pill:hover,.filter-opt:hover,.type-opt:hover,.mini-choice:hover,.submission-method:hover,.teacher-quick-chip:hover,.attachment-card:hover,.assign-card:hover,.result-card:hover,.trend-card:hover,.mobile-more-item:hover,.empty-action:hover,.compose-fab:hover,.landing-btn:hover,.week-item:hover{
  transform:none!important;
  box-shadow:none!important;
}

/* Neutral controls use a crisp surface change. */
.btn-ghost:hover,.btn-outline:hover,.icon-btn:hover,.filter-btn:hover,.filter-opt:not(.active):hover,.type-opt:not(.active):hover,.mini-choice:not(.active):hover,.submission-method:not(.active):hover,.teacher-quick-chip:hover,.mobile-more-item:hover,.sheet-close:hover,.detail-back:hover{
  background:var(--surface-2)!important;
  border-color:var(--line-strong)!important;
  color:var(--text)!important;
}

/* Branded filled controls have explicit hover and pressed colors. */
.btn-primary:hover,.filter-opt.active:hover,.type-opt.active:hover,.compose-fab:hover,.landing-btn-primary:hover{
  background:var(--blue-hover)!important;
  border-color:var(--blue-hover)!important;
  color:#fff!important;
}
.btn-primary:active,.filter-opt.active:active,.type-opt.active:active,.compose-fab:active,.landing-btn-primary:active{
  background:var(--blue-active)!important;
  border-color:var(--blue-active)!important;
  color:#fff!important;
  opacity:1!important;
}
.btn-red:hover,.danger:hover,.danger-btn:hover{background:var(--red-hover)!important;border-color:var(--red-hover)!important;color:#fff!important}
.btn-red:active,.danger:active,.danger-btn:active{background:var(--red-active)!important;border-color:var(--red-active)!important;color:#fff!important}

/* Pressed feedback without layout movement. */
button:active,.btn:active,.nav-item:active,.nav-mobile:active,.icon-btn:active,.filter-btn:active,.teacher-quick-chip:active,.attachment-card:active,.assign-card:active,.result-card:active,.trend-card:active,.mobile-more-item:active,.week-item:active{
  transform:none!important;
  box-shadow:none!important;
  opacity:.82;
}

/* Keyboard focus is crisp and visible, never a glow. */
button:focus-visible,a[href]:focus-visible,summary:focus-visible,[role="button"]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--blue)!important;
  outline-offset:2px;
  box-shadow:none!important;
}
input:focus,textarea:focus,select:focus,.form-input:focus,.form-select:focus,.textarea-field:focus{
  border-color:var(--blue)!important;
  box-shadow:none!important;
}

/* Explicit active / selected component treatment. */
.nav-item.active,.nav-mobile.active,.feed-tab.active,.sort-pill.active,.filter-opt.active,.type-opt.active,.mini-choice.active,.submission-method.active,.auth-tab.active,[aria-pressed="true"]{
  box-shadow:none!important;
}

/* Flat loaders: no gradient shimmer. */
.loading-row,.loading-card,.skeleton-row span,.skeleton-card span,.skeleton-line,.skeleton-grid>div,.skeleton-panel{background:var(--surface-2)!important}
.skeleton-row span::after,.skeleton-card span::after,.skeleton-line::after,.skeleton-grid>div::after,.skeleton-panel::after{background:rgba(255,255,255,.28)!important}

/* Sticky search stays solid instead of fading into the page. */
.takda-search-sticky{background:var(--bg)!important;border-bottom:1px solid var(--line-soft)}

/* Composer and all form panels are solid surfaces only. */
.compose-block,#compose-form .composer-context-details,#compose-form .smart-type-panel,#compose-form .composer-review,.type-aware-detail,.source-context,.profile-private-activity{background-image:none!important}


/* Font Awesome sizing parity after SVG removal */
.nav-item .ui-icon{width:18px;font-size:18px}
.user-card .ui-icon{width:16px;font-size:16px}
.icon-btn .ui-icon{width:18px;font-size:18px}
.assign-deadline .ui-icon{width:13px;font-size:13px}
.confirm-icon .ui-icon{width:11px;font-size:11px}
.btn .ui-icon{width:14px;font-size:14px}
.activity-icon .ui-icon{width:15px;font-size:15px}
.search-input .ui-icon.search-ic{width:17px;height:17px;font-size:17px}
.filter-btn .ui-icon{width:16px;font-size:16px}
.trend-checks .ui-icon{width:12px;font-size:12px}
.result-thumb.no-img .ui-icon{width:22px;font-size:22px}
.verify-badge .ui-icon{width:14px;font-size:14px}
.detail-back .ui-icon{width:14px;font-size:14px}
.urgency-banner-icon .ui-icon{width:22px;font-size:22px}
.verify-status-pill .ui-icon{width:13px;font-size:13px}
.q-helpful-btn .ui-icon{width:12px;font-size:12px}
.trust-badge .ui-icon{width:11px;font-size:11px}
.empty-icon .ui-icon{width:26px;font-size:26px}
.nav-mobile .ui-icon{width:20px;font-size:20px}
.compose-fab .ui-icon{width:22px;font-size:22px}
.sheet-close .ui-icon{width:16px;font-size:16px}
.attach-btn .ui-icon{width:15px;font-size:15px}
.toast .ui-icon{width:16px;font-size:16px}
.tanong-metric .ui-icon{width:13px;font-size:13px}
.attachment-thumb .ui-icon{width:26px;font-size:26px;height:auto}
.mobile-more-icon .ui-icon{width:17px;font-size:17px}
.verify-choice-icon .ui-icon{width:14px;font-size:14px}
#compose-form .attach-input-btn .ui-icon{width:17px;font-size:17px}
.result-date-chip-label .ui-icon{width:12px;font-size:12px}
.takda-page-create .ui-icon{width:17px;font-size:17px}


/* ARALPH v4.11.3 · SHARED TAB RAIL SYSTEM
   Inspired by the supplied dropdown-navigation technique: one restrained rail,
   a shared active surface, and one shared hover surface. No gradients/shadows. */
[data-tab-rail]{
  --tab-active-left:3px;
  --tab-active-width:0px;
  --tab-hover-left:3px;
  --tab-hover-width:0px;
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  gap:0 !important;
  width:max-content;
  max-width:100%;
  padding:3px !important;
  border:1px solid var(--line) !important;
  border-radius:4px!important;
  background:var(--surface-2) !important;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
}
[data-tab-rail]::-webkit-scrollbar{display:none}
[data-tab-rail]>.tab-rail-active,
[data-tab-rail]>.tab-rail-hover{
  position:absolute;
  top:3px;
  bottom:3px;
  pointer-events:none;
  border-radius:4px!important;
  will-change:left,width,opacity;
}
[data-tab-rail]>.tab-rail-active{
  left:var(--tab-active-left);
  width:var(--tab-active-width);
  z-index:0;
  background:var(--surface);
  border:1px solid var(--line-strong);
  opacity:0;
  transition:left 105ms cubic-bezier(.22,1,.36,1),width 105ms cubic-bezier(.22,1,.36,1),opacity 60ms linear;
}
[data-tab-rail].tab-rail-ready>.tab-rail-active{opacity:1}
[data-tab-rail]>.tab-rail-hover{
  left:var(--tab-hover-left);
  width:var(--tab-hover-width);
  z-index:1;
  background:var(--blue-tint);
  border:1px solid transparent;
  opacity:0;
  transition:left 90ms cubic-bezier(.22,1,.36,1),width 90ms cubic-bezier(.22,1,.36,1),opacity 55ms linear;
}
[data-tab-rail].tab-rail-hovering>.tab-rail-hover{opacity:1}
[data-tab-rail]>button{
  position:relative;
  z-index:2;
  min-height:34px;
  padding:0 13px !important;
  border:0 !important;
  border-radius:4px!important;
  background:transparent !important;
  color:var(--text-mute) !important;
  font-size:12.5px;
  font-weight:650;
  line-height:1;
  white-space:nowrap;
  box-shadow:none !important;
  transition:color 65ms linear !important;
}
[data-tab-rail]>button:hover,
[data-tab-rail]>button:focus-visible{color:var(--text) !important}
[data-tab-rail]>button.active,
[data-tab-rail]>button[aria-selected="true"]{
  color:var(--blue) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
[data-tab-rail]>button:active{
  color:var(--blue-active) !important;
  background:transparent !important;
  transform:none !important;
}

/* Your Feed: the main rail remains prominent but compact. */
.takda-feed-nav{
  align-items:center;
  gap:7px;
}
.takda-feed-nav .takda-feed-tabs{
  flex:0 1 auto;
  margin:0;
}
#takda-feed-tabs>button{min-height:36px;padding:0 15px !important}
.feed-more-menu>summary{
  min-height:42px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:4px!important;
  background:var(--surface-2);
  color:var(--text-mute);
  font-size:12.5px;
  font-weight:650;
  transition:background-color 65ms linear,border-color 65ms linear,color 65ms linear !important;
}
.feed-more-menu>summary:hover,
.feed-more-menu[open]>summary{
  background:var(--blue-tint);
  border-color:rgba(53,95,138,.28);
  color:var(--blue);
}
.feed-more-menu.active>summary{
  background:var(--surface);
  border-color:var(--line-strong);
  color:var(--blue);
}
.feed-more-chevron{margin-left:1px;font-size:10px}
.feed-more-menu[open] .feed-more-chevron{transform:rotate(180deg)}
.feed-more-options{
  top:calc(100% + 7px);
  width:206px;
  padding:5px;
  border:1px solid var(--line-strong);
  border-radius:4px!important;
  background:var(--surface);
  box-shadow:none !important;
}
.feed-more-options button{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 9px;
  border:0;
  border-radius:4px!important;
  background:transparent;
  color:var(--text-soft);
  text-align:left;
  font-size:12.5px;
  font-weight:650;
}
.feed-more-options button .ui-icon{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:4px!important;
  color:var(--text-mute);
  font-size:11px;
  background:var(--surface-2);
}
.feed-more-options button:hover{background:var(--surface-2);color:var(--text)}
.feed-more-options button:hover .ui-icon{border-color:var(--line-strong);color:var(--text)}
.feed-more-options button.active{background:var(--blue-tint);color:var(--blue)}
.feed-more-options button.active .ui-icon{border-color:rgba(53,95,138,.25);background:var(--surface);color:var(--blue)}

/* Class + Questions tabs use the exact same rail language. */
.tabs[data-tab-rail]{
  margin-bottom:20px;
  border-bottom:1px solid var(--line) !important;
}
.tabs[data-tab-rail]>.tab{
  margin:0 !important;
  border-bottom:0 !important;
  padding:0 14px !important;
}

/* Sort controls are a smaller secondary rail, not another row of pills. */
.sort-pills[data-tab-rail]{
  padding:2px !important;
  border-radius:4px!important;
}
.sort-pills[data-tab-rail]>.tab-rail-active,
.sort-pills[data-tab-rail]>.tab-rail-hover{top:2px;bottom:2px;border-radius:4px!important}
.sort-pills[data-tab-rail]>button{
  min-height:29px;
  padding:0 9px !important;
  border-radius:4px!important;
  font-size:11.5px;
}

/* Auth switcher follows the same shared-surface technique. */
.auth-tabs[data-tab-rail]{
  width:100%;
  display:flex;
  margin-bottom:16px;
}
.auth-tabs[data-tab-rail]>button{flex:1 1 0;justify-content:center}

@media(max-width:640px){
  .takda-feed-nav{align-items:center}
  .takda-feed-nav .takda-feed-tabs{flex:1 1 auto;min-width:0}
  #takda-feed-tabs>button{padding:0 13px !important}
  .feed-more-menu>summary{min-height:40px;padding:0 11px}
  .tabs[data-tab-rail]{max-width:100%;}
}

/* ARALPH v4.11.4 · COMPACT ROW FEED */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* One list surface, not a stack of oversized cards. */
.takda-feed-group-list,
#search-results-list:not(:empty),
#takda-feed-list.standalone-result-list:not(:empty){
  display:block!important;
  border:1px solid var(--line)!important;
  border-radius:4px!important;
  overflow:hidden!important;
  background:var(--surface)!important;
}

.takda-feed-group-list .result-card,
#search-results-list>.result-card,
#takda-feed-list.standalone-result-list>.result-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(128px,156px) auto!important;
  align-items:center!important;
  column-gap:20px!important;
  row-gap:0!important;
  min-height:76px!important;
  margin:0!important;
  padding:12px 14px!important;
  border:0!important;
  border-radius:4px!important;
  background:var(--surface)!important;
  overflow:visible!important;
}

.takda-feed-group-list .result-card+.result-card,
#search-results-list>.result-card+.result-card,
#takda-feed-list.standalone-result-list>.result-card+.result-card{
  border-top:1px solid var(--line-soft)!important;
}

.takda-feed-group-list .result-card:hover,
#search-results-list>.result-card:hover,
#takda-feed-list.standalone-result-list>.result-card:hover{
  background:var(--surface-2)!important;
  border-color:var(--line-soft)!important;
}

/* Flatten the old nested card layout so fields align like columns. */
.result-card .result-top,
.result-card .result-content,
.result-card .result-head{
  display:contents!important;
}
.result-card .result-copy{
  grid-column:1!important;
  min-width:0!important;
}
.result-card .result-subject-row{
  margin:0 0 4px!important;
  gap:6px!important;
  min-width:0!important;
}
.result-card .result-subject{
  font-size:15px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.result-card .result-title{
  margin:0 0 5px!important;
  font-size:13.5px!important;
  line-height:1.35!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  display:block!important;
}
.result-card .result-meta{
  margin:0!important;
  font-size:11.5px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  flex-wrap:nowrap!important;
}
.result-card .result-meta>span:not(.dot-sep){
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Date/effective info is a table-like column, never another card. */
.result-card .result-date-chip{
  grid-column:2!important;
  align-self:center!important;
  min-width:0!important;
  max-width:none!important;
  width:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:4px!important;
  background:transparent!important;
  box-shadow:none!important;
  gap:2px!important;
}
.result-card .result-date-chip-label{
  font-size:9.5px!important;
  letter-spacing:.07em!important;
  color:var(--text-mute)!important;
}
.result-card .result-date-chip-value{
  font-size:12.5px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.result-card .result-date-chip-state{
  font-size:10px!important;
  line-height:1.2!important;
}
.result-card .result-date-chip.warn .result-date-chip-value,
.result-card .result-date-chip.warn .result-date-chip-state{color:var(--blue)!important}
.result-card .result-date-chip.urgent .result-date-chip-value,
.result-card .result-date-chip.urgent .result-date-chip-state{color:var(--red)!important}
.result-card .result-date-chip.done .result-date-chip-value,
.result-card .result-date-chip.done .result-date-chip-state{color:var(--green)!important}

/* Actions become a compact end column. */
.result-card .result-foot{
  grid-column:3!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  min-width:0!important;
}
.result-card .result-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:5px!important;
}
.result-card .result-actions .btn{
  min-height:32px!important;
  height:32px!important;
  padding:0 10px!important;
  border-radius:4px!important;
  font-size:11.5px!important;
}
.result-card .result-actions .result-icon-action{
  width:32px!important;
  min-width:32px!important;
  padding:0!important;
}
.result-card .result-actions .result-icon-action .ui-icon{
  margin:0!important;
  font-size:12px!important;
}

/* Personal tracking context becomes a subtle second line, not a second card. */
.result-card .personal-activity-context{
  grid-column:1 / -1!important;
  grid-row:2!important;
  margin:8px 0 0!important;
  padding:7px 0 0!important;
  border-top:1px solid var(--line-soft)!important;
  font-size:9.5px!important;
}
.result-card .personal-activity-context b{
  min-height:18px!important;
  padding:0 6px!important;
  border-radius:4px!important;
  background:transparent!important;
}

/* Group headers are compact table-section labels. */
.takda-feed-group{
  margin-bottom:16px!important;
}
.takda-group-head{
  margin-bottom:6px!important;
  min-height:20px!important;
}
.takda-group-title,
.takda-group-count{
  font-size:11.5px!important;
}

@media(max-width:760px){
  .takda-feed-group-list .result-card,
  #search-results-list>.result-card,
  #takda-feed-list.standalone-result-list>.result-card{
    grid-template-columns:minmax(0,1fr) auto!important;
    column-gap:10px!important;
    row-gap:9px!important;
    min-height:0!important;
    padding:12px!important;
  }
  .result-card .result-copy{grid-column:1 / -1!important}
  .result-card .result-date-chip{grid-column:1!important;grid-row:2!important}
  .result-card .result-foot{grid-column:2!important;grid-row:2!important}
  .result-card .result-title{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
  .result-card .result-meta{white-space:normal!important;flex-wrap:wrap!important}
  .result-card .result-actions .btn:not(.result-icon-action){padding:0 9px!important}
  .result-card .personal-activity-context{grid-row:3!important}
}

/* ARALPH v4.11.5 · ACTIVITY TAB PARITY
   Activities inherits the same shared tab rail used by Classes and Questions.
   This block contains layout/dropdown rules only; hover/active visuals come
   exclusively from the generic [data-tab-rail] system above. */
.takda-feed-nav{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  margin-bottom:12px;
}

/* The activity rail is the same .tabs[data-tab-rail] component. */
#takda-feed-tabs.tabs[data-tab-rail]{
  margin-bottom:0;
  flex:0 1 auto;
}

/* More is a direct member of the same rail, so the shared hover surface
   can slide over it exactly like any other tab. */
#feed-more-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
#feed-more-trigger .feed-more-chevron{
  margin:0;
  width:10px;
  font-size:10px;
  transition:transform 90ms cubic-bezier(.22,1,.36,1)!important;
}
#feed-more-trigger[aria-expanded="true"] .feed-more-chevron{
  transform:rotate(180deg)!important;
}

/* Only the popup is activity-specific. The trigger is not visually restyled. */
.feed-more-menu{
  position:absolute;
  z-index:45;
  top:calc(100% + 7px);
  right:0;
  width:206px;
  padding:5px;
  border:1px solid var(--line-strong);
  border-radius:4px!important;
  background:var(--surface);
}
.feed-more-menu.hidden{display:none!important}
.feed-more-menu .feed-more-options{
  position:static!important;
  inset:auto!important;
  width:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:4px!important;
  background:transparent!important;
}
.feed-more-menu .feed-more-options button{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  align-items:center;
  gap:8px;
  width:100%;
  min-height:38px;
  padding:0 9px;
  border:0!important;
  border-radius:4px!important;
  background:transparent!important;
  color:var(--text-soft);
  text-align:left;
  font-size:12.5px;
  font-weight:650;
  transform:none!important;
  transition:background-color 65ms linear,color 65ms linear!important;
}
.feed-more-menu .feed-more-options button:hover,
.feed-more-menu .feed-more-options button:focus-visible{
  background:var(--surface-2)!important;
  color:var(--text)!important;
}
.feed-more-menu .feed-more-options button.active{
  background:var(--blue-tint)!important;
  color:var(--blue)!important;
}

/* Sort rails use the generic compact [data-tab-rail] component with no
   Activities-only active fill, hover fill, timing, or pressed styling. */
.screen[data-screen="takda"] .sort-pills[data-tab-rail]{
  flex:0 0 auto;
}

@media(max-width:640px){
  .takda-feed-nav{margin-bottom:10px}
  #takda-feed-tabs.tabs[data-tab-rail]{
    width:max-content;
    max-width:100%;
    overflow-x:auto;
  }
  .feed-more-menu{
    right:0;
    max-width:min(206px,calc(100vw - 32px));
  }
}



/* ARALPH v4.11.6 · STRICT FEED COLUMN ALIGNMENT + ANCHORED MORE MENU */

/* Desktop: every Activity/Search row shares the same physical columns:
   information | date/status | primary action | save | share.
   Empty slots remain reserved so one row can never shift another. */
@media(min-width:761px){
  .takda-feed-group-list .result-card,
  #search-results-list>.result-card,
  #takda-feed-list.standalone-result-list>.result-card{
    grid-template-columns:minmax(0,1fr) 154px 196px!important;
    column-gap:16px!important;
    min-height:88px!important;
    padding:12px 14px!important;
  }

  .result-card .result-copy{
    grid-column:1!important;
    align-self:center!important;
  }

  .result-card .result-date-chip{
    grid-column:2!important;
    width:154px!important;
    min-width:154px!important;
    max-width:154px!important;
    align-self:center!important;
    justify-self:start!important;
  }

  .result-card .result-foot{
    grid-column:3!important;
    width:196px!important;
    min-width:196px!important;
    max-width:196px!important;
    justify-self:end!important;
    align-self:center!important;
  }

  .result-card .result-actions{
    display:grid!important;
    grid-template-columns:124px 30px 30px!important;
    align-items:center!important;
    justify-content:end!important;
    gap:6px!important;
    width:196px!important;
    min-width:196px!important;
  }

  /* Fixed primary-action slot. Labels may differ, the column never does. */
  .result-card .result-actions>.btn:not(.result-icon-action){
    grid-column:1!important;
    width:124px!important;
    min-width:124px!important;
    max-width:124px!important;
    padding:0 9px!important;
    justify-content:center!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .result-card .result-actions>.result-save-action{
    grid-column:2!important;
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
  }

  .result-card .result-actions>.result-share-action{
    grid-column:3!important;
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
  }

  /* Announcement rows intentionally have no Share button; the third grid
     slot remains empty so the Save icon still aligns with every other row. */
}

/* Keep rows visually straight even when metadata/badges differ. */
.result-card .result-subject-row{
  min-height:22px!important;
  align-items:center!important;
}
.result-card .result-title{
  min-height:18px!important;
}
.result-card .result-meta{
  min-height:15px!important;
  align-items:center!important;
}

/* The More popup is positioned from its trigger by JS, never from the far
   right edge of the Activity navigation container. */
.feed-more-menu{
  right:auto!important;
  margin:0!important;
  transform:none!important;
  transform-origin:top left!important;
}

@media(max-width:760px){
  /* Mobile remains content-led, but actions themselves keep deterministic
     slots so buttons do not jitter between rows. */
  .result-card .result-actions{
    display:grid!important;
    grid-template-columns:minmax(104px,124px) 30px 30px!important;
    gap:5px!important;
    width:auto!important;
  }
  .result-card .result-actions>.btn:not(.result-icon-action){
    width:100%!important;
    min-width:0!important;
    max-width:124px!important;
    justify-content:center!important;
  }
  .result-card .result-actions>.result-save-action{
    grid-column:2!important;
  }
  .result-card .result-actions>.result-share-action{
    grid-column:3!important;
  }
}


/* ARALPH v4.11.7 · ACTIVITIES SHARED HOVER LANGUAGE */
:root{
  --activity-hover:#EEF3F7;
  --activity-hover-strong:#E3EBF1;
  --activity-hover-border:#B9C9D6;
}

/* Activity feed/search rows: same crisp brand-tinted interaction everywhere. */
.screen[data-screen="takda"] .takda-feed-group-list .result-card:hover,
.screen[data-screen="takda"] #takda-feed-list.standalone-result-list>.result-card:hover,
.screen[data-screen="takda"] #search-results-list>.result-card:hover,
.screen[data-screen="search"] #search-results-list>.result-card:hover{
  background:var(--activity-hover)!important;
  border-color:var(--line-soft)!important;
  color:inherit!important;
}
.screen[data-screen="takda"] .takda-feed-group-list .result-card:active,
.screen[data-screen="takda"] #takda-feed-list.standalone-result-list>.result-card:active,
.screen[data-screen="takda"] #search-results-list>.result-card:active,
.screen[data-screen="search"] #search-results-list>.result-card:active{
  background:var(--activity-hover-strong)!important;
  opacity:1!important;
}

/* Search/filter controls use the same hover treatment instead of cream/white. */
.screen[data-screen="takda"] .filter-btn:hover,
.screen[data-screen="takda"] .filter-opt:not(.active):hover,
.screen[data-screen="takda"] .chip:hover,
.screen[data-screen="search"] .filter-btn:hover,
.screen[data-screen="search"] .filter-opt:not(.active):hover,
.screen[data-screen="search"] .chip:hover{
  background:var(--activity-hover)!important;
  border-color:var(--activity-hover-border)!important;
  color:var(--blue)!important;
}
.screen[data-screen="takda"] .filter-btn:active,
.screen[data-screen="takda"] .filter-opt:not(.active):active,
.screen[data-screen="takda"] .chip:active,
.screen[data-screen="search"] .filter-btn:active,
.screen[data-screen="search"] .filter-opt:not(.active):active,
.screen[data-screen="search"] .chip:active{
  background:var(--activity-hover-strong)!important;
  border-color:var(--activity-hover-border)!important;
  color:var(--blue)!important;
  opacity:1!important;
}

/* More menu entries follow the identical Activity hover language. */
.feed-more-menu .feed-more-options button:hover,
.feed-more-menu .feed-more-options button:focus-visible{
  background:var(--activity-hover)!important;
  color:var(--blue)!important;
}
.feed-more-menu .feed-more-options button:hover .ui-icon,
.feed-more-menu .feed-more-options button:focus-visible .ui-icon{
  background:transparent!important;
  border-color:var(--activity-hover-border)!important;
  color:var(--blue)!important;
}
.feed-more-menu .feed-more-options button:active{
  background:var(--activity-hover-strong)!important;
  color:var(--blue)!important;
  opacity:1!important;
}

/* Compact row utility actions get a visible but quiet hover state. */
.screen[data-screen="takda"] .result-card .result-icon-action:hover,
.screen[data-screen="search"] .result-card .result-icon-action:hover{
  background:var(--activity-hover)!important;
  border-color:var(--activity-hover-border)!important;
  color:var(--blue)!important;
}
.screen[data-screen="takda"] .result-card .result-icon-action:active,
.screen[data-screen="search"] .result-card .result-icon-action:active{
  background:var(--activity-hover-strong)!important;
  border-color:var(--activity-hover-border)!important;
  color:var(--blue)!important;
  opacity:1!important;
}

/* Preserve clear active/selected hierarchy above hover. */
.screen[data-screen="takda"] .filter-opt.active,
.screen[data-screen="search"] .filter-opt.active,
.feed-more-menu .feed-more-options button.active{
  background:var(--blue-tint)!important;
  border-color:rgba(53,95,138,.25)!important;
  color:var(--blue)!important;
}


/* ARALPH v4.11.8 · UNIFORM APP SURFACE + HOVER LANGUAGE */
:root{
  --bg:#FCFCFA;
  --landing-brand-cream:#FCFCFA;

  /* One neutral interaction language for every page. */
  --ui-hover:#EEF3F7;
  --ui-hover-strong:#E3EBF1;
  --ui-hover-border:#B9C9D6;

  /* Backward compatibility for the Activity-specific rules. */
  --activity-hover:var(--ui-hover);
  --activity-hover-strong:var(--ui-hover-strong);
  --activity-hover-border:var(--ui-hover-border);
}

/* Neutral interactive surfaces use the same hover behavior throughout
   Home, Activity Updates, Classes, Questions, Profile, sheets and mobile. */
@media(hover:hover) and (pointer:fine){
  :where(
    .nav-item:not(.active),
    .nav-mobile:not(.active),
    .user-card,
    .icon-btn,
    .btn-outline,
    .btn-ghost,
    .filter-btn,
    .filter-opt:not(.active),
    .type-opt:not(.active),
    .mini-choice:not(.active),
    .submission-method:not(.active),
    .teacher-quick-chip:not(.active),
    .attach-btn,
    .attach-input-btn,
    .attachment-card,
    .assign-card,
    .result-card,
    .trend-card,
    .tanong-card,
    .mobile-more-item,
    .empty-action,
    .week-item,
    .class-item,
    .detail-back,
    .sheet-close,
    .verify-choice:not(.selected),
    .correction-vote-btn:not(.selected),
    .duplicate-match,
    .deadline-reminder-btn:not(.active),
    .reminder-option,
    .related-row,
    .report-reason:not(.active),
    .tanong-follow-btn:not(.active),
    .landing-btn-secondary,
    .landing-simple-secondary,
    .landing-simple-signin
  ):hover{
    background:var(--ui-hover)!important;
    border-color:var(--ui-hover-border)!important;
    color:var(--blue)!important;
    box-shadow:none!important;
    transform:none!important;
  }

  :where(
    .block-link,
    .profile-activity-link,
    .verify-clear,
    .danger-quiet:not(:hover)
  ):hover{
    background:var(--ui-hover)!important;
    color:var(--blue)!important;
    border-radius:4px!important;
    text-decoration:none!important;
  }
}

/* Pressed/tap state: same family, slightly stronger. */
:where(
  .nav-item:not(.active),
  .nav-mobile:not(.active),
  .user-card,
  .icon-btn,
  .btn-outline,
  .btn-ghost,
  .filter-btn,
  .filter-opt:not(.active),
  .type-opt:not(.active),
  .mini-choice:not(.active),
  .submission-method:not(.active),
  .teacher-quick-chip:not(.active),
  .attach-btn,
  .attach-input-btn,
  .attachment-card,
  .assign-card,
  .result-card,
  .trend-card,
  .tanong-card,
  .mobile-more-item,
  .empty-action,
  .week-item,
  .class-item,
  .detail-back,
  .sheet-close,
  .verify-choice:not(.selected),
  .correction-vote-btn:not(.selected),
  .duplicate-match,
  .deadline-reminder-btn:not(.active),
  .reminder-option,
  .related-row,
  .report-reason:not(.active),
  .tanong-follow-btn:not(.active),
  .landing-btn-secondary,
  .landing-simple-secondary,
  .landing-simple-signin
):active{
  background:var(--ui-hover-strong)!important;
  border-color:var(--ui-hover-border)!important;
  color:var(--blue)!important;
  opacity:1!important;
  box-shadow:none!important;
  transform:none!important;
}

/* Inputs stay visually calm; hover only sharpens the border. */
@media(hover:hover) and (pointer:fine){
  :where(
    .form-input,
    .form-select,
    .textarea-field,
    .search-input,
    input:not([type="checkbox"]):not([type="radio"]),
    textarea,
    select
  ):hover{
    border-color:var(--ui-hover-border)!important;
    box-shadow:none!important;
  }
}

/* Primary, selected and semantic states remain stronger than hover. */
.btn-primary:hover,
.compose-fab:hover,
.takda-page-create:hover,
.landing-btn-primary:hover,
.landing-simple-primary:hover{
  background:var(--blue-hover)!important;
  border-color:var(--blue-hover)!important;
  color:#fff!important;
}
.btn-primary:active,
.compose-fab:active,
.takda-page-create:active,
.landing-btn-primary:active,
.landing-simple-primary:active{
  background:var(--blue-active)!important;
  border-color:var(--blue-active)!important;
  color:#fff!important;
}

.btn-green:hover,
.q-helpful-btn:hover{
  color:var(--green)!important;
}
.danger-quiet:hover,
.btn-red:hover,
.danger-btn:hover{
  color:var(--red)!important;
}

/* Shared tab rails remain governed by the single moving hover/active surface,
   not by per-button background fills. */
[data-tab-rail]>button:hover,
[data-tab-rail]>button:active{
  background:transparent!important;
}

/* Make the requested near-white canvas explicit on every main shell. */
html,
body,
.app,
.main{
  background-color:#FCFCFA;
}


/* ARALPH v4.11.11 · UNIVERSAL 4PX RADIUS */
:root{
  --r-xs:4px;
  --r-sm:4px;
  --r-md:4px;
  --r-lg:4px;
  --r-xl:4px;
  --r-full:4px;
}

*,*::before,*::after{
  border-radius:4px!important;
}


/* ========================================================================
   ARALPH v4.12 · SYSTEM CONSISTENCY + MOBILE + DETAIL + PERFORMANCE PASS
   ======================================================================== */
:root{
  --r-2xl:4px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --control-h:38px;
  --control-h-sm:32px;
  --control-h-lg:44px;
  --content-gap:22px;
}

/* 1–2. One spacing/alignment/component system across every screen. */
.screen{min-width:0}
.screen.is-active{display:flex;flex-direction:column;gap:var(--content-gap)}
.screen>header,.takda-view>header{margin-bottom:0!important}
.block{margin:0!important;min-width:0}
.block+.block{margin-top:0!important}
.block-head{min-height:32px;align-items:flex-start!important;gap:12px!important;margin-bottom:12px!important}
.block-title{line-height:1.2!important}
.block-sub,.display-sub,.sheet-sub{max-width:680px}

.btn,.filter-btn,.icon-btn,.sheet-close,.detail-back,.tab,.sort-pill{
  min-height:var(--control-h);
  line-height:1.1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.btn-sm,.sort-pill{min-height:var(--control-h-sm)}
.btn-lg{min-height:var(--control-h-lg)}
.icon-btn,.sheet-close{width:var(--control-h);min-width:var(--control-h);padding:0!important}

.form-input,.form-select,.textarea-field,.search-input input,#q-input{
  min-height:42px;
  border:1px solid var(--line)!important;
  background:var(--surface)!important;
  padding:10px 12px!important;
  line-height:1.4;
}
.textarea-field{min-height:96px;resize:vertical}
.form-field{min-width:0}
.form-grid{gap:12px!important}
.form-label{margin-bottom:6px!important}

.tabs[data-tab-rail],.sort-pills[data-tab-rail]{min-width:0}
.tab,.sort-pill{white-space:nowrap}
.chip,.active-filter,.result-type,.detail-subject-tag,.activity-signal,.activity-attention,.personal-mini,.verify-status-pill,.submission-badge,.attachment-category,.duplicate-stack-badge{min-height:24px;display:inline-flex;align-items:center}

.sheet{max-width:min(560px,calc(100vw - 24px))!important}
.sheet-head{align-items:flex-start!important;gap:16px!important;padding-bottom:14px!important;border-bottom:1px solid var(--line-soft)}
.sheet-title{line-height:1.15}
.sheet form,.sheet>.form-field{min-width:0}

/* Consistent list-row density. */
.result-card,.assign-card,.tanong-card,.week-item,.class-item,.activity-item,.notification-row{
  min-width:0;
  transition:background-color 65ms linear,border-color 65ms linear,color 65ms linear,opacity 65ms linear!important;
}
.result-card,.assign-card,.tanong-card{content-visibility:auto;contain-intrinsic-size:88px}
.takda-feed-group{content-visibility:auto;contain-intrinsic-size:300px}
.result-card .result-copy,.result-card .result-meta,.result-card .result-foot,.tanong-card>*,.class-info{min-width:0}

.nav-count{
  margin-left:auto;min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid currentColor;font-size:10.5px;font-weight:800;color:inherit;background:transparent;
}

/* Notification Center + grouping. */
.notification-sheet{width:min(520px,calc(100vw - 24px))!important}
.notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 10px}
.notification-tabs{width:max-content!important}
.notification-tabs .tab{padding:7px 12px!important;font-size:12px!important}
.notification-list{display:flex;flex-direction:column;gap:16px;max-height:min(62vh,620px);overflow:auto;overscroll-behavior:contain;padding-right:2px}
.notification-group{display:flex;flex-direction:column;gap:0}
.notification-group-label{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);padding:0 2px 6px}
.notification-row{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 8px;align-items:start;gap:10px;padding:11px 8px;border-top:1px solid var(--line-soft);text-align:left;background:transparent}
.notification-row:first-of-type{border-top:1px solid var(--line)}
.notification-row.unread{background:var(--ui-hover)}
.notification-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--blue);background:var(--surface)}
.notification-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.notification-title-line{display:flex;align-items:center;gap:7px;min-width:0}
.notification-title-line b{font-size:13px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notification-group-count{min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);font-size:10px;font-weight:800;color:var(--blue)}
.notification-body{font-size:12px;line-height:1.45;color:var(--text-soft);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.notification-time{font-size:10.5px;color:var(--text-mute)}
.notification-unread-dot{width:7px;height:7px;background:var(--blue);margin-top:6px}
.notification-empty{padding:34px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;color:var(--text-mute)}
.notification-empty .ui-icon{font-size:19px;margin-bottom:4px;color:var(--blue)}
.notification-empty b{font-size:13px;color:var(--text)}
.notification-empty span{font-size:12px}

/* Smarter reminder treatment. */
.reminder-recommendation{margin:12px 0 10px;padding:10px 12px;border-left:2px solid var(--blue);background:var(--ui-hover);font-size:12px;line-height:1.45;color:var(--text-soft)}
.reminder-options{gap:8px!important}
.reminder-option{position:relative;min-height:62px!important;padding:10px 12px!important}
.reminder-option.recommended{border-color:var(--ui-hover-border)!important;background:var(--ui-hover)!important}
.reminder-option.recommended::after{content:"Recommended";position:absolute;right:9px;top:8px;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--blue)}
.reminder-option.recommended b{padding-right:80px}

/* Duplicate consolidation stays visible but quiet. */
.duplicate-stack-badge{padding:3px 6px;border:1px solid var(--ui-hover-border);background:var(--ui-hover);color:var(--blue);font-size:9.5px;font-weight:800;white-space:nowrap}

/* 4. Activity Detail hierarchy — fewer nested boxes, clearer task flow. */
.takda-view[data-view="detail"]{max-width:1040px;margin:0 auto;width:100%;padding-bottom:40px}
#assignment-detail{display:flex;flex-direction:column;gap:0;min-width:0}
.detail-hero{padding:2px 0 18px;border-bottom:1px solid var(--line)}
.detail-title{max-width:840px;line-height:1.08!important;margin-bottom:0!important}
.detail-overview{padding:16px 0 18px;border-bottom:1px solid var(--line)}
.detail-meta-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;border:1px solid var(--line);background:var(--surface)}
.detail-meta-item{padding:10px 12px!important;border:0!important;border-left:1px solid var(--line-soft)!important;min-width:0;background:transparent!important}
.detail-meta-item:first-child{border-left:0!important}
.detail-meta-label{font-size:9.5px!important;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute)}
.detail-meta-value{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.urgency-banner{margin:12px 0 0!important;min-height:62px!important;padding:10px 12px!important;border:1px solid var(--line)!important;background:var(--surface)!important}
.urgency-banner.urgent{border-left:3px solid var(--red)!important}.urgency-banner.done{border-left:3px solid var(--green)!important}
.detail-action-row{margin:12px 0 0!important;padding:0!important;gap:7px!important;align-items:center}
.source-context{margin-top:10px!important;padding-top:10px!important;border-top:1px solid var(--line-soft);display:flex!important;justify-content:space-between!important;gap:10px!important;flex-wrap:wrap}
.important-changes{margin:12px 0 0!important;border:1px solid var(--line)!important;background:var(--surface)!important;padding:10px 12px!important}

.detail-content-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:28px;padding-top:22px;align-items:start}
.detail-content-main,.detail-community-rail{display:flex;flex-direction:column;gap:0;min-width:0}
.detail-section{padding:18px 0!important;margin:0!important;border:0!important;border-top:1px solid var(--line-soft)!important;background:transparent!important}
.detail-content-main>.detail-section:first-child,.detail-community-rail>.detail-section:first-child{border-top:0!important;padding-top:0!important}
.detail-section-heading{margin-bottom:10px!important}
.detail-section-title,.verify-head-title,.task-workspace-head h3{font-size:16px!important;line-height:1.25!important}
.detail-desc{font-size:14px!important;line-height:1.65!important;color:var(--text-soft)}
.type-aware-detail,.task-workspace{border-top:1px solid var(--line-soft)!important}
.task-workspace{display:flex;flex-direction:column;gap:0!important}
.task-workspace-block{padding:14px 0!important;border:0!important;border-top:1px solid var(--line-soft)!important;background:transparent!important}
.task-workspace-block:first-child{border-top:0!important;padding-top:0!important}
.requirement-list,.coverage-checklist{gap:0!important;border:1px solid var(--line)}
.requirement-item,.coverage-item{border:0!important;border-top:1px solid var(--line-soft)!important;background:var(--surface)!important;min-height:42px!important}
.requirement-item:first-child,.coverage-item:first-child{border-top:0!important}
.submission-summary,.type-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;border:1px solid var(--line)}
.submission-summary>div,.type-detail-grid>div{padding:10px 12px!important;border:0!important;border-left:1px solid var(--line-soft)!important;border-top:1px solid var(--line-soft)!important;background:var(--surface)!important}
.submission-summary>div:nth-child(-n+2),.type-detail-grid>div:nth-child(-n+2){border-top:0!important}
.submission-summary>div:nth-child(odd),.type-detail-grid>div:nth-child(odd){border-left:0!important}
.attachment-grid{gap:8px!important}
.attachment-card{padding:9px!important}

.detail-community-rail{position:sticky;top:18px}
.detail-community-section{padding:16px 0!important}
.verify-section{padding:0!important;border:0!important;background:transparent!important}
.verify-head{display:block!important;margin-bottom:10px!important}
.verify-status-pill{margin-top:8px}
.verify-choice-grid{grid-template-columns:1fr!important;gap:6px!important}
.verify-choice{min-height:56px!important;padding:9px 10px!important}
.verify-footer{padding-top:9px!important;margin-top:8px!important}
.correction-list,.question-list,.detail-history,.related-list{gap:6px!important}
.correction-card,.q-card,.history-item,.related-row{padding:10px 11px!important;border:1px solid var(--line)!important;background:var(--surface)!important}
.q-ask-box{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important;margin-top:8px!important;padding:0!important;border:0!important;background:transparent!important}
.q-ask-box input{min-width:0}
.detail-compact-disclosure{padding:10px 0!important}
.history-disclosure>summary{min-height:42px;padding:8px 0!important;border:0!important;background:transparent!important}

/* 3. Mobile audit — no desktop compression, no accidental horizontal overflow. */
@media(max-width:760px){
  :root{--content-gap:18px;--control-h:40px;--control-h-sm:36px;--control-h-lg:44px}
  html,body,.app,.main,.screen,.takda-view{max-width:100%;overflow-x:hidden}
  .main{padding-left:14px!important;padding-right:14px!important;padding-bottom:86px!important}
  .screen.is-active{gap:18px}
  .display-title{font-size:28px!important;line-height:1.08!important}
  .display-sub{font-size:13px!important;line-height:1.5!important}
  .takda-page-head,.tanong-head,.klase-head{gap:12px!important;align-items:flex-start!important}
  .takda-page-create,.tanong-ask-main{min-height:40px!important;flex-shrink:0}
  .takda-search-sticky{margin-left:-14px!important;margin-right:-14px!important;padding-left:14px!important;padding-right:14px!important}
  .search-wrap{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important}
  .filter-btn{padding:0 10px!important;min-width:44px}
  .chips-row{overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none;padding-bottom:2px}.chips-row::-webkit-scrollbar{display:none}
  .tabs[data-tab-rail]{max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;justify-content:flex-start!important}.tabs[data-tab-rail]::-webkit-scrollbar{display:none}
  .tab{flex:0 0 auto!important;padding-left:11px!important;padding-right:11px!important}
  .takda-feed-head{display:flex!important;align-items:flex-start!important}
  .takda-sort-row{align-items:flex-start!important;gap:8px!important;overflow:hidden}
  .sort-pills{overflow-x:auto;max-width:100%;scrollbar-width:none}.sort-pills::-webkit-scrollbar{display:none}
  .result-card{grid-template-columns:minmax(0,1fr)!important;padding:12px!important;gap:10px!important}
  .result-card .result-date-chip{grid-column:1!important;width:100%!important;min-width:0!important;max-width:none!important;display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:8px!important;padding:8px 9px!important;border-top:1px solid var(--line-soft)!important}
  .result-card .result-date-chip-value{text-align:left!important}
  .result-card .result-foot{grid-column:1!important;width:100%!important;min-width:0!important;max-width:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
  .result-card .confidence-wrap{min-width:0;overflow:hidden}
  .result-card .result-actions{grid-template-columns:minmax(104px,124px) 34px 34px!important;width:auto!important;min-width:0!important}
  .result-card .result-actions>.result-save-action,.result-card .result-actions>.result-share-action{width:34px!important;min-width:34px!important;max-width:34px!important}
  .result-meta{overflow:hidden;flex-wrap:wrap!important}
  .feed-more-menu{max-width:calc(100vw - 28px)!important}
  .sheet{left:12px!important;right:12px!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - 24px)!important;padding-left:14px!important;padding-right:14px!important}
  .notification-sheet{left:12px!important;right:12px!important;width:auto!important}
  .notification-toolbar{align-items:flex-start;flex-wrap:wrap}
  .notification-list{max-height:56dvh}
  .form-input,.form-select,.textarea-field,.search-input input,#q-input{font-size:16px!important}
  .form-grid,.compact-grid{grid-template-columns:1fr!important}
  .detail-back{margin-bottom:2px!important}
  .takda-view[data-view="detail"]{padding-bottom:24px}
  .detail-hero{padding-bottom:14px}
  .detail-title{font-size:29px!important}
  .detail-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .detail-meta-item{border-left:0!important;border-top:1px solid var(--line-soft)!important}
  .detail-meta-item:nth-child(-n+2){border-top:0!important}.detail-meta-item:nth-child(even){border-left:1px solid var(--line-soft)!important}
  .urgency-banner{align-items:flex-start!important;gap:10px!important}.urgency-banner-tools{flex-wrap:wrap!important;justify-content:flex-end!important}
  .detail-action-row{display:grid!important;grid-template-columns:1fr 1fr!important}.detail-action-row>*{margin:0!important}.detail-action-row .primary-action-slot,.detail-owner-actions{grid-column:1/-1!important}.detail-owner-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%}
  .source-context{display:grid!important;grid-template-columns:1fr!important}
  .detail-content-layout{grid-template-columns:1fr!important;gap:0!important;padding-top:16px}
  .detail-community-rail{position:static!important;border-top:1px solid var(--line);padding-top:16px;margin-top:2px}
  .detail-community-rail>.detail-section:first-child{padding-top:0!important}
  .submission-summary,.type-detail-grid{grid-template-columns:1fr!important}.submission-summary>div,.type-detail-grid>div{border-left:0!important}.submission-summary>div:nth-child(n+2),.type-detail-grid>div:nth-child(n+2){border-top:1px solid var(--line-soft)!important}
  .q-ask-box{grid-template-columns:1fr!important}.q-ask-box .btn{width:100%}
}

@media(max-width:390px){
  .main{padding-left:12px!important;padding-right:12px!important}
  .takda-search-sticky{margin-left:-12px!important;margin-right:-12px!important;padding-left:12px!important;padding-right:12px!important}
  .takda-page-head{display:grid!important;grid-template-columns:1fr!important}.takda-page-create{width:100%!important}
  .result-card .result-actions{grid-template-columns:minmax(0,1fr) 34px 34px!important;width:100%!important}
  .detail-meta-grid{grid-template-columns:1fr!important}.detail-meta-item,.detail-meta-item:nth-child(even){border-left:0!important;border-top:1px solid var(--line-soft)!important}.detail-meta-item:first-child{border-top:0!important}
}

/* Performance containment for long 100–300 item surfaces. */
#takda-feed-list,#search-results-list,#tanong-list{contain:layout style}
.result-card,.tanong-card,.assign-card{contain:layout paint style;content-visibility:auto}

/* Universal radius remains exactly 4px. */
*,*::before,*::after{border-radius:4px!important}

/* v4.12 rhythm hosts for nested views. */
.takda-view[data-view="default"]:not(.hidden),
.takda-view[data-view="results"]:not(.hidden),
.tanong-view[data-tanong-view="list"]:not(.hidden),
.tanong-view[data-tanong-view="detail"]:not(.hidden){
  display:flex;
  flex-direction:column;
  gap:var(--content-gap);
  min-width:0;
}

/* ARALPH v4.12.1 · COMMUNITY SECTION FLOW FIX
   Community is part of the Activity Detail reading flow, not a desktop side rail. */
.detail-content-layout{
  display:flex!important;
  flex-direction:column!important;
  grid-template-columns:none!important;
  gap:0!important;
  padding-top:22px!important;
  align-items:stretch!important;
}
.detail-content-main,
.detail-community-rail{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.detail-community-rail{
  position:static!important;
  top:auto!important;
  margin-top:0!important;
  padding-top:18px!important;
  border-top:1px solid var(--line)!important;
}
.detail-community-rail>.detail-section:first-child{
  border-top:0!important;
  padding-top:0!important;
}
.detail-community-section{
  width:100%!important;
  padding:18px 0!important;
}

/* Use the available width instead of preserving the old narrow side-rail stack. */
@media(min-width:761px){
  .detail-community-rail .verify-choice-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .detail-community-rail .verify-choice{
    min-height:70px!important;
    align-items:center!important;
  }
  .detail-community-rail .verify-footer{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:16px!important;
  }
  .detail-community-rail .correction-list,
  .detail-community-rail .question-list{
    width:100%!important;
  }
  .detail-community-rail .q-ask-box{
    grid-template-columns:minmax(0,1fr) auto!important;
    width:100%!important;
  }
}

@media(max-width:760px){
  .detail-content-layout{
    padding-top:16px!important;
  }
  .detail-community-rail{
    padding-top:16px!important;
    margin-top:0!important;
  }
  .detail-community-rail .verify-choice-grid{
    grid-template-columns:1fr!important;
  }
}

/* ========================================================================
   ARALPH v4.12.2 · DETAIL / COMMUNITY / NOTIFICATIONS SAFE POLISH
   CSS-only hierarchy pass. Existing interaction/data hooks stay untouched.
   ======================================================================== */

/* 1. Activity Detail rhythm: one readable vertical flow, no side-rail drift. */
.takda-view[data-view="detail"]{
  max-width:960px!important;
  padding-bottom:44px!important;
}
#assignment-detail{
  width:100%!important;
  min-width:0!important;
}
.detail-content-layout{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  padding-top:18px!important;
  width:100%!important;
}
.detail-content-main,
.detail-community-rail{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.detail-content-main{
  display:flex!important;
  flex-direction:column!important;
}
.detail-community-rail{
  display:flex!important;
  flex-direction:column!important;
  position:static!important;
  top:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.detail-section{
  width:100%!important;
  padding:22px 0!important;
  margin:0!important;
  border:0!important;
  border-top:1px solid var(--line-soft)!important;
  background:transparent!important;
}
.detail-content-main>.detail-section:first-child{
  border-top:0!important;
  padding-top:0!important;
}
.detail-community-rail>.detail-section:first-child{
  border-top:1px solid var(--line)!important;
  padding-top:24px!important;
}
.detail-community-section{
  width:100%!important;
  padding:24px 0!important;
}
.detail-section-heading{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 0 14px!important;
}
.detail-section-heading>div{
  min-width:0!important;
}
.detail-section-title,
.verify-head-title{
  margin:0!important;
  line-height:1.2!important;
}
.detail-section-sub,
.verify-helper{
  margin-top:4px!important;
  max-width:660px!important;
  line-height:1.5!important;
}
.detail-desc{
  max-width:820px!important;
  margin:0!important;
  overflow-wrap:anywhere!important;
}

/* Community Check is a full-width section with a stable three-choice row. */
.verify-section{
  width:100%!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.verify-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 0 14px!important;
}
.verify-status-pill{
  flex:0 0 auto!important;
  margin:0!important;
}
.verify-choice-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
}
.verify-choice{
  min-height:66px!important;
  padding:10px 11px!important;
  align-items:center!important;
}
.verify-choice-copy small{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.verify-footer{
  margin-top:10px!important;
  padding-top:10px!important;
}
.verify-summary{
  max-width:760px!important;
  margin-top:8px!important;
}

/* 2. Corrections: one list surface, compact rows, clear Current -> Suggested. */
.correction-section-heading{
  align-items:center!important;
}
.correction-section-heading .btn{
  flex:0 0 auto!important;
}
.correction-list{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  width:100%!important;
}
.correction-list:not(:empty):has(.correction-card){
  border:1px solid var(--line)!important;
  background:var(--surface)!important;
}
.correction-card{
  width:100%!important;
  padding:14px!important;
  margin:0!important;
  border:0!important;
  border-top:1px solid var(--line-soft)!important;
  background:transparent!important;
}
.correction-card:first-child{
  border-top:0!important;
}
.correction-card:hover{
  background:var(--ui-hover)!important;
}
.correction-top{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
}
.correction-avatar{
  width:32px!important;
  height:32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.correction-person{
  min-width:0!important;
}
.correction-person>div{
  overflow-wrap:anywhere!important;
}
.correction-state{
  align-self:start!important;
  white-space:nowrap!important;
}
.correction-change{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:0!important;
  margin-top:12px!important;
  border:1px solid var(--line-soft)!important;
  background:var(--surface)!important;
}
.correction-value{
  min-width:0!important;
  padding:10px 11px!important;
  background:transparent!important;
}
.correction-value.old{
  border-right:1px solid var(--line-soft)!important;
}
.correction-value.new{
  border-left:1px solid var(--line-soft)!important;
  background:var(--ui-hover)!important;
}
.correction-value p{
  margin:0!important;
  overflow-wrap:anywhere!important;
}
.correction-arrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--surface-2)!important;
  color:var(--text-mute)!important;
}
.correction-reason{
  margin-top:8px!important;
  padding:8px 10px!important;
  border:0!important;
  border-left:2px solid var(--line-strong)!important;
  background:transparent!important;
}
.correction-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:10px!important;
}
.correction-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
}
.correction-vote-btn{
  min-height:34px!important;
  padding:7px 10px!important;
}

/* 3. Questions: thread-style rows instead of nested card boxes. */
.question-list{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  width:100%!important;
}
.question-list:not(:empty):has(.q-card){
  border:1px solid var(--line)!important;
  background:var(--surface)!important;
}
.q-card.q-card-polished{
  width:100%!important;
  padding:14px!important;
  margin:0!important;
  border:0!important;
  border-top:1px solid var(--line-soft)!important;
  background:transparent!important;
}
.q-card.q-card-polished:first-child{
  border-top:0!important;
}
.q-card.q-card-polished:hover{
  background:var(--ui-hover)!important;
}
.q-card-topline{
  margin-bottom:6px!important;
}
.q-card-polished .q-text{
  margin:0!important;
  font-size:14px!important;
  line-height:1.45!important;
  overflow-wrap:anywhere!important;
}
.q-card-polished .q-asker{
  margin:4px 0 10px!important;
}
.q-answers{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
}
.q-answer-wrap{
  padding:9px 10px!important;
  margin-left:18px!important;
  border:0!important;
  border-left:2px solid var(--line-strong)!important;
  background:var(--surface-2)!important;
}
.q-answer-wrap.best{
  border-left-color:var(--green)!important;
  background:var(--green-tint)!important;
}
.q-answer-wrap .q-answer{
  line-height:1.5!important;
  overflow-wrap:anywhere!important;
}
.q-answer-meta{
  gap:8px!important;
}
.q-helpful-btn{
  flex:0 0 auto!important;
  min-height:30px!important;
}
.q-answer-compose{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:7px!important;
  align-items:center!important;
  margin-top:10px!important;
  padding-top:10px!important;
  border-top:1px solid var(--line-soft)!important;
}
.q-answer-compose .form-input{
  min-width:0!important;
}
.q-ask-box{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:7px!important;
  width:100%!important;
  margin-top:10px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
#q-input{
  min-width:0!important;
}

/* 4. Notification Center: same compact list language as Activities. */
.notification-sheet{
  width:min(540px,calc(100vw - 24px))!important;
}
.notification-toolbar{
  margin:12px 0!important;
  padding-bottom:10px!important;
  border-bottom:1px solid var(--line-soft)!important;
}
.notification-list{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  padding:0 1px 2px 0!important;
}
.notification-group{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
}
.notification-group-label{
  padding:0 1px 6px!important;
}
.notification-group>.notification-row{
  width:100%!important;
  grid-template-columns:34px minmax(0,1fr) 8px!important;
  gap:10px!important;
  min-height:58px!important;
  padding:10px!important;
  border:1px solid var(--line)!important;
  border-top:0!important;
  background:var(--surface)!important;
}
.notification-group>.notification-row:nth-child(2){
  border-top:1px solid var(--line)!important;
}
.notification-group>.notification-row.unread{
  background:var(--ui-hover)!important;
  border-left:2px solid var(--blue)!important;
  padding-left:9px!important;
}
.notification-group>.notification-row:hover{
  background:var(--ui-hover)!important;
  border-color:var(--ui-hover-border)!important;
}
.notification-title-line{
  align-items:center!important;
}
.notification-title-line b{
  min-width:0!important;
}
.notification-body{
  -webkit-line-clamp:2!important;
  overflow-wrap:anywhere!important;
}
.notification-icon{
  align-self:start!important;
}
.notification-empty{
  border:1px dashed var(--line)!important;
  background:var(--surface)!important;
  padding:28px 16px!important;
}

/* 5. Responsive stress handling: long strings, tablet widths, tiny phones. */
.detail-title,
.detail-meta-value,
.detail-section-sub,
.verify-choice-copy,
.correction-person,
.correction-value,
.q-card,
.notification-copy{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}

@media(max-width:980px){
  .takda-view[data-view="detail"]{
    max-width:100%!important;
  }
  .detail-meta-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .detail-meta-item{
    border-left:0!important;
    border-top:1px solid var(--line-soft)!important;
  }
  .detail-meta-item:nth-child(-n+3){
    border-top:0!important;
  }
  .detail-meta-item:not(:nth-child(3n+1)){
    border-left:1px solid var(--line-soft)!important;
  }
  .verify-choice-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .detail-section,
  .detail-community-section{
    padding:18px 0!important;
  }
  .detail-community-rail>.detail-section:first-child{
    padding-top:20px!important;
  }
  .detail-section-heading,
  .verify-head{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:9px!important;
  }
  .verify-choice-grid{
    grid-template-columns:1fr!important;
  }
  .verify-choice{
    min-height:58px!important;
  }
  .verify-footer{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:7px!important;
  }
  .correction-section-heading .btn{
    width:auto!important;
  }
  .correction-change{
    grid-template-columns:1fr!important;
  }
  .correction-value.old,
  .correction-value.new{
    border-left:0!important;
    border-right:0!important;
  }
  .correction-value.new{
    border-top:1px solid var(--line-soft)!important;
  }
  .correction-arrow{
    height:24px!important;
    border-top:1px solid var(--line-soft)!important;
    border-bottom:1px solid var(--line-soft)!important;
  }
  .correction-arrow .ui-icon{
    transform:rotate(90deg)!important;
  }
  .q-answer-wrap{
    margin-left:10px!important;
  }
  .notification-sheet{
    left:12px!important;
    right:12px!important;
    width:auto!important;
  }
  .notification-toolbar{
    align-items:flex-start!important;
    flex-wrap:wrap!important;
  }
}

@media(max-width:520px){
  .detail-meta-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .detail-meta-item,
  .detail-meta-item:nth-child(-n+3),
  .detail-meta-item:not(:nth-child(3n+1)){
    border-left:0!important;
    border-top:1px solid var(--line-soft)!important;
  }
  .detail-meta-item:nth-child(-n+2){
    border-top:0!important;
  }
  .detail-meta-item:nth-child(even){
    border-left:1px solid var(--line-soft)!important;
  }
  .correction-top{
    grid-template-columns:32px minmax(0,1fr)!important;
  }
  .correction-state{
    grid-column:2!important;
    justify-self:start!important;
  }
  .correction-footer{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .correction-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
  .correction-vote-btn{
    width:100%!important;
  }
  .q-answer-compose,
  .q-ask-box{
    grid-template-columns:1fr!important;
  }
  .q-answer-compose .btn,
  .q-ask-box .btn{
    width:100%!important;
  }
  .notification-group>.notification-row{
    grid-template-columns:30px minmax(0,1fr) 7px!important;
    padding:9px!important;
  }
  .notification-icon{
    width:30px!important;
    height:30px!important;
  }
}

@media(max-width:360px){
  .detail-meta-grid{
    grid-template-columns:1fr!important;
  }
  .detail-meta-item,
  .detail-meta-item:nth-child(-n+2),
  .detail-meta-item:nth-child(even){
    border-left:0!important;
    border-top:1px solid var(--line-soft)!important;
  }
  .detail-meta-item:first-child{
    border-top:0!important;
  }
  .detail-action-row{
    grid-template-columns:1fr!important;
  }
  .detail-action-row>*{
    grid-column:1!important;
    width:100%!important;
  }
  .detail-owner-actions{
    grid-template-columns:1fr!important;
  }
  .q-answer-wrap{
    margin-left:0!important;
  }
  .notification-title-line{
    flex-wrap:wrap!important;
  }
}

/* Keep the universal product shape invariant after all responsive rules. */
*,*::before,*::after{border-radius:4px!important}

/* ARALPH v4.13 · ACTIVITY UTILITY LAYER */
.changed-since-view,
.activity-action-summary,
.private-execution,
.activity-sources-section,
.conflict-resolution,
.canonical-bundle{
  border-top:1px solid var(--line)!important;
  border-bottom:0!important;
  padding:18px 0!important;
  background:transparent!important;
}
.changed-since-head,
.canonical-bundle-head,
.conflict-head{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.changed-since-head>span,
.canonical-bundle-head>span,
.conflict-icon{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  background:var(--surface-2);
  flex:0 0 auto;
}
.changed-since-list{display:flex;flex-direction:column;margin-top:12px;border:1px solid var(--line)}
.changed-since-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:10px 12px;border-top:1px solid var(--line-soft);background:var(--surface)}
.changed-since-row:first-child{border-top:0}
.changed-since-row>b{font-size:12px;color:var(--text-mute)}
.changed-since-row>span{font-size:13px;min-width:0;overflow-wrap:anywhere}
.changed-since-row strong{color:var(--blue)}

.activity-action-count{font-size:12px;font-weight:800;color:var(--text-mute)}
.activity-action-list{display:flex;flex-direction:column;border:1px solid var(--line);margin-top:12px}
.activity-action-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:center;padding:9px 11px;border-top:1px solid var(--line-soft);background:var(--surface)}
.activity-action-item:first-child{border-top:0}
.activity-action-item>span{color:var(--blue);display:flex;justify-content:center}
.activity-action-item>b{font-size:13px;overflow-wrap:anywhere}

.private-execution-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.private-execution-panel{border:1px solid var(--line);background:var(--surface);padding:12px;min-width:0}
.private-execution-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.private-execution-head h3{margin:2px 0 0;font:700 16px/1.2 "Inter Tight",sans-serif}
.private-plan-list{display:flex;flex-direction:column;border:1px solid var(--line-soft)}
.private-plan-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:center;width:100%;padding:8px 9px;border:0;border-top:1px solid var(--line-soft);background:transparent;text-align:left;color:var(--text);cursor:pointer}
.private-plan-item:first-child{border-top:0}
.private-plan-item:hover{background:var(--ui-hover)}
.private-plan-item.done span:last-child{text-decoration:line-through;color:var(--text-mute)}
.private-plan-check{width:20px;height:20px;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--green)}
.private-empty-inline{padding:12px;border:1px dashed var(--line);color:var(--text-mute);font-size:13px}
.private-execution-meta{font-size:12px;color:var(--text-mute);margin-top:9px}
.private-execution-note{margin:8px 0 0;font-size:13px;color:var(--text-soft);overflow-wrap:anywhere}
.private-progress-line{display:grid;grid-template-columns:auto minmax(80px,1fr);gap:10px;align-items:center;margin-top:10px;font-size:11px;color:var(--text-mute)}
.private-progress-line>div{height:4px;background:var(--surface-2);overflow:hidden}
.private-progress-line i{display:block;height:100%;background:var(--blue)}
.submission-private-status{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface-2);padding:7px 9px;font-size:13px}
.submission-private-status.status-submitted,
.submission-private-status.status-received{color:var(--green);border-color:#BFD5CC;background:#EFF5F2}
.private-proof-link{margin-top:10px;border:0;background:transparent;color:var(--blue);font-weight:700;font-size:12px;display:inline-flex;align-items:center;gap:6px;padding:4px 0;cursor:pointer}
.submission-track-statuses{display:flex;flex-wrap:wrap;gap:6px}
.submission-proof-current{margin-top:7px;font-size:12px;color:var(--text-mute)}

.activity-sources-section .detail-section-heading{margin-bottom:12px}
.source-evidence-list{display:flex;flex-direction:column;border:1px solid var(--line)}
.source-evidence-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:10px;border-top:1px solid var(--line-soft);background:var(--surface);min-width:0}
.source-evidence-list>.source-evidence-row:first-child{border-top:0}
.source-evidence-row.legacy-source{margin-bottom:8px;border:1px solid var(--line);background:var(--surface-2)}
.source-evidence-row.primary{border-left:2px solid var(--blue);padding-left:9px}
.source-evidence-icon{width:32px;height:32px;border:1px solid var(--line);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--blue)}
.source-evidence-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.source-evidence-copy>span{display:flex;flex-direction:column;gap:2px}
.source-evidence-copy small{color:var(--text-mute);font-size:11px}
.source-evidence-copy em{font-style:normal;font-size:12px;font-weight:700;color:var(--text-soft)}
.source-evidence-copy p{margin:0;font-size:13px;color:var(--text-soft);overflow-wrap:anywhere}
.source-evidence-copy a{font-size:12px;font-weight:700;color:var(--blue);width:max-content;max-width:100%}

.conflict-resolution{border-top:1px solid var(--line)!important}
.conflict-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:start}
.conflict-head .btn{align-self:start}
.conflict-field-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.conflict-field{border:1px solid var(--line);background:var(--surface)}
.conflict-field>b{display:block;padding:8px 10px;border-bottom:1px solid var(--line-soft);font-size:12px;color:var(--text-mute)}
.conflict-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.conflict-candidate{padding:10px;border-left:1px solid var(--line-soft);min-width:0}
.conflict-candidate:first-child{border-left:0}
.conflict-candidate span{display:block;font-weight:700;font-size:13px;overflow-wrap:anywhere}
.conflict-candidate small{display:block;margin-top:3px;color:var(--text-mute);font-size:11px}
.conflict-generic{margin-top:12px;border:1px dashed var(--line);padding:11px;color:var(--text-mute);font-size:13px}

.canonical-bundle-list{display:flex;flex-direction:column;border:1px solid var(--line);margin-top:12px}
.canonical-bundle-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border-top:1px solid var(--line-soft);background:var(--surface)}
.canonical-bundle-row:first-child{border-top:0}
.canonical-bundle-row>span{display:flex;flex-direction:column;min-width:0}
.canonical-bundle-row b,.canonical-bundle-row small{overflow-wrap:anywhere}
.canonical-bundle-row small{font-size:11px;color:var(--text-mute);margin-top:2px}
.related-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;padding:0!important}
.related-row-open{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0;width:100%;padding:10px;border:0;background:transparent;text-align:left;color:var(--text);cursor:pointer}
.related-row-open:hover{background:var(--ui-hover)}
.related-row-open>span{display:flex;flex-direction:column;min-width:0}
.related-row-open b,.related-row-open small{overflow-wrap:anywhere}
.related-row-open small{font-size:11px;color:var(--text-mute);margin-top:2px}
.related-row-open>strong{font-size:12px;color:var(--blue);flex:0 0 auto}
.related-row>.btn{margin-right:8px}
.related-confidence{font-size:11px;color:var(--text-mute);padding-right:9px}

.history-item.evidence .history-dot,
.history-item.merged .history-dot{background:var(--blue)}
.history-item.created .history-dot{background:var(--text-mute)}

@media(max-width:760px){
  .changed-since-row{grid-template-columns:1fr;gap:3px}
  .private-execution-grid{grid-template-columns:1fr}
  .conflict-head{grid-template-columns:34px minmax(0,1fr)}
  .conflict-head .btn{grid-column:2;width:auto}
  .conflict-candidates{grid-template-columns:1fr}
  .conflict-candidate{border-left:0;border-top:1px solid var(--line-soft)}
  .conflict-candidate:first-child{border-top:0}
  .canonical-bundle-row{grid-template-columns:1fr}
  .canonical-bundle-row .btn{width:max-content}
  .related-row{grid-template-columns:1fr!important}
  .related-row>.btn{margin:0 8px 8px;width:max-content}
}

@media(max-width:420px){
  .private-execution-head{flex-direction:column}
  .private-execution-head .btn{width:auto}
  .source-evidence-row{grid-template-columns:30px minmax(0,1fr)}
  .source-evidence-icon{width:28px;height:28px}
  .submission-track-statuses{display:grid;grid-template-columns:1fr 1fr}
}

/* Preserve the universal product shape after the v4.13 additions. */
*,*::before,*::after{border-radius:4px!important}


/* ARALPH v4.14 · CONNECTED ACADEMIC WORKSPACE
   Activity Intelligence + Class Activity Board + Schedule */
.home-intelligence-block{display:flex;flex-direction:column;gap:14px}
.home-intelligence-head{margin-bottom:0}
.home-priority-list{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface)}
.home-priority-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto 16px;gap:10px;align-items:center;width:100%;min-height:62px;padding:10px 12px;border:0;border-bottom:1px solid var(--line-soft);background:transparent;text-align:left;color:var(--text);cursor:pointer}
.home-priority-row:last-child{border-bottom:0}.home-priority-row:hover{background:var(--ui-hover)!important}.home-priority-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface-2);color:var(--blue)}
.home-priority-row.tone-danger .home-priority-icon{color:var(--red)}.home-priority-row.tone-good .home-priority-icon{color:var(--green)}
.home-priority-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.home-priority-copy b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-priority-copy small,.home-priority-date{font-size:12px;color:var(--text-mute)}.home-priority-date{text-align:right;white-space:nowrap}.home-priority-empty{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);background:var(--surface)}.home-priority-empty>span{display:flex;flex-direction:column}.home-priority-empty small{color:var(--text-mute);margin-top:2px}
.home-signal-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--line);background:var(--surface)}.home-signal{min-width:0;padding:10px;border-right:1px solid var(--line-soft);display:flex;flex-direction:column;gap:3px}.home-signal:last-child{border-right:0}.home-signal span{font-size:11px;color:var(--text-mute);line-height:1.2}.home-signal b{font-size:18px;color:var(--text)}

#klase-panel{display:flex;flex-direction:column;gap:16px;min-width:0}.klase-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.klase-stat-value.red{color:var(--red)}
.class-overview-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:16px;align-items:start}.class-overview-grid>.block{margin:0}.class-overview-list,.class-board-list{border:1px solid var(--line);background:var(--surface)}
.class-upcoming-list{border:1px solid var(--line);background:var(--surface)}.class-board-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.class-board-filter{min-height:34px;padding:0 10px;border:1px solid var(--line);background:var(--surface);color:var(--text-mute);font:inherit;font-size:12px;cursor:pointer}.class-board-filter:hover{background:var(--ui-hover)!important;border-color:var(--ui-hover-border)!important;color:var(--blue)!important}.class-board-filter.active{background:var(--blue-tint);border-color:var(--blue);color:var(--blue);font-weight:700}.class-question-board .tanong-list{display:flex;flex-direction:column;gap:10px}.class-notes-bridge{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center}.class-bridge-icon{width:42px;height:42px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--blue);background:var(--surface-2)}

.schedule-page-head{display:flex;align-items:end;justify-content:space-between}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 14px}.schedule-view-tabs{margin:0}.schedule-nav{display:flex;align-items:center;gap:6px}.schedule-range-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.schedule-range-row h2{font-family:'Inter Tight',sans-serif;font-size:18px;margin:0}.schedule-range-row span{font-size:12px;color:var(--text-mute)}.schedule-content{min-width:0}.schedule-agenda-group{border:1px solid var(--line);background:var(--surface);margin-bottom:10px}.schedule-agenda-date{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--line-soft);background:var(--surface-2)}.schedule-agenda-date b{font-size:12px}.schedule-agenda-date span{font-size:11px;color:var(--text-mute)}.schedule-agenda-list,.schedule-day-view{display:flex;flex-direction:column}.schedule-compact-row{display:grid;grid-template-columns:34px minmax(0,1fr) 124px;gap:10px;align-items:center;width:100%;min-height:62px;padding:9px 12px;border:0;border-bottom:1px solid var(--line-soft);background:transparent;color:var(--text);text-align:left;cursor:pointer}.schedule-compact-row:last-child{border-bottom:0}.schedule-compact-row:hover{background:var(--ui-hover)!important}.schedule-type-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface-2);color:var(--blue)}.schedule-compact-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.schedule-compact-copy b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-compact-copy small,.schedule-compact-date small{font-size:11px;color:var(--text-mute)}.schedule-compact-date{display:flex;flex-direction:column;gap:3px;text-align:right;font-size:12px}
.schedule-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);background:var(--surface);overflow-x:auto}.schedule-week-day{min-width:110px;border-right:1px solid var(--line-soft);min-height:300px}.schedule-week-day:last-child{border-right:0}.schedule-week-day.is-today{background:var(--ui-hover)}.schedule-week-date{width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px;border:0;border-bottom:1px solid var(--line-soft);background:var(--surface-2);cursor:pointer}.schedule-week-date span{font-size:11px;color:var(--text-mute)}.schedule-week-date b{font-size:15px}.schedule-week-items{display:flex;flex-direction:column;gap:5px;padding:6px}.schedule-mini-event{width:100%;padding:6px;border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px}.schedule-mini-event:hover{background:var(--ui-hover)!important}.schedule-mini-event b{font-size:11px;line-height:1.25}.schedule-mini-event small{font-size:10px;color:var(--text-mute)}.schedule-none{font-size:10px;color:var(--text-mute);padding:4px}.schedule-more-day{border:0;background:transparent;color:var(--blue);font:inherit;font-size:10px;text-align:left;cursor:pointer;padding:3px}
.schedule-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-bottom:0;background:var(--surface-2)}.schedule-month-weekdays span{padding:7px;text-align:center;font-size:10px;font-weight:700;color:var(--text-mute);border-right:1px solid var(--line-soft)}.schedule-month-weekdays span:last-child{border-right:0}.schedule-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);background:var(--surface)}.schedule-month-day{min-width:0;min-height:104px;padding:6px;border:0;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:transparent;text-align:left;cursor:pointer;overflow:hidden}.schedule-month-day:nth-child(7n){border-right:0}.schedule-month-day:hover{background:var(--ui-hover)!important}.schedule-month-day.is-outside{color:var(--text-mute);background:var(--surface-2)}.schedule-month-day.is-today .schedule-month-number{color:var(--blue);font-weight:800}.schedule-month-number{display:block;font-size:11px;margin-bottom:5px}.schedule-month-events{display:flex;flex-direction:column;gap:3px;min-width:0}.schedule-month-event{display:block;padding:2px 4px;border-left:2px solid var(--blue);background:var(--surface-2);font-style:normal;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-month-events em{font-size:9px;color:var(--text-mute);font-style:normal}

@media(max-width:980px){.home-signal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-signal:nth-child(3){border-right:0}.home-signal:nth-child(-n+3){border-bottom:1px solid var(--line-soft)}.class-overview-grid{grid-template-columns:1fr}.schedule-week-grid{grid-template-columns:repeat(7,120px)}}
@media(max-width:760px){.home-priority-row{grid-template-columns:32px minmax(0,1fr) 14px}.home-priority-date{display:none}.home-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-signal{border-bottom:1px solid var(--line-soft)}.home-signal:nth-child(2n){border-right:0}.home-signal:nth-last-child(-n+2){border-bottom:0}.klase-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.class-notes-bridge{grid-template-columns:42px minmax(0,1fr)}.class-notes-bridge>.btn{grid-column:1/-1;width:100%}.schedule-toolbar{align-items:stretch;flex-direction:column}.schedule-view-tabs{width:100%;overflow-x:auto}.schedule-nav{justify-content:space-between}.schedule-range-row{align-items:flex-start}.schedule-compact-row{grid-template-columns:32px minmax(0,1fr);}.schedule-compact-date{grid-column:2;text-align:left;flex-direction:row;gap:6px}.schedule-month-grid,.schedule-month-weekdays{min-width:620px}.schedule-content:has(.schedule-month-grid){overflow-x:auto}.schedule-week-grid{overflow-x:auto}.class-board-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}.class-board-filter{white-space:nowrap}}
@media(max-width:430px){.home-signal-grid{grid-template-columns:1fr 1fr}.home-signal{padding:8px}.schedule-range-row h2{font-size:16px}.schedule-nav .btn{flex:1}.schedule-compact-copy b{white-space:normal}.klase-stats{gap:8px}}


/* ============================================================
   AralPH v4.15 — Reliability, Control & Production Hardening
   Flat/crisp extensions only: no gradients, shadows, blur or hover lift.
   ============================================================ */
.home-workload-block{display:flex;flex-direction:column;gap:14px}
.home-workload-summary{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:12px}
.home-workload-busy{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--line);background:var(--surface);border-radius:4px}
.home-workload-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:4px;color:var(--blue);background:var(--ui-hover);flex:0 0 auto}
.home-workload-busy>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}.home-workload-busy b{font-size:14px}.home-workload-busy small{font-size:12px;line-height:1.45;color:var(--text-mute)}
.home-workload-signals{display:grid;grid-template-columns:1fr 1fr;gap:7px}.home-workload-signal{display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid var(--line);border-radius:4px;background:var(--surface);font-size:11.5px;font-weight:650;color:var(--text-soft)}.home-workload-signal .ui-icon{color:var(--blue)}.home-workload-signal.quiet{grid-column:1/-1;color:var(--text-mute)}
.home-start-early{border-top:1px solid var(--line);padding-top:12px}.home-start-early-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:5px}.home-start-early-head b{font-size:12.5px}.home-start-early-head span{font-size:11px;color:var(--text-mute)}
.home-start-early-list{display:flex;flex-direction:column}.home-start-early-row{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) 14px;gap:9px;align-items:center;text-align:left;padding:9px 5px;border:0;border-top:1px solid var(--line-soft);background:transparent;color:var(--text)}.home-start-early-row:hover{background:var(--ui-hover)}.home-start-early-row>span:first-child{font-size:11px;font-weight:800;color:var(--blue)}.home-start-early-row>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}.home-start-early-row b{font-size:12.5px;overflow-wrap:anywhere}.home-start-early-row small{font-size:11px;color:var(--text-mute);overflow-wrap:anywhere}
.profile-notification-preferences,.profile-moderator-panel{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.notification-pref-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:4px;overflow:hidden}.notification-pref-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;background:var(--surface);border-bottom:1px solid var(--line-soft);cursor:pointer}.notification-pref-row:nth-child(odd){border-right:1px solid var(--line-soft)}.notification-pref-row:hover{background:var(--ui-hover)}.notification-pref-row>span{display:flex;flex-direction:column;gap:2px;min-width:0}.notification-pref-row b{font-size:12px}.notification-pref-row small{font-size:10.5px;line-height:1.4;color:var(--text-mute)}.notification-pref-row input{width:17px;height:17px;accent-color:var(--blue);flex:0 0 auto}
.notification-pref-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.notification-pref-actions>span{font-size:10.5px;color:var(--text-mute)}.moderation-count{display:inline-flex;min-width:20px;justify-content:center;margin-left:5px}
.content-report-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 6px;border:0;background:transparent;color:var(--text-mute);font-size:10.5px;font-weight:650;border-radius:4px}.content-report-btn:hover{background:var(--ui-hover);color:var(--blue)}.content-report-btn.reported{color:var(--green)}
.source-evidence-row{position:relative}.source-evidence-row>.content-report-btn{align-self:center;margin-left:auto}.q-asker{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.q-answer-inline-actions{display:flex;align-items:center;gap:5px}.correction-actions{flex-wrap:wrap}
.canonical-bundle-row.primary{background:var(--ui-hover)}.canonical-bundle-copy{display:flex!important;flex-direction:column;gap:2px;min-width:0}.canonical-bundle-label{font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--blue)}.canonical-bundle-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.moderation-sheet{width:min(620px,calc(100vw - 24px))!important}.moderation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0}.moderation-toolbar>span{font-size:11.5px;color:var(--text-mute)}.moderation-list{display:flex;flex-direction:column;border-top:1px solid var(--line);max-height:min(62vh,650px);overflow:auto}.moderation-row{padding:12px 4px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.moderation-row-head{display:flex;justify-content:space-between;gap:12px;font-size:10.5px;color:var(--text-mute)}.moderation-type{text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:var(--blue)}.moderation-row>b{font-size:12.5px;text-transform:capitalize}.moderation-row p{font-size:11.5px;line-height:1.45;color:var(--text-soft);margin:0}.moderation-row-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.btn-danger{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}.btn-danger:hover{background:var(--red)!important}
@media(max-width:760px){.home-workload-summary{grid-template-columns:1fr}.notification-pref-grid{grid-template-columns:1fr}.notification-pref-row:nth-child(odd){border-right:0}.notification-pref-actions{align-items:flex-start;flex-direction:column}.notification-pref-actions .btn{width:100%}.home-workload-signals{grid-template-columns:1fr}.home-workload-signal.quiet{grid-column:auto}.canonical-bundle-row{align-items:flex-start!important;flex-direction:column!important}.canonical-bundle-actions{width:100%;justify-content:flex-start}.moderation-row-actions{justify-content:flex-start}}

/* ========================================================================== 
   AralPH v4.16 — Notes + Study Workspace + spacing/padding audit
   Surgical override layer. Keeps the locked flat/crisp visual system.
   ========================================================================== */
:root{
  --space-1:6px;
  --space-2:10px;
  --space-3:12px;
  --space-4:14px;
  --space-5:16px;
  --space-6:20px;
  --content-inset:14px;
  --content-inset-lg:16px;
}

/* App-wide content inset corrections: bordered/surface controls should never
   let labels or text sit against the edge. Intentionally borderless outer
   detail sections are excluded. */
.btn{padding-left:14px!important;padding-right:14px!important;gap:7px}
.btn-sm{padding-left:11px!important;padding-right:11px!important}
.btn-lg{padding-left:18px!important;padding-right:18px!important}
.form-input,.form-select,.textarea-field,.filter-input{padding-left:14px!important;padding-right:14px!important}
.form-gap-top{margin-top:14px!important}.form-submit-gap{margin-top:16px!important}
.icon-btn{flex:0 0 auto}
.notification-row{padding:12px 14px!important}
.moderation-row{padding:14px 12px!important}
.home-start-early-row{padding:10px 12px!important}
.schedule-compact-row{padding:10px 14px!important}
.schedule-agenda-date{padding:9px 14px!important}
.schedule-week-date{padding:10px!important}
.schedule-week-items{padding:8px!important}
.schedule-mini-event{padding:8px 10px!important}
.schedule-month-day{padding:8px!important}
.schedule-month-weekdays span{padding:8px!important}
.class-board-filter{padding-left:12px!important;padding-right:12px!important}
.notification-pref-row{padding:12px 14px!important}
.report-reason{padding:11px 13px!important}
.history-item{padding:11px 13px!important}
.detail-meta-item{padding:13px 15px!important}
.detail-attachment-meta{padding:13px 15px!important}
.profile-activity-stats>div{padding:11px 13px!important}
:where(.class-board-list,.class-upcoming-list,.class-note-list,.study-session-list,.study-resource-list)>.detail-empty-note{padding:14px!important}
:where(.data-error,.auth-required-note,.report-note){padding-left:12px;padding-right:12px}

/* Notes page */
.notes-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.notes-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.notes-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 22px}
.notes-summary-card{min-width:0;padding:14px 16px;border:1px solid var(--line);background:var(--surface);border-radius:4px;display:flex;flex-direction:column;gap:3px}
.notes-summary-card>span{font-size:10.5px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:var(--text-mute)}
.notes-summary-card>b{font:800 24px/1 "Inter Tight","Public Sans",sans-serif;color:var(--text)}
.notes-summary-card>small{font-size:11px;color:var(--text-mute)}
.notes-library-block,.notes-workspace-panel,.notes-resources-block{min-width:0}
.notes-library-head{align-items:flex-end!important}
.notes-toolbar{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:center;gap:10px;margin-bottom:12px}
.notes-search{margin:0!important;min-width:0}
.notes-filter-rail{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:2px 1px;scrollbar-width:none}
.notes-filter-rail::-webkit-scrollbar{display:none}
.notes-filter{min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--text-mute);font:700 12px/1 "Public Sans",sans-serif;white-space:nowrap;cursor:pointer}
.notes-filter:hover{background:var(--ui-hover)!important;border-color:var(--ui-hover-border)!important;color:var(--blue)!important}
.notes-filter.active{background:var(--blue-tint);border-color:var(--blue);color:var(--blue)}
.notes-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.study-note-card{min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:15px 16px;display:flex;flex-direction:column;gap:12px}
.study-note-card.is-pinned{border-color:var(--ui-hover-border)}
.study-note-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.study-note-title-wrap{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.study-note-context{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;font-size:10.5px;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.045em}
.study-note-context>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.study-note-context .ui-icon{font-size:11px}
.study-note-title{width:100%;padding:0;border:0;background:transparent;text-align:left;font:760 16px/1.28 "Inter Tight","Public Sans",sans-serif;color:var(--text);overflow-wrap:anywhere;cursor:pointer}
.study-note-title:hover{color:var(--blue)}
.study-note-title-wrap>small{font-size:11px;color:var(--text-mute);overflow-wrap:anywhere}
.study-note-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.study-note-actions .icon-btn.active,.study-resource-actions .icon-btn.active{background:var(--ui-hover)!important;border-color:var(--ui-hover-border)!important;color:var(--blue)!important}
.study-note-body{margin:0;font-size:13px;line-height:1.62;color:var(--text-soft);white-space:pre-wrap;overflow-wrap:anywhere}
.study-note-checklist{border-top:1px solid var(--line-soft);padding-top:10px;display:flex;flex-direction:column;gap:5px}
.study-note-check-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px}
.study-note-check-head b{font-size:11.5px}.study-note-check-head span{font-size:10.5px;color:var(--text-mute)}
.study-note-check{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:center;text-align:left;padding:7px 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text);cursor:pointer}
.study-note-check:hover{background:var(--ui-hover)!important;border-color:var(--ui-hover-border)!important}
.study-note-check>span{width:20px;height:20px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--green);background:var(--surface)}
.study-note-check>b{font-size:11.5px;line-height:1.35;font-weight:650;overflow-wrap:anywhere}
.study-note-check.done>b{text-decoration:line-through;color:var(--text-mute)}
.study-note-more{padding:4px 8px 0;color:var(--text-mute);font-size:10.5px}
.study-note-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line-soft);padding-top:10px}
.study-note-foot>span{font-size:10.5px;color:var(--text-mute)}
.note-context-link{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:0;background:transparent;color:var(--blue);font:700 10.5px/1.2 "Public Sans",sans-serif;cursor:pointer}
.note-context-link:hover{background:var(--ui-hover)}
.notes-workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0}
.exam-prep-list,.study-session-list,.study-resource-list{display:flex;flex-direction:column;gap:8px}
.exam-prep-card{border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:13px 14px;display:flex;flex-direction:column;gap:10px}
.exam-prep-head{display:grid;grid-template-columns:34px minmax(0,1fr) 36px;align-items:center;gap:10px}
.exam-prep-icon,.study-session-icon,.study-resource-icon{width:34px;height:34px;border:1px solid var(--line);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--blue);flex:0 0 auto}
.exam-prep-head>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}.exam-prep-head b{font-size:12.5px;overflow-wrap:anywhere}.exam-prep-head small{font-size:10.5px;color:var(--text-mute);overflow-wrap:anywhere}
.exam-prep-progress{display:flex;flex-direction:column;gap:5px}.exam-prep-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10.5px;color:var(--text-mute)}.exam-prep-progress b{color:var(--text-soft)}
.exam-prep-bar{height:5px;background:var(--surface-2);border:1px solid var(--line-soft);overflow:hidden}.exam-prep-bar i{display:block;height:100%;background:var(--blue)}
.exam-prep-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:10.5px;color:var(--text-mute)}.exam-prep-meta span{display:inline-flex;align-items:center;gap:5px}
.exam-prep-actions{display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid var(--line-soft);padding-top:9px}
.study-session-row,.study-resource-row{border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:11px 12px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}
.study-session-row.is-complete{background:var(--surface-2)}
.study-session-copy,.study-resource-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.study-session-copy>b,.study-resource-copy>a{font-size:12.5px;font-weight:700;color:var(--text);overflow-wrap:anywhere}.study-resource-copy>a:hover{color:var(--blue);text-decoration:underline}.study-session-copy small,.study-resource-copy small{font-size:10.5px;color:var(--text-mute);overflow-wrap:anywhere}.study-session-copy em{font-size:10.5px;color:var(--text-soft);font-style:normal;overflow-wrap:anywhere}
.study-session-actions,.study-resource-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.notes-resources-block{margin-top:0!important}
.study-resource-compact{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line-soft);background:var(--surface);min-width:0}.study-resource-compact>span{color:var(--blue)}.study-resource-compact a{font-size:11.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-resource-compact a:hover{color:var(--blue)}
.class-note-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.class-note-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.class-resource-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.class-resource-strip>.section-eyebrow{grid-column:1/-1}

/* Activity detail integration */
.activity-study-workspace{border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:15px 16px!important}
.activity-study-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.activity-study-coverage{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid var(--line-soft);background:var(--surface-2);font-size:11.5px;color:var(--text-mute);margin-bottom:10px}.activity-study-coverage b{color:var(--text)}
.activity-study-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:var(--surface)}
.activity-study-grid>div{padding:11px 12px;border-right:1px solid var(--line-soft);display:flex;flex-direction:column;gap:2px;min-width:0}.activity-study-grid>div:last-child{border-right:0}.activity-study-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:var(--text-mute)}.activity-study-grid b{font:800 18px/1.1 "Inter Tight",sans-serif}.activity-study-grid small{font-size:10.5px;color:var(--text-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.activity-study-note-preview{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:10px}.activity-study-note-preview button{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 8px;border:0;border-bottom:1px solid var(--line-soft);background:transparent;text-align:left}.activity-study-note-preview button:last-child{border-bottom:0}.activity-study-note-preview button:hover{background:var(--ui-hover)}.activity-study-note-preview button>span{color:var(--blue)}.activity-study-note-preview b{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-study-note-preview small{font-size:10px;color:var(--text-mute)}

/* Editor sheets */
.notes-editor-sheet{width:min(680px,calc(100vw - 24px))!important}.note-body-field{min-height:180px!important}.study-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--line);background:var(--surface);border-radius:4px;cursor:pointer}.study-toggle-row>span{display:flex;flex-direction:column;gap:2px;min-width:0}.study-toggle-row b{font-size:12px}.study-toggle-row small{font-size:10.5px;color:var(--text-mute)}.study-toggle-row input{width:18px;height:18px;accent-color:var(--blue);flex:0 0 auto}

@media(max-width:900px){
  .notes-toolbar{grid-template-columns:1fr}.notes-list{grid-template-columns:1fr}.notes-workspace-grid{grid-template-columns:1fr}.class-note-list{grid-template-columns:1fr}.notes-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notes-page-head{align-items:flex-start}.notes-head-actions{justify-content:flex-start}
}
@media(max-width:560px){
  .notes-page-head{display:flex;flex-direction:column}.notes-head-actions{width:100%}.notes-head-actions .btn{flex:1}.notes-summary-grid{gap:7px}.notes-summary-card{padding:12px 13px}.notes-summary-card>b{font-size:21px}.study-note-card{padding:13px 14px}.study-note-actions{gap:2px}.study-session-row,.study-resource-row{grid-template-columns:32px minmax(0,1fr);padding:11px}.study-session-actions,.study-resource-actions{grid-column:1/-1;justify-content:flex-start;padding-top:8px;border-top:1px solid var(--line-soft)}.activity-study-grid{grid-template-columns:1fr}.activity-study-grid>div{border-right:0;border-bottom:1px solid var(--line-soft)}.activity-study-grid>div:last-child{border-bottom:0}.activity-study-actions{justify-content:flex-start}.activity-study-workspace .task-workspace-head{flex-direction:column}.class-resource-strip{grid-template-columns:1fr}.notes-filter-rail{margin-right:-12px;padding-right:12px}
}
/* Final inset normalization for compact rows that previously touched edges. */
.coverage-item{padding:9px 10px!important}
.private-plan-item{padding:9px 10px!important}
.submission-private-status{padding:8px 10px!important}
.content-report-btn{padding:5px 8px!important}
.study-note-check{padding:8px 10px!important}
.study-resource-compact{padding:9px 11px!important}
.activity-study-note-preview button{padding:10px!important}
.correction-card,.q-card,.history-item,.related-row{padding:12px 13px!important}
.verify-choice{padding:10px 12px!important}


/* ============================================================
   v4.17 · Smart Study Planner
   ============================================================ */
.smart-study-block{padding:16px!important}
.smart-study-head{align-items:flex-start}
.smart-study-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.smart-study-duration{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.smart-study-duration .mini-choice{padding:8px 10px!important}
.smart-study-status{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0}.smart-study-status>span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line-soft);background:var(--surface-2);font-size:11px;color:var(--text-soft)}.smart-study-status b{color:var(--text)}
.smart-study-queue{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface)}
.smart-study-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line-soft);min-width:0}.smart-study-row:last-child{border-bottom:0}.smart-study-row:hover{background:var(--ui-hover)}
.smart-study-time{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--line);background:var(--surface-2)}.smart-study-time b{font:800 16px/1 "Inter Tight",sans-serif}.smart-study-time small{font-size:9.5px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
.smart-study-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.smart-study-copy>b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-study-copy>small{font-size:10.5px;color:var(--text-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-study-actions{display:flex;align-items:center;gap:6px}
.smart-study-empty{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);background:var(--surface-2)}.smart-study-empty>.ui-icon{color:var(--green)}.smart-study-empty>span{display:flex;flex-direction:column;gap:2px}.smart-study-empty b{font-size:12px}.smart-study-empty small{font-size:10.5px;color:var(--text-mute)}
.study-availability-grid{display:flex;flex-direction:column;border:1px solid var(--line)}.study-availability-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 120px;gap:12px;align-items:end;padding:12px 14px;border-bottom:1px solid var(--line-soft)}.study-availability-row:last-child{border-bottom:0}.study-availability-row>span{display:flex;flex-direction:column;gap:3px}.study-availability-row>span b{font-size:12px}.study-availability-row>span small{font-size:10px;color:var(--text-mute)}.study-availability-row label{display:flex;flex-direction:column;gap:5px}.study-availability-row label>span{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:var(--text-mute)}
@media(max-width:640px){.smart-study-block{padding:14px!important}.smart-study-head{flex-direction:column}.smart-study-head .btn{width:100%}.smart-study-controls{align-items:stretch;flex-direction:column}.smart-study-duration{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.smart-study-duration .mini-choice{width:100%}.smart-study-row{grid-template-columns:46px minmax(0,1fr);padding:11px 12px}.smart-study-actions{grid-column:1/-1;padding-top:9px;border-top:1px solid var(--line-soft);justify-content:flex-start}.study-availability-row{grid-template-columns:1fr 1fr;padding:12px}.study-availability-row>span{grid-column:1/-1}.study-availability-row label{min-width:0}}


/* ============================================================
   v4.17.1 — Navigation, information architecture & polish
   Flat/crisp AralPH design; no shadows/gradients/blur.
   ============================================================ */
:root{--space-page:18px;--space-card:16px;--space-row-y:12px;--space-row-x:14px}
.nav-list-primary{gap:3px}.nav-list-account{gap:3px}.nav-label-account{margin-top:18px}.nav-user-summary{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-soft)}
.sidebar .nav-item{min-height:40px;padding:9px 11px;gap:10px}.sidebar .nav-item .ui-icon{width:18px;text-align:center}.sidebar .nav-count{margin-left:auto}
.study-page-head{margin-bottom:12px}.study-tabs{margin-bottom:18px;overflow-x:auto;scrollbar-width:none}.study-tabs::-webkit-scrollbar{display:none}.study-tabs .tab{white-space:nowrap}
.study-panel{min-width:0}.study-full-panel{margin:0}.study-today-main{margin-top:16px}.study-today-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.study-today-list,.study-compact-list{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface)}
.study-today-list:empty,.study-compact-list:empty{border:0}
.study-today-row{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 14px;border:0;border-bottom:1px solid var(--line-soft);background:transparent;text-align:left;color:var(--text)}.study-today-row:last-child{border-bottom:0}.study-today-row:hover{background:var(--ui-hover)}
.study-today-row-icon{width:34px;height:34px;border:1px solid var(--line);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--blue)}.study-today-row-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.study-today-row-copy b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-today-row-copy small{font-size:10.5px;color:var(--text-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.study-compact-static{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line-soft)}.study-compact-static:last-child{border-bottom:0}.study-compact-static>span:first-child{color:var(--blue)}.study-compact-static>span:last-child{display:flex;flex-direction:column;gap:3px}.study-compact-static b{font-size:12px}.study-compact-static small{font-size:10.5px;color:var(--text-mute)}
.home-study-preview{padding:16px!important}.home-study-preview-head{align-items:flex-start}.home-study-preview-list{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface)}.home-study-preview-list:empty{border:0}.home-study-row{width:100%;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 13px;border:0;border-bottom:1px solid var(--line-soft);background:transparent;text-align:left;color:var(--text)}.home-study-row:last-child{border-bottom:0}.home-study-row:hover{background:var(--ui-hover)}.home-study-minutes{width:46px;min-height:40px;border:1px solid var(--line);background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center}.home-study-minutes b{font:800 15px/1 "Inter Tight",sans-serif}.home-study-minutes small{font-size:9px;color:var(--text-mute);margin-top:3px}.home-study-row>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0}.home-study-row>span:nth-child(2)>b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-study-row>span:nth-child(2)>small{font-size:10.5px;color:var(--text-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Consistent content breathing room for bordered UI without changing intentionally borderless detail sections. */
.block,.sheet-body,.profile-section,.class-notes-workspace,.notes-library-block,.notes-workspace-panel,.notes-resources-block{box-sizing:border-box}.block{padding-left:max(var(--space-card),12px);padding-right:max(var(--space-card),12px)}
.data-list>*,.tanong-list>*,.notification-row,.class-item,.week-item,.schedule-compact-row,.home-priority-row,.home-start-early-row{scroll-margin:10px}
.form-field,.sheet-section{min-width:0}.btn,.icon-btn,.filter-btn,.tab,.sort-pill,.mini-choice{box-sizing:border-box}.btn{min-height:36px}.btn.btn-sm{min-height:32px}.icon-btn{min-width:34px;min-height:34px}
.klase-head,.takda-head,.schedule-page-head{padding-left:2px;padding-right:2px}.tabs{padding-left:2px;padding-right:2px}
.mobile-more-item{padding:13px 14px!important;min-height:58px}.mobile-more-item>span:last-child{padding-right:4px}
@media(max-width:900px){.study-today-grid{grid-template-columns:1fr}.study-page-head{gap:14px}.study-tabs{margin-left:-2px;margin-right:-2px}}
@media(max-width:640px){:root{--space-card:14px}.study-page-head{padding-top:4px}.study-tabs{margin-bottom:14px}.notes-summary-grid{margin:0 0 14px}.study-today-main{margin-top:14px}.study-today-grid{gap:14px;margin-top:14px}.study-today-row{grid-template-columns:32px minmax(0,1fr) auto;padding:11px 12px}.study-today-row-icon{width:32px;height:32px}.home-study-preview{padding:14px!important}.home-study-row{grid-template-columns:42px minmax(0,1fr) auto;padding:11px 12px}.home-study-minutes{width:42px}.notes-head-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.notes-head-actions .btn{width:100%}.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.nav-mobile{min-width:0;padding:8px 2px 7px}.nav-mobile span{font-size:9.5px}.mobile-more-grid{gap:8px}}
@media(max-width:360px){.notes-head-actions{grid-template-columns:1fr}.study-tabs .tab{padding-left:10px;padding-right:10px}.home-study-row>span:nth-child(2)>small,.study-today-row-copy small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}

/* v4.17.1 final navigation polish */
.nav-item.active::before{display:none!important}
.nav-item:not(.active):hover{background:var(--ui-hover)!important;border-color:var(--ui-hover-border)!important;color:var(--blue)!important}
@media(max-width:640px){.bottom-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));justify-content:initial}.nav-mobile{width:100%;height:100%;justify-content:center}}


/* ============================================================
   v4.17.2 — Sidebar interaction parity
   Same neutral hover/pressed language used by body controls.
   ============================================================ */
.sidebar .nav-item{
  border:1px solid transparent;
}
@media(hover:hover) and (pointer:fine){
  .sidebar .nav-item:not(.active):hover{
    background:var(--ui-hover)!important;
    border-color:var(--ui-hover-border)!important;
    color:var(--blue)!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .sidebar .nav-item.active:hover{
    background:var(--blue)!important;
    border-color:var(--blue)!important;
    color:#fff!important;
    box-shadow:none!important;
    transform:none!important;
  }
}
.sidebar .nav-item:not(.active):active{
  background:var(--ui-hover-strong)!important;
  border-color:var(--ui-hover-border)!important;
  color:var(--blue)!important;
  opacity:1!important;
  box-shadow:none!important;
  transform:none!important;
}
.sidebar .nav-item.active{
  border-color:var(--blue)!important;
}


/* ============================================================
   v4.18 — Sidebar active-hover regression fix
   Active navigation keeps branded contrast on hover/press. This intentionally
   sits last so neutral global hover rules cannot wash out the active item.
   ============================================================ */
.sidebar .nav-item.active,
.sidebar .nav-item.active:visited{
  background-color:var(--blue)!important;
  border-color:var(--blue)!important;
  color:#fff!important;
}
.sidebar .nav-item.active:hover,
.sidebar .nav-item.active:focus-visible{
  background-color:var(--blue-hover)!important;
  border-color:var(--blue-hover)!important;
  color:#fff!important;
  opacity:1!important;
  box-shadow:none!important;
  transform:none!important;
}
.sidebar .nav-item.active:active{
  background-color:var(--blue-active)!important;
  border-color:var(--blue-active)!important;
  color:#fff!important;
  opacity:1!important;
}
.sidebar .nav-item.active .ui-icon,
.sidebar .nav-item.active:hover .ui-icon,
.sidebar .nav-item.active:focus-visible .ui-icon,
.sidebar .nav-item.active .nav-count{
  color:inherit!important;
}

/* ============================================================
   v4.18 — Class Resource Hub
   ============================================================ */
.resource-hub-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}
.resource-hub-search{flex:1 1 260px;min-width:220px}
.resource-filter-rail{display:flex;gap:6px;flex-wrap:wrap}
.resource-filter{min-height:34px;padding:0 10px;border:1px solid var(--line);background:var(--surface);color:var(--text-mute);font:inherit;font-size:11.5px;font-weight:650;cursor:pointer}
.resource-filter:hover{background:var(--ui-hover)!important;border-color:var(--ui-hover-border)!important;color:var(--blue)!important}
.resource-filter.active{background:var(--blue-tint)!important;border-color:var(--blue)!important;color:var(--blue)!important}
.resource-category-select{min-height:34px;min-width:145px;padding:0 30px 0 10px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-size:11.5px}
.resource-hub-summary{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 12px;font-size:11px;color:var(--text-mute)}
.resource-hub-summary b{color:var(--text);font-weight:700}
.study-resource-list.resource-hub-list{border:1px solid var(--line);background:var(--surface)}
.study-resource-row.resource-hub-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px 14px;border-bottom:1px solid var(--line-soft);background:var(--surface)}
.study-resource-row.resource-hub-row:last-child{border-bottom:0}
.study-resource-row.resource-hub-row:hover{background:var(--ui-hover)}
.study-resource-icon{width:38px;height:38px;border:1px solid var(--line);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--blue);flex:0 0 auto}
.study-resource-copy{display:flex;flex-direction:column;min-width:0;gap:5px}
.resource-title-row{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}
.resource-open-link{appearance:none;border:0;background:transparent;padding:0!important;margin:0;color:var(--text);font:700 12.5px/1.35 "Public Sans",sans-serif;text-align:left;cursor:pointer;min-height:0!important}
.resource-open-link:hover{color:var(--blue)!important;background:transparent!important}
.resource-badges{display:flex;gap:5px;flex-wrap:wrap}
.resource-badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1px solid var(--line);background:var(--surface-2);font-size:9.5px;font-weight:700;color:var(--text-mute)}
.resource-badge.shared{border-color:var(--ui-hover-border);background:var(--ui-hover);color:var(--blue)}
.resource-badge.private{color:var(--text-mute)}
.resource-description{font-size:11px;line-height:1.45;color:var(--text-soft);overflow-wrap:anywhere}
.resource-meta-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:10px;color:var(--text-mute)}
.resource-meta-line span{display:inline-flex;align-items:center;gap:4px}
.resource-used-in{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}
.resource-used-in>span:first-child{font-size:9.5px;font-weight:700;color:var(--text-mute);text-transform:uppercase;letter-spacing:.05em}
.resource-link-chip{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1px solid var(--line);background:var(--surface);font-size:9.5px;color:var(--text-soft)}
.resource-verification{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:3px}
.resource-verification-label{font-size:9.5px;font-weight:700;color:var(--text-mute);margin-right:2px}
.resource-vote{min-height:27px;padding:4px 7px;border:1px solid var(--line);background:var(--surface);font:650 9.5px/1 "Public Sans",sans-serif;color:var(--text-mute);cursor:pointer}
.resource-vote:hover{background:var(--ui-hover)!important;border-color:var(--ui-hover-border)!important;color:var(--blue)!important}
.resource-vote.active.confirmed{background:var(--green-tint)!important;border-color:rgba(46,125,91,.25)!important;color:var(--green)!important}
.resource-vote.active.unsure{background:var(--amber-tint)!important;border-color:rgba(184,116,21,.25)!important;color:var(--amber)!important}
.resource-vote.active.incorrect{background:var(--red-tint)!important;border-color:rgba(180,74,70,.25)!important;color:var(--red)!important}
.study-resource-actions{display:flex;align-items:center;gap:4px;align-self:start}
.resource-owner-label{font-size:9.5px;color:var(--text-mute);white-space:nowrap}
.resource-empty{padding:22px 16px;text-align:center;color:var(--text-mute);font-size:11.5px}
.resource-duplicate-warning{padding:10px 12px;border:1px solid var(--amber);background:var(--amber-tint);font-size:11px;line-height:1.45;color:var(--text-soft)}
.resource-file-current{display:flex;align-items:center;gap:7px;min-height:34px;padding:8px 10px;border:1px solid var(--line);background:var(--surface-2);font-size:10.5px;color:var(--text-mute)}
.resource-file-current.hidden{display:none}
.resource-source-note{font-size:10px;line-height:1.45;color:var(--text-mute);margin-top:5px}
.resource-source-note b{color:var(--text-soft)}
@media(max-width:640px){
  .resource-hub-toolbar{display:grid;grid-template-columns:1fr;gap:8px}
  .resource-hub-search{min-width:0;width:100%}
  .resource-filter-rail{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  .resource-filter{flex:0 0 auto}
  .resource-category-select{width:100%}
  .study-resource-row.resource-hub-row{grid-template-columns:34px minmax(0,1fr);padding:12px;gap:10px}
  .study-resource-icon{width:34px;height:34px}
  .study-resource-actions{grid-column:2;justify-self:start;margin-top:2px}
}


/* ========== v4.18.1 class membership + focus-safe navigation ========== */
.klase-head-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.klase-head-copy{min-width:0}
.klase-manage-classes{flex:0 0 auto;margin-top:2px}
.class-empty-state{padding:28px 22px!important}
.class-empty-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px}
.class-browser-toolbar{display:grid;gap:10px;margin-bottom:14px}
.class-browser-search{width:100%}
.class-browser-context{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:9px 11px;border:1px solid var(--line-soft);border-radius:4px;background:var(--surface-2,#F2F0EC);font-size:12px;color:var(--text-soft)}
.class-browser-context>span{display:flex;align-items:center;gap:7px;min-width:0}
.class-browser-profile-link{border:0;background:transparent;color:var(--blue);font:inherit;font-weight:700;padding:5px 7px;border-radius:4px;cursor:pointer;flex:0 0 auto}
.class-browser-profile-link:hover{background:#EEF3F7}
.class-browser-profile-link:active{background:#E3EBF1}
.class-browser-warning{color:var(--text-soft)}
.class-browser-list{display:grid;gap:8px;max-height:min(58vh,560px);overflow:auto;padding-right:2px}
.class-browser-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--line);border-radius:4px;background:var(--surface,#FCFCFA)}
.class-browser-card:hover{background:#EEF3F7;border-color:#B9C9D6}
.class-browser-card.is-current{border-color:#9FB6C8;background:#F5F8FA}
.class-browser-main{display:flex;align-items:center;gap:11px;min-width:0}
.class-browser-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:4px;background:var(--blue);color:#fff;font-weight:800;flex:0 0 auto}
.class-browser-copy{display:grid;gap:2px;min-width:0}
.class-browser-copy b,.class-browser-copy span,.class-browser-copy small{min-width:0;overflow-wrap:anywhere}
.class-browser-copy>span{font-size:12px;color:var(--text-soft)}
.class-browser-copy>small{font-size:11px;color:var(--text-mute)}
.class-browser-title-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.class-current-badge,.class-joined-badge{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border:1px solid #B9C9D6;border-radius:4px;background:#EEF3F7;color:var(--blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.class-browser-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
@media(max-width:760px){
  .klase-head-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .klase-manage-classes{padding-left:10px!important;padding-right:10px!important}
  .class-browser-card{align-items:flex-start;display:grid;grid-template-columns:minmax(0,1fr) auto;padding:12px}
  .class-browser-actions{align-self:center}
  .class-browser-context{align-items:flex-start;flex-direction:column}
  .class-empty-state{padding:22px 14px!important}
  .class-empty-actions{display:grid;width:100%;grid-template-columns:1fr}
  .class-empty-actions .btn{width:100%}
}


/* ============================================================
   v4.18.2 · SEARCH FIELD FIX
   Keep every Font Awesome search icon anchored inside its field.
   This intentionally comes last because the global form padding pass
   uses !important and previously erased the search field's left inset.
   ============================================================ */
.search-input{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-width:0;
}
.search-input > .ui-icon.search-ic{
  position:absolute!important;
  left:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:18px!important;
  height:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  line-height:1!important;
  color:var(--text-mute)!important;
  pointer-events:none!important;
  z-index:2!important;
}
.search-input > input,
.search-input > input[type="search"],
.search-input > input[type="text"]{
  padding-left:44px!important;
  padding-right:14px!important;
  min-width:0!important;
}
@media(min-width:768px){
  .search-input > .ui-icon.search-ic{left:15px!important}
  .search-input > input,
  .search-input > input[type="search"],
  .search-input > input[type="text"]{padding-left:46px!important;padding-right:16px!important}
}


/* ============================================================
   v4.18.4 · CLASS SEARCH DIRECT RESULTS
   Search results render in the proven class list instead of a popover.
   ============================================================ */
.class-browser-search-wrap{display:grid;gap:6px;min-width:0}
.class-browser-search-status{display:flex;align-items:center;gap:7px;min-height:30px;padding:6px 9px;border:1px solid var(--line-soft);border-radius:4px;background:var(--surface-2,#F2F0EC);font-size:10.5px;color:var(--text-mute)}
.class-browser-search-status.hidden{display:none!important}
.class-browser-search-status .ui-icon{width:16px;color:var(--blue)}
.class-browser-search-status.is-error{border-color:rgba(180,74,70,.35);background:var(--red-tint);color:var(--red)}
.class-browser-search-status.is-error .ui-icon{color:var(--red)}
.class-browser-search-status.is-loading .ui-icon{color:var(--blue)}
.class-browser-list.is-searching{padding-top:2px}
.class-browser-inline-state{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:12px 13px;border:1px solid var(--line);border-radius:4px;background:var(--surface,#FCFCFA)}
.class-browser-inline-state>.ui-icon{width:18px;color:var(--blue)}
.class-browser-inline-state>div{display:grid;gap:2px;min-width:0}
.class-browser-inline-state b{font-size:12px;color:var(--text)}
.class-browser-inline-state span{font-size:10.5px;line-height:1.45;color:var(--text-mute)}
.class-browser-inline-state.is-warning>.ui-icon{color:var(--amber)}
@media(max-width:640px){
  .class-browser-inline-state{grid-template-columns:22px minmax(0,1fr);padding:11px}
  .class-browser-inline-state>.btn{grid-column:2;justify-self:start;margin-top:2px}
}

/* v4.18.5 · Class browser simplification */
.class-browser-context.hidden{display:none!important}
.class-browser-start-state{margin-top:2px}
.class-browser-start-state .btn{white-space:nowrap}
@media(max-width:560px){.class-browser-start-state{grid-template-columns:22px minmax(0,1fr)}.class-browser-start-state>.btn{grid-column:2;justify-self:start}}

/* v4.18.6: Class directory is always visible; school is shown beside class name. */
.class-browser-title-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.class-browser-school-inline{display:inline-flex;align-items:center;min-width:0;padding:2px 6px;border:1px solid var(--line-soft);border-radius:4px;background:var(--surface-2,#F2F0EC);color:var(--text-soft);font-size:10.5px;font-weight:650;line-height:1.35}
.class-browser-card:hover .class-browser-school-inline{border-color:#B9C9D6;background:#E3EBF1}
@media(max-width:560px){.class-browser-title-row{align-items:flex-start}.class-browser-school-inline{max-width:100%;overflow-wrap:anywhere}}

/* v4.18.7 database-first class directory grouping */
.class-directory-group{display:grid;gap:8px;margin:0 0 14px}
.class-directory-group:last-child{margin-bottom:0}
.class-directory-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px;color:var(--text-soft);font-size:11px;line-height:1.35;text-transform:uppercase;letter-spacing:.06em}
.class-directory-group-head b{color:var(--text);font-weight:750}
.class-directory-group-head span{font-variant-numeric:tabular-nums}


/* AralPH v4.18.8 · Activity Detail padding + alignment correction
   Final overrides intentionally restore internal insets that were removed by the compact-detail pass. */
.requirements-block .task-workspace-head{
  align-items:center!important;
  margin-bottom:12px!important;
}
.requirement-list,.coverage-checklist{
  overflow:hidden;
}
.requirement-item,.coverage-item{
  padding:10px 12px!important;
  gap:10px!important;
  align-items:center!important;
  line-height:1.45!important;
}
.requirement-item:first-child,.coverage-item:first-child{
  padding-top:10px!important;
}
.requirement-item:last-child,.coverage-item:last-child{
  padding-bottom:10px!important;
}
.requirement-check,.coverage-check{
  margin-top:0!important;
}
.activity-sources-section .source-evidence-list{
  overflow:hidden;
}
.activity-sources-section .source-evidence-list>.detail-empty-note{
  min-height:46px;
  margin:0!important;
  padding:12px 14px!important;
  display:flex;
  align-items:center;
  font-style:normal;
  line-height:1.45;
}
.activity-sources-section .source-evidence-row{
  padding:12px 14px!important;
}
.activity-sources-section .source-evidence-row.primary{
  padding-left:12px!important;
}
.detail-compact-disclosure .history-disclosure{
  overflow:hidden;
}
.detail-compact-disclosure .history-disclosure>summary{
  min-height:46px!important;
  padding:12px 14px!important;
  align-items:center!important;
}
.detail-compact-disclosure .history-disclosure>summary>span:first-child{
  min-width:0;
  align-items:baseline;
}
.detail-compact-disclosure .history-chevron{
  flex:0 0 auto;
  margin-left:8px;
}
.detail-compact-disclosure .detail-history .history-item{
  padding:11px 14px!important;
}
@media(max-width:560px){
  .requirement-item,.coverage-item{padding:10px 11px!important}
  .activity-sources-section .source-evidence-list>.detail-empty-note{padding:11px 12px!important}
  .activity-sources-section .source-evidence-row{padding:11px 12px!important}
  .detail-compact-disclosure .history-disclosure>summary{padding:11px 12px!important}
  .detail-compact-disclosure .detail-history .history-item{padding:10px 12px!important}
}


/* ============================================================
   AralPH v5.0 — Class Intelligence Engine
   Flat/crisp, no gradients, no shadows, no blur.
   ============================================================ */
.sidebar-capture-action{
  width:calc(100% - 24px);
  margin:4px 12px 12px;
  padding:11px 12px;
  border:1px solid #B9C9D6;
  border-radius:4px;
  background:#EEF3F7;
  color:#244D75;
  display:flex;
  align-items:flex-start;
  gap:10px;
  text-align:left;
  cursor:pointer;
}
.sidebar-capture-action>.ui-icon{width:18px;margin-top:2px}
.sidebar-capture-action>span{display:grid;gap:2px;min-width:0}
.sidebar-capture-action b{font-size:13px;line-height:1.25}
.sidebar-capture-action small{font-size:10px;line-height:1.35;color:#6B7785;font-weight:500}
.sidebar-capture-action:hover{background:#E3EBF1;border-color:#9FB5C7}
.sidebar-capture-action:active{background:#D9E4EC}
.topbar-capture{color:#355F8A}
.takda-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.takda-capture-btn{min-height:38px}

.class-brief-block{padding:16px}
.class-brief-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.class-brief-head>div{min-width:0}
.class-brief-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--line-soft,#E6E1D7);
  border-radius:4px;
  margin-bottom:12px;
  overflow:hidden
}
.class-brief-summary>span{padding:10px 12px;display:grid;gap:1px;border-right:1px solid var(--line-soft,#E6E1D7)}
.class-brief-summary>span:last-child{border-right:0}
.class-brief-summary b{font-size:16px;line-height:1.2;color:#24313D}
.class-brief-summary small{font-size:11px;color:#76818D}
.class-brief-list{display:grid;border:1px solid var(--line-soft,#E6E1D7);border-radius:4px;overflow:hidden}
.class-brief-list:empty{display:none}
.class-brief-row{
  appearance:none;
  width:100%;
  border:0;
  border-bottom:1px solid var(--line-soft,#E6E1D7);
  border-radius:0;
  background:#FCFCFA;
  padding:12px 14px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 16px;
  align-items:center;
  gap:10px;
  text-align:left;
  color:#26343F;
  cursor:pointer
}
.class-brief-row:last-child{border-bottom:0}
.class-brief-row:hover{background:#EEF3F7}
.class-brief-row:active{background:#E3EBF1}
.class-brief-icon{
  width:30px;height:30px;
  border:1px solid #D6DFE6;
  border-radius:4px;
  display:grid;place-items:center;
  color:#355F8A;
  background:#F7F9FA
}
.class-brief-row.tone-warn .class-brief-icon{color:#B44A46;border-color:#E2C5C3;background:#FBF6F5}
.class-brief-copy{display:grid;gap:3px;min-width:0}
.class-brief-copy>span{display:flex;gap:8px;align-items:center;min-width:0}
.class-brief-copy b{font-size:13px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.class-brief-copy em{font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#6C7782;white-space:nowrap}
.class-brief-copy small{font-size:11px;line-height:1.4;color:#6F7B87;white-space:normal}

.capture-sheet{
  width:min(760px,calc(100vw - 24px));
  max-width:760px;
  max-height:min(92vh,920px);
  overflow:auto
}
.capture-sheet>.sheet-head{padding-left:18px;padding-right:18px}
.capture-source-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:0 18px 14px
}
.capture-source{
  min-width:0;
  min-height:70px;
  border:1px solid var(--line,#D7D2C8);
  border-radius:4px;
  background:#FCFCFA;
  padding:11px 12px;
  color:#34424E;
  display:flex;
  align-items:flex-start;
  gap:9px;
  text-align:left;
  cursor:pointer
}
.capture-source:hover{background:#EEF3F7;border-color:#B9C9D6}
.capture-source:active{background:#E3EBF1}
.capture-source.active{background:#EEF3F7;border-color:#355F8A;color:#244D75}
.capture-source>.ui-icon{width:18px;margin-top:2px}
.capture-source>span{display:grid;gap:2px;min-width:0}
.capture-source b{font-size:12px;line-height:1.3}
.capture-source small{font-size:10px;line-height:1.35;color:#77828D}
.capture-input-panel,.capture-review{margin:0 18px 18px;padding:16px;border:1px solid var(--line,#D7D2C8);border-radius:4px;background:#FCFCFA}
.capture-input-panel{display:grid;gap:14px}
.capture-raw-text{min-height:150px;resize:vertical}
.capture-file-field{display:grid;gap:8px}
.capture-drop{
  min-height:90px;
  border:1px dashed #B9C9D6;
  border-radius:4px;
  background:#F7F9FA;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:left;
  cursor:pointer;
  color:#355F8A
}
.capture-drop:hover{background:#EEF3F7;border-color:#8EA9BE}
.capture-drop>span{display:grid;gap:3px}
.capture-drop b{font-size:12px}
.capture-drop small{font-size:10px;color:#74808B}
.capture-file-meta{
  border:1px solid var(--line-soft,#E6E1D7);
  border-radius:4px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:10px;
  background:#F2F0EC
}
.capture-file-meta>span{display:grid;gap:2px}
.capture-file-meta b{font-size:12px}
.capture-file-meta small{font-size:10px;color:#707B86}
.capture-extract-status{
  border:1px solid #D6DFE6;
  border-radius:4px;
  padding:10px 12px;
  background:#EEF3F7;
  color:#355F8A;
  font-size:11px;
  line-height:1.45
}
.capture-extract-status[data-tone="error"]{background:#FBF5F4;border-color:#E4C9C6;color:#9B3E3A}
.capture-extract-status[data-tone="success"]{background:#F4F8F3;border-color:#CAD9C7;color:#43643E}
.capture-review{display:grid;gap:15px}
.capture-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line-soft,#E6E1D7)}
.capture-review-head h3{margin:2px 0 3px;font-size:18px}
.capture-review-head p{margin:0;font-size:11px;line-height:1.45;color:#74808B}
.capture-confidence{border:1px solid #B9C9D6;border-radius:4px;background:#EEF3F7;color:#355F8A;padding:6px 8px;font-size:10px;font-weight:700;white-space:nowrap}
.capture-match,.capture-impact{border:1px solid var(--line,#D7D2C8);border-radius:4px;background:#FDFDFC;padding:12px}
.capture-match-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:9px}
.capture-match-head>div{display:grid;gap:2px}
.capture-match-head b{font-size:12px}
.capture-match-head>span{font-size:10px;color:#75808B}
.capture-match-list{display:grid;border:1px solid var(--line-soft,#E6E1D7);border-radius:4px;overflow:hidden}
.capture-match-row{
  border:0;border-left:3px solid transparent;border-bottom:1px solid var(--line-soft,#E6E1D7);border-radius:0;background:#FCFCFA;padding:10px 11px 10px 8px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;cursor:pointer
}
.capture-match-row:last-child{border-bottom:0}
.capture-match-row:hover{background:#EEF3F7}
.capture-match-row.selected{background:#EEF3F7;border-left-color:#355F8A}
.capture-match-row>span{display:grid;gap:2px;min-width:0}
.capture-match-row b{font-size:12px}
.capture-match-row small{font-size:10px;color:#73808B}
.capture-match-row strong{font-size:11px;color:#355F8A}
.capture-no-match{display:grid;gap:3px;padding:2px}
.capture-no-match b{font-size:12px}
.capture-no-match span{font-size:10px;color:#74808B}
.capture-impact{background:#F7F9FA;border-color:#CFDBE4}
.capture-impact-head{display:flex;gap:9px;align-items:flex-start;margin-bottom:10px}
.capture-impact-head>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid #B9C9D6;border-radius:4px;color:#355F8A;background:#FCFCFA}
.capture-impact-head>div{display:grid;gap:2px}
.capture-impact-head b{font-size:12px}
.capture-impact p{margin:10px 0 0;font-size:11px;line-height:1.5;color:#5F6D78}
.capture-change-list{display:grid;border:1px solid var(--line-soft,#E6E1D7);border-radius:4px;overflow:hidden}
.capture-change-row{padding:9px 10px;border-bottom:1px solid var(--line-soft,#E6E1D7);display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;align-items:start}
.capture-change-row:last-child{border-bottom:0}
.capture-change-row>b{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#6D7984}
.capture-change-row>span{font-size:11px;line-height:1.45;color:#67747F}
.capture-change-row strong{color:#273846}
.capture-review-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:2px}

@media (max-width:700px){
  .sidebar-capture-action{display:none}
  .takda-head-actions{width:100%;justify-content:flex-end}
  .takda-capture-btn{min-width:0}
  .class-brief-block{padding:14px}
  .class-brief-head{align-items:flex-start}
  .class-brief-head .btn{white-space:nowrap}
  .class-brief-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .class-brief-summary>span:nth-child(2){border-right:0}
  .class-brief-summary>span:nth-child(-n+2){border-bottom:1px solid var(--line-soft,#E6E1D7)}
  .class-brief-row{grid-template-columns:28px minmax(0,1fr) 14px;padding:11px 12px;gap:9px}
  .class-brief-icon{width:28px;height:28px}
  .capture-sheet{width:100%;max-width:none;max-height:94vh}
  .capture-source-grid{grid-template-columns:1fr;padding:0 14px 12px}
  .capture-source{min-height:0}
  .capture-input-panel,.capture-review{margin:0 14px 14px;padding:14px}
  .capture-sheet>.sheet-head{padding-left:14px;padding-right:14px}
  .capture-review-head{display:grid}
  .capture-change-row{grid-template-columns:1fr;gap:3px}
  .capture-review-actions{display:grid;grid-template-columns:1fr}
  .capture-review-actions .btn{width:100%}
}

/* ========================================================================
   ARALPH v5.0.2 · DEEP SITEWIDE UI / SPACING / GROUPING AUDIT
   One visual group = one border. Parent workspaces stay quiet; rows and
   controls carry the structure. No shadows, gradients, blur, lift or scale.
   ======================================================================== */
:root{
  --page-max:1080px;
  --page-gap:24px;
  --section-gap:28px;
  --panel-pad:16px;
  --panel-pad-lg:18px;
  --panel-pad-mobile:14px;
  --row-x:14px;
  --row-y:11px;
  --control-h:40px;
  --control-h-sm:34px;
  --ui-hover:#EEF3F7;
  --ui-pressed:#E3EBF1;
  --ui-hover-border:#B9C9D6;
}

/* ----- Global rhythm / typography ----- */
.main-inner{max-width:var(--page-max)!important;width:100%!important;margin:0 auto!important}
.screen.is-active{gap:var(--page-gap)!important}
.takda-view[data-view="default"]:not(.hidden),
.takda-view[data-view="results"]:not(.hidden),
.tanong-view[data-tanong-view="list"]:not(.hidden),
.tanong-view[data-tanong-view="detail"]:not(.hidden){gap:var(--page-gap)!important}
.section-eyebrow,.nav-label,.form-label,.detail-meta-label{
  line-height:1.25!important;
}
.section-eyebrow{margin:0 0 5px!important;font-size:10px!important;letter-spacing:.07em!important}

/* Page headers are separated by whitespace, not another decorative rule. */
.takda-page-head,.klase-head,.tanong-head,.study-page-head,.schedule-page-head{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;
  gap:18px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;
}
.takda-page-head>div,.klase-head>div,.tanong-head>div,.study-page-head>div,.schedule-page-head>div{min-width:0!important}
.display-title,.klase-name{
  margin:0 0 5px!important;font-size:33px!important;line-height:1.06!important;letter-spacing:-.034em!important;
}
.display-sub,.klase-sub{margin:0!important;max-width:680px!important;font-size:13px!important;line-height:1.5!important;color:var(--text-soft)!important}

/* ----- Navigation ----- */
.sidebar{padding:20px 14px 14px!important}
.brand{padding:0 7px 17px!important}
.nav-label{padding:12px 9px 6px!important;font-size:10px!important}
.nav-list{gap:3px!important}
.sidebar .nav-item{
  min-height:40px!important;padding:9px 10px!important;gap:10px!important;
  border:1px solid transparent!important;background:transparent!important;
}
.sidebar .nav-item:not(.active):hover{background:var(--ui-hover)!important;border-color:var(--ui-hover-border)!important;color:var(--blue)!important}
.sidebar .nav-item:not(.active):active{background:var(--ui-pressed)!important;border-color:var(--ui-hover-border)!important;color:var(--blue)!important}
.sidebar .nav-item.active,.sidebar .nav-item.active:hover{
  background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important;
}
.sidebar .nav-item.active:active{background:var(--blue-2)!important;border-color:var(--blue-2)!important;color:#fff!important}
.sidebar .nav-item.active::before{display:none!important}
.sidebar-capture-action{
  width:100%!important;min-height:38px!important;margin:3px 0 9px!important;padding:8px 10px!important;
  border:0!important;background:var(--ui-hover)!important;color:var(--blue)!important;gap:9px!important;font-size:12.5px!important;font-weight:700!important;
}
.sidebar-capture-action:hover{background:var(--ui-pressed)!important}
.sidebar-capture-action:active{background:#D9E4EC!important}
.nav-secondary{padding-top:12px!important;border-top:1px solid var(--line-soft)!important}
.user-card{padding:10px!important;margin-top:8px!important;border:0!important;background:var(--surface-2)!important}
.user-card:hover{background:var(--ui-hover)!important}

/* Mobile navigation is one bar; items do not need individual borders. */
.topbar{padding:12px 14px 9px!important;border-bottom:1px solid var(--line-soft)!important}
.bottom-nav{border-top:1px solid var(--line)!important;padding-left:6px!important;padding-right:6px!important}
.nav-mobile{min-width:0!important;padding:7px 5px!important;gap:4px!important}
.nav-mobile:hover{background:var(--ui-hover)!important;color:var(--blue)!important}
.nav-mobile.active,.nav-mobile.active:hover{background:transparent!important;color:var(--blue)!important}

/* ----- Controls ----- */
.btn,.filter-btn,.takda-page-create,.class-board-filter,.mini-choice,.notes-filter,.resource-filter,.report-reason{
  min-height:var(--control-h)!important;padding:0 13px!important;gap:7px!important;
  font-size:12.5px!important;font-weight:650!important;line-height:1.15!important;
  border:1px solid transparent!important;
}
.btn-sm,.sort-pill{min-height:var(--control-h-sm)!important;padding:0 10px!important;font-size:11.75px!important}
.btn-primary,.takda-page-create{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important}
.btn-primary:hover,.takda-page-create:hover{background:var(--blue-2)!important;border-color:var(--blue-2)!important;color:#fff!important}
.btn-outline,.filter-btn{background:var(--surface)!important;border-color:var(--line)!important;color:var(--text-soft)!important}
.btn-outline:hover,.filter-btn:hover,.btn-ghost:hover{background:var(--ui-hover)!important;border-color:var(--ui-hover-border)!important;color:var(--blue)!important}
.btn-outline:active,.filter-btn:active,.btn-ghost:active{background:var(--ui-pressed)!important}
.btn-soft{background:var(--surface-2)!important;border-color:transparent!important}
.btn-soft:hover{background:var(--ui-hover)!important;color:var(--blue)!important}
.btn-green{border-color:var(--green)!important}.btn-red,.btn-danger{border-color:var(--red)!important}
.icon-btn{width:38px!important;height:38px!important;border:1px solid transparent!important;background:transparent!important}
.icon-btn:hover{background:var(--ui-hover)!important;border-color:var(--ui-hover-border)!important;color:var(--blue)!important}
.icon-btn:active{background:var(--ui-pressed)!important}
.block-link{display:inline-flex!important;align-items:center!important;min-height:30px!important;padding:4px 7px!important;font-size:11.75px!important;font-weight:700!important;color:var(--blue)!important}
.block-link:hover{background:var(--ui-hover)!important;color:var(--blue)!important}

/* Form controls own their border; surrounding toolbars do not add another one. */
.form-field{gap:6px!important;min-width:0!important}
.form-label{margin:0!important;font-size:10.5px!important;font-weight:750!important;letter-spacing:.055em!important}
.form-input,.form-select,.filter-input,.textarea-field,#q-input,.search-input input,.resource-category-select{
  min-height:42px!important;padding:10px 12px!important;border:1px solid var(--line)!important;
  background:var(--surface)!important;font-size:14px!important;line-height:1.4!important;
}
.search-input{position:relative!important;min-width:0!important}
.search-input input{padding-left:44px!important;width:100%!important}
.search-input .ui-icon.search-ic{position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%)!important;pointer-events:none!important;z-index:1!important}
.textarea-field{min-height:100px!important;padding:11px 12px!important}
.form-input:focus,.form-select:focus,.filter-input:focus,.textarea-field:focus,#q-input:focus,.search-input:focus-within,.resource-category-select:focus{
  outline:none!important;border-color:var(--blue)!important;box-shadow:none!important;
}
.form-grid{gap:12px!important}
.form-gap-top{margin-top:12px!important}

/* ----- Tabs / rails ----- */
.tabs[data-tab-rail],.sort-pills[data-tab-rail]{
  min-height:40px!important;padding:3px!important;margin:0!important;border:0!important;background:var(--surface-2)!important;overflow-x:auto!important;
}
.tabs[data-tab-rail]>.tab{min-height:34px!important;padding:0 12px!important;margin:0!important;border:0!important;font-size:12px!important}
.sort-pills[data-tab-rail]{min-height:38px!important;padding:2px!important}
.sort-pills[data-tab-rail]>.sort-pill{border:0!important}

/* ----- Shared section grammar -----
   Top-level workspaces are intentionally borderless. Only real sub-groups
   (lists, stats, toolbars when needed) receive one enclosing border. */
.screen[data-screen="home"]>.block,
.takda-view[data-view="default"]>section.block,
.study-panel>section.block,
.study-today-grid>section.block,
.class-activity-board,.class-question-board,.class-schedule-board,.class-notes-workspace,
.notes-library-block,.notes-workspace-panel,.notes-resources-block,.smart-study-block{
  padding:0!important;border:0!important;background:transparent!important;
}
.block{min-width:0!important}
.block-head{margin:0 0 11px!important;min-height:0!important;align-items:flex-start!important;gap:14px!important}
.block-head>div{min-width:0!important}
.block-title{margin:0!important;font-size:18px!important;line-height:1.22!important}
.block-sub{margin:3px 0 0!important;font-size:11.75px!important;line-height:1.45!important;color:var(--text-mute)!important}
.block-meta{font-size:10.75px!important;line-height:1.35!important;color:var(--text-mute)!important}

/* ----- HOME ----- */
.screen[data-screen="home"].is-active{
  display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr)!important;gap:var(--section-gap) 20px!important;
}
.screen[data-screen="home"]>.greet-row,
.screen[data-screen="home"]>.hero,
.screen[data-screen="home"]>.class-brief-block,
.screen[data-screen="home"]>.home-intelligence-block,
.screen[data-screen="home"]>.home-attention-block,
.screen[data-screen="home"]>.home-class-activity-block{grid-column:1/-1!important}
.greet-row{padding:0!important;margin:0!important}
.greet-text .greet-name{margin:0!important;font-size:24px!important}
.greet-text p:not(.greet-name){margin-top:2px!important;font-size:11.5px!important}
.hero{
  margin:0!important;padding:12px 14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;
  border:0!important;background:var(--surface-2)!important;overflow:visible!important;
}
.hero::before{display:none!important}
.hero-title{margin:0!important;font-size:14.5px!important;line-height:1.2!important;white-space:nowrap!important}
.hero-stats{justify-content:flex-end!important;gap:7px 12px!important}.hero-stat{font-size:11px!important}.hero-stat b{font-size:15px!important}.hero-stat-divider{height:18px!important}

.class-brief-block,.home-intelligence-block,.home-workload-block,.home-study-preview,.home-today-block,.home-progress-block,.home-class-activity-block,.home-attention-block{padding:0!important}
.class-brief-head{margin-bottom:10px!important;align-items:flex-start!important}
.class-brief-summary,.home-signal-grid{
  display:grid!important;gap:0!important;border:1px solid var(--line)!important;background:var(--surface)!important;overflow:hidden!important;
}
.class-brief-summary{margin:0 0 8px!important}
.class-brief-summary>span{padding:10px 12px!important;border:0!important;border-right:1px solid var(--line-soft)!important}
.class-brief-summary>span:last-child{border-right:0!important}
.class-brief-list,.home-priority-list,.home-study-preview-list,.home-attention-list,.home-class-activity-block .activity-list,.home-today-block .data-list{
  gap:0!important;border:1px solid var(--line)!important;background:var(--surface)!important;overflow:hidden!important;
}
.class-brief-row,.home-priority-row,.home-study-row{padding:11px 13px!important;border:0!important;border-bottom:1px solid var(--line-soft)!important;background:transparent!important}
.class-brief-row:last-child,.home-priority-row:last-child,.home-study-row:last-child{border-bottom:0!important}
.home-signal-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:10px!important}
.home-signal{padding:10px 11px!important;border:0!important;border-right:1px solid var(--line-soft)!important;border-bottom:1px solid var(--line-soft)!important;background:transparent!important}
.home-signal:nth-child(3n){border-right:0!important}.home-signal:nth-last-child(-n+3){border-bottom:0!important}
.home-signal span{font-size:9.75px!important}.home-signal b{font-size:16px!important}
.home-workload-block{grid-column:1!important}.home-study-preview{grid-column:2!important}.home-today-block{grid-column:1!important}.home-progress-block{grid-column:2!important}
.home-workload-summary{
  display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)!important;gap:0!important;
  border:1px solid var(--line)!important;background:var(--surface)!important;overflow:hidden!important;
}
.home-workload-busy{padding:13px!important;border:0!important;border-right:1px solid var(--line-soft)!important;background:transparent!important}
.home-workload-icon{border:0!important;background:var(--ui-hover)!important}
.home-workload-signals{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important}
.home-workload-signal{padding:9px 10px!important;border:0!important;border-right:1px solid var(--line-soft)!important;border-bottom:1px solid var(--line-soft)!important;background:transparent!important}
.home-workload-signal:nth-child(2n){border-right:0!important}.home-workload-signal:nth-last-child(-n+2){border-bottom:0!important}
.home-start-early{padding-top:12px!important;border-top:0!important}.home-start-early-row{padding:10px 12px!important;border-top:1px solid var(--line-soft)!important}
.home-progress-block .progress-card{padding:14px!important;border:0!important;background:var(--surface-2)!important}
.home-progress-block .progress-head{gap:12px!important}
.empty-state{padding:24px 16px!important;border:0!important;background:var(--surface-2)!important}
.compact-empty,.detail-empty-state.compact{padding:15px 14px!important}
.empty-icon{width:36px!important;height:36px!important;margin-bottom:8px!important;border:0!important;background:var(--ui-hover)!important}
.empty-title{font-size:15px!important}.empty-sub{max-width:440px!important;font-size:11.75px!important;line-height:1.5!important;font-style:normal!important}

/* ----- ACTIVITIES ----- */
.takda-search-sticky{margin:0!important;padding:0!important;background:transparent!important;border:0!important}
.search-wrap{margin:0!important;gap:8px!important}.takda-search-sticky .chips-row:empty{display:none!important}
.takda-view[data-view="default"]>section.block{margin:0!important}
.trending-grid{gap:8px!important}
.takda-feed-block{padding:0!important;border:0!important}
.takda-feed-head{margin-bottom:9px!important}.takda-feed-nav{margin-bottom:10px!important}
.takda-personal-summary{margin:10px 0!important;padding:12px 13px!important;border:0!important;background:var(--surface-2)!important}
.task-summary-stats{display:grid!important;gap:0!important;border:1px solid var(--line)!important;background:var(--surface)!important;overflow:hidden!important}
.task-summary-stats>div{padding:9px 10px!important;border:0!important;border-right:1px solid var(--line-soft)!important;background:transparent!important}
.task-summary-stats>div:last-child{border-right:0!important}
.takda-sort-row{margin:9px 0!important;padding:0!important;min-height:34px!important}
.assign-list,.result-list{gap:0!important}
.assign-card,.result-card{border-radius:4px!important}

/* ----- CLASSES ----- */
#klase-content,#klase-data,#klase-panel{min-width:0!important}
#klase-panel{gap:var(--section-gap)!important}
.klase-tabs{margin:0!important}
.class-empty-state{padding:24px 16px!important;border:0!important;background:var(--surface-2)!important}
.klase-stats{gap:0!important;margin:0!important;border:1px solid var(--line)!important;background:var(--surface)!important;overflow:hidden!important}
.klase-stat-card{padding:12px 13px!important;border:0!important;border-right:1px solid var(--line-soft)!important;background:transparent!important}
.klase-stat-card:last-child{border-right:0!important}.klase-stat-value{font-size:21px!important}
.class-overview-grid{gap:18px!important}
.class-overview-grid>.block{padding:0!important;border:0!important;background:transparent!important}
.class-activity-board,.class-question-board,.class-schedule-board,.class-notes-workspace{padding:0!important;border:0!important;background:transparent!important}
.class-browser-list{gap:0!important;padding:0!important;border:1px solid var(--line)!important;background:var(--surface)!important;overflow:hidden!important}
.class-browser-card{margin:0!important;padding:12px 13px!important;border:0!important;border-bottom:1px solid var(--line-soft)!important;background:transparent!important}
.class-browser-card:last-child{border-bottom:0!important}.class-browser-card:hover{background:var(--ui-hover)!important}
.class-browser-actions{gap:6px!important}
.class-board-filter-row,.class-board-toolbar{padding:0!important;border:0!important;background:transparent!important;gap:8px!important}

/* ----- QUESTIONS ----- */
.tanong-head,.tanong-search-row,.tanong-tabs,.tanong-summary{margin:0!important}
.tanong-search-row{gap:8px!important}
.tanong-filter-bar{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}
.tanong-summary{padding:0!important;min-height:0!important}
.tanong-list{gap:0!important;padding:0!important;border:1px solid var(--line)!important;background:var(--surface)!important;overflow:hidden!important}
.tanong-card{margin:0!important;padding:13px 14px!important;border:0!important;border-bottom:1px solid var(--line-soft)!important;background:transparent!important}
.tanong-card:last-child{border-bottom:0!important}.tanong-card:hover{background:var(--ui-hover)!important}
.tanong-card-foot{margin-top:9px!important;padding-top:9px!important;border-top:1px solid var(--line-soft)!important}

/* ----- STUDY ----- */
.study-page-head,.study-tabs{margin:0!important}.study-panel{min-width:0!important}
.notes-summary-grid{display:grid!important;gap:0!important;margin:0!important;border:1px solid var(--line)!important;background:var(--surface)!important;overflow:hidden!important}
.notes-summary-card{padding:11px 13px!important;border:0!important;border-right:1px solid var(--line-soft)!important;background:transparent!important}
.notes-summary-card:last-child{border-right:0!important}.notes-summary-card>b{font-size:19px!important}
.study-today-main{margin-top:18px!important}.study-today-grid{gap:20px!important;margin-top:20px!important}
.study-today-list,.study-compact-list,.smart-study-queue,.study-session-list,.resource-hub-list,.exam-prep-list{
  gap:0!important;border:1px solid var(--line)!important;background:var(--surface)!important;overflow:hidden!important;
}
.study-today-row,.study-compact-static,.smart-study-row,.study-session-row,.study-resource-row.resource-hub-row,.exam-prep-card{
  margin:0!important;padding:11px 13px!important;border:0!important;border-bottom:1px solid var(--line-soft)!important;background:transparent!important;
}
.study-today-row:last-child,.study-compact-static:last-child,.smart-study-row:last-child,.study-session-row:last-child,.study-resource-row.resource-hub-row:last-child,.exam-prep-card:last-child{border-bottom:0!important}
.notes-library-block,.notes-workspace-panel,.notes-resources-block,.smart-study-block{padding:0!important;border:0!important;background:transparent!important}
.notes-toolbar,.resource-hub-toolbar{margin:0 0 11px!important;gap:8px!important;padding:0!important;border:0!important;background:transparent!important}
.notes-filter-rail,.resource-filter-rail{gap:5px!important}
.notes-list{display:flex!important;flex-direction:column!important;gap:0!important;border:1px solid var(--line)!important;background:var(--surface)!important;overflow:hidden!important}
.study-note-card{margin:0!important;padding:12px 14px!important;gap:9px!important;border:0!important;border-bottom:1px solid var(--line-soft)!important;background:transparent!important}
.study-note-card:last-child{border-bottom:0!important}.study-note-card.is-pinned{border-left:3px solid var(--blue)!important}
.smart-study-controls{margin:0!important;padding:10px 0!important;border-top:1px solid var(--line-soft)!important;border-bottom:1px solid var(--line-soft)!important;gap:10px!important}
.smart-study-status{padding:10px 0!important}.smart-study-status>span{padding:7px 9px!important;border:0!important;background:var(--surface-2)!important}
.smart-study-time,.exam-prep-icon,.study-session-icon,.study-resource-icon{border:0!important;background:var(--surface-2)!important}
.exam-prep-actions{padding-top:9px!important;border-top:1px solid var(--line-soft)!important}
.resource-hub-summary{margin:0 0 10px!important}

/* ----- SCHEDULE ----- */
.schedule-toolbar{margin:0!important;padding:8px!important;border:0!important;background:var(--surface-2)!important;gap:8px!important}
.schedule-range-row{margin:0!important;padding:0!important}.schedule-range-row h2{font-size:16px!important}
.schedule-content{min-width:0!important}.schedule-agenda-group{margin:0 0 14px!important}
.schedule-compact-row{padding:11px 13px!important}.schedule-week-date,.schedule-month-weekdays span{padding:9px 10px!important}.schedule-week-items,.schedule-month-day{padding:8px!important}

/* ----- ACTIVITY DETAIL ----- */
.takda-view[data-view="detail"]{max-width:980px!important}
.detail-hero{padding:0 0 16px!important;border-bottom:1px solid var(--line-soft)!important}
.detail-overview{padding:16px 0!important;border-bottom:0!important}
.detail-meta-grid{margin-top:0!important;border:1px solid var(--line)!important;overflow:hidden!important;background:var(--surface)!important}
.detail-meta-item{padding:11px 12px!important;background:transparent!important}
.urgency-banner,.important-changes{padding:11px 13px!important;margin-top:11px!important}
.detail-action-row{gap:7px!important;margin-top:11px!important}.source-context{margin-top:11px!important;padding-top:11px!important}
.detail-content-layout{padding-top:20px!important}
.detail-section{margin:0!important;padding:20px 0!important;border:0!important;border-top:1px solid var(--line-soft)!important;background:transparent!important}
.detail-content-main>.detail-section:first-child{padding-top:0!important;border-top:0!important}
.detail-community-rail{padding-top:20px!important;border-top:1px solid var(--line)!important}
.detail-section-heading{margin-bottom:11px!important;gap:14px!important}.detail-section-title,.verify-head-title,.task-workspace-head h3{font-size:15.5px!important}
.detail-section-sub,.verify-helper{font-size:11.5px!important;line-height:1.45!important}
.task-workspace-block{padding:16px 0!important}
.requirement-list,.coverage-checklist,.submission-summary,.type-detail-grid,.source-evidence-list,.correction-list,.question-list,.history-disclosure,.related-list{
  gap:0!important;border:1px solid var(--line)!important;background:var(--surface)!important;overflow:hidden!important;
}
.requirement-item,.coverage-item{min-height:44px!important;padding:11px 13px!important;border:0!important;border-top:1px solid var(--line-soft)!important;background:transparent!important}
.requirement-item:first-child,.coverage-item:first-child{border-top:0!important}
.submission-summary>div,.type-detail-grid>div{padding:11px 13px!important;background:transparent!important}
.source-evidence-row{padding:11px 13px!important;border-bottom:1px solid var(--line-soft)!important;background:transparent!important}.source-evidence-row:last-child{border-bottom:0!important}
.correction-card,.question-list>.q-card,.related-row{margin:0!important;padding:12px 13px!important;border:0!important;border-bottom:1px solid var(--line-soft)!important;background:transparent!important}
.correction-card:last-child,.question-list>.q-card:last-child,.related-row:last-child{border-bottom:0!important}
.history-disclosure>summary{min-height:46px!important;padding:11px 13px!important;background:var(--surface-2)!important;border:0!important}
.history-disclosure[open]>summary{border-bottom:1px solid var(--line-soft)!important}
.detail-history{gap:0!important}.detail-history .history-item{margin:0!important;padding:11px 13px!important;border:0!important;border-bottom:1px solid var(--line-soft)!important;background:transparent!important}.detail-history .history-item:last-child{border-bottom:0!important}
.verify-choice-grid{gap:8px!important}.verify-choice{padding:10px 11px!important;min-height:62px!important;border:1px solid var(--line)!important;background:var(--surface)!important}
.verify-choice:hover{background:var(--ui-hover)!important;border-color:var(--ui-hover-border)!important}
.attachment-grid{gap:8px!important}.attachment-card{padding:10px!important}

/* ----- Sheets / forms / profile ----- */
.sheet{border:1px solid var(--line)!important}
.sheet-bottom{padding:18px 20px 20px!important}
.sheet-handle{margin:4px auto 14px!important;background:var(--line-strong)!important}
.sheet-head{margin:0 0 16px!important;padding:0 0 13px!important;border-bottom:1px solid var(--line-soft)!important;gap:14px!important}
.sheet-title{margin:0 0 4px!important;font-size:21px!important}.sheet-sub{margin:0!important;font-size:11.75px!important;line-height:1.45!important}
.sheet-close{flex:0 0 auto!important}
.compose-block,.type-aware-detail,.source-context,.profile-private-activity{
  border:0!important;background:transparent!important;
}
.compose-block{padding:16px 0!important;margin:0!important;border-top:1px solid var(--line-soft)!important}
.compose-block:first-of-type{padding-top:0!important;border-top:0!important}
.filter-options,.type-options{gap:7px!important}.filter-opt,.type-opt{padding:9px 10px!important}
.profile-section-head{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;align-items:start!important;margin:20px 0 11px!important;padding-top:17px!important;border-top:1px solid var(--line-soft)!important}
.profile-section-head h3{margin:0!important;font-size:16px!important}.profile-section-head p{margin:0!important;max-width:650px!important;text-align:left!important;font-size:11.5px!important;line-height:1.45!important}
.profile-private-activity,.profile-notification-preferences,.profile-moderator-panel{margin-top:17px!important;padding-top:17px!important;border-top:1px solid var(--line-soft)!important}
.profile-activity-stats{display:grid!important;gap:0!important;border:1px solid var(--line)!important;background:var(--surface)!important;overflow:hidden!important}
.profile-activity-stats>div{padding:10px 11px!important;border:0!important;border-right:1px solid var(--line-soft)!important;background:transparent!important}.profile-activity-stats>div:last-child{border-right:0!important}
.notification-pref-row,.notification-row,.moderation-row{padding:11px 12px!important}
.notification-pref-row{border-bottom:1px solid var(--line-soft)!important}.notification-pref-row:last-child{border-bottom:0!important}
.notification-list{gap:0!important}.notification-row{border-bottom:1px solid var(--line-soft)!important}.notification-row:last-child{border-bottom:0!important}
.moderation-list{border-top:1px solid var(--line-soft)!important}.moderation-row{border-bottom:1px solid var(--line-soft)!important}

/* ----- Capture intelligence ----- */
.capture-sheet{max-width:760px!important}
.capture-source-grid{gap:6px!important;padding:0 0 13px!important}
.capture-source{min-height:60px!important;padding:10px 11px!important;border:1px solid var(--line)!important;background:var(--surface)!important}
.capture-source:hover{background:var(--ui-hover)!important;border-color:var(--ui-hover-border)!important}
.capture-source.active{background:var(--ui-hover)!important;border-color:var(--blue)!important;color:var(--blue)!important}
.capture-input-panel,.capture-review{margin:0!important;padding:16px 0 0!important;border:0!important;border-top:1px solid var(--line-soft)!important;background:transparent!important}
.capture-review{gap:14px!important}.capture-review-head{padding-bottom:12px!important;border-bottom:1px solid var(--line-soft)!important}
.capture-match,.capture-impact{padding:0!important;border:0!important;background:transparent!important}
.capture-match-list,.capture-change-list{margin-top:8px!important;border:1px solid var(--line)!important;overflow:hidden!important}
.capture-match-row,.capture-change-row{padding:10px 11px!important;border:0!important;border-bottom:1px solid var(--line-soft)!important}.capture-match-row:last-child,.capture-change-row:last-child{border-bottom:0!important}
.capture-impact-head{margin-bottom:8px!important}.capture-impact-head>span{border:0!important;background:var(--ui-hover)!important}
.capture-review-actions{padding-top:12px!important;border-top:1px solid var(--line-soft)!important;gap:7px!important}
.capture-drop{padding:16px!important}
.capture-file-meta,.capture-extract-status{padding:10px 11px!important}

/* ----- Context sidebar ----- */
.context-sidebar{padding:26px 18px!important}
.context-section{margin:0!important;padding:0 0 18px!important}.context-section+.context-section{padding-top:18px!important;border-top:1px solid var(--line-soft)!important}
.context-title{margin-bottom:9px!important}
.week-list,.class-list{gap:0!important;border:0!important;background:transparent!important}
.week-item,.class-item{padding:9px 4px!important;border:0!important;border-bottom:1px solid var(--line-soft)!important;background:transparent!important}.week-item:last-child,.class-item:last-child{border-bottom:0!important}
.trust-card{padding:12px!important;border:0!important;background:var(--surface-2)!important}

/* ----- Responsive ----- */
@media(max-width:900px){
  .main-inner{max-width:none!important}
  .screen[data-screen="home"].is-active{grid-template-columns:1fr!important}
  .screen[data-screen="home"]>*{grid-column:1!important}
  .home-workload-block,.home-study-preview,.home-today-block,.home-progress-block{grid-column:1!important}
}
@media(max-width:760px){
  :root{--page-gap:18px;--section-gap:22px;--panel-pad:var(--panel-pad-mobile)}
  .main{padding-left:14px!important;padding-right:14px!important}
  .takda-page-head,.klase-head,.tanong-head,.study-page-head,.schedule-page-head{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .display-title,.klase-name{font-size:28px!important}
  .takda-head-actions,.klase-manage-classes,.tanong-ask-main{justify-self:start!important}
  .hero{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;padding:12px!important}.hero-stats{justify-content:flex-start!important;gap:7px 10px!important}.hero-title{white-space:normal!important}
  .home-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-signal:nth-child(3n){border-right:1px solid var(--line-soft)!important}.home-signal:nth-child(2n){border-right:0!important}.home-signal:nth-last-child(-n+3){border-bottom:1px solid var(--line-soft)!important}.home-signal:nth-last-child(-n+2){border-bottom:0!important}
  .home-workload-summary{grid-template-columns:1fr!important}.home-workload-busy{border-right:0!important;border-bottom:1px solid var(--line-soft)!important}
  .notes-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.notes-summary-card{border-right:1px solid var(--line-soft)!important;border-bottom:1px solid var(--line-soft)!important}.notes-summary-card:nth-child(2n){border-right:0!important}.notes-summary-card:nth-last-child(-n+2){border-bottom:0!important}
  .klase-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.klase-stat-card{border-right:1px solid var(--line-soft)!important;border-bottom:1px solid var(--line-soft)!important}.klase-stat-card:nth-child(2n){border-right:0!important}.klase-stat-card:nth-last-child(-n+2){border-bottom:0!important}
  .tanong-filter-bar{grid-template-columns:1fr!important}
  .sheet{left:10px!important;right:10px!important;width:auto!important;max-width:none!important}.sheet-bottom{padding:15px 13px 18px!important}
  .class-browser-card{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}.class-browser-actions{width:100%!important;justify-content:flex-start!important}
  .detail-action-row{grid-template-columns:1fr!important}.detail-action-row .primary-action-slot,.detail-owner-actions{grid-column:1!important}.detail-owner-actions{grid-template-columns:1fr 1fr!important}
  .detail-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .detail-community-rail{padding-top:18px!important}
  .capture-source-grid{grid-template-columns:1fr!important}.capture-input-panel,.capture-review{padding-left:0!important;padding-right:0!important}
  .notes-toolbar,.resource-hub-toolbar{align-items:stretch!important}.resource-category-select{width:100%!important}
}
@media(max-width:390px){
  .main{padding-left:12px!important;padding-right:12px!important}
  .btn,.filter-btn,.takda-page-create{padding-left:11px!important;padding-right:11px!important}
  .sheet{left:8px!important;right:8px!important}
}

/* Flat-system invariant, intentionally last in cascade. */
*,*::before,*::after{border-radius:4px!important;box-shadow:none!important;text-shadow:none!important}

/* Small semantic spacing helpers replacing static inline margins. */
.form-gap-top{margin-top:12px!important}
.form-gap-bottom{margin-bottom:12px!important}
.form-submit-gap{margin-top:14px!important}
.empty-action-gap{margin-top:14px!important}
.correction-meta-gap{margin-bottom:10px!important}
.related-activity-link{margin-top:12px!important}

/* ========================================================================
   ARALPH v5.0.2 · FINAL REDUNDANCY / ALIGNMENT PASS
   Remove nested frames left by historical component layers. The visual rule
   remains: one border for one meaningful group; whitespace for hierarchy.
   ======================================================================== */

/* Section headings should never manufacture a second divider inside a section. */
.block-head,.detail-section-heading,.smart-study-head,.task-workspace-head{
  border:0!important;padding-top:0!important;padding-bottom:0!important;
}
.block-head{margin-bottom:12px!important}

/* Right context rail: spacing is enough between independent summaries. */
.context-section+.context-section{border-top:0!important;padding-top:4px!important;margin-top:18px!important}
.context-section{padding-bottom:0!important}

/* Activity detail: personal execution is one grouped surface, not two cards. */
.private-execution-grid{
  gap:0!important;border:1px solid var(--line)!important;background:var(--surface)!important;overflow:hidden!important;
}
.private-execution-panel{
  border:0!important;padding:14px!important;background:transparent!important;
}
.private-execution-panel+.private-execution-panel{border-left:1px solid var(--line-soft)!important}
.private-plan-list{border:0!important;background:var(--surface-2)!important;overflow:hidden!important}
.private-plan-item{padding:9px 10px!important}
.private-empty-inline{border:0!important;background:var(--surface-2)!important;padding:11px 12px!important}
.submission-private-status{border:0!important;background:var(--surface-2)!important;padding:8px 10px!important}

/* The Study area already sits inside an Activity section. Do not frame it again. */
.activity-study-workspace{
  border:0!important;background:transparent!important;padding:0!important;
}
.activity-study-coverage{
  border:0!important;background:var(--surface-2)!important;padding:10px 12px!important;margin-bottom:10px!important;
}
.activity-study-grid{overflow:hidden!important}
.activity-study-note-preview{margin-top:12px!important;padding-top:4px!important;border-top:0!important}
.activity-study-note-preview button{padding:10px 11px!important}

/* Evidence: the list owns the border. Legacy/source icons should not create boxes inside it. */
.source-evidence-row.legacy-source{
  margin:0 0 9px!important;border:0!important;background:var(--surface-2)!important;padding:11px 13px!important;
}
.source-evidence-icon{border:0!important;background:var(--surface-2)!important}
.source-evidence-row.legacy-source .source-evidence-icon{background:var(--surface)!important}

/* Conflicts: each field is the group. Generic notices are soft text surfaces, not dashed cards. */
.conflict-field-list{gap:9px!important}
.conflict-field{overflow:hidden!important}
.conflict-generic{border:0!important;background:var(--surface-2)!important;padding:11px 12px!important}
.changed-since-head>span,.canonical-bundle-head>span,.conflict-icon{border:0!important;background:var(--surface-2)!important}

/* Corrections: the correction list owns the outer frame; inner explanation blocks stay quiet. */
.correction-change{border:0!important;background:var(--surface-2)!important;overflow:hidden!important}
.correction-value{border:0!important;padding:10px 11px!important}
.correction-reason,.correction-current-preview{
  border:0!important;background:var(--surface-2)!important;padding:9px 11px!important;
}
.correction-reason{border-left:2px solid var(--line-strong)!important}
.correction-current-preview{margin-top:8px!important}
.correction-footer{padding-top:2px!important}

/* Answers are a single discussion stack rather than cards inside question cards. */
.q-answers,.tanong-answer-list{
  gap:0!important;border:1px solid var(--line-soft)!important;background:var(--surface)!important;overflow:hidden!important;
}
.q-answer-wrap,.tanong-answer-card{
  margin:0!important;border:0!important;border-bottom:1px solid var(--line-soft)!important;background:transparent!important;padding:10px 11px!important;
}
.q-answer-wrap:last-child,.tanong-answer-card:last-child{border-bottom:0!important}
.q-answer-wrap.best,.tanong-answer-card.accepted{background:var(--green-tint)!important}
.q-answer-wrap{border-left:0!important}
.q-answer-wrap.best{border-left:2px solid var(--green)!important}
.q-answer-compose{margin-top:10px!important;padding-top:10px!important}
.q-ask-box{padding:0!important;background:transparent!important}

/* Composer: optional academic context is a disclosure, not another framed card. */
.composer-context-details{
  border:0!important;border-top:1px solid var(--line-soft)!important;background:transparent!important;margin:0!important;
}
.composer-context-details>summary{padding:12px 0!important}
.composer-context-body{padding:12px 0 0!important;border-top:1px solid var(--line-soft)!important}
.composer-context-note{border:0!important;background:var(--ui-hover)!important;padding:10px 11px!important}
.smart-type-panel{border:0!important;background:var(--surface-2)!important;padding:12px!important}

/* Toggle rows and small utility panels should use fill before another outline. */
.study-toggle-row{border:0!important;background:var(--surface-2)!important;padding:11px 12px!important}
.reminder-recommendation{border:0!important;border-left:2px solid var(--blue)!important;background:var(--surface-2)!important}
.notification-icon,.notification-group-count{border:0!important;background:var(--surface-2)!important}
.notification-empty{border:0!important;background:var(--surface-2)!important}

/* Toolbar/action alignment: consistent wrapping and a real gap from following content. */
.takda-head-actions,.klase-manage-classes,.tanong-ask-main,.notes-head-actions,.activity-study-actions,
.class-browser-actions,.study-session-actions,.study-resource-actions,.capture-review-actions{
  align-items:center!important;gap:7px!important;
}
.takda-toolbar,.tanong-filter-bar,.notes-toolbar,.resource-hub-toolbar,.schedule-toolbar{margin-bottom:0!important}

/* Empty states: one calm surface only when it is the page's primary empty content. */
.class-empty-state,.empty-state{
  padding:24px 18px!important;background:var(--surface-2)!important;border:0!important;
}
.detail-section .empty-state,.detail-section .empty-block{
  padding:11px 12px!important;background:var(--surface-2)!important;border:0!important;
}

/* Avoid repeated horizontal rules directly below heading text. */
.home-intelligence-block>.block-head,
.home-attention-block>.block-head,
.home-class-activity-block>.block-head,
.home-today-block>.block-head,
.home-study-preview>.block-head,
.study-panel .block-head,
.class-overview-grid .block-head{
  border-bottom:0!important;
}

/* Inputs and labels align to a predictable vertical rhythm everywhere. */
.form-field{margin-bottom:0!important}
.form-field+.form-field{margin-top:0!important}
.form-helper{margin-top:6px!important}
.profile-teacher-list,.compose-teacher-suggestions{margin-top:8px!important}

@media(max-width:760px){
  .private-execution-grid{grid-template-columns:1fr!important}
  .private-execution-panel+.private-execution-panel{border-left:0!important;border-top:1px solid var(--line-soft)!important}
  .composer-context-details>summary{padding:11px 0!important}
  .q-answers,.tanong-answer-list{border-left:1px solid var(--line-soft)!important;border-right:1px solid var(--line-soft)!important}
}

/* Keep product invariants last. */
*,*::before,*::after{border-radius:4px!important;box-shadow:none!important;text-shadow:none!important}

/* Empty data containers must disappear completely; an empty 1px group border
   was creating stray horizontal rules on Home, Study and other workspaces. */
.class-brief-list:empty,
.home-priority-list:empty,
.home-study-preview-list:empty,
.home-attention-list:empty,
.home-class-activity-block .activity-list:empty,
.home-today-block .data-list:empty,
.study-today-list:empty,
.study-compact-list:empty,
.smart-study-queue:empty,
.study-session-list:empty,
.resource-hub-list:empty,
.exam-prep-list:empty,
.notes-list:empty,
.class-browser-list:empty,
.tanong-list:empty,
.correction-list:empty,
.question-list:empty,
.related-list:empty,
.source-evidence-list:empty{
  display:none!important;border:0!important;min-height:0!important;margin:0!important;padding:0!important;
}

*,*::before,*::after{border-radius:4px!important;box-shadow:none!important;text-shadow:none!important}

/* ========================================================================
   ARALPH v5.0.3 · EMPTY-STATE / GROUPING / SPACING CORRECTION
   One border belongs to the data group only when that group contains data.
   Empty states use one quiet surface with no outline. Toolbars use whitespace.
   ======================================================================== */

/* 1) Empty states: never place a bordered empty card inside a bordered group. */
.detail-empty-note,
.detail-empty-state.compact,
.compact-empty,
.resource-empty{
  box-sizing:border-box!important;
  border:0!important;
  border-radius:4px!important;
  background:var(--surface-2)!important;
  color:var(--text-mute)!important;
  font-style:normal!important;
  line-height:1.5!important;
}
.detail-empty-note{padding:13px 14px!important;font-size:12px!important}
.detail-empty-state.compact{padding:13px 14px!important;gap:4px!important}
.detail-empty-state.compact b{font-size:12.5px!important;line-height:1.35!important;color:var(--text)!important}
.detail-empty-state.compact span{font-size:11.5px!important;line-height:1.5!important;color:var(--text-mute)!important}
.compact-empty{padding:18px 14px!important}
.resource-empty{padding:13px 14px!important;text-align:left!important;font-size:11.75px!important}

/* A list containing only an empty message is not a data list, so it gets no frame. */
.class-overview-list.is-empty,
.class-upcoming-list.is-empty,
.class-board-list.is-empty,
.tanong-list.is-empty,
.resource-hub-list.is-empty,
.source-evidence-list.is-empty{
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
  padding:0!important;
}
.class-overview-list.is-empty>.detail-empty-note,
.class-upcoming-list.is-empty>.detail-empty-note,
.class-board-list.is-empty>.detail-empty-note,
.tanong-list.is-empty>.detail-empty-note,
.source-evidence-list.is-empty>.detail-empty-note,
.resource-hub-list.is-empty>.resource-empty{
  margin:0!important;
  width:100%!important;
}
/* Fallback for any old/dynamic markup that has not yet received is-empty. */
.class-overview-list:has(>.detail-empty-note:only-child),
.class-upcoming-list:has(>.detail-empty-note:only-child),
.class-board-list:has(>.detail-empty-note:only-child),
.tanong-list:has(>.detail-empty-note:only-child),
.resource-hub-list:has(>.resource-empty:only-child),
.source-evidence-list:has(>.detail-empty-note:only-child){
  border:0!important;background:transparent!important;overflow:visible!important;padding:0!important;
}

/* 2) Class workspace spacing: heading -> content must always have a real gap. */
.class-overview-grid>.block,
.class-activity-board,
.class-question-board,
.class-schedule-board,
.class-notes-workspace{
  min-width:0!important;
}
.class-overview-grid .block-head,
.class-activity-board>.block-head,
.class-question-board>.block-head,
.class-schedule-board>.block-head,
.class-notes-workspace>.block-head{
  margin-bottom:13px!important;
}
.class-overview-list:not(.is-empty),
.class-upcoming-list:not(.is-empty),
.class-board-list:not(.is-empty),
.class-question-board .tanong-list:not(.is-empty){
  border:1px solid var(--line)!important;
  background:var(--surface)!important;
  overflow:hidden!important;
}

/* 3) Resource hub: search is its own row; filters form one grouped control rail. */
.resource-hub-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:12px!important;
  row-gap:10px!important;
  margin:0 0 9px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.resource-hub-search{
  grid-column:1/-1!important;
  width:100%!important;
  min-width:0!important;
}
.resource-filter-rail{
  grid-column:1!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:2px!important;
  width:max-content!important;
  max-width:100%!important;
  padding:3px!important;
  border:0!important;
  background:var(--surface-2)!important;
}
.resource-filter{
  min-height:32px!important;
  padding:0 10px!important;
  border:0!important;
  background:transparent!important;
  color:var(--text-mute)!important;
}
.resource-filter:hover{background:var(--ui-hover)!important;color:var(--blue)!important}
.resource-filter.active{background:var(--surface)!important;color:var(--blue)!important;border:0!important}
.resource-category-select{
  grid-column:2!important;
  min-height:38px!important;
  margin:0!important;
}
.resource-hub-summary{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px 14px!important;
  margin:0 0 12px!important;
  padding:0 1px!important;
  border:0!important;
  line-height:1.35!important;
}
.resource-hub-list:not(.is-empty){
  border:1px solid var(--line)!important;
  background:var(--surface)!important;
  overflow:hidden!important;
}

/* 4) Activities search: quick context chips are subordinate to search, never attached to it. */
.takda-search-sticky{margin:0 0 18px!important}
.takda-search-sticky .search-wrap{margin:0!important}
.takda-search-sticky .chips-row:not(:empty){
  display:flex!important;
  gap:6px!important;
  margin:10px 0 0!important;
  padding:0!important;
  overflow-x:auto!important;
}
.takda-search-sticky .chip{
  min-height:30px!important;
  padding:0 10px!important;
  border:1px solid transparent!important;
  background:var(--surface-2)!important;
  color:var(--text-soft)!important;
  font-size:11.75px!important;
}
.takda-search-sticky .chip:hover{
  background:var(--ui-hover)!important;
  border-color:var(--ui-hover-border)!important;
  color:var(--blue)!important;
}

/* 5) Activity detail: empty content and disclosures follow the same inset rhythm. */
.detail-section-heading{margin-bottom:13px!important}
.detail-section .detail-empty-state.compact,
.detail-section>.detail-empty-note{
  margin:0!important;
}
.activity-sources-section .source-evidence-list.is-empty{
  margin:0!important;
}
.activity-sources-section .source-evidence-list:not(.is-empty){
  border:1px solid var(--line)!important;
  background:var(--surface)!important;
  overflow:hidden!important;
}
.activity-sources-section .source-evidence-list>.detail-empty-note{
  padding:13px 14px!important;
}
.correction-list>.detail-empty-state.compact,
.question-list>.detail-empty-state.compact{
  margin:0!important;
}
/* Correction/question list should not add an outer frame around their empty message. */
.correction-list:has(>.detail-empty-state.compact:only-child),
.question-list:has(>.detail-empty-state.compact:only-child){
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.history-disclosure{
  border:1px solid var(--line)!important;
  background:var(--surface)!important;
  overflow:hidden!important;
}
.history-disclosure>summary{
  min-height:46px!important;
  padding:12px 14px!important;
  background:var(--surface)!important;
}
.history-disclosure[open]>summary{border-bottom:1px solid var(--line-soft)!important}
.detail-history .history-item{padding:11px 14px!important}

/* 6) Search fields and adjacent controls: one border each, consistent vertical alignment. */
.search-input{border:0!important;background:transparent!important;padding:0!important}
.search-input>input,
.search-input>input[type="search"],
.search-input>input[type="text"]{
  min-height:42px!important;
  padding:10px 14px 10px 44px!important;
  border:1px solid var(--line)!important;
  background:var(--surface)!important;
}
.search-input>.ui-icon.search-ic{left:14px!important}

/* 7) Compact filter rails use one background rail instead of many touching outlines. */
.notes-filter-rail,
.class-board-filters{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:2px!important;
  padding:3px!important;
  border:0!important;
  background:var(--surface-2)!important;
}
.notes-filter,
.class-board-filter{
  min-height:32px!important;
  padding:0 10px!important;
  border:0!important;
  background:transparent!important;
}
.notes-filter:hover,
.class-board-filter:hover{background:var(--ui-hover)!important;color:var(--blue)!important}
.notes-filter.active,
.class-board-filter.active{background:var(--surface)!important;color:var(--blue)!important;border:0!important}

/* 8) Shared list row rhythm: content never touches the frame. */
.requirement-item,.coverage-item,
.source-evidence-row,
.correction-card,
.question-list>.q-card,
.related-row,
.tanong-card,
.study-resource-row.resource-hub-row,
.study-note-card,
.class-browser-card,
.notification-row,
.notification-pref-row,
.moderation-row{
  box-sizing:border-box!important;
}
.requirement-item,.coverage-item{padding:12px 14px!important;gap:10px!important}
.source-evidence-row{padding:12px 14px!important;gap:11px!important}
.correction-card,.question-list>.q-card,.related-row{padding:13px 14px!important}
.tanong-card{padding:13px 14px!important}

/* 9) Header action alignment: links/buttons sit on the title baseline without crowding copy. */
.block-head,.detail-section-heading{
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
}
.block-head>.block-link,
.block-head>.btn,
.detail-section-heading>.btn{
  flex:0 0 auto!important;
  margin-top:0!important;
}

@media(max-width:760px){
  .resource-hub-toolbar{grid-template-columns:1fr!important}
  .resource-filter-rail,.resource-category-select{grid-column:1!important;width:100%!important}
  .resource-filter-rail{overflow-x:auto!important;flex-wrap:nowrap!important;width:auto!important}
  .takda-search-sticky .chips-row:not(:empty){margin-top:8px!important}
  .detail-empty-note,.detail-empty-state.compact,.resource-empty{padding:12px!important}
}

/* Product invariants. */
*,*::before,*::after{border-radius:4px!important;box-shadow:none!important;text-shadow:none!important}

/* v5.0.3: dynamic Study lists also drop their data-frame when they contain only an empty message. */
.study-compact-list.is-empty,
.study-session-list.is-empty,
.exam-prep-list.is-empty{
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
  padding:0!important;
}
.study-compact-list.is-empty>.detail-empty-state.compact,
.study-session-list.is-empty>.detail-empty-state.compact,
.exam-prep-list.is-empty>.detail-empty-state.compact{
  margin:0!important;
  width:100%!important;
}
.study-compact-list:has(>.detail-empty-state.compact:only-child),
.study-session-list:has(>.detail-empty-state.compact:only-child),
.exam-prep-list:has(>.detail-empty-state.compact:only-child){
  border:0!important;background:transparent!important;overflow:visible!important;padding:0!important;
}

/* Discussion empty states: no framed list around a single "no answer" message. */
.q-no-answer{
  padding:12px 13px!important;
  border:0!important;
  background:var(--surface-2)!important;
  color:var(--text-mute)!important;
  font-size:11.75px!important;
  font-style:normal!important;
  line-height:1.5!important;
}
.q-answers:has(>.q-no-answer:only-child),
.tanong-answer-list:has(>.detail-empty-note:only-child){
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}

/* Keep empty-state surfaces separated from following controls without adding rules. */
.detail-empty-state.compact + .tanong-compose-answer,
.detail-empty-note + .tanong-compose-answer{margin-top:12px!important}

/* Explicit empty flags from Activity detail rendering. */
.correction-list.is-empty,
.question-list.is-empty{
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
  padding:0!important;
}
.question-list.is-empty + .q-ask-box{margin-top:12px!important}
.q-answers.is-empty,
.tanong-answer-list.is-empty{
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
  padding:0!important;
}
