:root { --ink:#15251f; --moss:#305847; --leaf:#c9dc7b; --paper:#f2efe7; --sheet:#fbfaf5; --line:#d9d5c9; --muted:#73786e; --red:#ad4b39; --radius:4px; }
* { box-sizing:border-box; } body { min-width:320px; margin:0; color:var(--ink); background:var(--paper); font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; } button,input { font:inherit; } button { cursor:pointer; }
[hidden] { display:none!important; }
.ops-login { display:grid; min-height:100vh; place-items:center; padding:24px; background:var(--ink); }.ops-login-card { display:grid; width:min(420px,100%); gap:22px; padding:33px; color:#eef2e9; border:1px solid #41544a; background:#1b3027; }.ops-login-card h1 { margin:0; font-family:"Songti SC",STSong,serif; font-size:30px; }.ops-login-card p:not(.ops-eyebrow) { margin:8px 0 0; color:#adbdaf; font-size:13px; line-height:1.65; }.ops-login-card label { display:grid; gap:7px; color:#bdcabe; font-size:12px; }.ops-login-card input { height:41px; padding:0 10px; border:1px solid #52665b; outline-color:var(--leaf); color:#f6f8f1; background:#13241d; }.ops-login-card .ink-button { margin-top:2px; color:var(--ink); background:var(--leaf); }.ops-login-error { min-height:18px; margin:-9px 0 0!important; color:#ffaf9d!important; }.back-link { color:#c9dc7b; font-size:12px; text-decoration:none; }.back-link:hover { text-decoration:underline; }
.ops-shell { display:grid; min-height:100vh; grid-template-columns:264px minmax(0,1fr); }.ops-sidebar { position:sticky; top:0; display:flex; height:100vh; flex-direction:column; padding:28px 20px 24px; color:#eff2e9; background:var(--ink); }.ops-brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }.brand-seal { display:grid; width:37px; height:37px; place-items:center; border:1px solid #d5e38c; color:#18281f; background:var(--leaf); font-family:"Songti SC",STSong,serif; font-size:22px; font-weight:700; }.ops-brand strong,.ops-brand em { display:block; font-style:normal; }.ops-brand strong { letter-spacing:.08em; font-size:17px; }.ops-brand em { margin-top:3px; color:#9caf9e; letter-spacing:.16em; font-size:9px; }.workspace-label { margin:58px 12px 11px; color:#84988c; letter-spacing:.13em; font-size:10px; }.ops-nav { display:grid; }.ops-nav-item { display:flex; align-items:center; gap:12px; padding:12px; color:var(--ink); background:var(--leaf); font-size:14px; font-weight:700; }.ops-nav-item b { color:#315443; font-family:"SFMono-Regular",Consolas,monospace; font-size:10px; }.ops-sidebar-foot { display:flex; align-items:center; gap:10px; margin-top:auto; padding:14px 11px 0; border-top:1px solid #3a4d44; }.ops-sidebar-foot small,.ops-sidebar-foot strong { display:block; }.ops-sidebar-foot small { color:#8ba092; font-size:10px; }.ops-sidebar-foot strong { margin-top:2px; font-size:12px; }.pulse-dot { width:8px; height:8px; border-radius:50%; background:var(--leaf); box-shadow:0 0 0 4px rgba(201,220,123,.1); }
.ops-main { min-width:0; padding:0 48px 54px; }.ops-topbar { display:flex; height:82px; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }.crumb { display:grid; gap:3px; }.crumb span { color:var(--muted); font-size:12px; }.crumb b { font-size:13px; }.ops-user { display:flex; align-items:center; gap:8px; }.ops-user > span:nth-child(2) { display:grid; gap:1px; }.ops-user strong { font-size:13px; }.ops-user small { color:var(--muted); font-family:"SFMono-Regular",Consolas,monospace; font-size:10px; }.ops-avatar,.account-avatar { display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--moss); }.ops-avatar { width:29px; height:29px; font-size:12px; }.text-button { margin-left:18px; padding:4px 0; border:0; color:var(--moss); background:transparent; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.ops-page-head { display:flex; align-items:end; justify-content:space-between; gap:24px; padding:51px 0 29px; }.ops-eyebrow { margin:0 0 9px; color:var(--moss); font-family:"SFMono-Regular",Consolas,monospace; font-size:10px; font-weight:700; letter-spacing:.14em; }.ops-page-head h1 { margin:0; font-family:"Songti SC",STSong,serif; font-size:clamp(29px,3vw,41px); letter-spacing:-.04em; }.ops-page-head p:not(.ops-eyebrow) { margin:10px 0 0; color:var(--muted); font-size:13px; }.ink-button,.paper-button { min-height:38px; padding:0 15px; border:1px solid var(--ink); border-radius:var(--radius); font-weight:700; }.ink-button { color:#f9f8f0; background:var(--ink); }.ink-button:hover { background:var(--moss); }.ink-button:disabled { cursor:wait; opacity:.65; }.ink-button span { margin-left:8px; font-size:19px; font-weight:400; }.paper-button { color:var(--ink); background:var(--sheet); }.paper-button:hover { background:#e8e6dc; }
.ops-workspace { display:grid; grid-template-columns:minmax(490px,1.45fr) minmax(330px,.8fr); align-items:start; gap:17px; }.org-list-panel,.org-inspector { border:1px solid var(--line); background:var(--sheet); }.list-toolbar { padding:14px; border-bottom:1px solid var(--line); }.ops-search { display:flex; align-items:center; gap:8px; padding:0 9px; border:1px solid var(--line); background:#fffdf8; }.ops-search span { color:var(--muted); font-family:"SFMono-Regular",Consolas,monospace; font-size:10px; }.ops-search input { width:100%; height:32px; border:0; outline:0; color:var(--ink); background:transparent; font-size:12px; }.organization-list { padding:0 14px; }.org-row { display:grid; grid-template-columns:minmax(0,1fr) 92px 112px 24px; align-items:center; gap:12px; width:100%; min-height:91px; border:0; border-bottom:1px solid var(--line); color:inherit; background:transparent; text-align:left; }.org-row:last-child { border-bottom:0; }.org-row:hover,.org-row.active { background:#f0f3e2; }.org-row.active { box-shadow:inset 3px 0 0 var(--moss); }.org-name { min-width:0; }.org-name strong,.org-name small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.org-name strong { font-size:14px; }.org-name small { margin-top:6px; color:var(--muted); font-family:"SFMono-Regular",Consolas,monospace; font-size:10px; }.row-admins b,.row-admins small { display:block; }.row-admins b { color:var(--moss); font-family:"SFMono-Regular",Consolas,monospace; font-size:15px; }.row-admins small { margin-top:4px; color:var(--muted); font-size:10px; }.row-date { color:var(--muted); font-size:11px; }.row-arrow { color:var(--moss); font-size:19px; }.org-inspector { min-height:488px; }.inspector-empty { display:grid; min-height:488px; place-items:center; padding:30px; color:var(--muted); font-size:13px; text-align:center; }.inspector-head { padding:23px 23px 18px; border-bottom:1px solid var(--line); }.inspector-head h2 { margin:5px 0 5px; font-family:"Songti SC",STSong,serif; font-size:24px; }.inspector-head p:not(.ops-eyebrow) { margin:0; color:var(--muted); font-family:"SFMono-Regular",Consolas,monospace; font-size:10px; }.inspector-section { padding:20px 23px; }.section-title { display:flex; align-items:start; justify-content:space-between; gap:10px; margin-bottom:16px; }.section-title h3 { margin:0 0 5px; font-size:13px; }.section-title p { margin:0; color:var(--muted); font-size:11px; }.small-ink-button { min-height:30px; padding:0 8px; border:1px solid var(--moss); color:var(--moss); background:transparent; font-size:11px; font-weight:700; white-space:nowrap; }.small-ink-button:hover { color:#fff; background:var(--moss); }.admin-account-list { display:grid; gap:8px; }.admin-account { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:9px; padding:10px; border:1px solid var(--line); background:#fffdf8; }.account-avatar { width:30px; height:30px; color:#fff; background:#587263; font-size:12px; }.admin-account strong,.admin-account small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.admin-account strong { font-size:12px; }.admin-account small { margin-top:3px; color:var(--muted); font-family:"SFMono-Regular",Consolas,monospace; font-size:10px; }.status-tag { display:inline-flex; align-items:center; gap:5px; color:var(--moss); font-size:10px; white-space:nowrap; }.status-tag::before { width:6px; height:6px; border-radius:50%; background:currentColor; content:""; }.status-tag.disabled { color:var(--red); }.account-empty,.account-loading { padding:24px 8px; color:var(--muted); font-size:12px; text-align:center; }
.ops-dialog { width:min(620px,calc(100vw - 32px)); padding:0; border:0; color:var(--ink); background:var(--sheet); box-shadow:0 22px 80px rgba(15,29,22,.3); }.ops-dialog::backdrop { background:rgba(21,37,31,.55); backdrop-filter:blur(2px); }.ops-dialog form { padding:28px; }.ops-dialog header { position:relative; padding-bottom:17px; border-bottom:1px solid var(--line); }.ops-dialog header h2 { margin:0; font-family:"Songti SC",STSong,serif; font-size:27px; }.close-dialog { position:absolute; top:-7px; right:-6px; width:30px; height:30px; border:0; color:var(--ink); background:transparent; font-size:26px; line-height:1; }.dialog-intro { color:var(--muted); font-size:12px; line-height:1.65; }.dialog-group { margin-top:21px; }.dialog-group h3 { margin:0 0 12px; font-size:12px; }.dialog-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.dialog-fields.one-column { grid-template-columns:1fr; margin-top:23px; }.dialog-fields label { display:grid; gap:6px; color:var(--muted); font-size:11px; }.dialog-fields input { width:100%; height:37px; padding:0 9px; border:1px solid var(--line); outline-color:var(--moss); color:var(--ink); background:#fffdf8; font-size:12px; }.dialog-fields .wide { grid-column:span 2; }.ops-dialog footer { display:flex; justify-content:end; gap:8px; margin-top:26px; }.ops-toast { position:fixed; bottom:25px; left:50%; z-index:5; max-width:calc(100vw - 32px); padding:10px 15px; transform:translate(-50%,75px); color:#fff; background:var(--ink); box-shadow:0 10px 30px rgba(0,0,0,.16); font-size:12px; opacity:0; transition:.22s ease; }.ops-toast.show { transform:translate(-50%,0); opacity:1; }
@media (max-width:1100px) { .ops-main { padding:0 28px 42px; }.ops-workspace { grid-template-columns:1fr; }.org-inspector,.inspector-empty { min-height:220px; } } @media (max-width:720px) { .ops-login { padding:16px; }.ops-login-card { padding:25px; }.ops-shell { display:block; }.ops-sidebar { position:static; height:auto; min-height:0; padding:16px; }.workspace-label,.ops-sidebar-foot { display:none; }.ops-nav { margin-top:17px; }.ops-nav-item { width:max-content; padding:9px; font-size:12px; }.ops-main { padding:0 16px 32px; }.ops-topbar { height:64px; }.ops-user small,.text-button { display:none; }.ops-page-head { align-items:start; padding:31px 0 21px; }.ops-page-head .ink-button { flex:0 0 auto; }.ops-page-head h1 { font-size:31px; }.ops-page-head p:not(.ops-eyebrow) { max-width:310px; }.organization-list { padding:0 10px; }.org-row { grid-template-columns:minmax(0,1fr) 65px 18px; gap:7px; }.row-date { display:none; }.dialog-fields { grid-template-columns:1fr; }.dialog-fields .wide { grid-column:auto; }.ops-dialog form { padding:22px; } }
