:root{font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;color:#233044;background:#f5f7fa;font-size:14px;--blue:#2869ed;--line:#e5eaf0;--muted:#8591a3}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:inherit;border-radius:9px;padding:9px 13px;transition:.15s}button:hover{background:#edf3ff;border-color:#b3c8f4}button:disabled{opacity:.5;cursor:wait}input,textarea,select{border:1px solid #dce2ec;border-radius:9px;padding:11px;background:white;color:#233044;width:100%}input:focus,textarea:focus{outline:2px solid #c3d5ff;border-color:var(--blue)}textarea{resize:vertical}h1,h2,h3,p{margin:0}h2{font-size:20px}h3{font-size:15px}a{color:var(--blue)}.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.primary:hover{background:#1959d5;color:white}.danger{color:#ce3547}.danger-action{color:#b83245;border-color:#efb8c0;background:#fff7f8}.danger-action:hover{background:#fdecef;border-color:#dd7c89;color:#a62639}.muted{color:var(--muted);font-size:12px}.loading{padding:100px;text-align:center}.app{height:100vh;min-height:0;overflow:hidden;display:grid;grid-template-columns:78px 246px minmax(360px,1fr) 310px}.rail{background:#172536;position:sticky;top:0;height:100vh;overflow:hidden;color:#9eacc1;display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 10px}.logo{background:#3975f7;color:white;width:44px;height:44px;border-radius:15px;font-weight:900;font-size:20px;display:grid;place-items:center}.rail-label{font-size:10px;text-align:center;margin-top:5px}.rail button{background:transparent;color:inherit;border:0;padding:8px}.rail .on{background:#2a3d54;color:white;border-radius:12px}.spacer{flex:1}.side{background:white;position:sticky;top:0;height:100vh;min-height:0;overflow:hidden;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;gap:24px}.brand h1{font-size:22px;letter-spacing:-1px}.brand p{margin-top:6px}.section-label{font-size:11px;color:#919db0;letter-spacing:1px;font-weight:bold;margin-bottom:12px}.branch{display:flex;gap:12px;align-items:center;width:100%;border:0;text-align:left;padding:14px 12px;margin:5px 0;background:transparent}.branch.active{background:#edf3ff;color:#235dd3}.branch-icon{display:grid;place-items:center;background:#e1ebff;width:36px;height:36px;border-radius:12px;font-weight:800}.branch small{display:block;margin-top:4px;color:#94a1b4}.viewbtn{border:0;background:transparent;width:100%;text-align:left;margin:3px 0;padding:12px}.viewbtn.active{color:var(--blue);font-weight:bold;background:#f1f5fd}.count{float:right;background:#eef1f5;border-radius:5px;padding:1px 6px;font-size:11px}.userbox{display:flex;gap:9px;align-items:center;border-top:1px solid var(--line);padding-top:20px}.avatar{width:34px;height:34px;flex:none;border-radius:11px;background:#e5edff;color:#2863c8;display:grid;place-items:center;font-weight:bold}.avatar.red{background:#ffe9e9;color:#c75757}.center{min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:#f7f9fc}.top{height:86px;padding:22px 28px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px}.top p{margin-top:6px}.online{color:#269b75;font-size:11px}.toolbar{padding:14px 26px;border-bottom:1px solid var(--line);display:flex;gap:8px;background:white}.toolbar input{padding:8px 12px;font-size:12px}.feed{overflow:auto;flex:1;padding:22px 28px}.date-label{text-align:center;font-size:11px;color:#94a0b2;margin:2px 0 26px}.msg{display:flex;gap:10px;margin-bottom:23px;max-width:93%}.msg.mine{margin-left:auto;flex-direction:row-reverse}.msg .content{min-width:0}.msg .name{font-size:11px;margin-bottom:7px;color:#718096}.mine .name{text-align:right}.bubble{background:white;border:1px solid #e4eaf3;border-radius:0 14px 14px 14px;padding:12px 15px;white-space:pre-wrap;line-height:1.7;word-break:break-word}.mine .bubble{background:#e9f0ff;border-color:#dfe8fb;border-radius:14px 0 14px 14px}.msg-time{font-size:10px;color:#99a4b3;margin-top:6px}.msg img.photo{max-width:260px;max-height:220px;display:block;border-radius:8px;cursor:pointer}.system{background:#fff;border:1px solid #e1e7ef;border-left:3px solid var(--blue);border-radius:10px;padding:14px 17px;margin:14px 0;max-width:480px}.system p{font-size:12px;color:#53647b;margin:8px 0}.system button{font-size:11px;padding:5px 9px}.composer{background:white;padding:16px 24px 20px;border-top:1px solid var(--line)}.composebox{border:1px solid #dce4ef;border-radius:13px;padding:12px}.composebox textarea{border:0;padding:0;min-height:54px;resize:none;outline:none;font-size:13px}.compose-actions{display:flex;align-items:center;gap:8px;margin-top:9px}.compose-actions button{font-size:12px}.hint{font-size:10px;color:#99a4b4}.context{display:flex;justify-content:space-between;background:#edf3ff;border-radius:7px;font-size:12px;padding:8px;margin-bottom:8px}.right{background:white;border-left:1px solid var(--line);padding:28px 20px;overflow:auto}.right-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:26px}.metric{background:#f6f8fc;border-radius:12px;padding:15px}.metric strong{display:block;font-size:27px;margin-top:9px;letter-spacing:-1px}.metric small{color:#8491a4;font-size:11px}.metric.orange{background:#fff7ec;color:#c97e26}.case-card{border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0;cursor:pointer}.case-card:hover{border-color:#9bbbf6}.case-card .row{display:flex;justify-content:space-between;gap:8px}.case-card strong{font-size:13px}.case-card p{font-size:12px;line-height:1.6;margin-top:9px;color:#718096;white-space:pre-wrap;overflow-wrap:anywhere}.badge{font-size:10px;border-radius:5px;padding:3px 6px;background:#edf3ff;color:#3667c6;white-space:nowrap}.badge[data-status="접수"]{background:#fff3df;color:#bf831f}.badge[data-status="완료"]{background:#e9f7ee;color:#419563}.badge[data-status="취소"]{background:#fbe9ec;color:#b74b60}.empty{text-align:center;color:#8b98ab;padding:45px 12px;line-height:1.9;font-size:13px}.case-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.case-list .case-card{margin:0}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#dfe5ed;border:1px solid #dfe5ed;border-radius:10px;overflow:hidden}.day{background:white;min-height:104px;padding:8px;font-size:11px;min-width:0}.day.blank{background:#f7f9fc}.weekday{text-align:center;padding:10px;background:#f4f7fb;font-size:11px}.day.today{background:#eff5ff}.event{padding:5px;margin-top:5px;background:#edf3ff;color:#3466c4;border-radius:4px;font-size:10px;cursor:pointer;overflow:hidden}.event.red{background:#fff0f0;color:#c05a65}.month-nav{display:flex;align-items:center;gap:12px;margin-bottom:20px}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.intro{background:#172a44;color:#fff;padding:14vh 12%;display:flex;flex-direction:column;justify-content:center}.intro h1{font-size:44px;line-height:1.4;letter-spacing:-2px;margin:35px 0 22px}.intro p{color:#acbad0;font-size:15px;line-height:1.9}.login-wrap{display:grid;place-items:center;padding:40px}.login-card{width:min(360px,100%)}.login-card h2{font-size:26px;margin-bottom:10px}.login-card form{display:grid;gap:16px;margin-top:28px}label{display:block;font-size:12px;color:#617087}label input,label select,label textarea{margin-top:7px}dialog{border:0;border-radius:18px;padding:0;width:min(730px,94vw);max-height:92vh;box-shadow:0 22px 100px #14223933}dialog::backdrop{background:#15223866;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:23px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}.dialog-body{padding:23px 28px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.audit{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}.audit-item{padding:10px 0;font-size:12px;border-bottom:1px solid #f0f3f7;line-height:1.7}.error{color:#cb4155;font-size:12px;line-height:1.7;margin-top:12px;white-space:pre-wrap}#toast{display:none;position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#1c3049;color:white;padding:13px 23px;border-radius:10px;z-index:99;max-width:90vw;font-size:13px}input[type=checkbox]{width:auto}.settings-section{padding:18px 0;border-bottom:1px solid var(--line)}.settings-section h3{margin-bottom:15px}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:10px 5px;text-align:left;border-bottom:1px solid var(--line)}@media(max-width:1200px){.app{grid-template-columns:64px 210px minmax(350px,1fr)}.right{display:none}.side{padding:24px 14px}}@media(max-width:760px){.app{grid-template-columns:1fr;height:100dvh}.rail{display:none}.side{padding:9px 14px;gap:5px;display:block;border-bottom:1px solid var(--line)}.brand,.section-label,.side .spacer,.userbox{display:none}.branches,.views{display:flex;gap:4px}.branch{padding:8px;margin:0}.branch-icon,.branch small{display:none}.viewbtn{padding:7px;text-align:center;font-size:12px}.app{grid-template-rows:auto minmax(0,1fr)}.top{height:68px;padding:12px 16px}.toolbar{padding:10px 16px}.feed{padding:15px}.composer{padding:12px}.hint{display:none}.login-page{grid-template-columns:1fr}.intro{display:none}.formgrid{grid-template-columns:1fr}.dialog-body{padding:18px}.day{min-height:85px;padding:4px}.event{font-size:9px}.user-mobile{display:block}.top h2{font-size:17px}}

.side .branches{max-height:32vh;overflow:auto}.branch strong{overflow-wrap:anywhere}.side{overflow:auto}.branch{min-width:0}@media(max-width:760px){.side .branches{overflow:auto;max-height:90px}.branch{min-width:140px}}

.msg-meta,.system-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.msg-tools{display:inline-flex;gap:4px;margin-left:8px;opacity:.38;transition:.15s}.msg:hover .msg-tools,.system:hover .msg-tools{opacity:1}.msg-tools button{padding:2px 6px;font-size:10px;border-radius:6px;background:transparent}.msg-tools .danger{color:#c94758}.toolbar #toggle-cancelled{white-space:nowrap;background:#f7f9fc}.danger-action{color:#c43c50;border-color:#efcbd1;background:#fff7f8}.danger-action:hover{background:#fdecef;border-color:#e9aab4}@media(max-width:760px){.msg-tools{opacity:1}.toolbar #toggle-cancelled{font-size:10px;padding:6px}.toolbar{flex-wrap:wrap}}

.document-free-editor .settings-section{border:0;padding-bottom:4px}.document-preview-help{font-size:11px;color:#64748b;background:#f7f9fc;border:1px solid #e4e9f0;border-radius:8px;padding:9px 11px;margin-bottom:8px}.document-preview-sheet{position:relative;aspect-ratio:210/297;width:min(100%,520px);margin:0 auto;background:white;border:1px solid #cdd6e3;box-shadow:0 5px 20px #1b2b4214;overflow:hidden;user-select:none}.document-preview-sheet>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.document-static-field{position:absolute;white-space:pre-wrap;overflow-wrap:anywhere;color:#252a32;line-height:1.25;pointer-events:none}.document-free-text{position:absolute;min-height:20px;padding:2px 3px;border:1px dashed #2d6dec;background:#dce9ffb8;color:#172033;cursor:move;touch-action:none;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.25}.document-free-text.selected{outline:2px solid #2d6dec;background:#cfe0ffdc}.document-free-controls{margin-top:12px;padding:12px;background:#f8fafc;border:1px solid #e3e8ef;border-radius:10px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.document-free-controls .full{grid-column:1/-1}.document-plain-preview{padding:18px;border:1px dashed #cbd5e1;background:#fafafa;border-radius:9px;color:#64748b;line-height:1.8}@media(max-width:760px){.document-free-controls{grid-template-columns:1fr}.document-preview-sheet{width:100%}}

/* 0.5.4 participants + direct messages */
.member-list-side{display:flex;flex-direction:column;gap:5px;max-height:220px;overflow:auto}
.member-side{width:100%;display:flex;align-items:center;gap:8px;text-align:left;padding:8px 9px;border:1px solid transparent;background:transparent;border-radius:9px}
.member-side:hover,.member-side.active{background:#eef3ff;border-color:#dce5ff}
.member-side .member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.member-side small{font-size:9px;color:var(--muted)}
.presence{width:8px;height:8px;border-radius:50%;background:#aeb7c5;display:inline-block;flex:none}.presence.on{background:#27a57b;box-shadow:0 0 0 2px rgba(39,165,123,.12)}
.dm-unread{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e75165;color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center}
.member-modal-list{display:flex;flex-direction:column;gap:8px}.member-card{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);border-radius:12px}.member-card>div{flex:1}.member-card p{margin-top:3px}.member-card button{white-space:nowrap}
.name-link{border:0;background:transparent;padding:0;color:inherit;font-weight:700;cursor:pointer}.name-link:hover{text-decoration:underline}
.danger-soft{color:#b43e4d;border-color:#f0c8ce;background:#fff7f8}.danger-soft:hover{background:#ffedf0}
.dm-profile{text-align:center;padding:28px 10px}.dm-profile .avatar.big{width:52px;height:52px;font-size:20px;margin:0 auto 12px}.dm-profile h3{margin:0 0 7px}

/* 0.5.5 Google Calendar import */
.import-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;margin-bottom:10px}.import-summary span{font-size:12px;color:#6f7b8f}.calendar-import-list{max-height:330px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:white}.calendar-import-row{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border-bottom:1px solid var(--line);cursor:pointer}.calendar-import-row:last-child{border-bottom:0}.calendar-import-row input{margin-top:4px}.calendar-import-row span{min-width:0;line-height:1.55}.calendar-import-row.disabled{opacity:.62;cursor:default;background:#fafafa}.calendar-import-row:hover:not(.disabled){background:#f6f9ff}
.day-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.day-add{width:24px;height:24px;padding:0;border-radius:7px;font-size:14px;line-height:1;color:#6f7f95;border-color:transparent;background:transparent}.day:hover .day-add{background:#eef4ff;color:var(--blue);border-color:#cfe0ff}.workbot-found{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.workbot-found button{flex:none}@media(max-width:760px){.month-nav{gap:6px;flex-wrap:wrap}.month-nav .spacer{display:none}.day-add{width:21px;height:21px;font-size:12px}.workbot-found{align-items:flex-start;flex-direction:column}}

/* 0.5.10 shared HWP schedule preview */
.app.schedule-mode{grid-template-columns:78px 246px minmax(520px,1fr)}
.app.schedule-mode .right{display:none}
.schedule-wrap{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px}
.schedule-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;flex:none}
.schedule-bar h3{font-size:15px;margin-bottom:5px;overflow-wrap:anywhere}
.schedule-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.schedule-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:#233044;border-radius:9px;padding:9px 13px;text-decoration:none;font-size:12px}
.schedule-link:hover{background:#edf3ff;border-color:#b3c8f4;color:#233044}
.schedule-frame{flex:1;min-height:560px;background:#e8edf4;border:1px solid #d8e0ea;border-radius:12px;overflow:hidden}
.schedule-frame iframe{display:block;width:100%;height:100%;min-height:560px;border:0;background:#fff}
.schedule-loading,.schedule-error{max-width:680px;margin:70px auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;line-height:1.8}
.schedule-loading p,.schedule-error p{margin-top:10px;color:#718096}
.schedule-warning{background:#fff8e9;border:1px solid #f1d79c;color:#8a641d;border-radius:10px;padding:10px 13px;font-size:12px;line-height:1.6}
@media(max-width:1200px){.app.schedule-mode{grid-template-columns:64px 210px minmax(350px,1fr)}}
@media(max-width:760px){.app.schedule-mode{grid-template-columns:1fr}.schedule-bar{align-items:flex-start;flex-direction:column}.schedule-actions{justify-content:flex-start}.schedule-frame,.schedule-frame iframe{min-height:480px}}

.logo{background:transparent!important;overflow:hidden}.logo img{width:100%;height:100%;object-fit:contain;display:block}

/* 0.6.0 parts, attachments, compact top actions */
.top>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.file-attachment{margin-top:9px;display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid #d8e0ec;background:#f8fafc;border-radius:9px;min-width:230px;white-space:normal}
.file-attachment a{font-size:11px;text-decoration:none;white-space:nowrap}.attachment-image{display:block;margin-top:8px}.button-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:#233044;border-radius:9px;padding:9px 13px;text-decoration:none;font-size:12px}.button-link:hover{background:#edf3ff;border-color:#b3c8f4;color:#233044}
.parts-wrap{max-width:1100px;margin:0 auto}.parts-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:13px}.parts-head h3{font-size:18px;margin-bottom:7px}.part-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.part-card{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;min-width:0}.part-preview{display:block;width:100%;height:210px;object-fit:contain;background:#f3f5f8;border-bottom:1px solid var(--line)}.part-pdf{height:210px;display:grid;place-items:center;background:#f3f5f8;border-bottom:1px solid var(--line);text-decoration:none;font-weight:700}.part-body{padding:14px}.part-body .row{display:flex;justify-content:space-between;gap:8px}.part-body p{margin-top:8px;line-height:1.6;overflow-wrap:anywhere}.part-body .actions{margin-top:13px}.part-body .actions button,.part-body .actions a{font-size:11px;padding:7px 10px}
@media(max-width:760px){.top>div:last-child{gap:3px}.top>div:last-child button{font-size:10px;padding:6px 7px}.parts-head{flex-direction:column}.part-grid{grid-template-columns:1fr}.part-preview,.part-pdf{height:180px}}

/* WorkTalk 0.7.0 UI refinement */
.top-actions{display:flex;gap:7px;align-items:center}.icon-btn{border:0;background:transparent;padding:6px 7px;font-size:15px}.icon-btn:hover{background:#eef3fb}.quick-summary{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));gap:10px;padding:12px 24px;background:#fff;border-bottom:1px solid var(--line)}.quick-summary button,.quick-summary .quick-dm{border:1px solid #e6ebf3;border-radius:12px;background:#f8faff;display:flex;align-items:center;justify-content:space-between;padding:10px 13px;min-height:46px}.quick-summary button:hover{border-color:#b8cdf5;background:#f0f5ff}.quick-summary button.warn{background:#fff9ef}.quick-summary span{font-size:11px;color:#77869a}.quick-summary b{font-size:18px;color:#233044}.menu-sheet{display:grid;gap:10px}.menu-sheet button{width:100%;text-align:left;padding:13px 15px}.parts-filter{display:flex;align-items:center;gap:10px;margin:14px 0 18px}.parts-filter select{width:160px;padding:8px}.part-status{font-size:10px;font-weight:700;padding:4px 8px;border-radius:999px;background:#eef2f8;color:#5a687c}.part-status[data-part-state="접수"]{background:#fff3df;color:#a96f16}.part-status[data-part-state="주문"]{background:#e9f0ff;color:#2d64cc}.part-status[data-part-state="입고대기"]{background:#f2ebff;color:#7053b6}.part-status[data-part-state="완료"]{background:#e7f7ed;color:#2e8a55}.part-state-edit{margin-top:12px;display:flex;align-items:center;gap:10px}.part-state-edit select{width:140px;padding:7px 9px;margin:0}.settings-section{background:#fff;border:1px solid #edf0f5;border-radius:12px;padding:17px;margin:12px 0}.settings-section+.settings-section{border-top:1px solid #edf0f5}.update-card{background:#f7faff;border-color:#dce8ff}.version-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.version-grid>div{border:1px solid #dce5f3;background:white;border-radius:10px;padding:12px}.version-grid span{display:block;color:#8491a4;font-size:11px;margin-bottom:5px}.version-grid b{font-size:16px}.userbox .icon-btn{margin-left:auto}.userbox .icon-btn+#logout{margin-left:0}.side .views{display:grid;gap:3px}
@media(max-width:1200px){.quick-summary{grid-template-columns:repeat(2,minmax(140px,1fr));padding:10px 18px}.top-actions #member-info{display:none}}
@media(max-width:760px){.quick-summary{grid-template-columns:repeat(2,1fr);padding:8px 10px;gap:6px}.quick-summary button,.quick-summary .quick-dm{padding:8px 10px;min-height:40px}.quick-summary b{font-size:16px}.top-actions{gap:5px}.top-actions button{padding:7px 9px}.version-grid{grid-template-columns:1fr}}

/* WorkTalk 0.7.2: fixed 1:1 controls + unified reservation search */
.app.dm-mode .top-actions #member-info{display:inline-flex!important;align-items:center}
.app.dm-mode .top-actions .dm-leave-top{display:inline-flex!important;white-space:nowrap}
.search-result-wrap{max-width:1120px;margin:0 auto;padding-bottom:30px}
.search-result-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:15px 17px;background:#fff;border:1px solid var(--line);border-radius:12px}
.search-result-head h3{font-size:17px;margin-bottom:6px}
.search-section{margin:18px 0 26px}.search-section>h3{font-size:13px;margin:0 0 10px;color:#526175}
.search-message-list{display:grid;gap:9px}.search-message-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 14px}.search-message-card .row{display:flex;align-items:center;justify-content:space-between;gap:12px}.search-message-card p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;color:#56657a;margin:8px 0}.search-message-card button{font-size:11px;padding:6px 9px}
@media(max-width:760px){.search-result-head{align-items:flex-start;flex-direction:column}.app.dm-mode .top-actions{flex-wrap:nowrap}.app.dm-mode .top-actions #member-info,.app.dm-mode .top-actions .dm-leave-top{font-size:10px;padding:6px 7px}}


/* WorkTalk 0.7.4: default room chat + real DM leave + optional company shared folder */
.top{position:sticky;top:0;z-index:20;flex:none}
.dm-bottom-actions{align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;border:1px solid #e5eaf0;background:#f8fafc;border-radius:10px}
.dm-bottom-actions button{font-size:11px;padding:7px 10px}
.pending-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fffaf1;border:1px solid #f1deb7;border-radius:12px;padding:12px 14px;margin-bottom:18px}
.pending-strip>div:first-child{display:flex;flex-direction:column;gap:4px}.pending-strip>div:first-child span{font-size:11px;color:#8b7650}.pending-strip-items{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.pending-strip-items button{font-size:11px;padding:6px 9px}.pending-all{color:#9a671d}
.shared-wrap{max-width:1150px;margin:0 auto;padding-bottom:30px}.shared-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 17px;margin-bottom:15px}.shared-head h3{font-size:18px;margin-bottom:6px}.shared-head .actions{margin:0}.shared-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.shared-folder{min-height:96px;display:flex;align-items:center;gap:12px;text-align:left;padding:16px}.shared-folder span{font-size:28px}.shared-file{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.shared-file>a:first-child{display:block;background:#f3f6fa}.shared-file img{width:100%;height:180px;object-fit:contain;display:block}.shared-file>div{display:flex;align-items:center;gap:8px;padding:10px 11px}.shared-file b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.shared-file .button-link{font-size:10px;padding:6px 8px;flex:none}
@media(max-width:760px){.pending-strip{align-items:flex-start;flex-direction:column}.pending-strip-items{justify-content:flex-start}.shared-head{flex-direction:column}.shared-grid{grid-template-columns:1fr}.shared-file img{height:210px}}

/* WorkTalk 0.7.4: compact parts, multi shared folders, parts-only alerts */
.rail-part{position:relative}.rail-alert{display:none;position:absolute;right:7px;top:4px;width:8px;height:8px;border-radius:50%;background:#e4485d;color:transparent;box-shadow:0 0 0 2px #172536}.rail-alert.show{display:block}
.part-toolbar{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:12px}.part-toolbar input{max-width:380px}.part-toolbar .muted{margin-left:auto}.part-list{display:flex;flex-direction:column;gap:8px}.part-row{display:grid;grid-template-columns:104px minmax(180px,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.part-thumb{position:relative;display:block;width:104px;height:76px;border:0;padding:0;border-radius:9px;overflow:hidden;background:#f3f5f8;cursor:pointer}.part-thumb:disabled{cursor:default}.part-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:6px;text-align:center;color:var(--muted);font-size:10px;background:#f3f5f8}.part-thumb img[src]{position:relative;z-index:1;background:#fff}.part-thumb img{width:100%;height:100%;object-fit:contain;display:block}.part-info{display:flex;flex-direction:column;gap:4px;min-width:0}.part-info strong{font-size:16px}.part-info span,.part-info small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.part-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.part-actions a,.part-actions button{font-size:11px;padding:7px 9px}.shared-root-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.shared-root-card{min-height:110px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;padding:18px}.shared-root-card span{font-size:30px;grid-row:1/3}.shared-root-card b{font-size:14px}.shared-root-card small{color:var(--muted)}.shared-setting-list{display:flex;flex-direction:column;gap:8px}.shared-setting-row{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f9fbfd}.shared-setting-main{flex:1;min-width:0}.shared-setting-main input{margin:0;padding:8px 10px}.shared-setting-main small{display:block;margin-top:5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shared-setting-actions{display:flex;gap:5px}.shared-setting-actions button{padding:7px 9px}
@media(max-width:760px){.part-toolbar{flex-wrap:wrap}.part-toolbar input{max-width:none;flex:1 1 100%}.part-toolbar .muted{width:100%;margin-left:0}.part-row{grid-template-columns:76px 1fr}.part-thumb{width:76px;height:64px}.part-actions{grid-column:1/-1;justify-content:flex-start}.shared-setting-row{align-items:flex-start;flex-direction:column}.shared-setting-actions{width:100%}}

/* 0.8.2 operations safety + vehicle history */
.admin-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.admin-health-grid>div{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;display:flex;flex-direction:column;gap:5px}.admin-health-grid span{font-size:11px;color:var(--muted)}.admin-health-grid b{font-size:13px}.admin-health-grid .ok{color:#238765}.admin-health-grid .warn{color:#b57418}.backup-list{margin-top:12px;border-top:1px solid var(--line)}.backup-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.backup-row>div{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.backup-row small{color:var(--muted)}.backup-row button{white-space:nowrap}.vehicle-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.vehicle-summary>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;display:flex;justify-content:space-between;align-items:center}.vehicle-summary span{font-size:12px;color:var(--muted)}.vehicle-summary b{font-size:18px}.vehicle-timeline{position:relative;padding:4px 0}.vehicle-timeline:before{content:"";position:absolute;left:10px;top:8px;bottom:8px;width:2px;background:var(--line)}.vehicle-event{position:relative;display:grid;grid-template-columns:22px 1fr;gap:10px;padding:8px 0}.vehicle-dot{width:10px;height:10px;border-radius:50%;background:#496783;border:2px solid #fff;box-shadow:0 0 0 2px var(--line);margin-top:7px;z-index:1}.vehicle-event.part .vehicle-dot{background:#b57418}.vehicle-event.message .vehicle-dot{background:#5f8a72}.vehicle-event-body{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 12px;min-width:0}.vehicle-event-body small{display:block;color:var(--muted);margin-bottom:4px}.vehicle-event-body b{display:block}.vehicle-event-body p{margin-top:6px;white-space:pre-wrap;line-height:1.55}.vehicle-event-body button{margin-top:8px}
@media(max-width:760px){.admin-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-summary{grid-template-columns:1fr}.backup-row{align-items:flex-start;flex-direction:column}.backup-row button{width:100%}}
\n/* 0.8.3 message reactions + emoji picker */\n.reaction-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:5px;min-height:22px}\n.reaction-chip,.reaction-add,.reaction-choices button,.consult-confirm{border:1px solid var(--line);background:#fff;border-radius:14px;padding:3px 7px;font-size:11px;line-height:1.2}\n.reaction-chip.mine{background:#eef5ff;border-color:#9dbce9}.reaction-chip:hover,.reaction-add:hover,.reaction-choices button:hover{background:#f2f5f8}\n.reaction-menu{position:relative;display:inline-flex}.reaction-choices{display:none;position:absolute;z-index:45;left:0;bottom:28px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 20px rgba(0,0,0,.12);border-radius:10px;padding:6px;gap:4px;white-space:nowrap}.reaction-menu.open .reaction-choices{display:flex}.reaction-choices button{font-size:16px;padding:4px 6px}\n.business-reaction-line{display:flex;gap:6px;align-items:center;margin-top:5px}.business-reaction-line:empty{display:none}.consult-confirm{background:#edf9f4;border-color:#8bc9af;color:#176b4d;font-weight:700}.consult-confirmed{display:inline-flex;align-items:center;background:#edf9f4;border:1px solid #8bc9af;color:#176b4d;border-radius:14px;padding:3px 8px;font-size:11px;font-weight:700}\n.compose-actions{position:relative}.emoji-picker{display:none;position:absolute;z-index:50;left:76px;bottom:42px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.15);border-radius:12px;padding:7px;grid-template-columns:repeat(6,34px);gap:4px}.emoji-picker.open{display:grid}.emoji-picker button{border:0;background:transparent;font-size:20px;padding:4px;border-radius:8px}.emoji-picker button:hover{background:#f2f5f8}\n.msg.mine .reaction-row{justify-content:flex-end}\n
/* 0.8.4 fixed navigation, side reactions, clipboard/notification polish */
.side>div:has(.member-list-side){min-height:0;display:flex;flex-direction:column}.member-list-side{min-height:0;overflow:auto;overscroll-behavior:contain}.rail,.side{align-self:stretch}.feed{min-height:0;overscroll-behavior:contain}
.msg .content,.system{position:relative}.reaction-ui{position:relative;min-height:0}.reaction-ui .reaction-row{margin-top:5px}.reaction-ui .reaction-menu{position:absolute;top:-42px;left:-34px;z-index:35}.msg.mine .reaction-ui .reaction-menu{left:auto;right:-34px}.system .reaction-ui .reaction-menu{left:auto;right:8px;top:-38px}.reaction-add{width:28px;height:28px;padding:0!important;border-radius:50%!important;display:grid;place-items:center;font-size:15px!important;opacity:0;transform:scale(.92);transition:.15s;background:#fff!important;box-shadow:0 2px 10px #1d2c4020}.msg:hover .reaction-add,.system:hover .reaction-add,.reaction-menu.open .reaction-add{opacity:1;transform:scale(1)}.reaction-choices{bottom:34px;left:0}.msg.mine .reaction-choices{left:auto;right:0}.emoji-picker{left:48px;bottom:40px;z-index:80}.composebox{overflow:visible}.composer{overflow:visible;position:relative;z-index:20}#photo-name{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){html,body{overflow:hidden}.side{position:relative;height:auto;overflow:visible}.reaction-add{opacity:1}.reaction-ui .reaction-menu{left:-30px}.msg.mine .reaction-ui .reaction-menu{right:-30px}.emoji-picker{position:fixed;left:12px;right:12px;bottom:86px;grid-template-columns:repeat(6,1fr)}}

/* 1.0.0 — fixed navigation, inline reactions, large emoji, read receipts, PDF forms */
@media(min-width:761px){
  .app{height:100vh;overflow:hidden}
  .rail{position:sticky!important;top:0;height:100vh;overflow:hidden!important}
  .side{position:sticky!important;top:0;height:100vh;overflow:hidden!important;min-height:0}
  .side .branches{max-height:28vh;overflow:auto;overscroll-behavior:contain}
  .side>div:has(.member-list-side){flex:1;min-height:120px;overflow:hidden}
  .member-list-side{max-height:none;flex:1;overflow:auto!important}
  .center{min-height:0;height:100vh;overflow:hidden}
  .feed{overflow:auto;min-height:0}
}
.bubble-line{display:flex;align-items:center;gap:7px;max-width:100%}.msg.mine .bubble-line{justify-content:flex-end;flex-direction:row-reverse}.bubble-line>.bubble{min-width:0}
.bubble-line>.reaction-menu{position:relative;display:inline-flex;flex:none}.bubble-line>.reaction-menu .reaction-add{position:relative;left:auto;right:auto;top:auto;opacity:0}.msg:hover .bubble-line>.reaction-menu .reaction-add,.bubble-line>.reaction-menu.open .reaction-add{opacity:1;transform:scale(1)}
.bubble-line>.reaction-menu .reaction-choices{left:0;right:auto;bottom:34px}.msg.mine .bubble-line>.reaction-menu .reaction-choices{left:auto;right:0}
.emoji-bubble{font-size:48px!important;line-height:1.18!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:3px 2px!important;max-width:340px;letter-spacing:2px;white-space:pre-wrap}.msg.mine .emoji-bubble{background:transparent!important}
.emoji-picker{grid-template-columns:repeat(7,40px)!important;padding:10px!important;gap:5px!important}.emoji-picker button{font-size:28px!important;line-height:1.2;padding:5px!important}
.read-state-btn{border:0;background:transparent;color:var(--muted);font-size:10px;padding:0 2px;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.read-state-btn:hover{color:#2459b6}.dm-read-state{font-size:10px}.dm-read-state.read{color:#2b8a66}.dm-read-state.unread{color:#a37a37}.read-state-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.read-state-grid section{border:1px solid var(--line);border-radius:10px;padding:12px}.read-state-grid h3{margin-bottom:8px;font-size:13px}.read-state-grid p{margin:5px 0;font-size:12px}
.template-pdf-bg,.document-pdf-bg{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;background:#fff}.document-preview-sheet>.document-pdf-bg{z-index:0}.document-preview-sheet>.document-static-field,.document-preview-sheet>.document-free-text{z-index:2}
.tesla-template-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-bottom:16px;border:1px solid #f0c7c7;border-radius:13px;background:linear-gradient(135deg,#fff8f8,#fff)}.tesla-template-card>div{display:flex;align-items:center;gap:12px}.tesla-template-card h3{margin:0 0 5px;font-size:15px}.tesla-template-card p{margin:0;color:var(--muted);font-size:11px}.tesla-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#ba1d21;color:#fff;font-size:22px;font-weight:900;flex:none}.workorders-wrap{max-width:1100px;margin:0 auto;padding-bottom:30px}.workorders-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:17px 19px;background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:12px}.workorders-head h3{font-size:18px;margin-bottom:7px}.workorders-head p{line-height:1.7;max-width:720px}.workorders-toolbar{display:flex;gap:8px;align-items:center;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}.workorders-toolbar input{max-width:420px}.workorder-list{display:flex;flex-direction:column;gap:8px}.workorder-row{display:grid;grid-template-columns:48px minmax(220px,1fr) auto;align-items:center;gap:13px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:12px}.workorder-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#fceced;color:#a8181d;font-size:12px;font-weight:900}.workorder-row strong{font-size:14px}.workorder-row p,.workorder-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.workorder-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.workorder-case-list{display:flex;flex-direction:column;gap:7px;margin-top:12px;max-height:430px;overflow:auto}.workorder-case-list button{display:grid;grid-template-columns:150px 1fr auto;gap:10px;align-items:center;text-align:left;padding:11px 13px}.workorder-case-list span,.workorder-case-list small{color:var(--muted)}
@media(max-width:760px){.tesla-template-card,.workorders-head{align-items:stretch;flex-direction:column}.workorders-toolbar{flex-wrap:wrap}.workorders-toolbar input{max-width:none;flex-basis:100%}.workorder-row{grid-template-columns:42px 1fr}.workorder-actions{grid-column:1/-1;justify-content:flex-start}.workorder-case-list button{grid-template-columns:1fr}.workorder-case-list span,.workorder-case-list small{display:block}}
@media(max-width:760px){.bubble-line>.reaction-menu .reaction-add{opacity:1}.emoji-bubble{font-size:42px!important}.emoji-picker{grid-template-columns:repeat(5,1fr)!important}.read-state-grid{grid-template-columns:1fr}}

/* Edited consultations update their original card instead of creating a new chat notice. */
.case-edited{display:inline-block;font-size:11px;color:#51677c;background:#ecf3fa;border:1px solid #d7e5f2;border-radius:8px;padding:3px 7px;margin:6px 0;line-height:1.5}

/* Quick replies work in both company rooms and direct messages. */
.quoted-message{display:flex;flex-direction:column;gap:3px;margin:0 0 7px;padding:6px 9px;border-left:3px solid #7196c9;background:rgba(115,150,200,.12);border-radius:3px;font-size:12px;max-width:100%;overflow-wrap:anywhere}
.quoted-message b{font-size:11px}.quoted-message span{white-space:pre-wrap}.quick-reply{font-size:11px!important;padding:2px 5px!important;color:#526c83!important;background:transparent!important;cursor:pointer}
[data-reply-item]{cursor:default}[data-reply-item]:hover{outline:1px solid rgba(95,139,197,.24)}

/* Direct-message directory: recent conversations + all eligible room members. */
.dm-directory{min-height:0;display:flex;flex-direction:column;flex:1}
.dm-directory .member-list-side{max-height:none;flex:1;min-height:110px;overflow:auto;overscroll-behavior:contain}
.dm-directory-search{display:block;padding:2px 0 10px}
.dm-directory-search input{font-size:12px;padding:8px;width:100%;box-sizing:border-box}
.dm-directory-section{margin-bottom:15px}
.dm-directory-section .section-label{font-size:11px;margin:8px 0 4px;letter-spacing:0}
.dm-directory-rows{display:flex;flex-direction:column;gap:2px}
.dm-directory-empty,.dm-directory-no-match{padding:7px 9px}
.member-side[hidden],.dm-directory-empty[hidden],.dm-directory-no-match[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* 1.0.14: keep the primary server running while the operator changes company. */
.company-switcher{width:100%;display:flex;align-items:center;gap:10px;text-align:left;margin-top:14px;padding:10px 11px;border-color:#cddcf6;background:#f4f8ff}.company-switcher>span:first-child{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#2869ed;color:#fff;font-size:17px;flex:none}.company-switcher>span:last-child{display:flex;flex-direction:column;min-width:0}.company-switcher b{font-size:12px}.company-switcher small{font-size:10px;color:var(--muted);margin-top:3px}.company-connection-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.company-connection{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:12px 13px;text-align:left}.company-connection.active{background:#edf5ff;border-color:#9fbcf1}.company-connection:disabled{opacity:1;cursor:default}.company-connection-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e5edff;color:#245cc7;font-size:20px}.company-connection>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.company-connection b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-connection small{margin-top:4px;color:var(--muted);font-size:11px}.company-connection em{font-style:normal;color:#2869ed;font-size:11px;font-weight:700}
@media(max-width:760px){.company-switcher{display:none}.company-connection{grid-template-columns:36px minmax(0,1fr) auto}}

/* 1.0.14 final sidebar balance: company switching stays compact and the
   employee/1:1 directory receives the remaining height like a chat app. */
@media(min-width:761px){
  .app{grid-template-columns:78px 268px minmax(360px,1fr) 310px}
  .side{padding:20px 14px 16px;gap:12px;overflow:hidden}
  .brand h1{font-size:20px}.brand p{margin-top:3px}
  .company-switcher{min-height:38px;margin-top:8px;padding:6px 8px;gap:7px;border-radius:8px}
  .company-switcher>span:first-child{width:25px;height:25px;border-radius:7px;font-size:14px}
  .company-switcher b{font-size:11px}.company-switcher small{display:none}
  .side .branches{max-height:18vh!important}
  .branch{padding:9px 10px;margin:2px 0;gap:9px}
  .branch-icon{width:32px;height:32px;border-radius:10px}
  .branch small{margin-top:2px;font-size:10px}
  .side .views{gap:1px}.viewbtn{padding:8px 10px;margin:1px 0}
  .side #create-room,.side #join-room{padding:7px 8px;font-size:11px}
  .side>.spacer{display:none}
  .dm-directory{flex:1 1 300px!important;min-height:240px!important;border-top:1px solid #eef1f5;padding-top:3px;overflow:hidden}
  .dm-directory>.section-label{margin-top:7px!important;margin-bottom:7px!important}
  .dm-directory .member-list-side{min-height:205px!important;max-height:none!important;flex:1 1 auto!important}
  .dm-directory-search{position:sticky;top:0;z-index:3;background:#fff;padding:2px 0 8px}
  .member-side{padding:10px 9px;min-height:39px}
  .dm-directory-section{margin-bottom:10px}
  .userbox{padding-top:12px}
}
@media(min-width:761px) and (max-width:1200px){.app{grid-template-columns:64px 238px minmax(350px,1fr)}.right{display:none}}

/* 1.0.5: draggable, zoomable outbound schedule preview. PDF controls remain
   accessible after turning off grab mode or opening the original PDF. */
.schedule-navigation{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:10px}
.schedule-navigation button{padding:7px 10px;font-size:12px;border:1px solid #dce5f2;background:#fff;border-radius:7px;cursor:pointer}
.schedule-navigation button:hover{background:#ecf3ff}
.schedule-navigation b{min-width:50px;text-align:center}
.schedule-viewport{height:min(73vh,920px);min-height:490px;position:relative;border:1px solid #d8e0ea;border-radius:11px;overflow:hidden;background:#e8edf4}
.schedule-viewport .schedule-frame{position:absolute;inset:0;overflow:auto;min-height:0;height:100%;border:0;border-radius:0;overscroll-behavior:contain}
.schedule-viewport .schedule-frame iframe{display:block;min-height:0;min-width:100%;border:0;background:white}
.schedule-grab{position:absolute;inset:0;z-index:3;cursor:grab;touch-action:none}
.schedule-grab.dragging{cursor:grabbing}
.schedule-grab[hidden]{display:none}
@media(max-width:760px){.schedule-viewport{min-height:400px;height:65vh}}

/* 1.0.9: loaner register, history lookup and Korean holiday badges */
.kr-holiday{display:block;font-size:10px;font-weight:700;color:#c62828;background:#fff0f0;border-radius:4px;padding:2px 4px;margin:3px 0;line-height:1.35}
.loaner-wrap{display:flex;flex-direction:column;gap:14px}.loaner-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.loaner-head h3{margin:0 0 6px}.holiday-source{font-size:11px;margin:0}
.loaner-calendar .day{min-height:115px}.loaner-event{display:block;width:100%;border:0;border-radius:5px;margin-top:3px;padding:5px;text-align:left;line-height:1.35;font-size:11px;overflow-wrap:anywhere;cursor:pointer}.loaner-event small{font-size:10px}.loaner-event.out{background:#dcebff;color:#175ba4}.loaner-event.returned{background:#e0f6e9;color:#167244}
.loaner-sections{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.loaner-sections section{border:1px solid var(--line);padding:12px;border-radius:12px;background:#fff}.loaner-card-list,.loaner-day-list{display:flex;flex-direction:column;gap:8px}.loaner-card{border:1px solid var(--line);padding:9px;border-radius:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.loaner-card b{flex:1;min-width:95px}.loaner-card .muted{flex:1}.loaner-card button{font-size:11px}.loaner-search{display:flex;flex-direction:column;gap:9px}.loaner-search label{display:block;font-size:12px;font-weight:600}.loaner-search input{width:100%;box-sizing:border-box;margin-top:3px}.loaner-result{display:block;text-align:left;width:100%;padding:9px;margin-top:6px;border:1px solid var(--line);border-radius:8px;background:#fff;line-height:1.5}.loaner-result:hover{background:#f4f8ff}.loaner-detail p{padding:6px 0;border-bottom:1px solid var(--line);line-height:1.5}.attachment-wrap .attachment-actions{display:flex;gap:9px;margin-top:5px;font-size:12px}.file-attachment{gap:8px}
@media(max-width:1100px){.loaner-sections{grid-template-columns:1fr}.loaner-calendar .day{min-height:85px}.loaner-event{font-size:10px;padding:3px}}
@media print{.loaner-head button,.loaner-wrap .month-nav button,.loaner-search button{display:none}}

/* 1.0.14 final messaging polish: mentions, richer emoji picker and attachment preview. */
.quick-summary{grid-template-columns:repeat(6,minmax(92px,1fr))}.quick-summary button.mention-warn{background:#fff2e8;border-color:#ffc690}.quick-summary button.mention-warn b{color:#c14d12}
.viewbtn.alert{background:#fff2e8;color:#a74216}.viewbtn.alert .count{background:#e85b22;color:#fff}
.mention-picker-list{display:flex;flex-direction:column;gap:7px;margin-top:14px;max-height:420px;overflow:auto}.mention-picker-list button{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:9px;text-align:left;padding:11px 13px}.mention-picker-list small{color:var(--muted)}
.mention-page{max-width:820px;margin:0 auto}.mention-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}.mention-page-head h3{margin-bottom:5px}.mention-list{display:flex;flex-direction:column;gap:9px}.mention-card{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:14px 16px;border:1px solid #e6dfd6;border-left:4px solid #ee8a39;border-radius:12px;background:#fff}.mention-card-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#fff0e2;color:#c45116;font-size:19px;font-weight:800}.mention-card .row{display:flex;justify-content:space-between;gap:10px}.mention-card p{margin-top:7px;white-space:pre-wrap;line-height:1.55}.mention-card .actions{margin-top:10px}.mention-focus{animation:mentionPulse 1.8s ease}@keyframes mentionPulse{0%,100%{box-shadow:none}25%,70%{box-shadow:0 0 0 4px #ffad5b66}}
.emoji-picker{width:356px;max-height:390px;grid-template-columns:none!important;padding:0!important;overflow:hidden}.emoji-picker.open{display:flex!important;flex-direction:column}.emoji-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:8px 8px 5px;border-bottom:1px solid var(--line);gap:4px}.emoji-tabs button{font-size:11px!important;padding:7px!important}.emoji-tabs button.active{background:#eaf2ff!important;color:#245bb6;font-weight:700}.emoji-help{font-size:10px;color:var(--muted);padding:7px 10px 3px;line-height:1.45}.emoji-grid{display:grid;grid-template-columns:repeat(7,40px);gap:4px;padding:6px 10px 10px;overflow:auto}.emoji-grid button{position:relative}.emoji-grid button.favorite:after{content:'★';position:absolute;right:0;top:-2px;font-size:9px;color:#ed9c19}.emoji-empty{grid-column:1/-1;padding:22px 8px;color:var(--muted);font-size:11px;text-align:center}
.attachment-preview{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:11px;margin:8px 0 1px;padding:9px 11px;border:1px solid #cfdced;border-radius:10px;background:#f7faff}.attachment-preview[hidden]{display:none}.attachment-preview img{width:64px;height:52px;object-fit:cover;border-radius:7px;border:1px solid #d8e2ef;background:#fff}.attachment-preview>div{display:flex;flex-direction:column;gap:4px;min-width:0}.attachment-preview b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-preview small{font-size:10px;color:var(--muted)}.attachment-file-icon{display:grid;place-items:center;width:64px;height:52px;border-radius:7px;background:#eaf1fb;font-size:25px}
@media(max-width:1200px){.quick-summary{grid-template-columns:repeat(3,minmax(120px,1fr))}}
@media(max-width:760px){.quick-summary{grid-template-columns:repeat(2,1fr)}.emoji-picker{width:auto;max-height:360px}.emoji-grid{grid-template-columns:repeat(7,1fr)}.mention-page-head{flex-direction:column}.attachment-preview{grid-template-columns:52px minmax(0,1fr)}.attachment-preview img,.attachment-file-icon{width:52px;height:46px}.attachment-preview>button{grid-column:1/-1}}

/* Google source events are read-only calendar items alongside locally managed reservations. */
.google-calendar-status{font-size:12px;padding:8px 10px;margin:0 0 10px;border:1px solid #dbe3ec;background:#f8fafc;border-radius:8px;color:#475569}.event.google-event{display:block;width:100%;font:inherit;font-size:10px;text-align:left;white-space:normal;border:0;line-height:1.35;min-width:0;overflow-wrap:anywhere}.event.google-event:hover{outline:2px solid #334155;outline-offset:1px}

/* 1.0.15: calendar scrolling and company-specific work-order form editor. */
.center>.feed{min-height:0;overflow-y:auto!important;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable}
.calendar{min-width:0}.month-nav{position:sticky;top:-22px;z-index:5;background:#f7f9fc;padding:12px 0 8px}
.workorder-template-guide{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 4px;padding:11px 13px;border:1px solid #cddcf4;border-radius:10px;background:#f4f8ff;color:#36506f}.workorder-template-guide b{font-size:12px}.workorder-template-guide span{font-size:11px;color:#61738a}
.template-field-row{margin:12px 0;padding:13px;border:1px solid #e1e7ef;border-radius:10px;background:#fafbfd}.template-field-main{display:grid;grid-template-columns:1fr 1fr;gap:10px}.template-field-geometry{display:grid;grid-template-columns:repeat(6,minmax(70px,1fr));gap:8px;margin-top:9px}.template-field-geometry input,.template-field-geometry select{padding:8px}.template-field-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:9px}.template-field-actions label{margin-right:auto;display:flex;align-items:center;gap:6px}.template-field-actions input{margin:0}
@media(max-width:760px){.month-nav{position:static}.template-field-main{grid-template-columns:1fr}.template-field-geometry{grid-template-columns:repeat(2,1fr)}.workorder-template-guide{align-items:flex-start;flex-direction:column}}

/* 1.0.17: continuous months plus independently scrollable busy date cells. */
.continuous-month-nav{top:0!important;margin:-12px 0 0!important;padding:12px 0 10px!important;box-shadow:0 7px 12px #f7f9fc;z-index:12!important}
.continuous-month-nav h3{min-width:98px;text-align:center;font-size:17px}.calendar-scroll-guide{margin:3px 0 14px;padding:9px 12px;border:1px solid #d8e4f4;border-radius:9px;background:#f4f8ff;color:#526b88;font-size:11px;line-height:1.5}
.calendar-stream{display:flex;flex-direction:column;gap:26px;padding-bottom:60vh}.calendar-month-section{scroll-margin-top:88px}.calendar-month-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 8px;padding:0 2px}.calendar-month-heading h3{font-size:19px}.calendar-month-heading p,.calendar-month-heading span{font-size:11px;color:var(--muted);margin-top:5px}.calendar-month-heading span{text-align:right}
.continuous-calendar{grid-auto-rows:auto}.continuous-calendar .day{height:152px;min-height:152px;overflow:hidden;padding:6px;display:flex;flex-direction:column}.continuous-calendar .day.blank{height:152px}.continuous-calendar .weekday{font-weight:700}.continuous-calendar .sunday-label,.continuous-calendar .holiday-day .day-head>b{color:#d32f2f}.continuous-calendar .saturday-label,.continuous-calendar .saturday-day .day-head>b{color:#2563b9}.continuous-calendar .holiday-day{background:#fffafa}.continuous-calendar .today{background:#edf4ff;box-shadow:inset 0 0 0 2px #4c83dc}.day-head-actions{display:flex;align-items:center;gap:2px}.calendar-day-count{height:22px;padding:0 6px;border:1px solid #bad0f2;border-radius:6px;background:#edf4ff;color:#245aa8;font-size:9px;font-weight:700}.calendar-day-count:hover{background:#dbe9ff}.calendar-day-events{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9aa8ba transparent;padding-right:2px;-webkit-overflow-scrolling:touch}.calendar-day-events:focus{outline:2px solid #8bb2f2;outline-offset:-2px;border-radius:4px}.calendar-day-events.has-overflow{border-bottom:1px solid #d7e2f1}.calendar-day-events::-webkit-scrollbar{width:6px}.calendar-day-events::-webkit-scrollbar-track{background:transparent}.calendar-day-events::-webkit-scrollbar-thumb{background:#9aa8ba;border-radius:8px}.calendar-event-button{display:block;width:100%;border:0;text-align:left;white-space:normal;line-height:1.28;padding:4px 5px;margin-top:3px;flex:none}.calendar-day-dialog{display:flex;flex-direction:column;gap:7px;max-height:58vh;overflow:auto}.calendar-day-dialog .calendar-event-button{font-size:12px;padding:9px 11px;margin:0}.continuous-calendar .kr-holiday{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:2px 0;padding:1px 4px;flex:none}.calendar-month-section .google-calendar-status{margin-bottom:7px;padding:6px 9px;font-size:10px}
@media(max-width:760px){.continuous-month-nav{position:sticky!important;top:0!important;margin:-8px 0 0!important;gap:5px}.continuous-month-nav h3{font-size:14px;min-width:84px}.continuous-month-nav button{padding:7px 8px;font-size:10px}.calendar-scroll-guide{font-size:10px}.calendar-stream{gap:20px;padding-bottom:45vh}.calendar-month-heading{align-items:flex-start;flex-direction:column;gap:2px}.calendar-month-heading h3{font-size:16px}.calendar-month-heading span{text-align:left}.continuous-calendar .day,.continuous-calendar .day.blank{height:112px;min-height:112px}.continuous-calendar .day{padding:3px}.calendar-event-button{font-size:8px!important;padding:3px}.continuous-calendar .kr-holiday{font-size:8px}.calendar-day-count{height:19px;padding:0 4px;font-size:8px}.calendar-day-events::-webkit-scrollbar{width:4px}}


/* 1.0.20 — wider employee list and mobile bottom navigation. */
@media(min-width:761px){
  .app{grid-template-columns:78px 300px minmax(360px,1fr) 310px!important}
  .dm-directory{flex-basis:340px!important}
}
.mobile-bottom-nav{display:none}
@media(max-width:760px){
  .app{padding-bottom:66px}
  .mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(6,1fr);left:0;right:0;bottom:0;height:64px;padding:5px 6px calc(5px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -5px 18px #14223914;z-index:80}
  .mobile-bottom-nav button{border:0;background:transparent;border-radius:10px;padding:4px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#637086;font-size:10px;min-width:0}
  .mobile-bottom-nav button span{font-size:18px;line-height:1}.mobile-bottom-nav button b{font-size:10px;white-space:nowrap}.mobile-bottom-nav button.active{background:#edf3ff;color:var(--blue)}
  .composer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.emoji-picker{bottom:142px!important}#toast{bottom:78px}
  .side .views{display:none}.dm-directory{display:none}
  .mobile-more-sheet button{width:100%;text-align:left;padding:14px 12px}
}

.pwa-install-hint{position:fixed;left:12px;right:12px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:9999;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:12px 14px;border-radius:14px;background:#17243a;color:#fff;box-shadow:0 8px 28px #0004;font-size:13px}.pwa-install-hint b{grid-column:1}.pwa-install-hint span{grid-column:1;color:#dce7ff;font-size:12px}.pwa-install-hint button{grid-column:2;grid-row:1/3;border:0;background:transparent;color:#fff;font-size:22px;padding:4px 8px}.pwa-external-url{width:100%;margin-top:8px}.pwa-ready{color:#238765}.pwa-warn{color:#b57418}
@media(min-width:761px){.pwa-install-hint{display:none}}

/* 1.0.29 — phone-first layout + direct 1:1 shortcut + account-safe PWA push rebind. */
.mobile-link-login{margin:20px 0 4px;padding:15px;border:1px solid #cfe0ff;border-radius:14px;background:#f6f9ff}.mobile-link-login-head{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.mobile-link-login-head b{font-size:14px;color:#234b8f}.mobile-link-login-head span{font-size:11px;color:var(--muted)}.mobile-link-login form{display:grid;gap:10px}.login-divider{display:flex;align-items:center;gap:10px;margin:18px 0 2px;color:#9aa5b5;font-size:11px}.login-divider:before,.login-divider:after{content:'';height:1px;background:#e5eaf0;flex:1}.mobile-link-code-card{margin-top:12px;padding:14px;border:1px solid #bcd2f8;background:#f4f8ff;border-radius:12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 12px}.mobile-link-code-card span,.mobile-link-code-card small{color:#6d7d92;font-size:11px}.mobile-link-code-card strong{grid-column:1/-1;font-size:28px;letter-spacing:3px;color:#174dba}.mobile-link-code-card button{grid-column:2;grid-row:1}
@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow:hidden;background:#f7f9fc;-webkit-text-size-adjust:100%}
  button,input,select,textarea{font-size:16px!important}
  .app{height:100dvh!important;grid-template-columns:1fr!important;grid-template-rows:minmax(0,1fr)!important;padding-bottom:calc(58px + env(safe-area-inset-bottom))!important;overflow:hidden}
  .rail,.right{display:none!important}
  .side{display:none!important}
  .center{height:100%;width:100%;min-width:0;overflow:hidden}
  .top{height:56px;min-height:56px;padding:8px 10px 8px 12px;gap:8px;position:relative;z-index:20}
  .top h2{font-size:16px;line-height:1.2;max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top p{margin-top:2px;font-size:10px}.top-actions{gap:4px;flex:none}.top-actions #member-info{display:none!important}.top-actions button{font-size:12px!important;padding:7px 9px!important;border-radius:9px}.top-actions #new-case{max-width:92px;white-space:nowrap}
  .quick-summary{display:flex!important;overflow-x:auto;overflow-y:hidden;gap:7px;padding:7px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.quick-summary::-webkit-scrollbar{display:none}.quick-summary button,.quick-summary .quick-dm{flex:0 0 132px;min-height:48px;padding:7px 9px}.quick-summary span{font-size:10px}.quick-summary b{font-size:15px}
  .toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;padding:7px 10px}.toolbar input{min-width:0;height:38px;padding:7px 10px!important;font-size:16px!important}.toolbar button{height:38px;padding:6px 10px!important;font-size:12px!important}.toolbar #toggle-cancelled{display:none!important}
  .feed{padding:10px 10px 14px!important;overflow-x:hidden!important;scrollbar-gutter:auto!important}.msg{max-width:96%;gap:7px;margin-bottom:14px}.bubble{padding:9px 11px;line-height:1.55;font-size:14px}.msg .name{margin-bottom:4px}.msg-time{margin-top:4px}.system{max-width:100%;padding:10px 12px;margin:9px 0}.system p{margin:6px 0;line-height:1.5}.case-card{padding:11px;margin:8px 0}.case-card p{margin-top:6px;line-height:1.5}
  .composer{padding:7px 9px calc(7px + env(safe-area-inset-bottom))!important;flex:none}.composebox{padding:8px;border-radius:12px}.composebox textarea{font-size:16px!important;min-height:42px;max-height:92px;line-height:1.4;padding:2px 3px!important}.compose-actions{gap:5px;margin-top:6px;flex-wrap:nowrap}.compose-actions button{font-size:12px!important;padding:7px 9px!important;white-space:nowrap}.compose-actions #mention-person{max-width:86px;overflow:hidden;text-overflow:ellipsis}.compose-actions #send{margin-left:auto}.compose-actions .spacer{display:none!important}.compose-actions #photo-name{display:none!important}
  .mobile-bottom-nav{height:58px;padding:4px 5px calc(4px + env(safe-area-inset-bottom));grid-template-columns:repeat(6,1fr)}.mobile-bottom-nav button{font-size:9px!important;padding:3px 1px!important}.mobile-bottom-nav button span{font-size:17px}.mobile-bottom-nav button b{font-size:9px}
  dialog{width:calc(100vw - 18px);max-width:none;max-height:88dvh;border-radius:15px}.dialog-head{padding:14px 16px}.dialog-head h2{font-size:17px}.dialog-body{padding:14px 16px;overflow-x:hidden}.dialog-body input,.dialog-body textarea,.dialog-body select{font-size:16px!important}.actions{gap:7px;margin-top:14px}.actions button{font-size:13px!important;padding:9px 10px!important}
  .login-wrap{padding:20px 16px;align-items:start;overflow:auto}.login-card{width:100%;max-width:420px;margin:24px auto}.login-card h2{font-size:22px}.login-card form{gap:12px;margin-top:18px}.mobile-link-login{margin-top:18px}.mobile-link-code-card strong{font-size:24px}
  .continuous-calendar .day,.continuous-calendar .day.blank{height:96px;min-height:96px}.calendar-stream{padding-bottom:18vh}
}
@media(max-width:760px){html.keyboard-open .mobile-bottom-nav{display:none!important}html.keyboard-open .app{padding-bottom:0!important}html.keyboard-open .quick-summary{display:none!important}html.keyboard-open .toolbar{display:grid!important}html.keyboard-open .top{height:48px;min-height:48px}html.keyboard-open .composer{padding-bottom:6px!important}.pwa-install-hint{bottom:calc(64px + env(safe-area-inset-bottom))}}


/* 1.0.29 — one-tap mobile 1:1 directory. */
.mobile-bottom-nav button{position:relative}
.mobile-nav-badge{position:absolute;top:2px;right:calc(50% - 23px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#e34f63;color:#fff;font:700 9px/17px system-ui;text-align:center;font-style:normal;box-shadow:0 0 0 2px #fff}
.mobile-nav-badge[hidden]{display:none!important}
.mobile-dm-picker{display:grid;gap:10px}.mobile-dm-search{display:grid;gap:6px}.mobile-dm-search span{font-size:11px;color:var(--muted)}.mobile-dm-search input{width:100%}.mobile-dm-help{font-size:11px;line-height:1.55;color:var(--muted);margin:0 0 2px}
#mobile-dm-people{display:grid;gap:7px;max-height:58dvh;overflow:auto;-webkit-overflow-scrolling:touch}.mobile-dm-person{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}.mobile-dm-person:active{background:#eef4ff}.mobile-dm-person .avatar{flex:0 0 auto}.mobile-dm-person-main{display:grid;gap:3px;min-width:0;flex:1}.mobile-dm-person-main b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-dm-person-main small{font-size:10px;color:var(--muted)}.mobile-dm-person em{min-width:23px;height:23px;padding:0 6px;border-radius:12px;background:#e34f63;color:#fff;font:700 11px/23px system-ui;text-align:center;font-style:normal}.mobile-dm-arrow{font-size:24px;color:#9aa8bb}.mobile-dm-person[hidden]{display:none!important}
@media(max-width:380px){.mobile-bottom-nav button b{font-size:8px!important}.mobile-bottom-nav button span{font-size:16px!important}.mobile-nav-badge{right:calc(50% - 20px)}}


/* 1.0.32 personal schedule annotations: stored per WorkTalk user, never written to the HWP/PDF source. */
.schedule-mark-hint{font-size:12px;color:#64748b;padding:7px 12px;background:#fff8d8;border:1px solid #f0dfa0;border-radius:8px;margin:0 0 8px}
.schedule-mark-sep{width:1px;height:28px;background:var(--line);margin:0 3px}
.schedule-mark-tool.active{background:#fff1a8;border-color:#e0bd2b;box-shadow:0 0 0 2px #ffe66a66}
.schedule-mark-layer{position:absolute;left:0;top:0;z-index:8;pointer-events:none;overflow:hidden;touch-action:none;transform-origin:0 0}
.schedule-mark-layer:not(.tool-off){pointer-events:auto;cursor:crosshair;background:#ffffff01}
.schedule-mark-layer.tool-erase{cursor:not-allowed}
.schedule-mark-highlight{position:absolute;background:#ffe45c66;border:1px solid #e6bc1680;border-radius:3px;pointer-events:none;mix-blend-mode:multiply}
.schedule-mark-preview{background:#ffe45c88;border-style:dashed}
.schedule-mark-check{position:absolute;transform:translate(-50%,-58%);font-size:30px;line-height:1;font-weight:900;color:#e83e3e;text-shadow:0 1px 2px #fff,1px 0 2px #fff;pointer-events:none}
@media(max-width:760px){.schedule-mark-check{font-size:25px}.schedule-mark-sep{display:none}}

/* 1.0.33 — personal schedule markers are always visible on a dedicated row. */
.schedule-mark-controls{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:9px 10px;background:#fffdf0;border:1px solid #eadb97;border-radius:10px}
.schedule-mark-controls>b{font-size:12px;color:#7a5d00;margin-right:3px}
.schedule-mark-controls button{padding:7px 10px;font-size:12px;border:1px solid #dce5f2;background:#fff;border-radius:7px;cursor:pointer}
.schedule-mark-controls button:hover{background:#fff7c7}
@media(max-width:760px){.schedule-mark-controls{position:sticky;top:0;z-index:12;box-shadow:0 2px 6px #0001}.schedule-mark-controls>b{flex-basis:100%}}

/* Mobile controls follow the selected view, including while the keyboard is open. */
.toolbar[hidden]{display:none!important}
@media(max-width:760px){
 .app{height:var(--worktalk-viewport-height,100dvh)!important}
 .center{min-height:0}.feed{min-height:0;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
 html.keyboard-open .quick-summary{display:none!important}
 html.keyboard-open .composer{display:none!important}
 html.keyboard-open.message-focus .composer{display:block!important}
 html.keyboard-open.message-focus .toolbar{display:none!important}
 .quick-summary{flex-shrink:0}.toolbar{flex-shrink:0}
 .login-page{height:var(--worktalk-viewport-height,100dvh);overflow:auto}
 .login-wrap{min-height:0}.dialog-body{overscroll-behavior-y:contain}
 .search-result-head{flex-wrap:wrap;gap:8px}.search-result-head h3{overflow-wrap:anywhere}
 button,a.button-link{touch-action:manipulation}
}

.app.dm-mode .quick-summary{display:none!important}

/* Optional, main-PC-only NetBird setup. */
.netbird-use-choice{display:flex!important;align-items:center;gap:10px;margin:14px 0;font-weight:700;cursor:pointer}
.netbird-use-choice input{width:20px!important;height:20px;flex:0 0 20px;margin:0;accent-color:#2869ed}
.netbird-setup{margin-top:14px;padding:14px;border:1px solid #dbe3f2;border-radius:12px;background:#f7f9fd}
.netbird-setup .actions{flex-wrap:wrap}
.netbird-setup input{max-width:100%;box-sizing:border-box}
.netbird-setup [role=status]{margin-top:8px;line-height:1.7;overflow-wrap:anywhere}
.netbird-setup summary{cursor:pointer;font-weight:600}
