/* AMES Planner V4 — 계획·배치·실행 중심 */
.main-content.wide:has(.planner-v4-grid){max-width:1720px;width:100%;padding:18px 20px 96px;}

/* 상단 진행 요약 */
.planner-hero-v4{
  min-height:118px;margin-bottom:16px;padding:18px 20px;
  display:grid;grid-template-columns:minmax(250px,1.2fr) minmax(150px,.8fr) minmax(150px,.8fr) 112px minmax(150px,.82fr) minmax(150px,.82fr);
  align-items:center;gap:0;background:var(--bg-card);border:1px solid var(--line);border-radius:19px;
  box-shadow:0 1px 2px rgba(15,23,42,.04),0 10px 28px rgba(15,23,42,.035);
}
.ph4-date{min-width:0;display:flex;align-items:center;gap:12px;padding-right:20px;}
.planner-navbtn{width:36px;height:36px;flex:0 0 auto;border:1px solid var(--line);border-radius:10px;background:var(--bg-card);color:var(--ink-soft);font-size:20px;cursor:pointer;}
.planner-navbtn:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));color:var(--accent);background:var(--accent-soft);}
.planner-date-block{min-width:0;flex:1;}
.planner-date-big{font-size:23px;font-weight:850;line-height:1.15;letter-spacing:-.035em;white-space:nowrap;}
.planner-date-rel{display:inline-flex;margin-left:6px;padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:10.5px;font-weight:820;vertical-align:3px;}
.planner-date-sub{margin-top:6px;color:var(--ink-faint);font-size:11.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ph4-metric,.ph4-completion,.ph4-time{min-width:0;min-height:66px;padding:0 20px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;}
.ph4-metric>span,.ph4-completion>span,.ph4-time>span{font-size:11px;font-weight:760;color:var(--ink-faint);white-space:nowrap;}
.ph4-metric strong,.ph4-time strong{margin-top:8px;font-size:21px;line-height:1;color:var(--ink);font-weight:850;letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;}
.ph4-metric>div{height:6px;margin-top:12px;border-radius:99px;background:var(--bg-soft);overflow:hidden;}
.ph4-metric>div i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3883ff,#6ba3ff);}
.ph4-metric.actual>div i{background:linear-gradient(90deg,#7958e8,#a47cf4);}
.ph4-metric.actual strong{color:#6846d8;}
.ph4-completion{align-items:center;padding-left:18px;padding-right:18px;}
.ph4-ring{--pct:0;width:54px;height:54px;margin-top:6px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--accent) calc(var(--pct)*1%),var(--bg-soft) 0);}
.ph4-ring:after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--bg-card);}
.ph4-ring strong{position:relative;z-index:1;color:var(--accent);font-size:14px;font-weight:880;}
.ph4-time strong{font-size:20px;}
.ph4-time small{margin-top:7px;font-size:10.5px;font-weight:650;color:var(--ink-faint);white-space:nowrap;}
.ph4-time.remain strong{color:var(--good);}.ph4-time.available strong{color:#e17a00;}

/* 3열 본문 */
.planner-v4-grid{display:grid!important;grid-template-columns:minmax(310px,350px) minmax(600px,1fr) minmax(270px,310px)!important;gap:16px!important;align-items:start;}
.planner-v4-grid>.tb-left,.planner-v4-grid>.tl-wrap,.planner-v4-grid>.tb-side3{min-width:0;width:auto!important;}
.tb-left{display:flex;flex-direction:column;gap:12px;}
.tb-ai-btn,.pl-ames{display:none!important;}

/* 왼쪽 계획 보관함 */
.yp-card{background:var(--bg-card);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 2px rgba(15,23,42,.035),0 8px 22px rgba(15,23,42,.025);overflow:hidden!important;max-height:none!important;}
.yp-top{padding:17px 17px 13px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 38%,var(--bg-card)),var(--bg-card));}
.yp-top-label{font-size:16px;font-weight:830;letter-spacing:-.025em;}.yp-top-time{font-size:15px;font-weight:830;color:var(--accent);}
.yp-group{padding:0 13px 12px;border-bottom:1px solid var(--line);margin:0!important;}.yp-group:last-child{border-bottom:0;}
.yp-ghd{min-height:47px;padding:8px 0;display:flex;align-items:center;gap:8px;}
.yp-gbar{width:4px;height:22px;border-radius:99px;background:var(--sc);}.yp-gname{font-size:14px;font-weight:830;color:var(--ink);}
.yp-gcount{font-size:10.5px;color:var(--ink-faint);font-weight:720;margin-left:1px;}.yp-gtime{margin-left:auto;color:var(--sc);font-size:11.5px;font-weight:820;font-variant-numeric:tabular-nums;}
.yp-quick-add{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--bg-card);color:var(--ink-faint);cursor:pointer;}
.yp-quick-add:hover{border-color:var(--sc);color:var(--sc);background:var(--scs);}.yp-quick-add svg{width:13px;height:13px;}
.yp-list{display:flex;flex-direction:column;gap:7px;margin-bottom:7px;}
.yp-row{min-height:62px;padding:9px 10px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;background:var(--bg-card);box-shadow:none;transition:border-color .15s,background .15s,transform .15s;}
.yp-row:hover{border-color:color-mix(in srgb,var(--sc) 38%,var(--line));background:color-mix(in srgb,var(--scs) 38%,var(--bg-card));transform:translateY(-1px);}
.yp-row.running{border-color:var(--sc);box-shadow:0 0 0 3px color-mix(in srgb,var(--sc) 10%,transparent);}
.yp-info{min-width:0;flex:1;}.yp-label{font-size:13px;font-weight:780;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.yp-rtime{margin-top:5px;font-size:10.8px;color:var(--ink-faint);display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.pv4-remain-inline{display:inline-flex;padding-left:6px;border-left:1px solid var(--line);color:var(--accent);font-weight:760;}.pv4-remain-inline.done{color:var(--good);}
.yp-check{width:21px;height:21px;flex:0 0 auto;}.yp-rtmr{width:32px;height:32px;flex:0 0 auto;border-radius:10px;}
.yp-ghost{width:100%;height:33px;border:1px dashed var(--line-strong);border-radius:10px;background:transparent;color:var(--ink-faint);font:720 11.5px var(--font);display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;}
.yp-ghost svg{width:12px;height:12px;}.yp-ghost:hover{border-color:var(--sc);color:var(--sc);background:var(--scs);}

/* 오늘 집중 포인트 */
.planner-focus-card{position:relative;padding:16px;border:1px solid color-mix(in srgb,var(--sc,var(--accent)) 26%,var(--line));border-radius:17px;background:linear-gradient(145deg,color-mix(in srgb,var(--scs,var(--accent-soft)) 66%,var(--bg-card)),var(--bg-card));box-shadow:0 8px 22px rgba(36,107,254,.04);overflow:hidden;}
.planner-focus-card:after{content:"";position:absolute;right:-35px;bottom:-55px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--sc,var(--accent)) 12%,transparent),transparent 70%);pointer-events:none;}
.planner-focus-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px;}
.planner-focus-head span{display:flex;align-items:center;gap:6px;color:var(--accent);font-size:12px;font-weight:850;}.planner-focus-head span svg{width:15px;height:15px;}.planner-focus-head b{font-size:11px;color:var(--ink-soft);font-weight:780;white-space:nowrap;}
.planner-focus-main{position:relative;z-index:1;width:100%;padding:11px;display:grid;grid-template-columns:auto minmax(0,1fr) 18px;align-items:center;gap:10px;text-align:left;border:1px solid color-mix(in srgb,var(--sc,var(--accent)) 24%,var(--line));border-radius:12px;background:rgba(255,255,255,.74);color:var(--ink);cursor:pointer;}
.planner-focus-main:hover{border-color:var(--sc,var(--accent));}.planner-focus-main>svg{width:16px;height:16px;color:var(--sc,var(--accent));}
.planner-focus-sub{height:25px;max-width:76px;padding:0 8px;display:inline-flex;align-items:center;border-radius:999px;background:var(--scs,var(--accent-soft));color:var(--sc,var(--accent));font-size:10.5px;font-weight:840;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.planner-focus-main>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:4px;}.planner-focus-main strong{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.planner-focus-main small{font-size:10.5px;color:var(--ink-faint);}
.planner-focus-card p{position:relative;z-index:1;margin:10px 0 0;color:var(--ink-soft);font-size:11px;line-height:1.55;}
.planner-focus-action{position:relative;z-index:1;width:100%;height:36px;margin-top:11px;border:0;border-radius:10px;background:linear-gradient(100deg,#2678f3,#754ee8);color:#fff;font:820 12px var(--font);display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;box-shadow:0 6px 14px rgba(65,89,220,.16);}.planner-focus-action svg{width:14px;height:14px;}
.planner-focus-card.complete{--sc:var(--good);--scs:var(--good-soft);}.planner-focus-card.complete>strong{display:block;color:var(--good);font-size:13px;}

/* 중앙 타임라인 */
.tl-wrap{background:var(--bg-card);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 2px rgba(15,23,42,.035),0 8px 22px rgba(15,23,42,.025);overflow:hidden;}
.tl-head{min-height:64px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--bg-card);}.tl-title{font-size:16px;font-weight:830;letter-spacing:-.02em;}.tl-head-btns{gap:7px;}
.tl-addbtn{height:34px;padding:0 11px;border-radius:9px;font-size:11.5px;font-weight:760;background:var(--bg-card);white-space:nowrap;}
.tl-addbtn:first-child{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,var(--line));color:var(--accent);}.tl-addbtn.focus{display:inline-flex;align-items:center;gap:5px;background:#f0edff;border-color:#d9d0ff;color:#6644d5;}.tl-addbtn.focus svg{width:13px;height:13px;}
.tl-grid{background:linear-gradient(180deg,color-mix(in srgb,var(--bg-soft) 25%,var(--bg-card)),var(--bg-card));}.tl-gutter{width:58px;background:color-mix(in srgb,var(--bg-soft) 32%,var(--bg-card));border-right:1px solid var(--line);}.tl-plan{left:58px;}.tl-tick{font-size:10.5px;color:var(--ink-faint);font-weight:720;}.tl-hline{left:58px;border-color:color-mix(in srgb,var(--line) 76%,transparent);}
.tl-block{border-radius:11px;border:1px solid color-mix(in srgb,var(--sc) 32%,var(--line));box-shadow:0 2px 8px rgba(15,23,42,.05);}.tl-block.running{box-shadow:0 0 0 3px color-mix(in srgb,var(--sc) 12%,transparent),0 5px 15px rgba(15,23,42,.08);}.tl-plan-hint{font-size:12px;color:var(--ink-faint);background:var(--bg-card);border:1px dashed var(--line-strong);border-radius:12px;padding:12px 16px;}.tl-offzone{background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--line) 32%,transparent) 0 6px,transparent 6px 12px);}

/* 오른쪽 AI·점검·주간 리듬 */
.tb-side3{display:flex;flex-direction:column;gap:14px;}.tb-card2{background:var(--bg-card);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 1px 2px rgba(15,23,42,.035),0 7px 18px rgba(15,23,42,.022);}
.tb-card2-title{margin-bottom:13px;display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:14px;font-weight:830;color:var(--ink);}.tb-card2-title>span{min-width:0;}.tb-card2-title>em{font-style:normal;font-size:9.5px;color:var(--ink-faint);font-weight:720;white-space:nowrap;}
.planner-ai-brief{border-color:#ded5ff;background:linear-gradient(145deg,#fbfaff,#f5f1ff);}.planner-ai-title{display:flex;align-items:center;gap:6px;color:#6b43dc;}.planner-ai-title svg{width:15px;height:15px;}
.planner-ai-line{padding:12px;border:1px solid rgba(112,71,221,.14);border-radius:11px;background:rgba(255,255,255,.76);color:var(--ink-soft);font-size:11.5px;line-height:1.65;word-break:keep-all;}.planner-ai-line b{color:#6941d5;}
.planner-ai-points{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;}.planner-ai-points li{position:relative;padding-left:13px;color:var(--ink-soft);font-size:10.8px;line-height:1.5;}.planner-ai-points li:before{content:"";position:absolute;left:1px;top:.58em;width:4px;height:4px;border-radius:50%;background:#8b68e8;}.planner-ai-points b{color:var(--ink);}
.planner-check-card.ok{border-color:color-mix(in srgb,var(--good) 22%,var(--line));}.planner-check-card.has-issues{border-color:color-mix(in srgb,var(--warn) 25%,var(--line));}
.planner-check-list{display:flex;flex-direction:column;}.planner-check-list>div{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);}.planner-check-list>div:last-child{border-bottom:0;}.planner-check-list span{font-size:11px;color:var(--ink-faint);font-weight:700;}.planner-check-list strong{font-size:12px;color:var(--good);font-weight:830;}.planner-check-list strong.warn{color:var(--warn);}.planner-check-list strong.bad{color:var(--bad);}
.rhy-row{width:100%;height:32px;padding:0 4px;display:grid;grid-template-columns:20px 1fr 24px;align-items:center;gap:8px;border:0;border-radius:8px;background:transparent;color:var(--ink-soft);cursor:pointer;font-family:var(--font);}.rhy-row:hover{background:var(--bg-soft);}.rhy-row.today{background:var(--accent-soft);color:var(--accent);}.rhy-dow,.rhy-day{font-size:10.5px;font-weight:820;text-align:center;}.rhy-track{position:relative;height:7px;border-radius:99px;background:var(--bg-soft);overflow:hidden;}.rhy-plan,.rhy-actual{position:absolute;left:0;top:0;bottom:0;border-radius:99px;}.rhy-plan{background:repeating-linear-gradient(-45deg,rgba(var(--accent-rgb),.18) 0 4px,rgba(var(--accent-rgb),.05) 4px 8px);}.rhy-actual{background:color-mix(in srgb,var(--accent) 72%,white);}.rhy-legend{margin-top:10px;padding-top:10px;display:flex;gap:12px;border-top:1px solid var(--line);font-size:10px;color:var(--ink-faint);font-weight:700;}.rhy-legend span{display:flex;align-items:center;gap:5px;}.rhy-legend i{width:16px;height:6px;border-radius:99px;}.rhy-legend i.plan{background:repeating-linear-gradient(-45deg,rgba(var(--accent-rgb),.18) 0 4px,rgba(var(--accent-rgb),.05) 4px 8px);}.rhy-legend i.actual{background:color-mix(in srgb,var(--accent) 72%,white);}
.wait-row{width:100%;margin-top:7px;padding:9px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--bg-card);color:var(--ink);cursor:pointer;font-family:var(--font);}.wait-row:hover{border-color:var(--sc);background:var(--scs);}.wait-subj{padding:3px 7px;border-radius:999px;background:var(--scs);color:var(--sc);font-size:10px;font-weight:820;}.wait-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:11.5px;font-weight:730;}.wait-row svg{width:12px;height:12px;color:var(--ink-faint);}

@media(max-width:1420px){
  .main-content.wide:has(.planner-v4-grid){padding-left:16px;padding-right:16px;}
  .planner-hero-v4{grid-template-columns:minmax(230px,1.1fr) minmax(130px,.72fr) minmax(130px,.72fr) 100px minmax(135px,.76fr) minmax(135px,.76fr);}
  .ph4-metric,.ph4-completion,.ph4-time{padding-left:14px;padding-right:14px;}
  .planner-v4-grid{grid-template-columns:minmax(290px,325px) minmax(540px,1fr) minmax(245px,285px)!important;gap:14px!important;}
}
@media(max-width:1180px){
  .planner-hero-v4{grid-template-columns:minmax(250px,1.2fr) repeat(2,minmax(140px,.8fr)) 105px;row-gap:15px;}
  .ph4-time{grid-row:2;border-top:1px solid var(--line);padding-top:14px;}.ph4-time.remain{grid-column:1/3;border-left:0;}.ph4-time.available{grid-column:3/5;}
  .planner-v4-grid{grid-template-columns:minmax(290px,330px) minmax(520px,1fr)!important;}
  .planner-v4-grid>.tb-side3{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:920px){
  .planner-hero-v4{grid-template-columns:1fr 1fr;}.ph4-date{grid-column:1/-1;padding-right:0;}.ph4-metric,.ph4-completion,.ph4-time{border-left:0;border-top:1px solid var(--line);padding:14px 10px 0;}.ph4-time.remain,.ph4-time.available{grid-column:auto;grid-row:auto;}
  .planner-v4-grid{grid-template-columns:1fr!important;}.planner-v4-grid>.tl-wrap{order:1;}.planner-v4-grid>.tb-left{order:2;}.planner-v4-grid>.tb-side3{order:3;grid-column:auto;grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .main-content.wide:has(.planner-v4-grid){padding:12px 12px 84px;}.planner-hero-v4{padding:15px;border-radius:16px;}.planner-date-big{font-size:20px;}.ph4-metric strong,.ph4-time strong{font-size:18px;}.ph4-completion{align-items:flex-start;}.ph4-ring{width:48px;height:48px;}
  .planner-v4-grid>.tb-side3{grid-template-columns:1fr;}.tl-head{align-items:flex-start;gap:10px;}.tl-head-btns{width:100%;overflow-x:auto;padding-bottom:2px;}.tl-addbtn{flex:0 0 auto;}.planner-focus-main{grid-template-columns:auto minmax(0,1fr);}.planner-focus-main>svg{display:none;}
}