:root{--ink:#171b25;--muted:#727989;--line:#e5e8ef;--soft:#f6f7fa;--accent:#ff542f;--navy:#10192d;--mint:#e7f7ed;--cream:#fbf7ea}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f8fb;color:var(--ink);font:15px/1.55 Inter,Pretendard,"Apple SD Gothic Neo",sans-serif}button,input{font:inherit}button{border:0;border-radius:11px;padding:12px 16px;background:var(--accent);color:#fff;font-weight:800;cursor:pointer;white-space:nowrap}button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}button:disabled{opacity:.42;cursor:not-allowed}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login section{width:min(100%,420px);padding:42px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 20px 60px #10192d12}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:10px;letter-spacing:.15em;font-weight:900}.login h1,.page-title h1{margin:0;letter-spacing:-.07em}.login h1{font-size:34px}.login p{color:var(--muted)}.login form{display:grid;gap:10px;margin-top:28px}.login input,.quick input,.schedule input{width:100%;border:1px solid var(--line);border-radius:11px;padding:13px;background:#fff}.login small{min-height:20px;color:#cc3d28}.shell{min-height:100vh;display:grid;grid-template-columns:242px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:28px 18px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:6px 10px;color:var(--ink);text-decoration:none}.brand>span,.mobile-brand span{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:var(--accent);color:#fff;font-size:18px;font-weight:900;box-shadow:0 8px 18px #ff542f40}.brand strong{font-size:13px;line-height:1.05;letter-spacing:-.04em}.sidebar-label{margin:40px 10px 10px;color:#9aa1af;font-size:10px;font-weight:900;letter-spacing:.14em}.sidebar nav{display:grid;gap:3px}.nav-item{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:10px;color:#5d6574;text-decoration:none;font-weight:700}.nav-item:hover{background:var(--soft);color:var(--ink)}.nav-item.active{background:var(--navy);color:#fff}.nav-item b{padding:1px 7px;border-radius:99px;background:#edf0f5;color:#6b7381;font-size:11px}.nav-item.active b{background:#28334b;color:#fff}.sidebar-note{margin:auto 7px 2px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.sidebar-note p{margin:0 0 4px;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.08em}.sidebar-note strong{display:block;font-size:13px}.sidebar-note span{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.5}.workspace{min-width:0}.topbar{height:70px;padding:0 42px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between}.today{margin:0;color:#697184;font-weight:800}.top-status{display:flex;align-items:center;gap:7px;color:#687184;font-size:12px;font-weight:700}.top-status i{width:8px;height:8px;border-radius:50%;background:#59bd74}.mobile-brand{display:none}.content-wrap{width:min(1440px,calc(100% - 72px));margin:0 auto;padding:42px 0 72px}.page-title{display:flex;justify-content:space-between;align-items:end;gap:28px}.page-title h1{font-size:clamp(34px,4vw,50px)}.page-title>div>p:last-child{margin:10px 0 0;color:var(--muted)}.next-card{min-width:188px;padding:17px 20px;border-radius:16px;background:var(--navy);color:#fff}.next-card span,.next-card small{display:block;color:#cdd5e5;font-size:11px}.next-card strong{display:block;margin:2px 0;font-size:29px;letter-spacing:-.06em}.briefing{margin-top:31px;padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px}.section-heading h2,.panel-title h2,.schedule h2{margin:0;font-size:20px;letter-spacing:-.05em}.section-heading>p{margin:0;color:var(--muted);font-size:12px}.briefing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.metric{min-height:132px;padding:19px;border:1px solid var(--line);border-radius:16px}.metric span{display:block;font-size:12px;font-weight:800}.metric strong{display:block;margin:4px 0;font-size:32px;letter-spacing:-.07em}.metric p{margin:0;color:#5f687a;font-size:11px}.metric.coral{background:#fff5f1}.metric.navy{background:#edf1f9}.metric.mint{background:var(--mint)}.quick{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:end;margin:18px 0;padding:22px 24px;border:1px solid var(--line);border-radius:19px;background:#fff}.quick label{display:block;margin-bottom:7px;font-weight:850}.quick form>div{display:flex;gap:9px}.quick small{display:block;margin-top:7px;color:var(--muted);font-size:11px}#notice{margin:0;color:var(--muted);font-size:13px;font-weight:700}.workbench{display:grid;grid-template-columns:245px minmax(275px,.8fr) minmax(370px,1.2fr);gap:14px;align-items:stretch}.panel,.schedule{border:1px solid var(--line);border-radius:20px;background:#fff}.panel{min-height:560px;padding:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}.panel-title span{padding:4px 9px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:11px;font-weight:800}.queue-item{width:100%;margin-top:8px;padding:13px;text-align:left;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:13px}.queue-item:hover,.queue-item.active{border-color:#ffc1b4;background:#fff7f4}.queue-item strong,.queue-item small{display:block}.queue-item strong{font-size:13px;line-height:1.4}.queue-item small{margin-top:4px;color:var(--muted);font-size:11px}.badge{display:inline-flex;margin-top:7px;padding:3px 7px;border-radius:99px;background:#fff0eb;color:#c63d26;font-size:10px;font-weight:900}.empty{display:grid;min-height:400px;place-items:center;color:var(--muted);text-align:center}.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.fact{padding:13px;border-radius:13px;background:var(--soft)}.fact.full{grid-column:1/-1}.fact span{display:block;color:var(--muted);font-size:11px}.fact strong{display:block;margin-top:3px;overflow-wrap:anywhere}.analysis-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.draft-body{max-height:410px;overflow:auto;padding:18px;border-radius:14px;background:#fbfbfc}.draft-body h1,.draft-body h2{margin:20px 0 9px}.draft-body h1{font-size:25px}.draft-body p{margin:0 0 13px}.draft-body img{display:block;width:min(100%,360px);margin:18px auto;border-radius:12px}.draft-thumb{display:block;width:160px;aspect-ratio:1;object-fit:cover;margin:18px auto;border-radius:15px;background:var(--soft)}.schedule{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:15px;padding:23px}.schedule p{max-width:500px;margin:5px 0;color:var(--muted);font-size:12px}.schedule-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.time-buttons{display:flex;gap:5px}.time-buttons button{padding:8px 9px;background:var(--soft);color:var(--ink);font-size:11px}.time-buttons button.active{background:var(--navy);color:#fff}@media(max-width:1120px){.shell{grid-template-columns:210px 1fr}.content-wrap{width:min(100% - 42px,1440px)}.workbench{grid-template-columns:230px 1fr}.draft{grid-column:1/-1;min-height:0}.draft .empty{min-height:220px}}@media(max-width:760px){.shell{display:block}.sidebar{display:none}.topbar{height:60px;padding:0 18px}.today,.top-status{display:none}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:900}.mobile-brand span{width:27px;height:27px;border-radius:8px;font-size:14px}.content-wrap{width:min(100% - 28px,1440px);padding:28px 0 48px}.page-title,.schedule{display:block}.next-card{width:100%;margin-top:20px}.briefing{padding:18px}.section-heading{display:block}.section-heading>p{margin-top:7px}.briefing-grid{grid-template-columns:1fr}.metric{min-height:auto}.quick{grid-template-columns:1fr;padding:18px}.quick form>div{display:grid}.workbench{grid-template-columns:1fr}.panel{min-height:0}.queue{max-height:320px;overflow:auto}.empty{min-height:200px}.schedule-actions{justify-content:start;margin-top:18px}.schedule input{max-width:100%}}
 
.activity{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.activity h3{margin:4px 0 10px;font-size:16px}.activity ul{margin:0;padding:0;list-style:none}.activity li{display:flex;gap:10px;padding:8px 0;border-top:1px solid #eef0f4;color:#4e5666;font-size:13px}.activity time{flex:0 0 104px;color:#8a91a0;font-variant-numeric:tabular-nums}
.source-evidence,.seo-plan{margin-top:16px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.source-evidence h3,.seo-plan h3{margin:2px 0 8px;font-size:16px;letter-spacing:-.04em}.source-evidence p:not(.eyebrow),.analysis-note{margin:0;color:#4f5869;font-size:13px;line-height:1.65}.source-evidence a{display:inline-block;margin-top:9px;color:var(--accent);font-size:12px;font-weight:850;text-decoration:none}.seo-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.seo-fields>div{padding:11px;border-radius:10px;background:var(--soft)}.seo-fields .full{grid-column:1/-1}.seo-fields span{display:block;color:var(--muted);font-size:10px;font-weight:800}.seo-fields strong{display:block;margin-top:3px;font-size:13px;overflow-wrap:anywhere}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.tag{padding:4px 8px;border-radius:99px;background:#fff0eb;color:#ba412e;font-size:11px;font-weight:800}.seo-checks{margin:13px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.seo-check{display:flex;gap:8px;padding:8px 0;border-bottom:1px solid #eef0f4;font-size:11px;color:#596173}.seo-check b{flex:0 0 32px;color:#24844c}.seo-check.check b{color:#c77a16}.seo-check strong{color:var(--ink)}.analysis-note{margin-top:14px}@media(max-width:760px){.seo-fields{grid-template-columns:1fr}}
.queue-item{white-space:normal}.queue-item strong{overflow-wrap:anywhere}
.integration-note{margin:14px 0 0;padding:12px 14px;border:1px solid #ffd6c9;border-radius:12px;background:#fff5f1;color:#9d3520;font-size:13px;line-height:1.6}.integration-note b{display:block;margin-bottom:2px}
.integration-note p{margin:4px 0 10px}.manual-affiliate{display:flex;gap:8px}.manual-affiliate input{min-width:0;flex:1;padding:10px 11px;border:1px solid #f4c5b8;border-radius:9px;background:#fff;color:#242b38}.manual-affiliate button{flex:0 0 auto;padding:10px 12px;border:0;border-radius:9px;background:#ff5537;color:#fff;font-weight:800;cursor:pointer}@media(max-width:560px){.manual-affiliate{flex-direction:column}.manual-affiliate button{width:100%}}
.task-list{margin:28px 0;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.task-list-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.task-list-items article{display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:12px}.task-list-items strong{overflow-wrap:anywhere}.task-list-items small{color:var(--muted);line-height:1.5}

/* 로그인 전 화면 차단. .shell의 display:grid가 hidden 속성을 이겨서 앱이 비쳐 보였다. */
body:not(.authenticated) #app{display:none!important}
body.authenticated #login{display:none!important}

/* 발행 전 실제 화면 미리보기 */
.preview-live{margin-bottom:14px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.preview-head h3{margin:2px 0 0;font-size:16px;letter-spacing:-.04em}
.preview-head a{color:var(--accent);font-size:12px;font-weight:850;text-decoration:none;white-space:nowrap}
.preview-frame{display:block;width:100%;height:520px;border:0;background:var(--soft)}
.preview-missing{margin:0 0 14px;padding:12px 14px;border:1px solid #ffe0b8;border-radius:12px;background:#fff8ec;color:#8a5a12;font-size:12px;line-height:1.6}

/* 예약 상태와 취소 */
.schedule-badge{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:14px 16px;border:1px solid #cfe0f7;border-radius:14px;background:#eef4fd;flex-wrap:wrap}
.schedule-badge span{display:block;color:#4a5c78;font-size:11px;font-weight:800}
.schedule-badge strong{display:block;margin:2px 0;font-size:19px;letter-spacing:-.04em;color:var(--navy)}
.schedule-badge small{display:block;color:#63748f;font-size:11px}
button.ghost-danger{padding:10px 14px;background:#fff;color:#c2372a;border:1px solid #f0bdb4;font-size:13px}
button.ghost-danger:hover{background:#fff5f3}

/* 본문 확인 영역 */
.draft-source{margin-bottom:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.draft-source>summary{padding:13px 15px;font-weight:850;font-size:14px;cursor:pointer;list-style:none}
.draft-source>summary::-webkit-details-marker{display:none}
.draft-source>summary::before{content:"▸ ";color:var(--accent)}
.draft-source[open]>summary::before{content:"▾ "}
.draft-source .draft-body{margin:0 12px 12px}
.draft-body a{color:var(--accent);font-weight:700}
.draft-body table{width:100%;border-collapse:collapse;margin:0 0 13px;font-size:13px}
.draft-body th,.draft-body td{padding:8px 10px;border:1px solid var(--line);text-align:left}
.draft-body th{background:var(--soft)}
.draft-body ul,.draft-body ol{margin:0 0 13px;padding-left:20px}
.draft-body li{margin-bottom:5px}
@media(max-width:760px){.preview-frame{height:380px}}

/* 접수함 — 모든 작업의 출발점이라 폭과 정보 밀도를 키운다 */
.workbench{grid-template-columns:300px minmax(280px,.85fr) minmax(400px,1.25fr)}
.queue{display:flex;flex-direction:column}
#queue-list{display:grid;gap:9px;margin-top:12px;align-content:start}
.queue-item{width:100%;padding:14px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .12s,background .12s}
.queue-item:hover{border-color:#ffc1b4;background:#fffaf8}
.queue-item.active{border-color:var(--accent);background:#fff7f4;box-shadow:0 0 0 3px #ff542f1a}
.queue-item header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.queue-item strong{display:block;font-size:14px;line-height:1.45;letter-spacing:-.02em;overflow-wrap:anywhere}
.queue-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:8px 0 0;color:var(--muted);font-size:11px}
.queue-meta em{font-style:normal;font-weight:850;color:var(--ink);font-size:13px}
.queue-meta span{position:relative;padding-left:8px}
.queue-meta span::before{content:"";position:absolute;left:0;top:50%;width:3px;height:3px;margin-top:-1px;border-radius:50%;background:#c6ccd8}
.queue-meta em+span::before{background:#c6ccd8}
.queue-next{display:block;margin-top:9px;padding-top:8px;border-top:1px dashed var(--line);color:#5a6274;font-size:11px;font-weight:750}
.queue-remove{padding:0;width:24px;height:24px;flex:0 0 24px;border-radius:7px;background:transparent;color:#aeb5c2;font-size:16px;font-weight:700;line-height:1}
.queue-remove:hover{background:#fdecea;color:#c2372a}
.badge.act{background:#ffeee9;color:#c2372a}
.badge.wait{background:#eef1f6;color:#5f6a7d}
.badge.warn{background:#fff4e2;color:#a06412}
.badge.done{background:var(--mint);color:#1f7a45}
.queue .empty{min-height:180px;line-height:1.7}
.trash{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.trash>summary{color:#646d7e;font-size:12px;font-weight:850;cursor:pointer;list-style:none}
.trash>summary::-webkit-details-marker{display:none}
.trash>summary::before{content:"▸ ";color:var(--accent)}
.trash[open]>summary::before{content:"▾ "}
.trash-list{display:grid;gap:8px;margin-top:10px}
.trash-item{padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfbfc}
.trash-item strong{display:block;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.trash-item small{display:block;margin-top:4px;color:var(--muted);font-size:10px}
.trash-restore{width:100%;margin-top:9px;padding:8px 10px;font-size:11px}
@media(max-width:1120px){.workbench{grid-template-columns:280px 1fr}}
@media(max-width:760px){.workbench{grid-template-columns:1fr}.queue{max-height:none}}
.gate-info{margin:9px 0 0!important;padding:8px 11px;border-radius:9px;background:var(--soft);color:#4d5666!important;font-size:12px!important;font-weight:800;display:inline-block}

/* 화면 전환 */
.screen{display:none}
.screen.active{display:block}
.screen[hidden]{display:none!important}
.topbar-start{display:flex;align-items:center;min-width:150px}
.top-notice{max-width:48%;margin:0;color:var(--muted);font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mobile-nav{display:none}
.compact-title{margin-bottom:26px}
.panel-note{display:flex;align-items:center;gap:9px;margin-top:18px;padding:15px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted);font-size:12px}
.panel-note strong{color:var(--ink);font-size:13px}
.panel-note span{overflow-wrap:anywhere}
.task-item{cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}
.task-item:hover,.task-item.active{border-color:#ffc1b4;background:#fffaf8;box-shadow:0 0 0 3px #ff542f0d}
.empty-action{display:block;margin:12px auto 0;color:var(--accent);font-size:12px;font-weight:850;text-decoration:none}
.trash-panel{min-height:360px}
#trash-list{display:grid;gap:10px;margin-top:18px}
.trash-item{display:flex;align-items:center;justify-content:space-between;gap:16px}
.trash-item>div{min-width:0}
.trash-item .trash-restore{width:auto;margin:0;flex:0 0 auto}
.trash-empty{min-height:260px}

@media(max-width:760px){
  .topbar{height:auto;min-height:60px;padding:12px 18px;gap:10px;flex-wrap:wrap}
  .topbar-start{min-width:0;flex:1}
  .mobile-nav{display:flex;align-items:center;gap:3px;max-width:100%;overflow-x:auto}
  .mobile-nav a{padding:6px 8px;border-radius:8px;color:#687184;text-decoration:none;font-size:11px;font-weight:850;white-space:nowrap}
  .mobile-nav a.active{background:var(--navy);color:#fff}
  .top-notice{order:3;flex:1 0 100%;max-width:none;padding-top:1px;white-space:normal}
  .compact-title{margin-bottom:20px}
  .panel-note{display:block}
  .panel-note span{display:block;margin-top:3px}
  .trash-item{align-items:flex-start;flex-direction:column}
  .trash-item .trash-restore{width:100%}
}
