:root{--green-900:#0f3d2a;--green-800:#145238;--green-700:#1c6b48;--green-100:#e6f0ea;--lime:#9bc94a;--lime-100:#f0f7e3;--ink:#1d2a24;--muted:#66746d;--line:#e2e8e4;--bg:#f6f8f6;--white:#fff;--red:#c4462f;--radius:12px}*{box-sizing:border-box}html,body{margin:0}body{color:var(--ink);background:var(--bg);word-break:keep-all;overflow-wrap:break-word;font-family:Pretendard,Malgun Gothic,Apple SD Gothic Neo,sans-serif;font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.topbar{z-index:20;background:var(--white);border-bottom:1px solid var(--line);align-items:center;gap:16px;height:60px;padding:0 20px;display:flex;position:sticky;top:0}.topbar .logo img{height:30px;display:block}.company-badge{background:var(--green-100);color:var(--green-900);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-flex}.company-badge:before{content:"";background:var(--lime);border-radius:50%;width:8px;height:8px}.topbar .search{flex:1;max-width:420px}.topbar .search input{border:1px solid var(--line);background:var(--bg);border-radius:999px;width:100%;padding:8px 14px}.topbar .right{align-items:center;gap:14px;margin-left:auto;display:flex}.icon-btn{background:var(--bg);cursor:pointer;border:0;border-radius:50%;width:36px;height:36px;position:relative}.icon-btn .dot{background:var(--red);color:#fff;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px;position:absolute;top:4px;right:4px}.avatar{background:var(--green-700);color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.avatar.lime{background:var(--lime);color:var(--green-900)}.avatar.gray{background:#b9c4be}.layout{grid-template-columns:220px 1fr;min-height:calc(100vh - 60px);display:grid}.sidenav{background:var(--green-900);color:#dfeae3;padding:18px 12px}.sidenav a{border-radius:10px;align-items:center;gap:10px;margin-bottom:2px;padding:10px 12px;display:flex}.sidenav a:hover{background:#ffffff12}.sidenav a.active{background:var(--lime);color:var(--green-900);font-weight:700}.sidenav .count{background:#ffffff26;border-radius:999px;margin-left:auto;padding:0 8px;font-size:12px}.sidenav .group-label{letter-spacing:.08em;color:#8fb39f;margin:16px 12px 6px;font-size:11px}main.content{min-width:0;padding:24px}.page-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.page-title h1{margin:0;font-size:22px}.page-title .home-date{white-space:nowrap;flex:none}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.card h2{justify-content:space-between;align-items:center;margin:0 0 12px;font-size:16px;display:flex}.card h2 a{color:var(--muted);font-size:13px;font-weight:400}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.btn{border:1px solid var(--line);background:var(--white);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:9px 16px;display:inline-flex}.btn.primary{background:var(--green-900);color:#fff;border-color:var(--green-900)}.btn.lime{background:var(--lime);color:var(--green-900);border-color:var(--lime);font-weight:700}.btn:disabled{opacity:.6;cursor:default}.btn.small{padding:5px 10px;font-size:13px}.btn.danger{color:var(--red);border-color:#efc9c1}.tag{background:var(--green-100);color:var(--green-800);border-radius:6px;padding:1px 8px;font-size:12px;display:inline-block}.tag.group{color:#8a6200;background:#fff3d6}.tag.lime{background:var(--lime-100);color:#4d6b13}.tag.red{color:var(--red);background:#fbe7e3}.muted{color:var(--muted)}.small{font-size:13px}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.list li:last-child{border-bottom:0}.list .grow{flex:1;min-width:0}.list .title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.list .unread .title{font-weight:700}.list li.selected{background:var(--green-100)}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.tabs a{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:7px 14px;font-size:14px}.tabs a.active{background:var(--green-900);color:#fff;border-color:var(--green-900)}table.table{border-collapse:collapse;background:var(--white);width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:11px 12px;font-size:14px}.table th{color:var(--muted);background:#fafcfb;font-weight:600}.field{gap:6px;margin-bottom:14px;display:grid}.field label{color:var(--muted);font-size:13px}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:10px 12px}.field textarea{resize:vertical;min-height:180px}.field input[type=checkbox],.field input[type=radio]{flex:none;width:auto;margin:0;padding:0}:is(.field label:has(>input[type=checkbox]),.field label:has(>input[type=radio])){width:fit-content;color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.chips{border:1px solid var(--line);background:#fff;border-radius:10px;flex-wrap:wrap;gap:6px;padding:6px;display:flex}.chip{background:var(--green-100);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:13px;display:inline-flex}.chip .x{color:var(--muted);cursor:pointer}.chips input{border:0;outline:none;flex:1;min-width:120px;padding:4px}.switch{cursor:pointer;background:#cfd8d3;border:0;border-radius:999px;flex:none;width:44px;height:24px;padding:0;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px}.switch.on{background:var(--green-700)}.switch.on:after{left:23px}.switch:focus-visible{outline:2px solid var(--green-900);outline-offset:2px}.modal{z-index:50;background:#0a1e1473;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal .box{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:90vh;padding:22px;overflow:auto}.modal .box h3{justify-content:space-between;margin:0 0 16px;font-size:18px;display:flex}.modal .close{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:20px}.modal .actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.note{border-left:4px solid var(--lime);background:var(--lime-100);color:#3e5512;border-radius:6px;margin-top:24px;padding:12px 14px;font-size:13px}a.logo{align-items:center;gap:8px;display:inline-flex}.topbar .logo img{object-fit:contain;max-width:160px}.icon-btn{place-items:center;font-size:16px;display:grid}.avatar.btn-like{cursor:pointer;border:0}.userbox{align-items:center;gap:8px;display:flex}.userbox .who{font-size:13px}.sidenav .badge-count{margin-left:auto}.note{margin:24px 0 0}.error{color:var(--red);font-size:13px}.check{align-items:center;gap:6px;margin-bottom:14px;display:flex}form.inline{gap:8px;margin-top:8px;display:flex}form.inline input{border:1px solid var(--line);border-radius:10px;flex:1;min-width:0;padding:6px 10px}.temp-pw{-webkit-user-select:all;user-select:all;background:#fff;border-radius:6px;padding:2px 8px;font-size:15px;font-weight:700}.sidenav a:focus-visible,.bottomnav a:focus-visible{outline:2px solid var(--lime);outline-offset:1px}.empty{color:var(--muted);padding:6px 0;font-size:14px}.page-title input.search-box{border:1px solid var(--line);border-radius:10px;max-width:200px;padding:8px 12px}h4{margin:8px 0;font-size:14px}.bottomnav{display:none}@media (width<=860px){.layout{grid-template-columns:1fr}.sidenav{display:none}.topbar{gap:10px;padding:0 12px}.topbar .search{display:none}.topbar .logo img{height:24px}main.content{padding:16px 14px 90px}.grid-2,.grid-3{grid-template-columns:1fr}.bottomnav{z-index:30;background:var(--green-900);padding:6px 4px calc(6px + env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottomnav a{text-align:center;color:#cfe0d6;border-radius:10px;padding:6px 0;font-size:11px}.bottomnav a b{font-size:18px;line-height:1.2;display:block}.bottomnav a.active{color:var(--lime)}.hide-mobile{display:none!important}.table th.hide-m,.table td.hide-m{display:none}}.company-heading{color:var(--green-900);margin:20px 0 10px;font-size:16px}.only-mobile{display:none}@media (width<=860px){.only-mobile{display:grid}.topbar .right{gap:8px}}.bell{display:inline-block;position:relative}.bell-panel{z-index:30;background:var(--white);border:1px solid var(--line);border-radius:12px;width:340px;max-width:calc(100vw - 24px);padding:12px;position:absolute;top:44px;right:0;box-shadow:0 8px 24px #0f3d2a26}.bell-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.bell-list{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.bell-list li button{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;width:100%;font:inherit;background:0 0;gap:8px;padding:8px 6px;display:flex}.bell-list li.unread button{background:var(--green-100);font-weight:700}.push-toggle{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}@media (width<=860px){.bell-panel{width:auto;max-width:none;position:fixed;top:60px;left:12px;right:12px}}.usage-row{margin-bottom:12px}.usage-head{justify-content:space-between;margin-bottom:4px;font-size:13px;display:flex}.usage-bar{background:var(--line);border-radius:999px;height:10px;overflow:hidden}.usage-fill{background:#0f3d2a;border-radius:999px;height:100%}.usage-fill.warn{background:#c0392b}img.avatar.photo{object-fit:cover;background:var(--green-100);padding:0}.user-search{align-items:center;display:flex;position:relative}.user-search-box{position:relative}.user-search-box input{border:1px solid var(--line);background:var(--bg);width:220px;font:inherit;border-radius:999px;padding:8px 14px;font-size:13px}.user-search-list{z-index:30;background:var(--white);border:1px solid var(--line);border-radius:12px;width:320px;max-width:calc(100vw - 24px);max-height:360px;margin:0;padding:6px;list-style:none;position:absolute;top:44px;right:0;overflow-y:auto;box-shadow:0 8px 24px #0f3d2a26}.user-search-list li{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.user-search-list li.active{background:var(--green-100)}.user-search-list li.empty{cursor:default}@media (width<=860px){.user-search-box{display:none}.user-search.expanded .user-search-box{z-index:40;background:var(--white);border-bottom:1px solid var(--line);height:60px;padding:10px 12px;display:block;position:fixed;top:0;left:0;right:0}.user-search.expanded .user-search-box input{width:100%}.user-search-list{width:auto;max-width:none;position:fixed;top:64px;left:12px;right:12px}}.person-card{max-width:420px}.person-card h3{margin-bottom:0}.person-head{align-items:center;gap:14px;margin-bottom:14px;display:flex}.person-name{font-size:18px}.person-info{grid-template-columns:90px 1fr;gap:8px 12px;margin:0 0 14px;font-size:14px;display:grid}.person-info dt{color:var(--muted)}.person-info dd{word-break:break-all;margin:0}.list li.clickable{padding:0}.person-btn{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:10px 0;display:flex}.person-btn:hover{background:var(--bg)}.person-btn:focus-visible{outline:2px solid var(--lime);outline-offset:1px}.profile-photo{align-items:center;gap:14px;margin-bottom:14px;display:flex}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@media (width<=860px){.modal.sheet{align-items:flex-end;padding:0}.modal.sheet .box{max-height:88vh;padding-bottom:calc(22px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;animation:.2s ease-out sheet-up}}.sidenav a .count{background:var(--red);color:#fff}.sidenav a.active .count{background:var(--red)}.bottomnav a{position:relative}.bottomnav a .count{background:var(--red);color:#fff;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px;position:absolute;top:2px;left:calc(50% + 6px)}.user-search.picker{margin-bottom:8px;display:block}.user-search.picker .user-search-box{display:block}.user-search.picker .user-search-box input{border-radius:10px;width:100%;padding:10px 12px;font-size:14px}.user-search.picker .user-search-list{width:auto;max-width:none;max-height:220px;box-shadow:none;margin-top:6px;position:static}.people-picker .chips{margin-bottom:8px}.chip button.x{font:inherit;background:0 0;border:0;padding:0}.chat{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:320px 1fr;height:calc(100vh - 108px);min-height:420px;display:grid;overflow:hidden}.chat-list{border-right:1px solid var(--line);flex-direction:column;min-height:0;padding:14px 14px 0;display:flex}.chat-list-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.chat-list-head h1{margin:0;font-size:20px}.chat-search input{border:1px solid var(--line);background:var(--bg);border-radius:999px;width:100%;padding:8px 12px;font-size:13px}.chat-search{margin-bottom:8px}.chat-search-head{justify-content:space-between;align-items:center;margin:4px 0;display:flex}.chat-list .note{margin:6px 0}.chat-rooms{flex:1;margin:0 -14px;overflow-y:auto}.chat-rooms li{border-bottom:1px solid var(--line)}.chat-room-item{align-items:center;gap:10px;width:100%;min-width:0;padding:10px 14px;display:flex}.chat-room-item:hover{background:var(--bg)}.chat-room-item:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}.chat-rooms li.selected .chat-room-item{background:var(--green-100)}.chat-room-item .grow{gap:2px;display:grid}.chat-room-line{align-items:center;gap:6px;min-width:0;display:flex}.chat-room-line .title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;display:block;overflow:hidden}.chat-rooms li.unread .chat-room-line b.title{font-weight:800}.chat-count{background:var(--red);color:#fff;text-align:center;border-radius:10px;flex:none;min-width:20px;height:20px;padding:0 6px;font-size:11px;line-height:20px}.chat-avatar-pair{flex:none;width:40px;height:40px;position:relative}.chat-avatar-pair>:first-child{position:absolute;top:0;left:0}.chat-avatar-pair>:last-child{box-shadow:0 0 0 2px var(--white);position:absolute;bottom:0;right:0}.chat-main{background:var(--bg);min-width:0;min-height:0;display:flex}.chat-pick{margin:auto}.chat-room{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.chat-room-head{background:var(--white);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 14px;display:flex}.chat-room-head .grow{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.chat-offline{color:#8a6200;background:#fff3d6;margin:0;padding:6px 14px}.chat-messages{flex-direction:column;flex:1;gap:4px;padding:14px;display:flex;overflow-y:auto}.chat-more,.chat-empty{text-align:center}.chat-msg{align-items:flex-start;gap:8px;max-width:100%;display:flex}.chat-msg.first{margin-top:8px}.chat-msg.mine{justify-content:flex-end}.chat-msg-avatar{flex:none;width:32px}.chat-msg-col{min-width:0;max-width:min(560px,78%)}.chat-sender{color:var(--muted);margin:0 0 2px 2px}.chat-msg-row{align-items:flex-end;gap:6px;display:flex}.chat-msg.mine .chat-msg-row{flex-direction:row-reverse}.bubble{background:var(--white);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:14px;min-width:0;padding:8px 12px}.chat-msg.mine .bubble{background:var(--green-100);border-color:#cfe2d6}.bubble.deleted{background:0 0;font-style:italic}.chat-msg.highlight .bubble{box-shadow:0 0 0 2px var(--lime)}.chat-body{white-space:pre-wrap}.chat-quote{border:0;border-left:3px solid var(--lime);width:100%;font:inherit;text-align:left;color:var(--muted);cursor:pointer;background:#0f3d2a0d;border-radius:4px;margin-bottom:6px;padding:4px 8px;font-size:12px;display:block}.chat-quote b{color:var(--ink);display:block}.chat-quote span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.chat-image img{border-radius:8px;max-width:100%;max-height:260px;display:block}.chat-file{background:var(--bg);border-radius:8px;padding:6px 10px;font-size:13px;text-decoration:underline;display:inline-block}.chat-meta{flex-direction:column;flex:none;align-items:flex-start;gap:0;font-size:11px;line-height:1.3;display:flex}.chat-msg.mine .chat-meta{align-items:flex-end}.chat-unread{color:#6b8f1f;font-weight:700}.chat-failed{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.chat-menu{position:relative}.chat-menu-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:14px;line-height:1}.chat-menu-btn:focus-visible{outline:2px solid var(--lime)}.chat-menu-btn{opacity:0;transition:opacity .12s}.chat-msg:hover .chat-menu-btn,.chat-menu-btn:focus-visible,.chat-menu.open .chat-menu-btn{opacity:1}.chat-menu-list{z-index:60;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:4px;display:grid;position:fixed;box-shadow:0 8px 24px #0f3d2a26}.chat-menu-list button{text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 10px;font-size:13px}.chat-menu-list button:hover{background:var(--bg)}.chat-menu-list .danger,.msg-sheet .danger{color:var(--red)}.chat-msg.menu-open .bubble{box-shadow:0 0 0 2px var(--lime)}.msg-emoji-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:2px;margin-bottom:4px;padding:2px 2px 6px;display:flex}.chat-menu-list .msg-emoji-row button{padding:4px 6px;font-size:20px;line-height:1.2}.msg-emoji.mine{background:var(--green-100);box-shadow:inset 0 0 0 1px var(--lime)}.chat-msg.touch .bubble{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.msg-sheet-scrim{z-index:1000;height:var(--m-vh,100dvh);background:#0006;align-items:flex-end;animation:.15s ease-out msg-scrim-in;display:flex;position:fixed;top:0;left:0;right:0}.msg-sheet{width:100%;max-height:80%;padding:10px 12px calc(12px + env(safe-area-inset-bottom));background:var(--white);border-radius:16px 16px 0 0;gap:2px;animation:.2s ease-out msg-sheet-up;display:grid;overflow-y:auto}.msg-sheet button{text-align:left;min-height:48px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 12px;font-size:16px}.msg-sheet button:active{background:var(--bg)}.msg-sheet .msg-emoji-row{margin-bottom:6px;padding:0 0 8px}.msg-sheet .msg-emoji-row button{text-align:center;flex:1;min-height:48px;padding:0;font-size:26px}.msg-sheet .msg-sheet-cancel{text-align:center;color:var(--muted);border-top:1px solid var(--line);border-radius:0;margin-top:6px}@keyframes msg-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes msg-sheet-up{0%{transform:translateY(100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.msg-sheet-scrim,.msg-sheet{animation:none}}.chat-notice{background:#fff8e1;border-bottom:1px solid #f1e2a8;align-items:center;gap:8px;min-width:0;padding:6px 14px;display:flex}.chat-notice.collapsed{padding-top:3px;padding-bottom:3px}.chat-notice .grow{flex:1;min-width:0}.chat-notice-text{min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:baseline;gap:8px;padding:0;display:flex}.chat-notice-body{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:0 auto;overflow:hidden}.chat-notice-by{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:40%;overflow:hidden}.chat-notice-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:4px 6px}.chat.compact .chat-notice{padding:4px 8px}.chat-compose{position:relative}.mention-picker{z-index:20;background:var(--white);border:1px solid var(--line);border-radius:10px;max-height:260px;margin:0 0 4px;padding:4px;list-style:none;position:absolute;bottom:100%;left:14px;right:14px;overflow-y:auto;box-shadow:0 8px 24px #0f3d2a26}.mention-picker button{width:100%;min-height:40px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:4px 8px;display:flex}.mention-picker button.active,.mention-picker button:hover{background:var(--green-100)}.mention-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.chat.compact .mention-picker{left:8px;right:8px}.chat-compose{background:var(--white);border-top:1px solid var(--line);padding:10px 14px}.chat-mode{background:var(--lime-100);border-radius:8px;align-items:center;gap:8px;margin-bottom:6px;padding:4px 8px;display:flex}.chat-mode .grow{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.chat-compose-row{align-items:flex-end;gap:8px;display:flex}.chat-compose textarea::placeholder{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-compose textarea{border:1px solid var(--line);resize:vertical;border-radius:10px;flex:1;min-width:0;min-height:40px;max-height:140px;padding:9px 12px}.chat-members .tag{margin-left:6px}.chat-invite-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.chat-invite-row select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px}.chat-member-actions{justify-content:space-between;margin-top:16px}@media (width<=860px){.chat{border-radius:10px;grid-template-columns:1fr;height:calc(100dvh - 166px)}.chat.has-room .chat-list,.chat:not(.has-room) .chat-main{display:none}.chat-list{border-right:0}.chat-msg-col{max-width:84%}.chat-back{display:grid}}.chat-back{display:none}.chat.compact{border:0;border-radius:0;grid-template-columns:1fr;height:100%;min-height:0}.chat.compact.has-room .chat-list,.chat.compact:not(.has-room) .chat-main{display:none}.chat.compact .chat-back{width:28px;height:28px;font-size:14px;display:grid}.chat.compact .chat-list{border-right:0;padding:8px 10px 0}.chat.compact .chat-list-head{margin-bottom:6px}.chat.compact .chat-list-head h1{font-size:16px}.chat.compact .chat-search{margin-bottom:6px}.chat.compact .chat-search input{padding:6px 10px}.chat.compact .chat-rooms{margin:0 -10px}.chat.compact .chat-rooms li{border-bottom:0}.chat.compact .chat-room-item{gap:8px;padding:7px 10px}.chat.compact .chat-avatar-pair{flex:none}.chat.compact .chat-room-head{gap:6px;padding:6px 8px;font-size:14px}.chat.compact .chat-offline{padding:4px 10px;font-size:12px}.chat.compact .chat-messages{gap:2px;padding:8px 10px;font-size:13.5px;line-height:1.45}.chat.compact .chat-msg{gap:6px}.chat.compact .chat-msg.first{margin-top:6px}.chat.compact .chat-msg-avatar{width:28px}.chat.compact .chat-msg-col{max-width:82%}.chat.compact .chat-sender{margin-bottom:1px;font-size:12px}.chat.compact .chat-msg-row{gap:4px}.chat.compact .bubble{border-radius:12px;padding:5px 9px}.chat.compact .chat-msg:not(.mine) .bubble{border-top-left-radius:4px}.chat.compact .chat-msg.mine .bubble{border-top-right-radius:4px}.chat.compact .chat-meta{flex-direction:row;align-items:flex-end;gap:3px;font-size:10px}.chat.compact .chat-msg.mine .chat-meta{flex-direction:row-reverse}.chat.compact .chat-image img{max-height:180px}.chat.compact .chat-compose{padding:6px 8px}.chat.compact .chat-mode{margin-bottom:4px;padding:3px 8px}.chat.compact .chat-compose-row{align-items:center;gap:6px}.chat.compact .chat-compose .icon-btn{flex:none;width:32px;height:32px}.chat.compact .chat-compose textarea{resize:none;border-radius:8px;min-height:34px;max-height:110px;padding:7px 10px;font-size:13.5px}.chat.compact .chat-compose .btn.primary{padding:7px 12px;font-size:13px}.messenger-fab{z-index:40;background:var(--green-900);color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:56px;height:56px;font-size:24px;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 20px #0f3d2a4d}.messenger-fab:hover{background:var(--green-800)}.messenger-fab:focus-visible{outline:3px solid var(--lime);outline-offset:2px}.messenger-fab .count{background:var(--red);color:#fff;border-radius:10px;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;line-height:20px;position:absolute;top:-2px;right:-2px;box-shadow:0 0 0 2px #fff}.messenger-popup{z-index:45;background:var(--white);border:1px solid var(--line);border-radius:14px;flex-direction:column;display:flex;position:fixed;overflow:hidden;box-shadow:0 12px 40px #0f3d2a40}.messenger-popup:focus{outline:none}.messenger-popup.is-hidden{visibility:hidden;pointer-events:none}.messenger-popup.dragging{-webkit-user-select:none;user-select:none}.mp-head{background:var(--green-900);color:#fff;cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:2px;padding:4px 6px 4px 4px;display:flex}.mp-head .grow{flex:1}.mp-grip{color:inherit;font:inherit;cursor:move;touch-action:none;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:14px;font-weight:700}.mp-grip span{opacity:.6;margin-right:2px}.mp-btn{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:6px;width:28px;height:28px;font-size:16px;line-height:1}.mp-btn:hover{background:#ffffff24}.mp-grip:focus-visible,.mp-btn:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}.mp-notice{color:#8a6200;background:#fff3d6;align-items:center;gap:8px;margin:0;padding:6px 10px;display:flex}.mp-notice .grow{flex:1}.mp-body{flex:1;min-height:0;display:flex;position:relative}.mp-body>.chat{flex:1;min-width:0}.messenger-popup .chat-list-head h1{display:none}.messenger-popup .chat-compose{padding-right:18px}.messenger-popup .chat-list-head{justify-content:flex-end}.messenger-popup .modal{padding:10px;position:absolute}.messenger-popup .modal .box{border-radius:12px;max-height:100%;padding:14px}.messenger-popup .modal .box h3{margin-bottom:10px;font-size:16px}.mp-resize{cursor:nwse-resize;touch-action:none;z-index:2;background:linear-gradient(135deg, transparent 50%, var(--line) 50%, var(--line) 60%, transparent 60%, transparent 72%, var(--line) 72%, var(--line) 82%, transparent 82%);width:18px;height:18px;position:absolute;bottom:0;right:0}@media (width<=860px){.messenger-fab,.messenger-popup{display:none}}body.messenger-window{overflow:hidden}.messenger-window-main{background:var(--white);height:100dvh;display:flex}.messenger-window-main>.chat{flex:1;min-width:0}.clock-times{gap:32px;margin-bottom:14px;display:flex}.clock-times div{gap:2px;display:grid}.clock-times b{font-variant-numeric:tabular-nums;font-size:28px}.clock-btn{border-radius:14px;justify-content:center;width:100%;min-height:64px;padding:18px 16px;font-size:20px}.leave-summary{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:8px;display:grid}.leave-summary div{background:var(--green-100);border-radius:10px;gap:2px;padding:10px 12px;display:grid}.leave-summary b{font-size:20px}.sub-h{color:var(--muted);margin:16px 0 4px;font-size:14px}.month-nav{align-items:center;gap:8px;font-weight:400;display:inline-flex}.month-nav b{text-align:center;min-width:56px;font-size:14px}.inline-form{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.inline-form input{border:1px solid var(--line);border-radius:10px;min-width:0;padding:8px 10px}.check-row{align-items:flex-start;gap:8px;margin-bottom:10px;font-size:14px;display:flex}.day-off{background:#f6f8f7}.att-matrix th,.att-matrix td{text-align:center;white-space:nowrap;padding:4px 6px}.att-matrix th[scope=row]{text-align:left;background:#fafcfb;position:sticky;left:0}.att-cell{cursor:pointer;font:inherit;background:0 0;border:0;gap:0;min-width:44px;padding:2px 4px;display:grid}.att-status{font-size:12px}.att-status.st-late,.att-status.st-early,.att-status.st-late_early,.att-status.st-absent,.att-status.st-missing_out{color:var(--red)}.att-time{color:var(--muted);min-height:13px;font-size:11px}@media (width<=640px){.leave-summary{grid-template-columns:repeat(2,1fr)}.clock-times b{font-size:32px}}.more-menu{position:relative}.more-panel{z-index:30;background:var(--white);border:1px solid var(--line);border-radius:12px;min-width:180px;padding:6px;display:grid;position:absolute;top:44px;right:0;box-shadow:0 8px 24px #0f3d2a26}.more-panel a{border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:15px;display:flex}.more-panel a:hover,.more-panel a:focus-visible{background:var(--bg);outline:none}.more-panel a.active{background:var(--green-100);font-weight:700}.more-panel a span,.more-logout span{text-align:center;width:20px}.more-logout{border:0;border-top:1px solid var(--line);font:inherit;color:var(--red);text-align:left;cursor:pointer;background:0 0;border-radius:0 0 8px 8px;align-items:center;gap:10px;margin-top:4px;padding:10px 12px;font-size:15px;display:flex}.grid>*{min-width:0}@media (width<=860px){.company-badge{display:none}.more-panel{position:fixed;top:60px;right:12px}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;list-style:none;position:absolute;overflow:hidden}.chat-msg-col:has(.has-game){max-width:96%}.game-card{box-sizing:border-box;width:300px;max-width:100%}.game-head{flex-wrap:wrap;align-items:baseline;gap:6px;margin-bottom:6px;display:flex}.game-kind{color:var(--green-700);font-weight:700}.game-title{overflow-wrap:anywhere;min-width:0;font-weight:600}.game-count{margin-left:auto;font-size:12px}.game-svg{background:var(--lime-100);border-radius:var(--radius);width:100%;max-width:100%;height:auto;display:block}.game-wheel{max-width:240px;margin:0 auto}.game-rail{stroke:var(--line);stroke-width:2px}.game-rung{stroke:var(--muted);stroke-width:2px}.game-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.game-line.run{transition:stroke-dashoffset var(--game-ms,3s) linear}.game-name{cursor:pointer;fill:var(--ink)}.game-name.on{fill:var(--green-700);font-weight:700}.game-name:focus-visible{outline:2px solid var(--green-700)}.game-label{fill:var(--muted)}.game-label.win{fill:var(--red);font-weight:700}.game-disc{will-change:transform}.game-disc.run{transition:transform var(--game-ms,3s) cubic-bezier(.15, .85, .25, 1)}.game-slice{stroke:var(--white);stroke-width:1.5px}.game-slice.even{fill:var(--green-100)}.game-slice.odd{fill:var(--lime-100)}.game-slice.win{fill:var(--lime)}.game-slice-text{fill:var(--ink);pointer-events:none}.game-hub{fill:var(--green-700);stroke:var(--white);stroke-width:2px}.game-pointer{fill:var(--red);stroke:var(--white);stroke-width:1px}.game-summary{flex-wrap:wrap;gap:4px 10px;margin:8px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.game-summary li.win{color:var(--red)}.game-actions{margin-top:8px}@media (prefers-reduced-motion:reduce){.game-line.run,.game-disc.run{transition:none}}.game-composer{align-content:start;gap:12px;display:grid}.game-kinds{grid-template-columns:1fr 1fr;gap:10px;display:grid}.game-kinds .btn{padding:22px 8px;font-size:16px}.game-form{gap:12px;display:grid}.game-field{color:var(--muted);gap:4px;font-size:13px;display:grid}.game-people{border:1px solid var(--line);border-radius:8px;gap:6px;max-height:180px;margin:0;padding:8px 10px;display:grid;overflow:auto}.game-check{align-items:center;gap:8px;font-size:14px;display:flex}.game-quick{gap:8px;display:grid}.game-quick-btns{flex-wrap:wrap;gap:6px;display:flex}.game-labels{gap:6px;display:grid}.game-label-row{gap:6px;display:flex}.game-label-row input{flex:1;min-width:0}.game-field input:not([type]),.game-field input[type=text],.game-label-row input{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:10px 12px}.game-field input:not([type]):focus-visible,.game-label-row input:focus-visible{outline:2px solid var(--lime);outline-offset:0;border-color:var(--green-700)}.game-label-row .btn{flex:none}.game-composer .actions{margin-top:0}@media (width<=860px){.modal.sheet .box.game-composer{border-radius:0;max-width:none;max-height:none;animation:none;position:fixed;inset:0}}.install-banner{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:12px 14px}.install-banner-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.install-banner-actions{gap:6px;display:inline-flex}.install-guide ol{margin:6px 0;padding-left:20px}.install-chrome-buttons{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.install-share{vertical-align:middle}.chat-room{position:relative}.chat-drop{z-index:30;color:#fff;border:3px dashed var(--lime);pointer-events:none;background:#0f3d2ac7;border-radius:8px;place-items:center;font-size:16px;font-weight:700;display:grid;position:absolute;inset:0}.attach-menu{flex:none;position:relative}.attach-menu-list{z-index:20;background:var(--white);border:1px solid var(--line);border-radius:10px;min-width:130px;padding:4px;display:grid;position:absolute;bottom:44px;left:0;box-shadow:0 8px 24px #0f3d2a26}.attach-menu-list button{text-align:left;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:9px 12px;font-size:14px}.attach-menu-list button:hover{background:var(--bg)}.chat-tray{background:var(--bg);border-radius:8px;margin-bottom:6px;padding:6px 8px}.chat-tray-list{gap:6px;padding:2px 0 4px;display:flex;overflow-x:auto}.chat-tray-item{border:1px solid var(--line);background:var(--white);border-radius:8px;flex:none;height:64px;position:relative;overflow:hidden}.chat-tray-item.photo{width:64px}.chat-tray-item.photo img{object-fit:cover;width:100%;height:100%;display:block}.chat-tray-item.doc{align-items:center;max-width:180px;padding:0 28px 0 8px;font-size:12px;display:flex}.chat-tray-name{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.chat-tray-x{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:50%;width:20px;height:20px;padding:0;font-size:14px;line-height:20px;position:absolute;top:2px;right:2px}.chat-tray-original{cursor:pointer;align-items:center;gap:6px;margin-top:2px;display:flex}.chat-pending-atts{flex-wrap:wrap;gap:4px;max-width:100%;display:flex}.chat-pending-att{max-width:100%;position:relative}.chat-pending-att.photo img{object-fit:cover;opacity:.75;border-radius:8px;width:96px;height:96px;display:block}.chat-att-bar{background:#00000040;border-radius:3px;height:5px;position:absolute;bottom:4px;left:4px;right:4px;overflow:hidden}.chat-att-bar>span{background:var(--lime);height:100%;transition:width .15s linear;display:block}.chat-pending-att:not(.photo) .chat-att-bar{background:#00000026;width:100%;height:5px;margin-top:4px;display:block;position:static;overflow:hidden}.chat-att-fail{background:var(--red);color:#fff;border-radius:4px;padding:1px 6px;font-size:11px;position:absolute;bottom:4px;left:4px}.chat-pending-att:not(.photo) .chat-att-fail{margin-top:4px;display:inline-block;position:static}.chat.compact .chat-tray{margin-bottom:4px;padding:4px 6px}.chat.compact .chat-tray-item{height:52px}.chat.compact .chat-tray-item.photo{width:52px}.photo-grid{grid-template-columns:repeat(var(--cols,3), 1fr);width:min(100%, calc(var(--cols,3) * 92px));border-radius:8px;gap:2px;max-width:100%;display:grid;overflow:hidden}.photo-grid.single{width:auto;display:block}.photo-cell{aspect-ratio:1;background:var(--bg);cursor:zoom-in;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.photo-cell img{object-fit:cover;width:100%;height:100%;display:block}.photo-grid.single .photo-cell{aspect-ratio:auto;border-radius:8px;width:auto;max-width:100%}.photo-grid.single .photo-cell img{object-fit:cover;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:260px}.photo-more{color:#fff;background:#00000080;place-items:center;font-size:18px;font-weight:700;display:grid;position:absolute;inset:0}.chat.compact .photo-grid:not(.single){width:min(100%, calc(var(--cols,3) * 80px))}.chat.compact .photo-grid.single{width:auto}.chat.compact .photo-grid.single .photo-cell img{max-height:180px}.bubble .photo-grid+.chat-file,.bubble .chat-file+.chat-file{margin-top:4px}.bubble .chat-file{overflow-wrap:anywhere;max-width:100%;display:block}.chat-mention{white-space:nowrap;color:#1b6b45;font-weight:700}.chat-msg.mine .chat-mention{color:#0f3d2a}.chat-system{max-width:90%;color:var(--muted);text-align:center;overflow-wrap:anywhere;align-self:center;margin:6px 0;padding:2px 10px}.reactions{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex;position:relative}.chat-msg.mine .reactions{justify-content:flex-end}.reaction-chip{border:1px solid var(--line);background:var(--white);min-height:24px;font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:3px;padding:1px 8px;font-size:13px;display:inline-flex}.reaction-chip.mine{background:var(--green-100);border-color:var(--lime);font-weight:700}.reaction-count{color:var(--muted);font-size:12px}.reaction-chip.mine .reaction-count{color:var(--ink)}.reaction-pop{z-index:15;background:var(--white);border:1px solid var(--line);border-radius:10px;min-width:140px;max-width:220px;margin-top:4px;padding:8px 10px;font-size:13px;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #0f3d2a26}.chat-msg.mine .reaction-pop{left:auto;right:0}.reaction-pop-head{margin-bottom:4px;font-weight:700}.reaction-pop.up{margin-top:0;margin-bottom:4px;top:auto;bottom:100%}.reaction-pop ul{max-height:160px;margin:0 0 8px;padding:0;list-style:none;overflow-y:auto}.reaction-pop li{overflow-wrap:anywhere;padding:2px 0}.photo-viewer{z-index:1000;color:#fff;background:#000000f0;outline:none;flex-direction:column;height:100dvh;display:flex;position:fixed;inset:0}.photo-viewer-bar{padding:8px 12px;padding-top:max(8px, env(safe-area-inset-top));background:#00000080;flex:none;align-items:center;gap:10px;font-size:14px;display:flex}.photo-viewer-count{font-variant-numeric:tabular-nums;flex:none}.photo-viewer-name{text-overflow:ellipsis;white-space:nowrap;opacity:.8;flex:1;min-width:0;overflow:hidden}.photo-viewer-btn{color:#fff;min-height:40px;font:inherit;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:8px;flex:none;align-items:center;padding:8px 14px;font-size:14px;text-decoration:none;display:inline-flex}.photo-viewer-stage{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;place-items:center;min-height:0;display:grid;overflow:hidden}.photo-viewer-stage img{object-fit:contain;transform-origin:50%;will-change:transform;-webkit-user-drag:none;max-width:100%;max-height:100%}.photo-viewer-nav{color:#fff;cursor:pointer;background:#ffffff2e;border:0;border-radius:8px;width:44px;height:64px;font-size:34px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.photo-viewer-nav.prev{left:8px}.photo-viewer-nav.next{right:8px}.photo-viewer-nav:disabled{opacity:.25;cursor:default}@media (pointer:coarse){.photo-viewer-nav{background:#ffffff1f;width:36px;height:56px}}.chat-drawer{flex-direction:column;max-width:560px;display:flex;overflow:hidden}.chat-drawer-tabs{gap:6px;margin-bottom:8px;display:flex}.chat-drawer-tabs button{border:1px solid var(--line);background:var(--white);min-height:36px;font:inherit;cursor:pointer;border-radius:8px;flex:1}.chat-drawer-tabs button.active{background:var(--green-100);border-color:var(--lime);font-weight:700}.chat-drawer-body{min-width:0;height:min(60vh,520px);overflow:hidden auto}.chat-drawer-grid{grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.chat-drawer-cell{aspect-ratio:1;background:var(--bg);cursor:pointer;border:0;padding:0;position:relative;overflow:hidden}.chat-drawer-cell img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.chat-drawer-files{margin:0}.chat-drawer-files li{align-items:center;gap:8px;min-width:0;display:flex}.chat-drawer-file{flex:1;gap:2px;min-width:0;padding:8px 4px;display:grid}.chat-drawer-name{text-overflow:ellipsis;white-space:nowrap;text-decoration:underline;overflow:hidden}.chat-drawer-file .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-drawer-status{text-align:center;margin:0;padding:8px 0}.chat-drawer-more{margin:8px auto;display:block}.chat-drawer .empty{text-align:center;padding:32px 8px}.messenger-popup .chat-drawer-body{height:min(60vh,360px)}.chat-room-row{position:relative}.chat-room-menu-btn{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:16px;line-height:1;transition:opacity .12s;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.chat-room-row:hover .chat-room-menu-btn,.chat-room-menu-btn:focus-visible,.chat-room-row.menu-open .chat-room-menu-btn{opacity:1}.chat-room-row:hover .chat-room-item,.chat-room-row:focus-within .chat-room-item,.chat-room-row.menu-open .chat-room-item{padding-right:38px}.chat-room-menu-btn:focus-visible{outline:2px solid var(--lime)}.chat-room-row.touch .chat-room-item{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.chat-room-row.menu-open .chat-room-item{background:var(--bg)}.home-mail{grid-column:1/-1}.clock-strip{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:12px;padding:10px 16px;display:flex}.clock-strip-times{color:inherit;flex:1;align-items:baseline;gap:6px;text-decoration:none;display:flex}.clock-strip-times b{margin-right:10px}body.auth-screen{background:linear-gradient(160deg,#0f3d2a,#1c6b48);place-items:center;min-height:100vh;padding:16px;display:grid}.login{background:#fff;border-radius:20px;width:100%;max-width:400px;padding:32px 28px;box-shadow:0 20px 50px #00000040}.login img{height:46px;margin:0 auto 6px;display:block}.login .sub{text-align:center;color:var(--muted);margin:0 0 24px;font-size:14px}.login h1{text-align:center;margin:0 0 6px;font-size:18px}.login .field{margin-bottom:14px;display:block}.login .field label{color:var(--ink);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.login .field input{border:1px solid var(--line);border-radius:10px;width:100%;padding:10px 12px}.login .field input:focus{outline:2px solid var(--green-700);outline-offset:0}.login .btn{background:var(--green-900);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;width:100%;padding:12px;font-weight:700}.login .btn:disabled{opacity:.6;cursor:default}.login .hint{background:var(--lime-100);color:#3e5512;border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:13px}.login .error{margin:0 0 12px}.tag.gray{color:var(--muted);background:#eef1ef}.link{color:var(--green-700);text-decoration:underline}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-card{gap:4px;padding:20px;display:grid}.form-card b{color:var(--green-900);font-size:18px}.form-card:hover{border-color:var(--green-700)}.doc-item{align-items:center;gap:10px;width:100%;min-width:0;padding:12px 4px;display:flex}.doc-item:hover{background:var(--bg)}.doc-item .grow{flex:1;gap:2px;min-width:0;display:grid}.doc-item .tag{flex:none}.doc-search{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:12px;display:flex}.doc-search input,.doc-search select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 10px}.doc-search input[type=search]{flex:1;min-width:160px}.doc-form-grid{grid-template-columns:3fr 2fr;align-items:start;gap:16px;display:grid}.leave-preview{background:var(--lime-100);color:#3e5512;border-radius:8px;margin:-4px 0 14px;padding:8px 12px;font-weight:700}.leave-preview.warn{color:var(--red);background:#fbe7e3}.file-list li{padding:6px 0}.line-list{margin:0 0 12px;padding:0;list-style:none}.line-person{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.line-person .grow{flex:1;min-width:0}.line-no{background:var(--green-100);width:24px;height:24px;color:var(--green-800);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.line-lock{font-size:14px}.line-slot{padding:2px 0}.line-slot.open{padding:6px 0}.line-add{border:1px dashed var(--line);color:var(--green-700);cursor:pointer;background:0 0;border-radius:8px;width:100%;padding:4px;font-size:13px}.line-add:hover{border-color:var(--green-700)}.doc-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.doc-form-stack{gap:16px;max-width:860px;display:grid}.doc-form-head{margin-top:0}.line-list{gap:6px;display:grid}.line-person{flex-wrap:wrap}.line-person.drafter{background:var(--bg)}.line-no.notify{background:var(--lime-100);color:#3e5512}.line-tools{gap:4px;display:inline-flex}.line-notify-head{margin:4px 0}.role-seg{border:1px solid var(--line);border-radius:8px;flex:none;display:inline-flex;overflow:hidden}.role-btn{border:0;border-left:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;min-height:32px;padding:5px 10px;font-size:13px}.role-btn:first-child{border-left:0}.role-btn.on{background:var(--green-700);color:#fff;font-weight:700}.role-btn.on.k-agree{background:#2f6f8f}.role-btn.on.k-notify{background:var(--lime);color:var(--green-900)}.role-btn:disabled:not(.on){opacity:.4;cursor:not-allowed}.back-link{margin-bottom:8px;display:inline-block}.doc-view .card{margin-bottom:16px}.doc-head{margin-bottom:14px}.doc-head h1{overflow-wrap:anywhere;margin:6px 0 4px;font-size:22px}.doc-head p{margin:0}.doc-head-tags{flex-wrap:wrap;gap:6px;display:flex}.progress{gap:0;margin:0 0 8px;padding:0;list-style:none;display:flex;overflow-x:auto}.progress .step{text-align:center;flex-direction:column;flex:1;align-items:center;min-width:120px;padding:0 6px;display:flex;position:relative}.progress .step:before{content:"";background:var(--line);z-index:0;width:100%;height:3px;position:absolute;top:14px;left:-50%}.progress .step:first-child:before{display:none}.progress .step.done:before,.progress .step.approved:before,.progress .step.rejected:before,.progress .step.current:before{background:var(--green-700)}.progress .dot{z-index:1;border:2px solid var(--line);width:30px;height:30px;color:var(--muted);background:#fff;border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;position:relative}.progress .step.done .dot,.progress .step.approved .dot{background:var(--green-700);border-color:var(--green-700);color:#fff}.progress .step.rejected .dot{background:var(--red);border-color:var(--red);color:#fff}.progress .step.current .dot{border-color:var(--lime);background:var(--lime-100);color:var(--green-900)}.progress .step.skipped{opacity:.55}.step-body{gap:2px;margin-top:6px;font-size:14px;display:grid}.step-time{font-size:12px}.step-comment{background:var(--bg);overflow-wrap:anywhere;border-radius:8px;padding:4px 8px;font-size:13px}.step-blocked{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.doc-fields{grid-template-columns:100px 1fr;gap:8px 12px;margin:0 0 12px;font-size:15px;display:grid}.doc-fields dt{color:var(--muted)}.doc-fields dd{min-width:0;margin:0}.doc-general{line-height:1.7}.doc-files{gap:8px;margin:0;padding:0;list-style:none;display:grid}.doc-files a{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:block}.doc-files img{border-radius:6px;max-width:100%;max-height:320px;margin-bottom:6px;display:block}.doc-files .file-name{overflow-wrap:anywhere;text-decoration:underline}.sign-box{border-collapse:collapse;flex-wrap:wrap;justify-content:flex-end;display:flex}.sign-col{text-align:center;border:1px solid #9aa8a0;grid-template-rows:auto auto 64px auto auto;width:92px;margin:0 -1px -1px 0;font-size:13px;display:grid}.sign-col>span{overflow-wrap:anywhere;padding:3px 4px}.sign-role{background:var(--green-100);color:var(--green-900);border-bottom:1px solid #9aa8a0;font-weight:700}.sign-col.agree .sign-role{color:#234f66;background:#e3eef4}.sign-pos{color:var(--muted);min-height:22px;font-size:12px}.sign-stamp{place-items:center;display:grid}.sign-name{border-top:1px dashed var(--line);font-weight:700}.sign-date{color:var(--muted);min-height:20px;font-size:11px}.stamp{border:2px solid;border-radius:50%;place-items:center;width:46px;height:46px;font-size:13px;font-weight:800;display:inline-grid;transform:rotate(-12deg)}.stamp.done,.stamp.approved{color:var(--green-700)}.stamp.rejected{color:var(--red)}.stamp.waiting{color:#a7b1ab;border-style:dashed;font-weight:600;transform:none}.stamp.turn{color:#6d8d22;background:var(--lime-100);transform:none}.sign-col.current{box-shadow:inset 0 0 0 2px var(--lime)}.sign-col.skipped{opacity:.5}.sign-notify{text-align:right;margin:10px 0 0}.sign-comments{gap:6px;margin:12px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.sign-comments li{gap:2px;display:grid}.admin-line{border:1px solid var(--line);border-radius:10px;padding:12px}.admin-line h4{margin-top:0}.admin-line-list{gap:4px;margin:0 0 8px;padding:0;list-style:none;display:grid}.admin-line-list li{align-items:center;gap:4px;display:flex}.admin-line-list .grow{flex:1;min-width:0}@media (width<=860px){.doc-form-grid{grid-template-columns:1fr}.sign-box{flex-flow:column}.sign-col{grid-template-rows:none;grid-template-columns:52px auto 1fr 56px 74px;align-items:center;width:auto;min-height:52px;margin:0 0 -1px}.sign-col>span{grid-row:1;padding:6px}.sign-role{border-bottom:0;grid-column:1;align-self:stretch;place-items:center;display:grid}.sign-pos{grid-column:2;min-height:0}.sign-name{text-align:left;border-top:0;grid-column:3}.sign-stamp{grid-column:4}.sign-date{grid-column:5}.stamp{width:40px;height:40px;font-size:12px}.sign-notify{text-align:left}.line-person .role-seg{order:3}.line-tools,.line-person .line-lock{order:4;margin-left:auto}.field-row{grid-template-columns:1fr;gap:0}.progress{flex-direction:column;overflow:visible}.progress .step{text-align:left;flex-direction:row;align-items:flex-start;gap:10px;min-width:0;padding:0 0 14px}.progress .step:before{display:none}.progress .step:not(:last-child):after{content:"";background:var(--line);width:3px;position:absolute;top:32px;bottom:2px;left:13px}.progress .step.done:after,.progress .step.approved:after{background:var(--green-700)}.step-body{margin-top:4px}.step-blocked{justify-content:flex-start}.doc-fields{grid-template-columns:80px 1fr}.doc-actions.sticky{bottom:calc(64px + env(safe-area-inset-bottom));z-index:20;background:var(--white);border-top:1px solid var(--line);margin:16px -14px 0;padding:10px 14px;position:sticky}.doc-actions .btn{flex:1;justify-content:center;padding:12px 10px}.doc-item{flex-wrap:wrap}.doc-item .grow{flex-basis:calc(100% - 60px)}.doc-search input[type=search]{flex-basis:100%}}.sv-h2{margin:20px 0 10px;font-size:16px}.sv-title{overflow-wrap:anywhere;margin:6px 0 4px;font-size:22px}.sv-form,.sv-view,.sv-answer,.sv-results{gap:16px;min-width:0;max-width:860px;display:grid}.sv-form>*,.sv-view>*,.sv-answer>*,.sv-results>*{min-width:0}.sv-form .page-title,.sv-results .page-title{margin-bottom:0}.sv-form .card h2{justify-content:flex-start}.field textarea.short{min-height:90px}.notice-line{background:var(--lime-100);color:#3e5512;border-radius:8px;margin:0 0 8px;padding:8px 12px;font-size:14px}.sv-warn{color:#8a6200;background:#fff3d6;border-radius:8px;margin:6px 0;padding:8px 12px}.sv-done{background:var(--green-100);color:var(--green-900);border-radius:8px;margin:8px 0 0;padding:8px 12px;font-weight:700}.sv-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.sv-add-target{border-top:1px solid var(--line);gap:6px;margin-top:14px;padding-top:12px;display:grid}.sv-check{align-items:center;gap:6px;min-height:32px;display:inline-flex}.sv-inline{flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:inline-flex}.sv-inline input[type=number]{width:90px}.sv-inline input,.sv-options input,.sv-question select{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:8px 10px}.sv-row{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:10px;display:flex}.sv-question{min-width:0;margin:0 0 12px;display:block}.sv-question[disabled]{opacity:.7}.sv-q-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.sv-q-tools{gap:4px;display:inline-flex}.sv-options{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.sv-options li{align-items:center;gap:4px;display:flex}.sv-options li input{flex:1;min-width:0}.sv-chiplist{flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.sv-chiplist li{border:1px solid var(--line);background:var(--green-100);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:14px;display:inline-flex}.sv-target{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.sv-seg{flex-wrap:wrap;gap:6px;display:flex}.sv-seg button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;min-height:40px;padding:8px 14px}.sv-seg button.on{background:var(--green-900);color:#fff;border-color:var(--green-900)}.sv-chk-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 12px;margin:6px 0 10px;display:grid}.sv-banner{z-index:15;text-align:center;border-radius:10px;padding:10px 14px;font-weight:700;position:sticky;top:0}.sv-banner.anon{background:var(--green-900);color:#fff}.sv-banner.named{color:#8a6200;background:#fff3d6}.sv-q h3{overflow-wrap:anywhere;margin:0 0 12px;font-size:16px}.sv-q.flag{border-color:var(--red);box-shadow:0 0 0 2px #fbe7e3}.sv-req{color:var(--red);vertical-align:middle;background:#fbe7e3;border-radius:6px;padding:0 6px;font-size:12px;display:inline-block}.sv-choices{gap:8px;display:grid}.sv-choice{border:2px solid var(--line);text-align:left;cursor:pointer;overflow-wrap:anywhere;background:#fff;border-radius:12px;width:100%;min-height:52px;padding:14px 16px;font-size:16px;display:block}.sv-choice.on{border-color:var(--green-700);background:var(--green-100);font-weight:700}.sv-choice.check:before{content:"☐ "}.sv-choice.check.on:before{content:"☑ "}.sv-choices input[type=text],.sv-text{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:12px;font-size:16px}.sv-scores{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.sv-scores .sv-choice{text-align:center;padding:14px 0}.sv-score-labels{justify-content:space-between;gap:8px;margin-top:6px;display:flex}.btn.big{padding:14px 24px;font-size:16px}.sv-rate{margin:0;font-size:16px}.sv-result-q h3{overflow-wrap:anywhere;margin:0 0 12px;font-size:16px}.sv-bars{gap:10px;margin:0;padding:0;list-style:none;display:grid}.sv-bars li{grid-template-columns:minmax(80px,160px) 1fr 6.5em;align-items:center;gap:10px;display:grid}.sv-bar-label{overflow-wrap:anywhere;font-size:14px}.sv-bar-track{background:var(--green-100);border-radius:9px;height:18px;overflow:hidden}.sv-bar-fill{background:#a9c9b8;min-width:0;height:100%;display:block}.sv-bars li.top .sv-bar-fill{background:var(--green-700)}.sv-bars li.top .sv-bar-label,.sv-bars li.top .sv-bar-num{font-weight:700}.sv-bar-num{color:var(--muted);white-space:nowrap;text-align:right;font-size:13px}.sv-avg{margin:10px 0 0}.sv-other{margin-top:12px}.sv-texts{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.sv-texts li{background:var(--bg);border-radius:8px;gap:2px;padding:8px 10px;display:grid}.sv-person summary{cursor:pointer}.sv-person dl{gap:8px;margin:10px 0 0;display:grid}.sv-person dt{color:var(--muted);font-size:13px}.sv-person dd{margin:0}@media (width<=860px){.sv-bars li{grid-template-columns:1fr auto}.sv-bar-track{grid-area:2/1/auto/-1}.sv-bar-label{grid-row:1}.sv-bar-num{grid-area:1/2}.sv-options li{flex-wrap:wrap}.sv-options li input{flex-basis:100%}.sv-inline input[type=datetime-local]{width:100%}}.att-cal{border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.att-cal-head{color:var(--muted);text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafcfb;padding:6px;font-size:13px}.att-cal-head.red,.att-cal-cell.red .att-cal-d,.red-text{color:var(--red)}.att-cal-cell{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:92px;font:inherit;text-align:left;cursor:pointer;background:#fff;flex-direction:column;align-items:stretch;gap:2px;padding:5px 6px;font-size:12px;display:flex}.att-cal-cell:hover{background:#f7faf8}.att-cal-cell.blank{cursor:default;background:#fafcfb}.att-cal-cell.red{background:#fffdfc}.att-cal-cell.picked{box-shadow:inset 0 0 0 2px var(--lime)}.att-cal-cell:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}.att-cal-top{align-items:baseline;gap:4px;min-width:0;display:flex}.att-cal-d{flex:none;font-weight:700}.att-cal-cell.today .att-cal-d{background:var(--green-900);color:#fff;border-radius:999px;padding:0 7px}.att-cal-hol{color:var(--red);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;line-height:1.3;overflow:hidden}.att-cal-times{color:var(--muted);font-size:11px;line-height:1.35;display:grid}.att-cal-st{align-items:center;gap:4px;font-size:11px;font-weight:700;display:inline-flex}.att-cal-st i,.att-cal-legend i{background:#b9c3bd;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot-ok i{background:var(--green-700)}.dot-warn i{background:#e0902a}.dot-warn{color:#a5600e}.dot-bad i{background:var(--red)}.dot-bad{color:var(--red)}.dot-leave i{background:#4a8bd6}.dot-leave{color:#2f63b5}.att-cal-legend{flex-wrap:wrap;gap:4px 12px;margin:8px 0 0;display:flex}.att-cal-legend span{align-items:center;gap:4px;display:inline-flex}.att-cal-detail{background:var(--bg);border-radius:10px;margin-top:10px;padding:10px 12px}@media (width<=860px){.att-cal-cell{text-align:center;align-items:center;min-height:52px;padding:3px}.att-cal-top{flex-direction:column;align-items:center;gap:0;width:100%}.att-cal-times,.att-cal-st-text{display:none}.att-cal-hol{white-space:normal;word-break:keep-all;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:11px;line-height:1.2;display:-webkit-box}.att-cal-st i{width:9px;height:9px}}.att-cal-pick{gap:8px;margin-top:16px;display:grid}.att-cal-pick select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 10px}.task-form .field-row.three{grid-template-columns:1fr 1fr 1fr}.check-line{cursor:pointer;align-items:center;gap:8px;display:flex}.inline-add{gap:8px;margin-top:8px;display:flex}.inline-add input{border:1px solid var(--line);background:#fff;border-radius:10px;flex:1;min-width:0;padding:8px 12px}.schedule{border:1px solid var(--line);border-radius:10px;margin:10px 0 0;padding:10px 14px}.schedule legend{color:var(--muted);padding:0 6px;font-size:13px}.weekday-row{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.weekday{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.weekday input{opacity:0;pointer-events:none;position:absolute}.weekday.on{background:var(--green-700);color:#fff;border-color:var(--green-700);font-weight:700}.weekday:focus-within{outline:2px solid var(--lime)}.pri.pri-high,.tag.pri-high{color:var(--red);font-weight:700}.pri.pri-low,.tag.pri-low{color:var(--muted)}.tag.pri-high{background:#fbe7e3}.tag.pri-low{background:#eef1ef}.tag.pri-normal{display:none}.due.overdue{color:var(--red);font-weight:700}.due.today{color:#8a6200;font-weight:700}.tag.due.overdue{background:#fbe7e3}.tag.due.today{background:#fff3d6}.done-title{color:var(--muted);text-decoration:line-through}.task-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:12px;display:flex}.task-filters select,.task-filters input[type=search]{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 10px}.task-search{flex:1;gap:6px;min-width:180px;display:flex}.task-search input{flex:1;min-width:0}.seg{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{border:0;border-left:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;min-height:34px;padding:6px 14px}.seg button:first-child{border-left:0}.seg button.on{background:var(--green-700);color:#fff;font-weight:700}.quick-add{margin-bottom:12px}.quick-add input{border:1px dashed var(--line);background:#fff;border-radius:10px;width:100%;padding:11px 14px}.quick-add input:focus{border-style:solid;border-color:var(--green-700);outline:none}.task-row{align-items:stretch;gap:8px}.task-check{flex:none;align-self:center;width:20px;margin-left:4px}.task-item{flex:1;align-items:center;gap:10px;min-width:0;padding:12px 4px;display:flex}.task-item:hover{background:var(--bg)}.task-item .grow{flex:1;gap:2px;min-width:0;display:grid}.task-item .tag,.task-item .due{flex:none}.board{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;display:grid}.board-col{background:var(--bg);border-radius:var(--radius);border:2px solid #0000;align-content:start;gap:8px;min-height:120px;padding:10px;display:grid}.board-col h3{margin:0 0 4px;font-size:14px}.board-col.droppable{border-color:var(--line);border-style:dashed}.board-col.over{border-color:var(--green-700);background:var(--green-100)}.board-card{border:1px solid var(--line);background:#fff;border-radius:10px;gap:6px;padding:10px;display:grid}.board-card[draggable=true]{cursor:grab}.board-card.pri-high{border-left:4px solid var(--red)}.board-card.pri-low{border-left:4px solid var(--line)}.board-card .title{overflow-wrap:anywhere;font-weight:600}.board-card .meta{flex-wrap:wrap;gap:4px 10px;display:flex}.card-moves{flex-wrap:wrap;gap:6px;display:flex}.task-view .card{margin-bottom:16px}.task-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.task-actions .grow{flex:1}.task-thread li{align-items:flex-start}.task-thread li.log{border-bottom:0;padding:4px 0}.comment-form{gap:8px;margin-top:12px;display:grid}.comment-form textarea{border:1px solid var(--line);border-radius:10px;width:100%;min-height:80px;padding:10px 12px}.comment-form .btn{justify-self:end}@media (width<=860px){.board,.task-form .field-row.three{grid-template-columns:1fr}}.ev.task-ev{color:var(--green-900);border:1px dashed var(--green-700);background:#fff}.task-ev-mark{color:var(--green-700);margin-right:2px;display:none}@media (width<=640px){.task-ev-prefix{display:none}.task-ev-mark{display:inline}.task-item{flex-wrap:wrap;gap:4px 8px}.task-item .grow{flex-basis:100%}.task-actions .grow{flex-basis:100%;height:0;margin:-4px 0}}.rooms-nav{flex-wrap:wrap;gap:8px;display:flex}.rooms-bar{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px;display:flex}.rooms-bar select,.rooms-bar input[type=date]{border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px 10px}.rooms-date{margin:0;font-size:18px}.red-text{color:var(--red)}.rooms-hol{color:var(--red);font-size:13px;font-weight:400}.rm-scroll{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow-x:auto}.rm-grid{--rm-row:28px;grid-template-columns:56px repeat(var(--rm-cols), minmax(130px, 1fr));min-width:min-content;display:grid}.rm-grid.narrow{--rm-row:36px;grid-template-columns:52px minmax(0,1fr)}.rm-corner,.rm-head{border-bottom:1px solid var(--line);background:#fafcfb}.rm-head{border-left:1px solid var(--line);gap:2px;min-width:0;padding:8px 10px;display:grid}.rm-head b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rm-head.off{color:var(--muted)}.rm-times{height:calc(var(--rm-row) * 30);position:relative}.rm-times span{color:var(--muted);background:#fff;padding:0 2px;font-size:11px;position:absolute;right:6px;transform:translateY(-50%)}.rm-times span:first-child{transform:none}.rm-col{height:calc(var(--rm-row) * 30);border-left:1px solid var(--line);cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:pan-y;background-image:linear-gradient(to bottom, var(--line) 1px, transparent 1px), linear-gradient(to bottom, #f0f4f1 1px, transparent 1px);background-size:100% calc(var(--rm-row) * 2), 100% var(--rm-row);position:relative}.rm-col.off{cursor:not-allowed;opacity:.6;background-color:#f3f5f4}.rm-past{pointer-events:none;background:#78827d1f;position:absolute;top:0;left:0;right:0}.rm-block{text-align:left;font:inherit;background:var(--green-100);color:var(--green-900);cursor:pointer;box-shadow:inset 3px 0 0 var(--green-700);border:0;border-radius:6px;padding:2px 6px;font-size:12px;line-height:1.3;position:absolute;left:3px;right:3px;overflow:hidden}.rm-block.mine{background:var(--lime-100);box-shadow:inset 3px 0 0 var(--lime)}.rm-block.clip-top{border-top-left-radius:0;border-top-right-radius:0}.rm-block.clip-bottom{border-bottom-right-radius:0;border-bottom-left-radius:0}.rm-block:hover{filter:brightness(.97)}.rm-block:focus-visible{outline:2px solid var(--green-900);outline-offset:1px}.rm-b-time{font-weight:700}.rm-b-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rm-sel{border:2px solid var(--lime);color:var(--green-900);pointer-events:none;background:#9bc94a59;border-radius:6px;padding:2px 6px;font-size:12px;font-weight:700;position:absolute;left:3px;right:3px}.rm-now{border-top:2px solid var(--red);pointer-events:none;z-index:2;height:0;position:absolute;left:0;right:0}.rooms-choice-items{max-height:40vh;margin:0 0 12px;padding-left:20px;font-size:14px;overflow:auto}.rooms-choice-actions,.rooms-view-actions{flex-wrap:wrap}.rooms-repeat{border:1px solid var(--line);border-radius:10px;margin:0 0 14px;padding:10px 12px 0}.rooms-repeat legend{color:var(--muted);padding:0 6px;font-size:13px}.rooms-weekdays{gap:6px;margin-bottom:12px;display:flex}.rooms-wd{border:1px solid var(--line);cursor:pointer;width:36px;height:36px;font:inherit;background:#fff;border-radius:50%}.rooms-wd.on{background:var(--green-900);color:#fff;border-color:var(--green-900)}.rooms-wd:disabled{opacity:.55;cursor:default}@media (width<=860px){.rooms-date{font-size:16px}.rm-block{font-size:13px}}body.meet-body{background:var(--green-900);overflow:hidden}.meet-page-wrap{background:var(--bg);justify-content:center;align-items:center;height:100dvh;padding:16px;display:flex;overflow-y:auto}.meet-prejoin{flex-direction:column;gap:12px;width:100%;max-width:560px;margin:auto;display:flex}.meet-prejoin-title{color:var(--ink);margin:0;font-size:20px}.meet-prejoin-preview{aspect-ratio:16/9;border-radius:var(--radius);background:var(--green-900);color:#fff;position:relative;overflow:hidden}.meet-prejoin-preview video{object-fit:cover;width:100%;height:100%;display:block}.meet-prejoin-off{opacity:.8;place-items:center;font-size:15px;display:grid;position:absolute;inset:0}.meet-prejoin-toggles{justify-content:center;gap:12px;display:flex;position:absolute;bottom:12px;left:0;right:0}.meet-mirror{transform:scaleX(-1)}.meet-devices{gap:8px;display:grid}.meet-devices label{color:var(--muted);grid-template-columns:64px 1fr;align-items:center;gap:8px;font-size:14px;display:grid}.meet-devices select{border:1px solid var(--line);background:var(--white);min-width:0;color:var(--ink);border-radius:8px;padding:7px 8px}.meet-hint{background:var(--lime-100);color:var(--ink);border-radius:8px;margin:0;padding:8px 12px;font-size:14px}.meet-notice{color:var(--muted);margin:0;font-size:14px}.meet-join{justify-content:center;padding:12px 16px;font-size:16px;font-weight:700}.meet-end{text-align:center;gap:16px;display:grid}.meet-end p{color:var(--ink);margin:0;font-size:17px}.meet-end-actions{justify-content:center;gap:8px;display:flex}.meet-round{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:22px;justify-content:center;align-items:center;gap:4px;min-width:44px;height:44px;padding:0 12px;font-size:18px;display:inline-flex;position:relative}.meet-round:hover{background:#ffffff42}.meet-round:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.meet-round.off{background:var(--red)}.meet-round.active{background:var(--lime);color:var(--green-900)}.meet-round:disabled{opacity:.45;cursor:default}.meet-prejoin-toggles .meet-round{background:#00000073}.meet-prejoin-toggles .meet-round.off{background:var(--red)}.meet-leave{background:var(--red);padding:0 18px;font-size:15px;font-weight:700}.meet-leave:hover{background:#a93a26}.meet-count{font-size:12px;font-weight:700}.meet-rec-slot:empty{display:none}.meet-record.on{background:var(--red)}.meet-view{background:var(--green-900);color:#fff;flex-direction:column;height:100dvh;font-family:inherit;display:flex}.meet-banner{text-align:center;justify-content:center;align-items:center;gap:8px;padding:6px 12px;font-size:14px;font-weight:700;display:flex}.meet-banner-rec{background:var(--red);color:#fff}.meet-banner-wait{background:var(--lime);color:var(--green-900)}.meet-banner-notice{background:var(--lime-100);color:var(--ink);font-weight:400}.meet-banner-notice .icon-btn{background:0 0;width:24px;height:24px;font-size:12px}.meet-main{flex:1;min-height:0;display:flex}.meet-stage{flex:1;min-width:0;margin:8px;position:relative;overflow:hidden}.meet-tile{background:var(--green-800);border-radius:10px;transition:box-shadow .15s;position:relative;overflow:hidden;box-shadow:inset 0 0 #0000}.meet-tile.speaking{box-shadow:0 0 0 3px var(--lime)}.meet-tile.screen{background:#000}.meet-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.meet-tile.screen .meet-video{object-fit:contain}.meet-tile-avatar{place-items:center;display:grid;position:absolute;inset:0}.meet-tile-avatar img{aspect-ratio:1;object-fit:cover;border-radius:50%;width:30%;max-width:96px}.meet-tile-avatar span{aspect-ratio:1;background:var(--green-700);border-radius:50%;place-items:center;width:30%;max-width:96px;font-size:clamp(16px,4vw,36px);font-weight:700;display:grid}.meet-tile-name{white-space:nowrap;text-overflow:ellipsis;background:#00000080;border-radius:6px;max-width:calc(100% - 12px);padding:2px 8px;font-size:13px;position:absolute;bottom:6px;left:6px;overflow:hidden}.meet-tile-muted{margin-right:4px}.meet-pages{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;position:absolute;inset:0;overflow:auto hidden}.meet-pages::-webkit-scrollbar{display:none}.meet-page{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:6px;height:100%;display:grid}.meet-page.n1{grid-template-rows:1fr;grid-template-columns:1fr}.meet-page.n2{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.meet-page.n3>:first-child{grid-column:1/-1}.meet-dots{pointer-events:none;justify-content:center;gap:6px;display:flex;position:absolute;bottom:6px;left:0;right:0}.meet-dots span{background:#fff6;border-radius:50%;width:6px;height:6px}.meet-dots span.on{background:#fff}.meet-panel{background:var(--white);width:360px;min-height:0;color:var(--ink);border-left:1px solid var(--line);flex-direction:column;flex:none;display:flex}.meet-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.meet-chat>.chat{flex:1;min-height:0;display:flex}.meet-chat>.chat>.chat-main{flex:1}.meet-people-list{margin:0;padding:6px 0;list-style:none;overflow-y:auto}.meet-people-list li{align-items:center;gap:8px;padding:8px 14px;display:flex}.meet-people-avatar{background:var(--green-100);width:32px;height:32px;color:var(--green-900);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid;overflow:hidden}.meet-people-avatar img{object-fit:cover;width:100%;height:100%}.meet-people-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.meet-bar{padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.meet-audio{display:none}.meet-view.compact .meet-stage{margin:6px}.meet-view.compact .meet-panel{z-index:20;border-left:0;width:auto;position:fixed;inset:0}.meet-view.compact .meet-bar{flex-wrap:nowrap;justify-content:flex-start;gap:6px;padding:8px;overflow-x:auto}.meet-view.compact .meet-round{flex:none;min-width:42px;height:42px}.meet-view.compact .meet-leave{margin-left:auto}@media (width<=640px){.meet-panel{z-index:20;border-left:0;width:auto;position:fixed;inset:0}}.meet-bg-picker{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--ink);gap:8px;padding:10px 12px;display:grid}.meet-bg-head{align-items:center;gap:8px;font-size:14px;display:flex}.meet-bg-loading{color:var(--muted);font-size:13px}.meet-bg-close{margin-left:auto}.meet-bg-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;display:grid}.meet-bg-item{color:inherit;font:inherit;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;gap:4px;padding:4px;font-size:13px;display:grid}.meet-bg-item.on{border-color:var(--lime)}.meet-bg-item:focus-visible{outline:2px solid var(--lime);outline-offset:1px}.meet-bg-item:disabled{opacity:.6;cursor:default}.meet-bg-thumb{aspect-ratio:16/9;background:#d9dcd6 50%/cover no-repeat;border-radius:6px;display:block}.meet-bg-item.bg-none .meet-bg-thumb{background:repeating-linear-gradient(45deg,#e9ebe7 0 6px,#f6f7f5 6px 12px)}.meet-bg-item.bg-blur .meet-bg-thumb{filter:blur(1.5px);background:radial-gradient(circle at 50% 45%,#7aa38a 0 22%,#0000 23%),linear-gradient(120deg,#c8d6cc,#8fa79a 60%,#b8c7bd)}.meet-bg-note{color:var(--muted);margin:0;font-size:12px}.meet-bg-pop{padding:0 12px}.meet-bg-pop .meet-bg-picker{background:var(--green-800);color:#fff;border-color:#ffffff29;max-width:560px;margin:0 auto}.meet-bg-pop .meet-bg-note,.meet-bg-pop .meet-bg-loading{color:#ffffffbf}.meet-bg-pop .meet-bg-close{color:#fff}.messenger-app{margin:0;overflow:hidden}.messenger-app .m-shell{height:var(--m-vh,100dvh);padding-top:env(safe-area-inset-top);background:#fff;flex-direction:column;display:flex}.messenger-app .m-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.messenger-app .m-page{flex-direction:column;gap:12px;padding:12px 16px;display:flex}.messenger-app .m-banner{color:#fff;text-align:center;background:#5a5a5a;padding:6px 8px;font-size:13px}.messenger-app .m-tabs{padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #ddd;display:flex}.messenger-app .m-tabs a{color:#666;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;font-size:12px;text-decoration:none;display:flex;position:relative}.messenger-app .m-tabs a.active{color:var(--green-900);font-weight:700}.messenger-app .m-badge{color:#fff;text-align:center;background:#d93025;border-radius:8px;min-width:16px;padding:0 4px;font-size:11px;line-height:16px;position:absolute;top:4px;left:calc(50% + 8px)}
