/* 소통·캘린더 (talkcal.js). 화면 틀(shell.css)의 색·모양을 그대로 쓴다. */
.tc-comm{display:grid;grid-template-columns:minmax(260px,1fr) 2fr;gap:14px;align-items:start}
.tc-left{display:flex;flex-direction:column;gap:14px;min-width:0}
.tc-right{min-width:0}
.tc-item{cursor:pointer;border-radius:6px;padding-left:4px;padding-right:4px}
.tc-item:hover{background:var(--chip)}
.tc-item.on{background:var(--accent-soft)}
.tc-n{margin-left:auto;background:var(--bad);color:#fff;border-radius:10px;font-size:9.5pt;padding:0 7px}
.tc-msgs{max-height:52vh;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:8px 2px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:8px 0}
.tc-msg{max-width:80%;background:var(--chip);border-radius:10px;padding:6px 10px}
.tc-msg.mine{align-self:flex-end;background:var(--accent-soft)}
.tc-who{font-size:10pt;font-weight:600}.tc-who small{color:var(--dim);font-weight:400;margin-left:6px}
.tc-text,.tc-body{white-space:pre-wrap;word-break:break-word}
.tc-body{margin:8px 0;padding:8px 0;border-top:1px solid var(--line)}
.tc-at{color:var(--accent)}
.tc-share{margin-top:4px;font-size:10pt;display:flex;gap:6px;align-items:center}
.tc-sharebox{margin:4px 0 8px;font-size:10pt}
.tc-send{display:flex;gap:8px;align-items:flex-end}
.tc-send textarea{flex:1}
.tc-in{border:1px solid var(--line);border-radius:6px;padding:5px 8px;background:var(--panel);color:var(--text);font:inherit;width:100%}
.tc-form{display:flex;flex-direction:column;gap:8px}
.tc-form label{display:flex;flex-direction:column;gap:2px;font-size:10.5pt}
.tc-form .tc-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.tc-form .tc-row label{flex-direction:row;align-items:center;gap:6px}
.tc-form input[type=date],.tc-form input[type=time],.tc-form select{border:1px solid var(--line);border-radius:6px;padding:4px 6px;background:var(--panel);color:var(--text);font:inherit}
.tc-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.tc-chips a{cursor:pointer;margin-left:2px}
.tc-plist{max-height:180px;overflow:auto;margin-top:4px}
.tc-p{flex-direction:row!important;align-items:center;gap:6px!important;padding:2px 0}
.tc-p small{color:var(--dim)}
.tc-acts{margin-left:8px}.tc-acts .btn,.card h3 small .btn{padding:2px 8px;font-size:10pt}
.tc-h4{margin:10px 0 0;font-size:10.5pt}
.tc-tbl{overflow-x:auto}
.tc-tbl table{border-collapse:collapse;font-size:10pt}.tc-tbl th,.tc-tbl td{border:1px solid var(--line);padding:2px 6px}
.tc-cal{display:grid;grid-template-columns:3fr minmax(260px,1fr);gap:14px;align-items:start}
.tc-month{width:100%;table-layout:fixed;border-collapse:collapse;min-width:560px}
.tc-month th{font-size:10pt;color:var(--dim);padding:4px}
.tc-month td{border:1px solid var(--line)!important;vertical-align:top;height:88px;padding:2px 4px!important;cursor:pointer;overflow:hidden}
.tc-month td.pad{background:var(--bg);cursor:default}
.tc-month td.today .dn{background:var(--accent);color:#fff;border-radius:10px;display:inline-block;padding:0 6px}
.tc-month td.sel{outline:2px solid var(--accent);outline-offset:-2px}
.tc-month .dn{font-size:10pt;color:var(--dim)}
.tc-ev{font-size:9.5pt;border-radius:4px;padding:0 4px;margin:1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--accent-soft);color:var(--text)}
span.tc-ev{display:inline-block;font-weight:400}
.tc-ev.people{background:#dff5ea}.tc-ev.all{background:#fff0d6}
.tc-ev.job{background:var(--chip);color:var(--dim)}.tc-ev.job.off{text-decoration:line-through}
.tc-talkbtn{margin-left:auto;padding:2px 10px;font-size:10pt}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .tc-ev.people{background:#1d3a2c} :root:not([data-theme="light"]) .tc-ev.all{background:#3a2c12} }
:root[data-theme="dark"] .tc-ev.people{background:#1d3a2c}
:root[data-theme="dark"] .tc-ev.all{background:#3a2c12}
@media (max-width:900px){ .tc-comm,.tc-cal{grid-template-columns:1fr} }
