/* R224 대표 오늘 보고 — 오늘 할 일 모양(컬러 카드·큰 흰 패널). 대표 화면(.ct-root)과 그 팝업(.ct-shade) 안에서만 적용 */
.ct-root{background:#fff;border:1px solid #dbe4f0;border-radius:22px;padding:18px;box-shadow:0 6px 24px rgba(20,50,90,.08);color:#17304d}
.ct-ph{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.ct-ph h2{margin:0;font-size:26px;letter-spacing:-.5px}.ct-sub{color:#5b6b80;font-size:13px;margin-top:2px}
.ct-r{display:flex;align-items:center;gap:10px}.ct-date{background:#eef3fb;border-radius:12px;padding:9px 14px;font-weight:700}
.ct-btn{border:1px solid #cbd5e3;background:#fff;border-radius:12px;padding:9px 15px;font:inherit;font-weight:700;cursor:pointer}
.ct-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 6px}
.ct-k{display:flex;gap:12px;align-items:center;border-radius:18px;padding:12px 14px;background:linear-gradient(135deg,var(--t),#fff 80%);border:1px solid var(--b)}
.ct-ci{width:44px;height:44px;border-radius:14px;background:var(--c);color:#fff;display:grid;place-items:center;font-size:21px;flex:none}
.ct-k small{display:block;color:#4b5d73;font-weight:700;font-size:12px}.ct-k b{display:block;font-size:22px;line-height:1.15}.ct-k i{font-style:normal;font-size:11.5px;color:#5b6b80}
.ct-k.k1{--c:#1e9a4f;--t:#e3f5ea;--b:#bfe3cd}.ct-k.k2{--c:#d9434b;--t:#fde8ea;--b:#f2bcc0}.ct-k.k3{--c:#d98a00;--t:#fdf0d6;--b:#f0d49c}.ct-k.k4{--c:#7c4de0;--t:#eee8fd;--b:#d3c5f5}
.ct-seg{display:flex;margin:16px 0 0;border:2px solid #1f3b5c;width:max-content;max-width:100%}
.ct-seg button{border:0;background:#fff;color:#1f3b5c;padding:10px 20px;font:inherit;font-weight:700;cursor:pointer}.ct-seg button.on{background:#1f3b5c;color:#fff}
.ct-stabs{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.ct-stabs button{border:1.5px solid #1768e8;background:#fff;color:#1768e8;padding:8px 16px;font:inherit;font-weight:700;cursor:pointer;display:flex;gap:6px;align-items:center}
.ct-stabs button.on{background:#1768e8;color:#fff}.ct-stabs i{font-style:normal;font-size:11px;padding:1px 7px;border-radius:9px}
.ct-sec{display:flex;justify-content:space-between;align-items:center;margin:20px 0 10px;flex-wrap:wrap;gap:8px}
.ct-sec h3{margin:0;font-size:19px}.ct-sec h3 small{color:#5b6b80;font-weight:400;font-size:13px;margin-left:6px}
.ct-lg{display:flex;gap:6px;font-size:12px;font-weight:700}.ct-lg span{padding:3px 10px;border-radius:12px}
.ct-root .ok,.ct-shade .ok{background:#d6efdd;color:#14532d}.ct-root .wn,.ct-shade .wn{background:#fbecd0;color:#6b4300}.ct-root .bd,.ct-shade .bd{background:#fbdcdf;color:#9c2330}.ct-root .na{background:#eef1f5;color:#5b6b80}
.ct-tg{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ct-card{position:relative;border-radius:22px;background:#fff;border:1px solid var(--b);box-shadow:0 4px 14px rgba(20,50,90,.07);overflow:hidden;display:flex;flex-direction:column}
.ct-top{background:linear-gradient(135deg,var(--c),var(--c2));color:#fff;padding:12px 12px 10px;display:flex;align-items:center;gap:10px}
.ct-dot{width:22px;height:22px;border-radius:50%;background:#fff;border:6px solid rgba(255,255,255,.35);box-shadow:inset 0 0 0 4px var(--c);flex:none}
.ct-tt{flex:1;min-width:0}.ct-tt b{display:block;font-size:17px}.ct-tt small{opacity:.92;font-size:11.5px}
.ct-ring{width:50px;height:50px;border-radius:50%;background:conic-gradient(#fff calc(var(--p)*1%),rgba(255,255,255,.28) 0);display:grid;place-items:center;flex:none}
.ct-ring i{font-style:normal;width:38px;height:38px;border-radius:50%;background:var(--c);display:grid;place-items:center;font-weight:700;font-size:12.5px}
.ct-bd{padding:10px;display:flex;flex-direction:column;gap:5px;background:linear-gradient(180deg,var(--t),#fff 40%);flex:1}
.ct-ln{display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:0;font-weight:700;font-size:13px;border:0;border-left:5px solid var(--s);width:100%;text-align:left;font-family:inherit}
button.ct-ln{cursor:pointer}button.ct-ln:hover{outline:2px solid var(--c);outline-offset:-2px}
.ct-ico{width:18px;height:18px;border-radius:50%;background:var(--s);color:#fff;display:grid;place-items:center;font-size:11px;flex:none}
.ct-nm{flex:1}.ct-v{font-weight:400;font-size:12.5px}
.ct-ln.ok{--s:#2fa35c;background:#e7f6ec}.ct-ln.wn{--s:#e0a020;background:#fdf3de}.ct-ln.bd{--s:#d9434b;background:#fde8ea}.ct-ln.na{--s:#9aa7b8;background:#f1f4f8}
.ct-go{margin:2px 10px 12px;border-radius:12px;padding:11px;font:inherit;font-weight:700;border:1.5px solid var(--c);background:#fff;color:var(--c);cursor:pointer;white-space:nowrap}
.ct-go.p{background:linear-gradient(135deg,var(--c),var(--c2));color:#fff;border-color:transparent}
.ct-badge{position:absolute;top:-1px;right:12px;background:#d9434b;color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:0 0 9px 9px}
.c1{--c:#d9434b;--c2:#e8706f;--t:#fdecee;--b:#f0c3c6}.c2{--c:#1768e8;--c2:#4a8cf2;--t:#e8f0fe;--b:#bfd3f6}.c3{--c:#1e9a4f;--c2:#4cbb78;--t:#e6f6ec;--b:#bde2cb}.c4{--c:#b86e00;--c2:#dd9a2c;--t:#fdf1dc;--b:#efd5a4}
.c5{--c:#0a8aa8;--c2:#3bb0c9;--t:#e2f4f8;--b:#b4dde8}.c6{--c:#7c4de0;--c2:#9f7bef;--t:#efe9fd;--b:#d3c5f5}.c7{--c:#e0763a;--c2:#f0996a;--t:#fdeee4;--b:#f2cbb3}
.ct-tl{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.ct-ti{display:flex;align-items:center;gap:10px;border:1px solid #f0c3c6;border-left:6px solid #d9434b;border-radius:14px;padding:10px 12px;background:#fffafa}
.ct-ti.wn{border-color:#ecd3a0;border-left-color:#e0a020;background:#fffdf6}
.ct-sn{background:#12395e;color:#fff;border-radius:9px;padding:3px 10px;font-weight:700;font-size:13px;flex:none}
.ct-tx{flex:1;font-weight:700}
.ct-ti button{border:0;border-radius:11px;padding:9px 14px;font:inherit;font-weight:700;background:#1768e8;color:#fff;white-space:nowrap;cursor:pointer}
.ct-empty{padding:14px;text-align:center;color:#5b6b80;background:#f4f7fb;border-radius:14px}
.ct-shade{position:fixed;inset:0;background:rgba(15,30,50,.45);z-index:9000;display:flex;align-items:center;justify-content:center;padding:10px}
.ct-pop{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4);max-width:100%;max-height:90vh;display:flex;flex-direction:column}
.ct-ph2{background:var(--c);color:#fff;padding:12px 16px;font-weight:700;font-size:17px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.ct-ph2 button{background:#fff;border:0;border-radius:8px;padding:5px 12px;font:inherit;font-weight:700;cursor:pointer}
.ct-pb{overflow:auto;padding:10px 14px}
.ct-pb table{width:100%;border-collapse:collapse}.ct-pb th{background:#2c5282;color:#fff;border:1px solid #3a557a;padding:5px 8px;font-size:13px}
.ct-pb td{border:1px solid #d3deec;padding:4px 8px;height:30px;text-align:center}.ct-pb td.l{text-align:left;font-weight:700;background:#f2f6fc}
.ct-pb tfoot th{background:#d3ecda;color:#14532d;border:1px solid #9fcba9}
.ct-psec{padding:5px 10px;color:#fff;font-weight:700;font-size:13px;background:#a32d2d;margin-top:8px}
.ct-pt{display:flex;gap:10px;align-items:center;padding:7px 4px;border-bottom:1px solid #e3eaf3}.ct-pt span{flex:1}
.ct-pt button{border:1px solid #8aa0bb;background:#fff;border-radius:8px;padding:6px 12px;font:inherit;font-weight:700;cursor:pointer}.ct-pt button.p{background:#1768e8;color:#fff;border-color:#1768e8}
@media(max-width:760px){
 .ct-kpi{grid-template-columns:1fr 1fr}.ct-k{padding:10px;gap:8px}.ct-ci{width:36px;height:36px;font-size:17px}.ct-k b{font-size:18px}
 .ct-tg{grid-template-columns:1fr 1fr;gap:10px}.ct-top{padding:9px 8px;gap:6px}.ct-tt b{font-size:15px}
 .ct-ring{width:42px;height:42px}.ct-ring i{width:31px;height:31px;font-size:11.5px}.ct-bd{padding:7px;gap:4px}.ct-ln{padding:5px 6px;font-size:12px;gap:5px}.ct-ico{width:15px;height:15px;font-size:9px}
 .ct-tl{grid-template-columns:1fr}.ct-ph h2{font-size:23px}.ct-date{padding:7px 10px;font-size:12.5px}.ct-seg button{padding:9px 12px}}
.ct-shade .report-title-row,.ct-shade .report-export-menu{display:none!important}
@media(max-width:760px){.ct-tt small{display:none}.ct-dot{width:16px;height:16px;border-width:4px}.ct-k i{font-size:10.5px}}
/* R228 — 각지게(둥근 모서리 없음, 둥근 색 표시·링·아이콘 원만 둥글게), 옆 빈 공간 채우기, 오늘 아직 안 한 곳 줄 */
.ct-root,.ct-root *,.ct-shade *{border-radius:0!important}
.ct-dot,.ct-ring,.ct-ring i,.ct-ico{border-radius:50%!important}
.ct-root{max-width:none!important;width:100%;box-shadow:none;margin:0}
.trend-panel:has(> .ct-root){padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.ct-ti{width:100%;text-align:left;font:inherit;cursor:pointer;border:1px solid #f0c3c6;border-left:6px solid #d9434b;background:#fffafa;display:flex;align-items:center;gap:10px;padding:10px 12px}
.ct-ti:hover{background:#fdecee}.ct-arrow{font-weight:800;color:#9c2330;font-size:1.2rem}
.ct-tg{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.ct-tl{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.ct-pb td.in{padding:0;background:#fff8dc}
.ct-pb td.in input{width:100%;height:30px;border:0;background:transparent;text-align:right;padding:0 8px;font:inherit;font-weight:700;box-sizing:border-box}
.ct-pb td.ok{background:#d3ecda;color:#14532d;font-weight:800}.ct-pb td.wn{background:#faeeda;color:#633806;font-weight:800}.ct-pb td.bd{background:#fde2e2;color:#a32d2d;font-weight:800}
.ct-msg{padding:4px 6px;color:#14532d;font-weight:700}
.ct-pt button:disabled{opacity:.5}
@media(max-width:760px){
 .ct-root{padding:8px!important;border-left:0;border-right:0}
 .ct-tg{grid-template-columns:1fr 1fr;gap:8px}
 .ct-top{padding:8px 6px!important;gap:5px!important}.ct-tt b{font-size:13.5px!important;white-space:nowrap}
 .ct-ring{width:38px!important;height:38px!important}.ct-ring i{width:28px!important;height:28px!important;font-size:10.5px!important}
 .ct-ln{padding:5px 5px!important;gap:4px!important;font-size:12px!important}.ct-v{font-size:11px!important}
 .ct-tl{grid-template-columns:1fr}}
/* R229 — 매출 현황 표(엑셀형·남색 머리글·합계 줄) */
.ct-wrap{overflow-x:auto;border:1px solid #9fb4cf;margin:8px 0}
.ct-sheet{width:100%;border-collapse:collapse;font-size:.9rem;min-width:560px}
.ct-sheet thead th{background:#2c5282;color:#fff;border:1px solid #3a557a;padding:6px 8px;font-size:.82rem;white-space:nowrap}
.ct-sheet tbody td{border:1px solid #d3deec;padding:3px 8px;height:30px;white-space:nowrap}
.ct-sheet tbody tr:nth-child(even) td{background:#f6f9fd}
.ct-sheet td.l{font-weight:800;background:#dfeafc!important;color:#1f3b5c}
.ct-sheet td.r,.ct-sheet th.r{text-align:right;font-variant-numeric:tabular-nums}
.ct-sheet td.neg{color:#a32d2d;font-weight:800}
.ct-sheet tfoot th{background:#d3ecda!important;color:#14532d!important;border:1px solid #9fcba9;padding:6px 8px;text-align:left}
/* R238 — 월간 매입자료 버튼 */
.ct-pbtn{margin-left:8px;border:1px solid #2c5282;background:#2c5282;color:#fff;font-weight:800;padding:8px 14px;cursor:pointer;white-space:nowrap}
