:root{--bg:#f5f6f8;--surface:#fff;--text:#15171c;--text-2:#4a4f59;--text-3:#6b717c;--text-off:#9aa0aa;--text-off-2:#b9bec7;--line:#e3e5e9;--line-soft:#f1f2f4;--line-input:#d5d8de;--line-dash:#c9cdd4;--fill:#f1f2f4;--fill-nav:#eef0f3;--fill-hover:#f8f9fa;--primary:#2f5bd3;--primary-hover:#244ab0;--primary-soft:#eaf0fd;--primary-softer:#f4f7fe;--danger:#b42318;--sat:#2448a8;--dim:#0f11166b;--dim-preview:#0f11168c;--st-review-bg:#fff3d6;--st-review-fg:#8a5300;--st-sent-bg:#e8effd;--st-sent-fg:#2448a8;--st-final-bg:#e2f3e8;--st-final-fg:#1e6b3c;--tt-opinion-bg:#e8effd;--tt-opinion-fg:#2448a8;--tt-poll-bg:#f1e9fb;--tt-poll-fg:#5b2e91;--tt-share-bg:#eef0f3;--tt-share-fg:#3a3f48;--tt-0:#d9f0e1;--tt-1:#f1f2f4;--tt-2:#e3e5e9;--tt-3:#c9cdd4;--tt-4:#b9bec7;--tt-5:#a8aeb8;--tt-mine:#dce6fb;--font:Pretendard, -apple-system, "Apple SD Gothic Neo", sans-serif;--mono:"JetBrains Mono", monospace;--r-card:10px;--r-modal:12px;--r-btn:7px;--r-input:6px;--shadow-seg:0 1px 2px #0f11161a;--shadow-modal:0 20px 50px #0f111633;--main-pad:clamp(16px, 2.6vw, 32px);--main-max:1360px;--sidebar-w:232px}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}*{box-sizing:border-box}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover);text-decoration:underline}input,select,textarea,button{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}h1,h2{margin:0}.row{align-items:center;gap:8px;display:flex}.col{flex-direction:column;min-width:0;display:flex}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.between{justify-content:space-between}.end{justify-content:flex-end}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nowrap{white-space:nowrap;flex-shrink:0}.split{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.page{flex-direction:column;gap:16px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.mono{font-family:var(--mono)}.h1{font-size:22px;font-weight:700}.h2{font-size:15px;font-weight:700}.h2s{font-size:14px;font-weight:700}.sub{color:var(--text-2);font-size:13.5px}.meta{color:var(--text-3);font-size:12px}.label{color:var(--text-2);font-size:12.5px;font-weight:600}.err{color:var(--danger);font-size:13px}.empty{color:var(--text-3);padding:8px 0;font-size:13px}.prose{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px;line-height:1.75}.must{color:var(--danger);flex-shrink:0;font-size:11px;font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow-wrap:anywhere;min-width:0}.card.pad{padding:16px 18px}.card.article{flex-direction:column;gap:16px;padding:clamp(18px,3vw,28px);display:flex}.divide{border-top:1px solid var(--line-soft)}.btn{border-radius:var(--r-btn);white-space:nowrap;border:0;flex-shrink:0;height:36px;padding:0 14px;font-weight:600}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-hover)}.btn.dark{background:var(--text);color:#fff}.btn.line{border:1px solid var(--line-input);background:#fff;font-weight:400}.btn.sm{border-radius:6px;height:32px;padding:0 12px;font-size:12.5px}.btn.s34{border-radius:6px;height:34px;padding:0 12px;font-size:13px}.btn.big{height:44px;font-size:14.5px}.btn:disabled{opacity:.6;cursor:default}.link{color:var(--primary);white-space:nowrap;background:0 0;border:0;padding:0;font-size:12.5px;font-weight:600}.back{color:var(--text-2);background:0 0;border:0;align-self:flex-start;padding:0;font-size:13px}.x{color:var(--text-2);background:0 0;border:0;padding:0 4px;font-size:14px;line-height:1}.input{border:1px solid var(--line-input);border-radius:var(--r-input);background:#fff;outline:none;min-width:0;height:36px;padding:0 10px}select.input{padding:0 8px}.textarea{border:1px solid var(--line-input);resize:vertical;background:#fff;border-radius:7px;outline:none;min-width:0;padding:10px 12px;line-height:1.6}.textarea.soft{border-color:var(--line)}.input:focus,.textarea:focus{border-color:var(--primary)}.field{flex-direction:column;gap:6px;display:flex}.auth .input{border-radius:7px;height:40px;padding:0 12px}.auth .input:focus{box-shadow:0 0 0 3px var(--primary-soft)}.seg{background:var(--fill);border-radius:7px;flex-wrap:wrap;align-self:flex-start;gap:2px;padding:2px;display:flex}.seg button{white-space:nowrap;background:0 0;border:0;border-radius:5px;height:28px;padding:0 12px;font-size:12.5px;font-weight:500}.seg button.on{box-shadow:var(--shadow-seg);background:#fff;font-weight:700}.tabs{border-bottom:1px solid var(--line);align-items:center;gap:2px;display:flex;overflow-x:auto}.tab{height:38px;color:var(--text-2);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex-shrink:0;padding:0 12px;font-size:14px;font-weight:500}.tab.on{border-bottom-color:var(--text);color:var(--text);font-weight:700}.tab .n{color:var(--text-3);font-weight:400}.tabs.small .tab{height:34px;padding:0 10px;font-size:13px}.avatar{flex-shrink:0;place-items:center;font-weight:700;display:grid}.pill{white-space:nowrap;border:0;border-radius:4px;align-items:center;gap:5px;height:24px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.pill i{background:currentColor;border-radius:50%;width:5px;height:5px}.pill.small{height:22px;font-size:11.5px}.tag{white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.chip{background:var(--fill);white-space:nowrap;border-radius:5px;align-items:center;gap:6px;max-width:100%;height:26px;padding:0 4px 0 8px;font-size:12px;display:inline-flex}.chip .name,.filelink .name{text-overflow:ellipsis;max-width:220px;overflow:hidden}.filelink{border:1px solid var(--line);height:26px;color:var(--text);background:var(--fill-hover);white-space:nowrap;border-radius:5px;align-items:center;gap:6px;max-width:100%;padding:0 8px;font-size:12px;display:inline-flex;overflow:hidden}.filelink b{font-family:var(--mono);color:var(--text-2);font-size:10.5px}.drop{border:1.5px dashed var(--line-dash);cursor:pointer;color:var(--text-2);text-align:center;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:6px;font-size:12.5px;display:flex}.drop:hover,.drop.over{border-color:var(--primary)}.drop input,.pick input{display:none}.pick{border:1px solid var(--line-input);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;align-items:center;height:30px;padding:0 10px;font-size:12.5px;display:inline-flex}.bar{background:var(--line);border-radius:2px;height:4px;overflow:hidden}.bar>span{background:var(--text);height:100%;display:block}.list-item{border:0;border-bottom:1px solid var(--line-soft);text-align:left;background:#fff;flex-direction:column;gap:5px;width:100%;padding:13px 16px;display:flex}.list-item:hover,.list-item.on{background:var(--fill-hover)}.list-item.on{box-shadow:inset 3px 0 0 var(--primary)}.list-item,.line-btn,.db-title,.cal-cell,.team-btn{overflow-wrap:anywhere;min-width:0}.line-btn{border:0;border-top:1px solid var(--line-soft);text-align:left;background:0 0;width:100%;padding:9px 0;display:flex}.line-btn:hover{color:var(--primary)}.modal-bg{z-index:20;background:var(--dim);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{border-radius:var(--r-modal);width:100%;box-shadow:var(--shadow-modal);background:#fff}.shell{min-height:100vh;display:flex}.main{overflow-wrap:anywhere;padding:var(--main-pad);max-width:var(--main-max);flex-direction:column;gap:20px;width:100%;margin:0 auto;display:flex}.logo{box-shadow:0 0 0 1px var(--line);-webkit-tap-highlight-color:transparent;background:#fefcf7;border:0;border-radius:6px;flex-shrink:0;padding:0;display:block;overflow:hidden}.logo img{-webkit-user-select:none;user-select:none;display:block}.sidebar{width:var(--sidebar-w);border-right:1px solid var(--line);background:#fff;flex-direction:column;flex-shrink:0;gap:20px;height:100vh;padding:16px 12px;display:none;position:sticky;top:0;overflow-y:auto}.sidebar a{color:inherit;text-decoration:none}.nav-item{height:34px;color:var(--text-2);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;font-size:13.5px;font-weight:500;display:flex}.nav-item:hover{background:var(--fill)}.nav-item.active{background:var(--fill-nav);color:var(--text);font-weight:600}.badge{background:var(--primary);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:grid}.team-btn{text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;width:100%;min-height:36px;padding:3px 10px;display:flex}.team-btn:hover{background:var(--fill)}.topbar{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fffffff5;position:sticky;top:0}.toptabs{gap:2px;padding:0 12px;display:none;overflow-x:auto}.toptabs a{height:40px;color:var(--text-2);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;padding:0 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.toptabs a.active{border-bottom-color:var(--text);color:var(--text);font-weight:700}.bottomtabs{z-index:10;height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);background:#fffffff7;grid-template-columns:repeat(6,1fr);display:none;position:fixed;bottom:0;left:0;right:0}.bottomtabs a{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:12px;font-weight:500;text-decoration:none;display:flex;position:relative}.bottomtabs a:before{content:"";background:0 0;border-radius:1px;width:18px;height:2px}.bottomtabs a.active{color:var(--text);font-weight:700}.bottomtabs a.active:before{background:var(--primary)}.bottomtabs .dot{background:var(--primary);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:calc(50% - 22px)}@media (width>=1000px){.sidebar{display:flex}.topbar{display:none}}@media (width>=700px) and (width<=999px){.toptabs{display:flex}}@media (width<=699px){.bottomtabs{display:grid}.main{padding-bottom:92px}.btn,.input,.pick{min-height:40px}.seg button{min-height:36px}}.dash{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.dash-side{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;min-width:0;display:grid}@media (width>=1000px){.dash{grid-template-columns:minmax(0,1fr) 300px}}@media (width>=1280px){.dash{grid-template-columns:minmax(0,1fr) 340px}}.tt-grid{grid-template-columns:32px repeat(7,minmax(0,1fr));gap:2px;display:grid}.tt-cell{white-space:nowrap;color:#3a3f48;border:0;border-radius:3px;height:24px;padding:0;font-size:10.5px;font-weight:600;overflow:hidden}.tt-cell:hover{outline:1.5px solid var(--text)}.tt-cell.mine{box-shadow:inset 3px 0 0 var(--primary)}.legend{align-items:center;gap:6px;display:flex}.legend i{border-radius:2px;width:11px;height:11px}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.cal-cell{border:1px solid var(--fill-nav);text-align:left;background:#fff;border-radius:6px;flex-direction:column;align-items:stretch;gap:3px;min-width:0;min-height:100px;padding:5px;display:flex;overflow:hidden}.cal-cell:hover{border-color:var(--text-off-2)}.cal-cell.sel{border-color:var(--text);background:var(--fill-hover)}.cal-num{border-radius:4px;align-self:flex-start;place-items:center;min-width:22px;height:22px;padding:0 5px;font-size:12px;font-weight:600;display:grid}.cal-ev{white-space:nowrap;text-overflow:ellipsis;border-radius:3px;padding:2px 5px;font-size:11px;font-weight:600;line-height:1.3;overflow:hidden}@media (width<=699px){.cal-cell{min-height:54px}}.db-cols{grid-template-columns:minmax(0,1fr) 100px 108px 70px 84px 52px;align-items:center;gap:12px;display:grid}.db-title{text-align:left;background:0 0;border:0;align-items:center;gap:6px;min-width:0;padding:0;font-size:14px;display:flex}.db-title:hover{color:var(--primary)}
