:root{--bg: #FAFAFA;--surface: #FFFFFF;--border: #E4E4E7;--border-strong: #D4D4D8;--text: #18181B;--text-2: #52525B;--text-3: #71717A;--text-dim: #A1A1AA;--primary: #18181B;--primary-hover: #27272A;--accent: #0F766E;--accent-dark: #0F5E55;--accent-bg: #F0FAF8;--accent-bg-2: #E6F4F1;--accent-border: #8FD0C4;--danger-bg: #FEE2E2;--danger-fg: #B91C1C;--warn-bg: #FEF3C7;--warn-fg: #92400E;--ok-bg: #DCFCE7;--ok-fg: #166534;--edit-bg: #EFF6FF;--edit-fg: #1E40AF;--seg-bg: #EFEFF1;--shadow: 0 1px 2px rgba(23, 23, 28, .04);--mono: "Geist Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:Zen Kaku Gothic New,system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-size:14px}h1,h2,h3,p,ul,ol,pre{margin:0}select,input,button{font-family:inherit}button{color:inherit}.mono{font-family:var(--mono)}.icon{display:inline-block;flex:none;width:16px;height:16px;background:currentColor;mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.btn{height:36px;padding:0 14px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:background .15s;border:1px solid transparent;background:transparent;color:var(--text-2)}.btn:hover{background:var(--seg-bg)}.btn:disabled{cursor:default;opacity:.45}.btn:disabled:hover{background:transparent}.btn-primary{border-color:var(--primary);background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{background:var(--text-dim);border-color:var(--text-dim);opacity:1}.btn-primary:disabled:hover{background:var(--text-dim)}.btn-secondary{border-color:var(--border-strong);background:#fff;color:var(--text)}.btn-secondary:hover{background:#f4f4f5}.btn-secondary:disabled:hover{background:#fff}.btn-danger{border-color:#dc2626;background:#dc2626;color:#fff}.btn-danger:hover{background:var(--danger-fg)}.btn-link{height:32px;border:none;background:transparent;color:var(--accent);font-size:13px;font-weight:700;cursor:pointer;align-self:center}.btn-lg{height:44px;font-size:14px}.btn-close{width:28px;height:28px;border:none;border-radius:8px;background:#f4f4f5;color:var(--text-2);cursor:pointer;display:grid;place-items:center;flex:none}.seg{display:flex;gap:2px;padding:3px;border-radius:12px;background:var(--seg-bg)}.seg>button{height:30px;padding:0 12px;border-radius:9px;border:none;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;background:transparent;color:var(--text-2);transition:background .15s,color .15s}.seg>button.on{background:#fff;color:var(--text);box-shadow:0 1px 3px #17171c1a,0 0 0 1px #17171c0d}.pill{flex:none;display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.sev{flex:none;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px}.sev-警告{background:var(--danger-bg);color:var(--danger-fg)}.sev-注意{background:var(--warn-bg);color:var(--warn-fg)}.toggle{flex:none;width:38px;height:22px;border-radius:999px;border:none;padding:3px;background:var(--border-strong);display:flex;justify-content:flex-start;cursor:pointer;transition:background .15s}.toggle.on{background:var(--accent);justify-content:flex-end}.toggle:after{content:"";width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#3f3f46}.input{width:100%;height:44px;border:1px solid var(--border-strong);border-radius:10px;padding:0 12px;font-size:14px;background:#fff;color:var(--text);outline:none;font-weight:400}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0f766e26;outline:none}.input-sm{height:36px;font-size:13px}.select{height:36px;border:1px solid var(--border-strong);border-radius:10px;padding:0 8px;font-size:13px;background:#fff;color:var(--text)}.err{font-size:12px;color:var(--danger-fg);background:#fef2f2;border-radius:10px;padding:10px 12px;line-height:1.6}.stepper{display:flex;align-items:center;gap:4px;padding:3px;border-radius:11px;background:#f4f4f5}.stepper>button{width:30px;height:30px;border:none;border-radius:8px;background:#fff;cursor:pointer;color:#3f3f46;box-shadow:0 1px 2px #17171c14}.stepper>button:disabled{opacity:.4;cursor:default}.stepper .val{min-width:76px;text-align:center;font-size:15px;font-weight:600;font-family:var(--mono)}.stepper .unit{font-family:Zen Kaku Gothic New,sans-serif;font-weight:500;font-size:11px;color:var(--text-2);margin-left:3px}.mini-step{display:flex;align-items:center;gap:6px}.mini-step>button{width:24px;height:24px;border:1px solid var(--border-strong);background:#fff;border-radius:7px;cursor:pointer;color:#3f3f46;padding:0}.mini-step .val{min-width:32px;text-align:center;font-family:var(--mono)}.tip-wrap{position:relative}.tip{position:absolute;top:44px;right:0;width:320px;z-index:20;background:var(--primary);color:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 16px 36px -12px #18181b73;font-size:12px;line-height:1.7;display:none;flex-direction:column;gap:8px;pointer-events:none}.tip-wrap:hover .tip{display:flex}.tip b{font-size:13px}.tip ul,.tip ol{padding-left:18px;display:flex;flex-direction:column;gap:4px;color:#e4e4e7}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#18181b66;display:flex;align-items:center;justify-content:center;padding:16px}.dialog{width:100%;max-height:calc(100vh - 32px);overflow-y:auto;background:#fff;border-radius:18px;box-shadow:0 30px 60px -20px #18181b73}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:var(--primary);color:#fff;font-size:13px;padding:12px 18px;border-radius:12px;box-shadow:0 12px 30px -10px #17171c80;z-index:60;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px)}.app{height:100vh;display:flex;gap:12px;padding:12px}.side{width:216px;flex:none;display:flex;flex-direction:column;padding:18px 12px 12px}.logo{display:flex;align-items:center;gap:10px;padding:0 8px 20px;font-size:15px;font-weight:700;letter-spacing:.02em}.logo-mark{width:30px;height:30px;border-radius:9px;background:var(--primary);display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:7px;flex:none}.logo-mark span{border-radius:2px;background:#fff}.logo-mark span:first-child{background:#5fb8a8}.logo-mark span:last-child{opacity:.4}.nav{display:flex;flex-direction:column;gap:2px}.nav button{height:40px;padding:0 12px;border-radius:10px;border:none;background:transparent;color:var(--text-2);font-size:13px;font-weight:700;display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;transition:background .15s;white-space:nowrap}.nav button.on{background:#f0f0f2;color:var(--text)}.nav button:hover{opacity:.88}.me-box{margin-top:auto;padding:12px;border-radius:12px;border:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.me-box .email{font-size:11px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px;padding:10px 6px 0 10px;overflow:hidden}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head h1{font-size:24px;font-weight:700;letter-spacing:.01em}.page-head .lead{font-size:13px;color:var(--text-2);line-height:1.7}.scroll{flex:1;min-height:0;overflow:auto;padding-bottom:12px}.hover-row{transition:background .15s}.hover-row:hover{background:#fafafa}.cov-col:hover{background:var(--accent-bg)!important}.only-sp{display:none}@media (max-width: 768px){.only-pc{display:none!important}.only-sp{display:block}.app{height:auto;min-height:100vh;flex-direction:column;padding:8px;gap:8px}.side{width:auto;flex-direction:row;align-items:center;flex-wrap:wrap;padding:10px 12px;gap:8px}.logo{padding:0 4px}.nav{flex-direction:row;overflow-x:auto;flex:1 1 100%;order:3}.nav button{height:44px}.me-box{margin:0 0 0 auto;padding:0;border:none;flex-direction:row;align-items:center}.me-box .who{display:none}.main{padding:4px 4px 0;overflow:visible}.scroll{overflow:visible}.page-head h1{font-size:20px}}.retired-row>*{opacity:.55}
