:root{--bg:#f5f6f4;--panel:#fff;--fg:#1d2420;--muted:#66706b;--line:#dde2de;--accent:#23675a;--danger:#b3261e;color:var(--fg);background:var(--bg);font-family:Hiragino Sans,Yu Gothic,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button{font:inherit;border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:6px;padding:5px 12px}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.danger{color:var(--danger);border-color:var(--danger)}button.link{color:var(--accent);background:0 0;border:0;padding:0;text-decoration:underline}input,select,textarea{font:inherit;border:1px solid var(--line);background:#fff;border-radius:6px;padding:5px 8px}.shell{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.side{color:#e6ece9;background:#1f2a26;flex-direction:column;gap:14px;padding:14px 10px;display:flex}.side .brand{padding:0 6px;font-weight:700}.side .menu-title{color:#9fb0a9;padding:0 6px 4px;font-size:12px}.side a{color:#e6ece9;border-radius:6px;padding:6px;text-decoration:none;display:block}.side a.active,.side a:hover{background:#2f3f39}.side .who{color:#9fb0a9;margin-top:auto;padding:0 6px;font-size:12px}.side .who .link{color:#cfe}.main{padding:18px 22px;overflow-x:auto}.page{gap:14px;display:grid}.page-head{align-items:center;gap:12px;display:flex}.page-head h1{margin:0;font-size:20px}.page-head .actions{gap:8px;margin-left:auto;display:flex}.filters{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:end;gap:10px;padding:10px;display:flex}.field{gap:3px;display:grid}.field>span{color:var(--muted);font-size:12px}table.grid{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);width:100%}table.grid th,table.grid td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:5px 8px}table.grid th{white-space:nowrap;background:#eef1ee;font-size:12px;font-weight:600;position:sticky;top:0}table.grid tr:hover td{background:#f8faf8}.pager{align-items:center;gap:10px;display:flex}.error{color:var(--danger);margin:0}.muted{color:var(--muted)}.editable{cursor:pointer;border-bottom:1px dashed var(--line)}.editing{gap:4px;display:inline-flex}.toast{color:#fff;background:#1f2a26;border-radius:8px;max-width:420px;padding:10px 14px;position:fixed;bottom:16px;right:16px}.login{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:12px;max-width:320px;margin:12vh auto;padding:24px;display:grid}.login h1{margin:0;font-size:18px}.thumb{object-fit:cover;background:#eee;border-radius:4px;width:90px;height:68px;display:block}.drop{border:2px dashed var(--line);text-align:center;color:var(--muted);border-radius:6px;padding:6px;font-size:12px}.drop.over{border-color:var(--accent);background:#eef7f3}.cm-form{gap:10px;display:grid}.cm-group{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin:0;padding:8px 12px 12px}.cm-group legend{color:var(--muted);padding:0 4px;font-size:12px}.cm-fields{flex-wrap:wrap;align-items:start;gap:10px 14px;display:flex}.cm-fields .field{min-width:160px}.cm-fields .cm-wide{flex-basis:100%}.cm-fields textarea{width:100%}.cm-req{color:var(--danger);margin-left:2px}.cm-multi{gap:10px;display:inline-flex}.cm-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cm-tabs{flex-wrap:wrap;gap:6px;display:flex}.cm-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:8px;padding:10px;display:grid}.cm-panel p{margin:0}.cm-usage td.cm-samples{color:var(--muted);max-width:420px;font-size:12px}.cm-block td{color:var(--danger);font-weight:600}.cm-delete{gap:8px;display:grid}table.grid tr.cm-o91 td{background:#e8f0fb}table.grid tr.cm-o92 td{background:#e9f6ea}table.grid tr.cm-off td{color:var(--muted)}.cm-red{color:var(--danger);font-weight:600}.cm-badge{color:var(--muted);white-space:nowrap;background:#eef1ee;border-radius:9px;margin-right:4px;padding:0 6px;font-size:11px;display:inline-block}.cm-badge.warn{color:var(--danger);background:#fdecea}.cm-badge.ok{color:var(--accent);background:#e3f3ea}.cm-post{border:1px solid var(--line);max-height:70vh;overflow:auto}.cm-post table.grid{border:0;width:auto}.cm-post td,.cm-post th{padding:2px 4px!important}.cm-post input{text-align:right;width:64px;padding:2px 4px}.cm-post input.dirty{background:#fff7d6;border-color:#e0b400}.cm-post th.sticky,.cm-post td.sticky{background:var(--panel);z-index:1;position:sticky;left:0}.cm-post thead th{z-index:2}.cm-post thead th.sticky{z-index:3}.cm-mono{font-family:ui-monospace,Menlo,monospace}
