:root{--bg:#12101a;--panel:#1c1a26;--border:#2e2a3d;--text:#f2eef8;--muted:#a29ab5;--accent:#ff5fa2;--accent-dim:#c94a80}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif}a{color:var(--accent)}.center-screen{place-items:center;min-height:100dvh;padding:24px;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:100%;max-width:380px;padding:28px}.card h1{margin:0 0 4px;font-size:22px}.card p.sub{color:var(--muted);margin:0 0 20px;font-size:13px}label{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}input[type=text],input[type=password]{border:1px solid var(--border);width:100%;color:var(--text);background:#14121d;border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:14px}input:focus{border-color:var(--accent-dim);outline:none}button.primary{background:var(--accent);color:#1a0e16;cursor:pointer;border:none;border-radius:8px;width:100%;padding:11px;font-size:14px;font-weight:700}button.primary:hover{background:var(--accent-dim);color:#fff}button.primary:disabled{opacity:.6;cursor:default}.error{color:#ffb3cc;background:#3a1622;border:1px solid #6d2740;border-radius:8px;margin:0 0 14px;padding:9px 11px;font-size:13px}.shell{max-width:960px;margin:0 auto;padding:32px 24px}.shell header{align-items:baseline;gap:12px;margin-bottom:24px;display:flex}.shell header h1{margin:0;font-size:20px}.shell header .who{color:var(--muted);font-size:13px}.app-shell{flex-direction:column;height:100dvh;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--panel);align-items:center;gap:12px;padding:10px 16px;display:flex}.app-header h1{margin:0;font-size:16px}.app-header .who{color:var(--muted);margin-right:auto;font-size:12px}button.ghost{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:6px 12px;font-size:12px}button.ghost:hover{border-color:var(--accent-dim);color:var(--text)}.chat-wrap{flex:1;min-height:0;display:flex}.chat-side{border-right:1px solid var(--border);background:#171522;flex-shrink:0;width:240px;padding:12px;overflow-y:auto}.chat-side ul{margin:12px 0 0;padding:0;list-style:none}.chat-side li{margin-bottom:4px}.chat-side li button{text-align:left;width:100%;color:var(--muted);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:8px 10px;font-size:13px;overflow:hidden}.chat-side li button:hover{color:var(--text);background:#211e2e}.chat-side li button.active{color:var(--text);background:#2b2440}button.new-talk{width:100%;color:var(--accent);border:1px dashed var(--accent-dim);cursor:pointer;background:0 0;border-radius:8px;padding:9px;font-size:13px}button.new-talk:hover{background:#2a1b26}.chat-main{flex-direction:column;flex:1;min-width:0;display:flex}.chat-log{flex:1;padding:20px;overflow-y:auto}.chat-log .empty{color:var(--muted);text-align:center;margin-top:40px}.bubble{max-width:760px;margin-bottom:18px}.bubble .who{color:var(--muted);font-size:11px}.bubble .body{white-space:pre-wrap;word-break:break-word;margin-top:4px;font-size:14px;line-height:1.7}.bubble.user .body{border:1px solid var(--border);background:#241d33;border-radius:10px;padding:10px 12px}.tool-hint{color:var(--muted);margin:0;padding:6px 20px;font-size:12px}.chat-input{border-top:1px solid var(--border);background:var(--panel);gap:10px;padding:12px 20px 18px;display:flex}.chat-input textarea{resize:none;border:1px solid var(--border);color:var(--text);background:#14121d;border-radius:10px;flex:1;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.5}.chat-input textarea:focus{border-color:var(--accent-dim);outline:none}.chat-input button.primary{align-self:stretch;width:auto;padding:0 22px}.chat-side li button:disabled,button.new-talk:disabled{opacity:.45;cursor:default}.app-nav{gap:14px;display:flex}.app-nav a{color:var(--muted);font-size:13px;text-decoration:none}.app-nav a:hover{color:var(--text)}.page{flex:1;padding:24px 28px;overflow-y:auto}.page h2{margin:0 0 20px;font-size:18px;font-weight:600}.page h2 a{text-decoration:none}.page .empty{color:var(--muted)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.dept-card{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:12px;flex-direction:column;gap:4px;padding:18px;text-decoration:none;display:flex}.dept-card:hover{border-color:var(--accent-dim)}.dept-card .icon{font-size:26px}.dept-card .name{font-weight:600}.dept-card .desc{color:var(--muted);font-size:12px}.sys-list{flex-direction:column;gap:8px;max-width:900px;display:flex}.sys-row{background:var(--panel);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.sys-row .dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.sys-row .dot.on{background:#3ddc84}.sys-row .dot.off{background:#5a5470}.sys-row .sys-name{min-width:180px;font-size:14px}.sys-row .sys-procs{color:var(--muted);margin-right:auto;font-size:11px}.sys-row button{cursor:pointer;border-radius:8px;width:auto;padding:6px 16px;font-size:12px}.badge{color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:11px}.modal-backdrop{z-index:50;background:#0009;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:100%;max-width:400px;padding:22px}.modal h3{margin:0 0 8px;font-size:16px}.modal p{color:var(--muted);margin:0 0 20px;font-size:13px;line-height:1.6}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-actions button{width:auto;padding:8px 18px;font-size:13px}button.primary.danger{color:#fff;background:#e0426b}button.primary.danger:hover{background:#c2385c}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);padding:9px 10px}table.data th{color:var(--muted);font-size:12px;font-weight:500}table.data tr:hover td{background:#1f1c2b}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar select,.toolbar input[type=text],.toolbar input[type=search]{border:1px solid var(--border);color:var(--text);background:#14121d;border-radius:8px;margin:0;padding:7px 10px;font-size:13px}.toolbar button{width:auto;padding:7px 14px;font-size:13px}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:22px;display:grid}.stat{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px}.stat .label{color:var(--muted);font-size:11px}.stat .value{margin-top:4px;font-size:20px;font-weight:600}
