:root{color:#1c2b4a;background:#f4f7fb;font-family:Segoe UI Variable Text,Segoe UI,PingFang HK,Microsoft JhengHei,sans-serif;line-height:1.45;--navy: #0f2344;--blue: #1f4fbf;--orange: #e8882f;--muted: #6b7c93;--line: #e6ebf2;--paper: #f4f7fb;--card: #fff;--shadow: 0 1px 2px rgba(15, 35, 68, .04), 0 12px 28px rgba(15, 35, 68, .06)}*{box-sizing:border-box}body{margin:0}button,input,a{font:inherit}.shell{display:grid;grid-template-columns:minmax(0,248px) minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(180deg,#122848,#0b1c33);color:#fff;display:flex;flex-direction:column;padding:22px 16px 18px}.brand{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:0 4px 18px;padding:0 6px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.logo{width:100%;height:auto;display:block;background:#fff;border-radius:10px;padding:8px 10px}.nav{display:flex;flex-direction:column;gap:4px}.nav a{display:flex;align-items:center;gap:12px;color:#d5e2f4;text-decoration:none;border-radius:10px;padding:11px 12px;transition:background .15s ease,color .15s ease}.nav a:hover{background:#ffffff14;color:#fff}.nav a.router-link-exact-active{background:var(--blue);color:#fff}.nav a:focus-visible{outline:2px solid #9db7ff;outline-offset:2px}.nav svg{width:18px;height:18px;flex:0 0 auto}.tagline{margin-top:auto;padding:14px 14px 14px 16px;border-radius:12px;background:#ffffff0f;color:#d5deea;font-size:13px;line-height:1.5}.workspace{display:flex;flex-direction:column;min-width:0;max-width:100%;background:var(--paper)}.topbar{min-height:72px;background:#ffffffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 28px}@media(min-width:861px){.topbar{position:sticky;top:0;z-index:1}}.topbar h1{margin:0;font-family:Segoe UI Variable Display,Segoe UI,PingFang HK,Microsoft JhengHei,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.03em}.topbar .date{margin:2px 0 0;color:var(--muted);font-size:14px}.top-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.langs{display:flex;gap:4px}.langs button,.icon-button{border:0;background:#eef3f9;color:#1c2b4a;border-radius:8px;cursor:pointer;transition:background .15s ease,color .15s ease}.langs button{padding:6px 8px;font-size:13px}.langs button:hover:not(.active){background:#e2eaf5}.langs button.active{background:var(--blue);color:#fff}.langs button:focus-visible,.icon-button:focus-visible,.search input:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.icon-button{width:36px;height:36px;position:relative;display:grid;place-items:center;color:inherit;text-decoration:none}.icon-button:hover{background:#e2eaf5}.dot{position:absolute;top:7px;right:7px;width:8px;height:8px;background:#e11d48;border-radius:50%}.user{position:relative;display:flex;align-items:center;padding-left:8px;border-left:1px solid var(--line)}.user-trigger{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;cursor:pointer;padding:4px 2px;border-radius:10px}.user-trigger:hover,.user-trigger[aria-expanded=true]{background:#eef3f9}.user-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.user-trigger strong{font-size:14px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700;flex:0 0 auto}.profile-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:6;width:248px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px #0f23441f}.profile-head{display:flex;align-items:center;gap:10px;padding:8px}.profile-head .avatar{width:40px;height:40px}.profile-head span:last-child{display:flex;flex-direction:column;min-width:0}.profile-head strong{color:var(--navy);font-size:14px}.profile-head span span{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-groups{display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px 10px 6px;border-top:1px solid var(--line)}.profile-groups>svg{width:16px;height:16px;margin-top:3px;flex:0 0 auto;color:var(--muted)}.profile-groups-empty{margin:0;padding-top:2px;color:var(--muted);font-size:12px;line-height:16px}.profile-group-list{display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0}.profile-group-list span{max-width:100%;padding:3px 8px;border-radius:999px;background:#eef3fb;color:var(--navy);font-size:12px;line-height:1.4;overflow-wrap:anywhere}.profile-sign-out{display:flex;align-items:center;gap:8px;margin-top:2px;padding:6px 10px;border-radius:8px;color:#9f1239;font-size:13px;font-weight:650;text-decoration:none}.profile-sign-out svg{width:16px;height:16px}.profile-sign-out:hover{background:#fff1f2}.content{padding:22px 28px 36px;min-width:0}.search{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid transparent;border-radius:14px;padding:0 14px;height:50px;margin-bottom:18px;min-width:0;box-shadow:var(--shadow);transition:border-color .15s ease,box-shadow .15s ease}.search:focus-within{border-color:#b7c9ee;box-shadow:0 0 0 4px #1f4fbf1f}.search input{border:0;outline:0;width:100%;min-width:0;background:transparent;color:#1c2b4a}.search input:focus-visible{outline:0}.search svg{width:18px;height:18px;color:var(--muted)}.banner{background:#fff7ed;color:#9a3412;border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:14px}.banner.error{background:#fef2f2;color:#991b1b}.banner.ok{background:#ecfdf3;color:#166534}.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px;margin-bottom:16px;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.panel h2{margin:0;font-family:Segoe UI Variable Display,Segoe UI,PingFang HK,Microsoft JhengHei,sans-serif;font-size:20px;letter-spacing:-.02em}.muted{margin:4px 0 0;color:var(--muted);font-size:14px}.panel-head a,.text-link{color:var(--blue);text-decoration:none;font-size:14px;font-weight:650}.panel-head a:hover,.text-link:hover{text-decoration:underline}.system-grid,.action-grid,.people-grid{display:grid;gap:14px}.system-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.action-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.people-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:20px;align-items:start}.split>.panel{margin-bottom:0;padding-top:14px;padding-bottom:8px}.split .panel-head{margin-bottom:4px}.split .list{gap:0}.split .announce-row,.split .doc-row{padding:6px 4px}.split .announce-copy p,.split .doc-copy p{margin-top:0;line-height:1.35}.split .mini{width:28px;height:28px}.split .mini svg{width:16px;height:16px}.system-card,.action-card,.person-card,.doc-row,.announce-row{border:1px solid var(--line);background:var(--card);border-radius:14px;color:inherit;text-decoration:none}.system-card,.action-card{padding:14px;display:flex;align-items:center;gap:12px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}button.system-card,a.action-card{cursor:pointer}.system-card:hover,.action-card:hover{border-color:#c5d4ea;box-shadow:0 10px 24px #0f234414;transform:translateY(-2px)}.system-card:focus-visible,.action-card:focus-visible,a.doc-row:focus-visible,button.doc-row:focus-visible,a.announce-row:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.system-card strong,.action-card strong{font-size:15px}.system-copy{min-width:0;flex:1}.system-copy strong,.system-desc{display:block}.system-desc{margin-top:2px;color:var(--muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.glyph{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;flex:0 0 auto;box-shadow:0 8px 14px #12203a29}.glyph svg,.mini svg{width:22px;height:22px}.arrow{color:#2458d6;font-size:18px;display:inline-block;transition:transform .15s ease}.system-card:hover .arrow,.action-card:hover .arrow,a.doc-row:hover .arrow,button.doc-row:hover .arrow{transform:translate(3px)}.action-card{min-height:74px;background:#f4f7fb;border-color:transparent}.mini{width:36px;height:36px;border-radius:10px;background:#eef3ff;color:var(--blue);display:grid;place-items:center;flex:0 0 auto}.action-card .mini{background:#fff}.mini svg{width:18px;height:18px}.action-card .arrow,.doc-row .arrow{margin-left:auto}.list{display:flex;flex-direction:column;gap:2px}.announce-row,.doc-row{display:flex;gap:12px;align-items:center;padding:12px 8px;border:0;border-radius:10px;width:100%;background:transparent;text-align:left}a.announce-row,button.announce-row,a.doc-row,button.doc-row{cursor:pointer;font:inherit;color:inherit;text-align:left}a.announce-row:hover,button.announce-row:hover,a.doc-row:hover,button.doc-row:hover{background:#f4f7fb}button.announce-row:focus-visible,button.doc-row:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.announce-detail-modal{width:min(560px,100%)}.announce-detail-meta{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--muted);font-size:13px}.announce-detail-meta .when{margin-left:auto}.announce-detail-body,.document-facts{margin:0;color:#1c2b4a;font-size:15px;line-height:1.6}.announce-detail-body{white-space:pre-wrap}.announce-detail-body.rich{white-space:normal}.announce-detail-body.rich :is(p,ul,ol,blockquote,h1,h2,h3,h4,pre){margin:0 0 8px}.announce-detail-body.rich h1{font-size:28px}.announce-detail-body.rich h2{font-size:22px}.announce-detail-body.rich h3{font-size:18px}.announce-detail-body.rich h4{font-size:16px}.announce-detail-body.rich blockquote{margin-left:0;padding-left:12px;border-left:3px solid #d5deee;color:#44516d}.announce-detail-body.rich a{color:var(--blue)}.rich-text{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.rich-text:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px #1f4fbf29}.rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px;border-bottom:1px solid var(--line);background:#f7f9fd}.rich-toolbar button,.rich-highlights button,.rich-block{min-width:32px;height:32px;border:1px solid transparent;border-radius:8px;background:#fff;color:#1c2b4a;font:inherit;font-weight:700}.rich-toolbar select.rich-block,.rich-toolbar select.rich-font,.rich-toolbar select.rich-size{width:auto;height:32px;padding:0 8px}.rich-toolbar select.rich-block{min-width:108px}.rich-toolbar select.rich-font{min-width:108px;max-width:148px}.rich-toolbar select.rich-size{min-width:72px}.rich-toolbar .align{display:inline-flex;flex-direction:column;justify-content:center;gap:2px}.rich-toolbar .align span{display:block;height:2px;background:currentColor;border-radius:1px}.rich-toolbar .align.left span:nth-child(1),.rich-toolbar .align.right span:nth-child(2){width:14px}.rich-toolbar .align.left span:nth-child(2),.rich-toolbar .align.right span:nth-child(1){width:9px}.rich-toolbar .align.left span:nth-child(3),.rich-toolbar .align.right span:nth-child(3){width:12px}.rich-toolbar .align.center span{width:14px}.rich-toolbar .align.center span:nth-child(2){width:8px;margin-inline:auto}.rich-toolbar .align.justify span{width:14px}.rich-highlights{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;border-bottom:1px solid var(--line)}.rich-toolbar button:hover,.rich-highlights button:hover,.rich-toolbar select:hover{border-color:#d5deee;background:#f4f7fb}.rich-toolbar button.on,.rich-highlights button.on{border-color:#c9d7f5;background:#eef3ff;color:var(--blue)}.rich-toolbar .under{text-decoration:underline}.rich-toolbar .strike{text-decoration:line-through}.rich-gap{width:1px;height:18px;margin:0 4px;background:#d5deee}.rich-toolbar .swatch,.rich-highlights .swatch{min-width:18px;width:18px;height:18px;padding:0;border:1px solid rgba(18,40,72,.18);border-radius:50%}.rich-toolbar .swatch.on,.rich-highlights .swatch.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--blue)}.rich-link{display:flex;gap:8px;padding:8px;border-bottom:1px solid var(--line)}.rich-link input{flex:1}.rich-note{margin:0;padding:8px 12px;color:#991b1b;font-size:12px}.rich-file{display:none}.rich-surface{min-height:160px;padding:10px 12px;outline:none;color:#1c2b4a;line-height:1.55}.rich-surface img,.announce-detail-body.rich img{display:block;max-width:100%;height:auto;margin:8px 0;border-radius:8px}.rich-surface :is(p,ul,ol,blockquote,h1,h2,h3,h4,pre){margin:0 0 8px}.rich-surface li::marker,.announce-detail-body.rich li::marker{color:currentColor}.rich-surface h1{font-size:28px}.rich-surface h2{font-size:22px}.rich-surface h3{font-size:18px}.rich-surface h4{font-size:16px}.rich-surface pre,.announce-detail-body.rich pre{padding:10px 12px;overflow-x:auto;border-radius:8px;background:#0f172a;color:#f8fafc;white-space:pre-wrap}.rich-surface code,.announce-detail-body.rich code{font-family:ui-monospace,Consolas,monospace;font-size:.92em}.rich-surface :not(pre)>code,.announce-detail-body.rich :not(pre)>code{padding:1px 5px;border-radius:4px;background:#e0e7ff;color:#1e3a8a}.rich-surface mark,.announce-detail-body.rich mark{border-radius:2px;padding:0 2px}.rich-surface ul[data-type=taskList],.announce-detail-body.rich ul[data-type=taskList]{list-style:none;padding-left:0}.rich-surface li[data-type=taskItem],.announce-detail-body.rich li[data-type=taskItem]{display:flex;align-items:flex-start;gap:8px}.rich-surface li[data-type=taskItem]>div,.announce-detail-body.rich li[data-type=taskItem]>div{flex:1}.rich-surface li[data-type=taskItem]>label,.announce-detail-body.rich li[data-type=taskItem]>label{margin-top:3px}.rich-surface blockquote{margin-left:0;padding-left:12px;border-left:3px solid #d5deee;color:#44516d}.rich-surface table,.announce-detail-body.rich table{width:100%;margin:8px 0;border-collapse:collapse}.rich-surface :is(td,th),.announce-detail-body.rich :is(td,th){border:1px solid #d5deee;padding:6px 8px;vertical-align:top}.rich-surface th,.announce-detail-body.rich th{background:#f7f9fd}.rich-surface :is(td,th) p,.announce-detail-body.rich :is(td,th) p{margin:0}.rich-surface [data-resize-container]{display:flex;max-width:100%;margin:8px 0}.rich-surface [data-resize-wrapper]{position:relative;max-width:100%}.rich-surface [data-resize-wrapper] img{margin:0}.rich-surface [data-resize-handle]{width:10px;height:10px;background:var(--blue);border:1px solid #fff;border-radius:2px;z-index:2}.attachment-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.attachment-list li{display:flex;align-items:center;justify-content:space-between;gap:8px}.document-facts{display:grid;grid-template-columns:auto 1fr;gap:8px 16px}.document-facts dt{margin:0;color:var(--muted)}.document-facts dd{margin:0}.badge{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font-size:14px}.badge.warning{background:#ffedd5;color:#c2410c}.badge.info{background:#dcfce7;color:#15803d}.badge.notice{background:#e0e7ff;color:#3730a3}.announce-copy,.doc-copy{min-width:0}.announce-copy strong,.doc-copy strong{display:block}.announce-copy p,.doc-copy p{margin:2px 0 0;color:var(--muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.when{margin-left:auto;color:var(--muted);font-size:13px;white-space:nowrap}.person-card{padding:16px;display:flex;gap:12px;align-items:center}.detail{max-width:720px}.detail dl{display:grid;grid-template-columns:140px 1fr;gap:8px 12px}.detail dt{color:var(--muted)}.detail dd{margin:0}@media(max-width:980px){.split{grid-template-columns:1fr}}.table-wrap{overflow-x:auto}.maintain-table{width:100%;border-collapse:collapse;font-size:14px}.maintain-table th,.maintain-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.maintain-table th{color:var(--muted);font-size:13px;font-weight:600}.maintain-table .row-actions{text-align:right;width:1%;white-space:nowrap}.maintain-table tr.inactive{color:var(--muted)}.pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px;color:var(--muted);font-size:13px}.pager-actions{display:flex;align-items:center;gap:8px}.pager .ghost{padding:6px 10px}.maintain-table tr.announce-link{cursor:pointer}.maintain-table tr.announce-link:hover{background:#f4f7fb}.name-cell{display:flex;align-items:center;gap:10px}.name-cell .mini{color:#fff}.url-cell{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.primary,.ghost{border-radius:8px;padding:8px 14px;cursor:pointer}.primary{border:0;background:var(--blue);color:#fff}.primary:disabled,.ghost:disabled{opacity:.6;cursor:default}.ghost{border:1px solid var(--line);background:#fff;color:var(--navy)}.primary:focus-visible,.ghost:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:24px;background:#0f234473}.modal{width:min(860px,100%);max-height:min(88vh,920px);overflow:auto;background:#fff;border-radius:16px;padding:18px 20px 20px;box-shadow:0 24px 60px #0f23443d}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-head h3{margin:0;font-size:18px}.modal-close{width:32px;height:32px;border:0;border-radius:8px;background:#eef3f9;color:var(--navy);font-size:20px;line-height:1;cursor:pointer}.modal-close:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:#1c2b4a;background:#fff;width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--blue);border-color:transparent}.field input[type=file]{padding:8px;background:#fff}.field input.color-swatch{width:100%;height:38px;padding:4px;cursor:pointer}.icon-select{position:relative}.icon-select-trigger{width:100%;height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);cursor:pointer}.icon-select-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.icon-select-trigger .caret{width:8px;height:8px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:translateY(-2px) rotate(45deg)}.icon-menu{position:fixed;z-index:40;display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.icon-menu button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);cursor:pointer;padding:0}.icon-menu button.selected{border-color:var(--blue);background:#eef3ff;color:var(--blue)}.icon-menu svg{width:20px;height:20px}.color-swatch::-webkit-color-swatch-wrapper{padding:0}.color-swatch::-webkit-color-swatch{border:0;border-radius:4px}.color-swatch::-moz-color-swatch{border:0;border-radius:4px}.field.wide{grid-column:1 / -1}.check-field{flex-direction:row;align-items:center;align-self:end;gap:10px;width:max-content;height:38px;margin:0;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#1c2b4a}.check-field input{width:18px;height:18px;margin:0;accent-color:var(--blue)}.check-field input:focus,.check-field input:focus-visible{outline:none}.form-grid .announce-publish{grid-column:1 / -1;align-self:start}.body-tabs{display:flex;flex-wrap:wrap;gap:4px}.body-tabs button{border:0;background:#eef3f9;color:#1c2b4a;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600;cursor:pointer}.body-tabs button:hover:not(.active){background:#e2eaf5}.body-tabs button.active{background:var(--blue);color:#fff}.body-tabs button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.hint{color:var(--muted);font-size:12px}.modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.action-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:88px;padding:6px 10px}.action-trigger .caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-1px) rotate(45deg)}.action-trigger.open{border-color:#c9d7f5;background:#eef3ff;color:var(--blue)}.action-menu{position:fixed;z-index:40;display:flex;flex-direction:column;gap:2px;padding:4px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px #0f234424}.action-menu button{border:0;background:transparent;color:var(--navy);text-align:center;padding:7px 8px;border-radius:6px;cursor:pointer;font-size:13px;line-height:1.2}.action-menu button:hover,.action-menu button:focus-visible{background:#eef3ff;color:var(--blue);outline:none}.assign-modal{width:min(920px,100%)}.assign-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.assign-kicker{font-size:18px;font-weight:650}.assign-toolbar{display:flex;justify-content:flex-end;gap:12px;align-items:flex-start;margin-bottom:14px}.assign-slot{position:relative}.assign-menu{margin-top:8px;min-width:280px;max-height:320px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.assign-pick{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer}.assign-pick.all,.assign-pick.on{background:#eef3ff}.assign-pick .who{display:flex;flex-direction:column;min-width:0}.assign-pick .who-name{font-weight:650}.assign-menu-foot{display:flex;justify-content:flex-end;padding:8px 10px}.assign-empty{margin:0;padding:14px 12px}.assign-board .check-col{width:36px}.assign-action{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:13px}.assign-action .caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-1px) rotate(45deg)}.assign-row-action{position:relative;display:inline-block}.assign-row-menu{position:absolute;z-index:3;right:0;top:calc(100% + 4px);min-width:96px;padding:4px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px #0f234424}.assign-row-menu button{width:100%;border:0;background:transparent;color:var(--navy);text-align:left;padding:7px 8px;border-radius:6px;cursor:pointer}.assign-row-menu button:hover,.assign-row-menu button:focus-visible{background:#eef3ff;color:var(--blue);outline:none}.danger{border:0;border-radius:8px;padding:8px 14px;background:#e25b5b;color:#fff;cursor:pointer;white-space:nowrap}.danger:disabled{opacity:.6;cursor:default}.danger:focus-visible{outline:2px solid #e25b5b;outline-offset:2px}.status-pill{display:inline-block;padding:2px 8px;border-radius:4px;background:#e7f0ff;color:var(--blue);font-size:12px}.status-pill.off{background:#eef1f5;color:var(--muted)}.group-select{position:relative}.group-select-trigger{width:100%;height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#1c2b4a;cursor:pointer;text-align:left}.group-select-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.group-select-trigger:disabled{cursor:default;color:var(--muted)}.group-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-select-trigger .caret{flex:none;width:8px;height:8px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:translateY(-2px) rotate(45deg)}.group-select-menu{position:absolute;z-index:5;top:calc(100% + 4px);left:0;right:0;max-height:220px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.group-select-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);color:#1c2b4a;cursor:pointer}.group-select-option:last-child{border-bottom:0}.group-select-option:hover{background:#f7f9fc}.group-select-option input{width:16px;height:16px;flex:none;margin:0}.group-select-name{min-width:0}.group-empty{margin:0;padding:14px 12px}.user-modal{width:min(640px,100%)}.user-modal .form-grid{grid-template-columns:1fr 1fr}.user-search{max-width:320px;margin:0 0 12px}.member-list{margin-top:12px;max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:10px}.member-empty{margin:0;padding:16px 12px}.member-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}.member-row:last-child{border-bottom:0}.member-row .who{display:flex;flex-direction:column;min-width:0}.member-row .who-name{color:#1c2b4a;font-weight:600}.ghost.slim{padding:4px 10px;font-size:13px}.assignee-menu{position:fixed;z-index:40;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);max-height:280px;overflow:auto}.assignee-menu button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#1c2b4a;cursor:pointer;text-align:left}.assignee-menu button.active,.assignee-menu button:hover{background:#eef3ff}.assignee-menu .email{color:var(--muted);font-size:12px}.assignee-menu .more{padding:8px 10px;color:var(--muted);font-size:12px}@media(max-width:860px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:sticky;top:0;z-index:2;align-items:stretch;gap:10px;padding:12px 16px 8px}.brand{flex-direction:row;align-items:center;margin:0;padding:0;border-bottom:0}.tagline{display:none}.logo{width:168px;flex:0 0 auto;padding:6px 8px;border-radius:8px}.nav{flex-direction:row;flex-wrap:wrap}.nav a{padding:8px 10px}.nav a.router-link-exact-active{background:var(--blue)}.topbar{flex-wrap:wrap;padding:14px 16px;align-items:flex-start}.topbar>div:first-child{flex:1 1 200px;min-width:0}.top-tools{flex:1 1 220px;justify-content:flex-start}.content{padding:16px}.user{border-left:0;padding-left:0}.panel-head{flex-wrap:wrap}.form-grid,.user-modal .form-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.system-card,.action-card,.arrow,.nav a,.langs button,.icon-button,.search{transition:none}.system-card:hover,.action-card:hover{transform:none}}.login-page{--fog: .45;--fog-blur: 1px;min-height:100vh;display:flex;background:#fff;color:#1e293b;font-family:Inter,Segoe UI,PingFang HK,Microsoft JhengHei,sans-serif}.login-pane{width:50%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 96px}.login-logo{height:140px;width:auto;display:block;object-fit:contain;margin-bottom:128px}.login-body{width:100%;max-width:400px;text-align:center}.login-body h1{margin:0 0 40px;color:#171a1f;font-family:Archivo,Segoe UI,PingFang HK,Microsoft JhengHei,sans-serif;font-size:32px;line-height:48px;font-weight:600;letter-spacing:-.02em}.login-body .banner{margin-bottom:16px;text-align:left}.login-button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid #636ae8;border-radius:12px;background:#fff;color:#636ae8;font-size:16px;font-weight:400;text-decoration:none;transition:background .3s cubic-bezier(.4,0,.2,1)}.login-button img{width:20px;height:20px;flex:0 0 auto}.login-button:hover{background:#636ae80d}.login-button:focus-visible{outline:2px solid #636ae8;outline-offset:2px}.login-hero{position:relative;width:50%;overflow:hidden;isolation:isolate;background:#e9e6e1}.login-hero img{position:absolute;top:-2%;right:-2%;bottom:-2%;left:-2%;width:104%;height:104%;object-fit:cover;filter:blur(var(--fog-blur)) saturate(.96)}.login-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:rgba(255,255,255,var(--fog))}@media(max-width:1024px){.login-page{display:block}.login-pane{width:100%;padding:48px 24px}.login-logo{margin-bottom:96px}.login-hero{width:100%;height:190px}}
