/* 조직도 · 일정 */
.org-search{display:flex;align-items:center;gap:9px;padding:0 6px 0 13px;border:1px solid #d9e3ee;border-radius:12px;background:#fff;margin-bottom:16px;color:#9eabbe}
.org-search>.ico{width:16px}
.org-search input{flex:1;min-width:0;border:0;outline:none;height:40px;font-size:11.5px;color:#4f6584;background:none}
.org-count{font-size:8.5px;color:#a1adbf;white-space:nowrap;padding-right:8px}
.org-chart{border:1px solid #dfe6ef;border-radius:14px;background:radial-gradient(ellipse at 50% 0,#fff,#f1f5fa);padding:18px 16px 16px}
.org-top{display:flex;justify-content:center;position:relative;padding-bottom:18px}
.org-top:after{content:'';position:absolute;left:50%;bottom:0;height:18px;border-left:1.5px solid #c9d4e2}
.org-divs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;position:relative;padding-top:18px}
.org-divs:before{content:'';position:absolute;top:0;left:12.5%;right:12.5%;border-top:1.5px solid #c9d4e2}
.org-col{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0}
.org-col:before{content:'';position:absolute;top:-18px;left:50%;height:18px;border-left:1.5px solid #c9d4e2}
.org-node{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:12px;border:1px solid #d6e0ec;background:#fff;text-align:left;min-width:0}
.org-node>span{min-width:0}
.org-node.ceo{min-width:210px;background:#f2f5fb}
.org-node.div{background:#eef3f9}
.org-node strong{display:block;font-size:10.5px;font-weight:600;color:#3f5577}
.org-node small{display:block;font-size:8.5px;color:#8a99af;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.org-node:hover,.org-team:hover{border-color:#9db6d6}
.org-node.sel,.org-team.sel{border-color:#5d7fb1;box-shadow:0 0 0 2px #dbe6f4}
.org-teams{display:flex;flex-direction:column;gap:8px;padding-left:10px;border-left:1.5px dashed #d3dce8;margin-left:14px}
.org-team{position:relative;display:block;width:100%;text-align:left;padding:9px 10px;border-radius:11px;border:1px solid #e0e7f0;background:#fffc}
.org-team.mine{border-color:#9fc4b4;background:#f4faf7}
.org-team-head{display:flex;justify-content:space-between;align-items:baseline;gap:6px}
.org-team-head strong{font-size:10px;font-weight:600;color:#465c7d}
.org-team-head span{font-size:8px;color:#9eabbe;white-space:nowrap}
.org-lead{display:flex;align-items:center;gap:5px;font-size:9px;color:#5d7392;margin-top:6px;white-space:nowrap;overflow:hidden}
.org-lead small{color:#a1adbf;font-size:8px}
.org-faces{display:flex;align-items:center;gap:3px;margin-top:7px;flex-wrap:wrap}
.org-faces .presence{width:7px;height:7px;border-width:1.5px;right:-1px;bottom:-1px}
.org-faces em{font-style:normal;font-size:8px;color:#93a1b6;margin-left:3px}
.org-mine{position:absolute;top:-7px;right:8px;font-style:normal;font-size:7.5px;font-weight:700;background:#6eaa8e;color:#fff;padding:1px 6px;border-radius:6px}
.org-unit{margin-top:14px}
.org-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid #edf1f6}
.panel-head+.org-row{border-top:0}
.org-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:11px;cursor:pointer;border-radius:9px;padding:2px}
.org-row-main>span:last-child{min-width:0}
.org-row-main:hover strong{color:#4c73a6}
.org-row-main:focus-visible{outline:3px solid #447eea;outline-offset:2px}
.org-row-main strong{display:block;font-size:11px;font-weight:600;color:#3f5577}
.org-row-main strong small{font-size:9px;font-weight:400;color:#8a99af;margin-left:6px}
.org-row-main em{display:block;font-style:normal;font-size:8.5px;color:#9eabbe;margin-top:2px}
.org-duty{display:block;font-size:9px;color:#6f819b;margin-top:4px}
.org-row>.secondary{display:flex;align-items:center;gap:5px;flex-shrink:0}
.org-row>.secondary .ico{width:13px}
.org-status{display:inline-flex;align-items:center;gap:6px;font-size:9.5px;color:#6f819b}
.org-status .presence{position:static;display:inline-block;width:8px;height:8px;border:0}
.org-fields .kb-wikilink{font-size:inherit}
.msg-new{margin-left:auto;width:26px;height:26px;color:#5f7da6;background:#fff;border:1px solid #dfe6ef}
.msg-new .ico{width:14px}
.msg-empty{text-align:center;padding:30px 10px;font-size:10px;color:#a3afc1;line-height:1.8}

/* 일정 */
.cal-bar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.cal-bar>strong{font-size:14px;font-weight:600;color:#33496b;min-width:130px;text-align:center}
.cal-bar .icon-button .ico{width:16px}
.cal-legend{margin-left:auto;display:flex;gap:10px;font-size:8.5px;color:#8a99af}
.cal-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px}
.cal-month{border:1px solid #dfe6ef;border-radius:13px;overflow:hidden;background:#fff}
.cal-wd{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f3f6fb;border-bottom:1px solid #e6ebf3}
.cal-wd b{font-size:8.5px;font-weight:600;color:#8a99af;text-align:center;padding:7px 0}
.cal-wd b:first-child,.cal-wd b:last-child{color:#c9867c}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#e9eef5}
.cal-cell{background:#fff;min-height:96px;padding:5px;display:flex;flex-direction:column;gap:3px;min-width:0}
.cal-cell.we{background:#fafbfd}
.cal-cell.other{background:#f6f8fb}
.cal-cell.other>*{opacity:.45}
.cal-date{align-self:flex-start;font-size:9.5px;color:#6d7f99;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;padding:0}
.cal-date:hover{background:#eef3fa}
.cal-cell.we .cal-date{color:#c9867c}
.cal-cell.today{box-shadow:inset 0 0 0 2px #9db6d6}
.cal-cell.today .cal-date{background:#5d7fb1;color:#fff;font-weight:700}
.cal-chip{display:block;width:100%;text-align:left;font-size:8.5px;line-height:1.4;padding:2px 5px;border-radius:4px;border-left:3px solid var(--c);background:color-mix(in srgb,var(--c) 11%,#fff);color:#3f5577;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-chip b{font-weight:600;color:var(--c);margin-right:3px}
.cal-chip.all{background:var(--c);color:#fff}
.cal-chip.pending{background:#fff;color:var(--c);border:1px dashed var(--c)}
.cal-chip:hover{filter:brightness(.96)}
.cal-more{font-size:8px;color:#5f86b6;text-align:left;padding:0 4px}
.cal-week{border:1px solid #dfe6ef;border-radius:13px;overflow:hidden;background:#fff}
.cal-w-head,.cal-w-all,.cal-w-body{display:grid;grid-template-columns:50px repeat(5,minmax(0,1fr))}
.cal-w-head{background:#f3f6fb;border-bottom:1px solid #e6ebf3}
.cal-w-head>div{font-size:9.5px;font-weight:600;color:#6d7f99;text-align:center;padding:8px 0}
.cal-w-head>div.today{color:#fff;background:#5d7fb1}
.cal-w-all{border-bottom:1px solid #e6ebf3}
.cal-w-all>div{padding:4px;min-height:28px;display:flex;flex-direction:column;gap:2px;border-left:1px solid #edf1f6;min-width:0}
.cal-w-all>div:first-child{border-left:0;font-size:8px;color:#a1adbf;justify-content:center;align-items:center}
.cal-w-body{position:relative}
.cal-hours{position:relative}
.cal-hours span{position:absolute;right:6px;font-size:8px;color:#a1adbf;margin-top:-5px}
.cal-hours span:first-child{margin-top:2px}
.cal-day{position:relative;border-left:1px solid #edf1f6;background:repeating-linear-gradient(#fff 0 45px,#eef2f7 45px 46px)}
.cal-day.today{background:repeating-linear-gradient(#f6f9ff 0 45px,#e6edf8 45px 46px)}
.cal-block{position:absolute;padding:4px 6px;border-radius:7px;text-align:left;overflow:hidden;background:color-mix(in srgb,var(--c) 16%,#fff);border-left:3px solid var(--c);color:#33496b;margin-left:2px;transition:background .15s}
.cal-block:hover{background:color-mix(in srgb,var(--c) 26%,#fff);z-index:2}
.cal-block b{display:block;font-size:8px;font-weight:600;color:var(--c)}
.cal-block span{display:block;font-size:9px;font-weight:600;line-height:1.35;margin-top:1px}
.cal-block small{display:block;font-size:8px;color:#7d8ca3;margin-top:2px}
.cal-block.past{opacity:.55}
.cal-block.short{display:flex;align-items:center;gap:5px;padding:2px 6px}
.cal-block.short b{flex-shrink:0}
.cal-block.short span{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-now{position:absolute;left:0;right:0;border-top:2px solid #c9786d;z-index:3;pointer-events:none}
.cal-now:before{content:'';position:absolute;left:-4px;top:-5px;width:8px;height:8px;border-radius:50%;background:#c9786d}
.cal-dot{display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--c);margin-right:6px}
.cal-up{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:9px 14px;border-top:1px solid #edf1f6}
.panel-head+.cal-up{border-top:0}
.cal-up b{font-size:9.5px;color:#5d7392;min-width:96px}
.cal-up .cal-chip{width:auto;max-width:240px}
.cal-people{display:flex;flex-wrap:wrap;gap:5px}
.cal-person{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 2px;border-radius:12px;background:#eef3f9;font-size:9.5px;color:#465c7d}
.cal-person:hover{background:#dfe8f5}
.cal-me{display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:9px;background:#5d7fb1;color:#fff;font-size:8.5px}
.cal-faces{display:inline-flex;gap:3px;align-items:center}
.data-table tr[data-cal-ev]{cursor:pointer}
.data-table tr[data-cal-ev]:hover{background:#f0f4fb}

@container appwin (max-width:780px){.org-divs{grid-template-columns:repeat(2,minmax(0,1fr))}
.org-divs:before,.org-col:before{display:none}
.cal-cell{min-height:74px}
.cal-legend{display:none}
}
@container appwin (max-width:560px){.org-divs{grid-template-columns:1fr}
.org-count{display:none}
.cal-chip b{display:none}
.cal-w-head,.cal-w-all,.cal-w-body{grid-template-columns:34px repeat(5,minmax(0,1fr))}
.cal-block b,.cal-block small{display:none}
}
