:root{--color-bg:#faf7f5;--color-surface:#fff;--color-soft:#f3ebea;--color-line:#eadfdf;--color-text:#4a3b3f;--color-text-sub:#7d6e71;--color-accent:#bd7d89;--color-primary:#ad5f6d;--color-on-primary:#fff;--color-primary-text:#9f606b;--color-danger:#b3402f;--font-heading:"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;--font-body:system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", "Noto Sans CJK JP", "Yu Gothic", "Meiryo", sans-serif;--fw-heading:500;--fw-bold:600;--fs-mini:12px;--fs-small:14px;--fs-body:16px;--fs-large:18px;--fs-title:22px;--lh-body:1.6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-s:8px;--radius-m:12px;--radius-l:16px;--radius-pill:999px;--tap-min:44px;--tap-comfort:48px;--nav-height:64px;--topbar-height:60px;--logo-height:44px;--shadow-card:0 1px 3px #4a3b3f14;--shadow-float:0 3px 10px #ad5f6d59}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--fs-small);margin:0}main{max-width:1200px;margin:0 auto;padding:24px}.ops-narrow{max-width:480px}h1{font-size:var(--fs-large);margin:0 0 16px}h2{font-size:var(--fs-body);margin:0 0 12px}label{margin:0 0 12px;display:block}input[type=text],input[type=email],input[type=password],input:not([type]),textarea{width:100%;font-size:var(--fs-body);border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-text);border-radius:6px;margin-top:4px;padding:8px;display:block}button{font-size:var(--fs-small);border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:6px;padding:8px 16px}button[type=submit]{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}button:disabled{opacity:.45;cursor:not-allowed}.ops-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.ops-link{color:var(--color-primary-text);background:0 0;border:none;padding:4px 0;text-decoration:underline}.ops-sub{color:var(--color-text-sub)}.ops-error{color:var(--color-danger);font-weight:var(--fw-bold)}.ops-ok{color:var(--color-text);background:var(--color-soft);border-radius:6px;padding:8px 12px}.ops-warn{color:var(--color-danger)}.ops-header{background:var(--color-surface);border-bottom:1px solid var(--color-line);align-items:center;gap:24px;padding:12px 24px;display:flex}.ops-header nav{flex:1;gap:16px;display:flex}.ops-header a.router-link-active{font-weight:var(--fw-bold)}.ops-search{grid-template-columns:repeat(4,1fr) auto;align-items:end;gap:12px;display:grid}.ops-table{border-collapse:collapse;background:var(--color-surface);width:100%;margin-top:16px}.ops-table th,.ops-table td{border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top;padding:8px}.ops-table tr.overdue td{color:var(--color-danger);background:#fbe9e6}.ops-overdue-label{display:block}.ops-actions{gap:8px;display:flex}.ops-facts{grid-template-columns:max-content 1fr;gap:4px 16px;display:grid}.ops-facts dt{color:var(--color-text-sub)}.ops-facts dd{margin:0}.ops-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;padding:0;list-style:none;display:grid}.ops-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:8px;padding:12px}.ops-card.held{border-color:var(--color-danger)}.ops-card img,.ops-card video{object-fit:contain;background:var(--color-soft);width:100%;height:200px}.ops-url{word-break:break-all;font-size:var(--fs-mini)}.ops-badge{color:var(--color-danger);font-weight:var(--fw-bold)}.ops-detail{word-break:break-all;max-width:320px;font-size:var(--fs-mini)}.ops-backdrop{background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ops-dialog{background:var(--color-surface);border-radius:8px;max-width:480px;padding:24px}.ops-check{align-items:center;gap:8px;display:flex}
