:root{--line:#d4d4d4;--head:#f3f3f3;--bar:#217346;--sel:#107c41;--accent:#217346;--muted:#777;--card:#fff;--fg:#222;--bg:#e9e9e9;
  --font:"Calibri","맑은 고딕","Malgun Gothic",sans-serif}
*{box-sizing:border-box}
body{margin:0;color:var(--fg);font-family:var(--font);font-size:14px;background:#fff;background-image:linear-gradient(#e2e2e2 1px,transparent 1px),linear-gradient(90deg,#e2e2e2 1px,transparent 1px);background-size:60px 23px}
/* 엑셀 크롬 (common.js가 주입) */
.xlchrome .xltitle{background:var(--bar);color:#fff;padding:6px 12px;font-size:13px}
.xlchrome .xlribbon{background:var(--head);border-bottom:1px solid var(--line);padding:6px 12px;color:#555;overflow-x:auto;white-space:nowrap}
.xlchrome .xlribbon b{color:#333}
.xlformbar{display:flex;gap:8px;align-items:center;background:#fff;border-bottom:1px solid var(--line);padding:4px 10px;color:#555;font-size:12px}
.xlformbar .nb{border:1px solid var(--line);padding:1px 8px}
#bossv{position:fixed;inset:0;background:#fff;z-index:9999;display:none;overflow:auto}
#bossv.show{display:block}
#bossv table{border-collapse:collapse;margin:10px}
#bossv td,#bossv th{border:1px solid var(--line);height:26px;padding:3px 10px;font-size:13px}
#bossv th{background:var(--head);color:#666}
.bosshint{color:#aaa;font-size:11px;padding:4px 14px}
/* 본문 */
.wrap{max-width:720px;margin:0 auto;padding:14px 16px 60px;min-height:70vh}
.sitehead{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);margin-bottom:14px}
.brand{font-weight:700;text-decoration:none;color:var(--fg);font-size:1.05rem}.brand span{color:var(--sel)}
.sitehead .home{font-size:.82rem;color:var(--muted);text-decoration:none}
h1{font-size:1.4rem;margin:.2em 0;color:#1b5e20}
p.sub{color:var(--muted);margin:.2em 0 1.2em;font-size:.95rem}
.cat{font-weight:700;color:var(--sel);margin:22px 0 8px;font-size:.95rem;border-left:3px solid var(--sel);padding-left:8px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.gcard{position:relative;display:block;text-decoration:none;color:var(--fg);background:var(--card);padding:18px 14px;text-align:center;transition:background .1s}
.gcard:hover{background:#eafaf0}
.gcard .ic{font-size:1.9rem}
.gcard b{display:block;margin:7px 0 3px;color:#1b5e20}
.gcard small{color:var(--muted)}
.gcard .ext{position:absolute;top:8px;right:10px;font-size:.7rem;color:#aaa}
.pop{position:absolute;top:8px;left:10px;background:var(--sel);color:#fff;font-size:.62rem;font-weight:700;padding:2px 7px;border-radius:3px}
.card{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:20px;margin-top:10px}
.btn{display:block;width:100%;text-align:center;border:none;cursor:pointer;text-decoration:none;padding:13px;border-radius:5px;font-size:1rem;font-weight:700;color:#fff;background:var(--sel);margin-top:12px}
.btn.sec{background:#f3f3f3;color:var(--sel);border:1px solid var(--line)}
.copy{margin-top:30px}.copy h2{font-size:1.1rem;margin:1.2em 0 .4em;color:#1b5e20}
details{border-top:1px solid var(--line);padding:10px 0}details summary{cursor:pointer;font-weight:600}
details p{color:var(--muted);margin:.5em 0 0}
.disc{font-size:.78rem;color:var(--muted);text-align:center;margin-top:14px}
.sitefoot{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.sitefoot .fnav{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:8px}
.sitefoot a{color:var(--muted);text-decoration:none}.sitefoot a:hover{color:var(--sel)}
.chatbox{max-height:240px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:4px;padding:8px 12px;margin-top:6px}
.cmsg{padding:4px 0;font-size:.92rem;border-bottom:1px solid #f0f0f0}
.cmsg:last-child{border-bottom:none}
.cmsg b{color:var(--sel);margin-right:6px;font-size:.85rem}
.chatform{display:flex;gap:6px;margin-top:8px}
.chatform input{flex:1;min-width:0;padding:10px;border:1px solid var(--line);border-radius:5px}
.chatform input#cnick{flex:0 0 88px}
.chatform .btn{width:auto;margin:0;padding:10px 14px}
/* ===== 보스화면 전문 엑셀 시트 ===== */
#bossv .bosssheet{overflow:auto;max-height:calc(100vh - 118px);padding:0 2px}
#bossv .xlsheet{border-collapse:collapse;font-size:12px;font-family:var(--font);margin:0}
#bossv .xlsheet th,#bossv .xlsheet td{border:1px solid #d4d4d4;height:20px;padding:1px 7px;white-space:nowrap;font-size:12px}
#bossv .xlsheet .colh{background:#f3f3f3;color:#8a8a8a;text-align:center;font-weight:600;min-width:60px}
#bossv .xlsheet .rowh{background:#f3f3f3;color:#8a8a8a;text-align:center;width:30px;font-weight:600}
#bossv .xlsheet .corner{background:#e6e6e6;width:30px}
#bossv .xlsheet td{background:#fff;color:#222}
#bossv .xlsheet td.lb{text-align:left;font-weight:600;color:#333;background:#fafafa}
#bossv .xlsheet td.n{text-align:right;font-variant-numeric:tabular-nums}
#bossv .xlsheet td.hh{background:#217346;color:#fff;font-weight:700;text-align:center}
#bossv .xlsheet td.sub{background:#e8f3ec;font-weight:700}
#bossv .xlsheet td.tot{background:#f0f6f0;font-weight:700;border-top:2px solid #999}
#bossv .xlsheet td.pos{color:#1b7a2f}
#bossv .xlsheet td.neg{color:#c0392b}
#bossv #bosssel option{color:#222}

.ctime{float:right;color:#aaa;font-size:.72rem;margin-left:8px}

/* 보스화면 이메일(Outlook) 템플릿 */
#bossv .olwrap{display:flex;height:calc(100vh - 110px)}
#bossv .olfold{flex:0 0 170px;background:#faf9f8;border-right:1px solid #e1dfdd;padding:8px 0;font-size:13px;overflow:auto}
#bossv .olf{padding:6px 14px;color:#444;white-space:nowrap}
#bossv .olf.on{background:#eaf2fb;color:#0f6cbd;font-weight:700;border-left:3px solid #0f6cbd;padding-left:11px}
#bossv .olmain{flex:1;overflow:auto;background:#fff}
#bossv .oltbl{width:100%;border-collapse:collapse;font-size:13px}
#bossv .oltbl th{background:#f3f2f1;color:#666;font-weight:600;text-align:left;padding:6px 10px;border-bottom:1px solid #e1dfdd;position:sticky;top:0}
#bossv .oltbl td{padding:8px 10px;border-bottom:1px solid #f0f0f0}
#bossv .oltbl td.st{color:#0f6cbd;width:18px;text-align:center}
#bossv .oltbl td.fr{width:100px;color:#222}
#bossv .oltbl td.sj{color:#333}
#bossv .oltbl td.dt{width:74px;color:#999;font-size:12px;text-align:right}
#bossv .oltbl tr.unread td.fr,#bossv .oltbl tr.unread td.sj{font-weight:700;color:#000}
#bossv .oltbl tr:hover td{background:#f5faff}

/* ===== 대시보드 안(iframe) 업무 문서 모드 ===== */
html.embed body{font-size:12px}
html.embed .wrap{max-width:none !important;padding:0 10px 16px;min-height:0;margin:0}
html.embed #site-header,html.embed #site-footer,html.embed .copy,html.embed .disc,html.embed .hint,html.embed .noemb{display:none !important}
html.embed .ebar{display:flex;gap:8px;align-items:center;margin:0 -10px;padding:3px 10px;background:#fff;border-bottom:1px solid var(--line);font-size:11px;color:#555}
html.embed .ebar .nb{border:1px solid var(--line);padding:0 8px;color:#444;min-width:44px}
html.embed .ebar .fxl{color:#999;font-style:italic}
html.embed h1{font-size:13px !important;margin:0 -10px !important;padding:6px 10px;background:#eef6ef;color:#1b5e20 !important;border-bottom:1px solid var(--line);font-weight:700}
html.embed p.sub{font-size:11px !important;margin:0 -10px 8px !important;padding:4px 10px;color:#666;border-bottom:1px solid var(--line);background:#fafafa}
html.embed .card{border-radius:0;margin-top:6px;padding:10px}
html.embed .btn{display:inline-block;width:auto;padding:4px 14px;font-size:12px;border-radius:2px;margin:8px 6px 0 0;font-weight:600}
html.embed input{font-size:12px !important}

/* ===== Outlook 앱 크롬 (메일 스킨) ===== */
.olchrome{font-family:"Segoe UI","맑은 고딕","Malgun Gothic",sans-serif;user-select:none}
.olapp{height:44px;background:#0f6cbd;color:#fff;display:flex;align-items:center;gap:12px;padding:0 12px}
.olwaf{display:grid;grid-template-columns:repeat(3,4px);gap:3px;padding:6px;border-radius:4px;cursor:pointer}
.olwaf i{width:4px;height:4px;background:#fff;border-radius:1px;display:block}
.olwaf:hover,.olright>span:hover{background:rgba(255,255,255,.15)}
.olname{color:#fff;text-decoration:none;font-weight:600;font-size:15px;margin-right:18px}
.olsearch{flex:0 1 460px;height:30px;margin:0 auto;background:rgba(255,255,255,.92);border-radius:4px;display:flex;align-items:center;gap:8px;padding:0 10px;color:#605e5c;font-size:13px}
.olright{display:flex;align-items:center;gap:4px}
.olright>span{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer}
.olright .olme{width:28px;height:28px;border-radius:50%;background:#c43e1c;font-size:12px;font-weight:600;margin-left:6px}
.oltabs{display:flex;gap:2px;padding:0 12px;background:#f5f5f5;font-size:13px;color:#424242}
.oltabs span{padding:7px 10px 6px;cursor:pointer;border-bottom:2px solid transparent}
.oltabs span.on{color:#0f6cbd;font-weight:600;border-bottom-color:#0f6cbd}
.olcmd{display:flex;align-items:center;gap:2px;padding:4px 10px 6px;background:#f5f5f5;border-bottom:1px solid #e0e0e0;font-size:13px;color:#242424;overflow-x:auto;white-space:nowrap}
.olcmd>span{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:4px;cursor:pointer}
.olcmd>span svg{color:#0f6cbd}
.olcmd>span:hover{background:#e6e6e6}
.olcmd .olnew{background:#0f6cbd;color:#fff;font-weight:600;padding:5px 12px}
.olcmd .olnew svg{color:#fff}.olcmd .olnew:hover{background:#115ea3}
.olsep{width:1px;height:20px;background:#d1d1d1;margin:0 4px;display:inline-block}
@media(max-width:860px){.olsearch span,.oltabs,.olhide{display:none}.olname{margin-right:0}}
