:root{--color-main:#1f6b3a;--color-text:#1a1a1a;--color-sub:#5c5c5c;--color-bg:#fff;--color-line:#d9d9d9;color:var(--color-text);background:var(--color-bg);font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.6}*{box-sizing:border-box}body{min-height:100dvh;margin:0}:root{--map-ground:#f6f6f2;--map-building:#e2e2dc;--map-highlight:#cfe5d4;--map-line:#8a8a84;--map-label:#555;--node:#1f6b3a;--node-faint:#b9c7bd;--edge:#1f6b3a;--selected:#d9480f;--survey:#c2410c;--error:#b00020}.admin-pad{padding:16px}.admin-header{z-index:10;border-bottom:1px solid var(--color-line);background:#fff;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 12px;display:flex;position:sticky;top:0}.admin-tabs{gap:4px;display:flex;overflow-x:auto}.admin-tabs a{color:var(--color-text);white-space:nowrap;border-radius:6px;padding:6px 10px;text-decoration:none}.admin-tabs a.active{background:var(--color-main);color:#fff}.admin-user{color:var(--color-sub);align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}.admin-notice{background:#e8f3eb;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:8px 12px 0;padding:8px 12px;display:flex}.admin-notice.error{color:var(--error);background:#fdecee}.admin-notice ul{flex-basis:100%;margin:0;padding-left:20px;font-size:14px}.admin-main{padding:12px}.split{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:12px;display:grid}@media (width<=820px){.split{grid-template-columns:minmax(0,1fr)}}.campus-map{border:1px solid var(--color-line);background:var(--map-ground);border-radius:8px;overflow:hidden}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.toolbar select,.toolbar button{padding:6px 10px;font-size:15px}.seg{border:1px solid var(--color-line);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{background:#fff;border:0;padding:6px 12px;font-size:15px}.seg button.on{background:var(--color-main);color:#fff}.panel{border:1px solid var(--color-line);background:#fff;border-radius:8px;padding:12px}.panel h2{margin:0 0 8px;font-size:16px}.hint{color:var(--color-sub);margin:4px 0 8px;font-size:13px}.form{gap:10px;display:grid}.form label{gap:4px;font-size:14px;display:grid}.form input,.form select,.form textarea{border:1px solid var(--color-line);border-radius:6px;width:100%;padding:8px;font-size:16px}.form .row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.form .check{align-items:center;gap:8px;display:flex}.form .check input{width:auto}.buttons{flex-wrap:wrap;gap:8px;display:flex}button{font:inherit;cursor:pointer}button.primary{background:var(--color-main);color:#fff;border:0;border-radius:6px;padding:10px 18px;font-size:16px}button.danger{color:var(--error);border:1px solid var(--error);background:#fff;border-radius:6px;padding:8px 14px}button.secondary{border:1px solid var(--color-line);background:#fff;border-radius:6px;padding:8px 14px}button.link{color:var(--color-main);background:0 0;border:0;padding:0;text-decoration:underline}button:disabled{opacity:.5}.error-text{color:var(--error)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{border:1px solid var(--color-line);background:#fff;border-radius:999px;padding:6px 12px;font-size:15px}.chips button.on{background:var(--survey);border-color:var(--survey);color:#fff}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.list li{border:1px solid var(--color-line);background:#fff;border-radius:8px;padding:8px 10px}.list .meta{color:var(--color-sub);font-size:12px}.list li.done{opacity:.55}table.data{border-collapse:collapse;width:100%;font-size:14px}table.data th,table.data td{border-bottom:1px solid var(--color-line);text-align:left;padding:6px}table.data tr.selected{background:#fff4e6}table.data tr{cursor:pointer}.issue-fatal{color:var(--error)}.stats{flex-wrap:wrap;gap:8px;display:flex}.stats div{border:1px solid var(--color-line);background:#fff;border-radius:8px;padding:8px 14px}.stats b{font-size:22px;display:block}
