@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap");*{margin:0;padding:0;box-sizing:border-box}:root{--color-white:#fff;--color-black:#000;--color-gold:#d4af37;--color-gold-light:gold;--color-primary:var(--color-gold);--color-text-muted:#555;--color-border:#e0e0e0;--color-border-strong:#ccc;--color-bg-page:#f8f9fa;--color-bg-muted:#f5f5f5;--color-danger:#f44336;--color-danger-text:#c62828;--color-danger-bg:#ffebee;--color-success:#2e7d32;--color-success-border:#66bb6a;--color-success-bg:#e8f5e9;--radius-sm:4px;--radius-md:8px;--radius-lg:12px}body{font-family:Noto Sans JP,游ゴシック,Yu Gothic,メイリオ,Meiryo,sans-serif;background-color:var(--color-white);color:var(--color-black);line-height:1.6;font-size:16px}a{color:var(--color-gold);text-decoration:none}a:hover{color:var(--color-black);text-decoration:underline}.role-header-actions{display:flex;align-items:center;gap:16px;margin-left:auto}.role-header-toggle{display:inline-flex;align-items:center;flex-shrink:0}.role-header-nav{display:flex;flex-direction:column;align-items:flex-start;gap:14px;position:absolute;top:100%;right:20px;min-width:240px;max-width:calc(100vw - 40px);background-color:var(--color-white);border:1px solid #ddd;border-radius:8px;padding:16px 20px;z-index:100;box-shadow:0 8px 16px rgba(0,0,0,.12);max-height:70vh;overflow-y:auto}.btn-reset{background:none;border:none;font:inherit;color:inherit;padding:0;cursor:pointer;text-align:inherit}.btn-reset:disabled{cursor:not-allowed}.btn{display:inline-block;border-radius:var(--radius-sm);font-weight:700;cursor:pointer;text-align:center}.btn:disabled{cursor:not-allowed;opacity:.6}.btn--primary{padding:10px 20px;background-color:var(--color-primary);color:var(--color-black);border:none;font-size:14px}.btn--secondary{padding:8px 18px;background-color:var(--color-white);color:var(--color-text-muted);border:1px solid #bdbdbd;font-size:13px}.btn--outline-success{padding:4px 12px;color:var(--color-success);border:1px solid var(--color-success-border);font-size:12px}.btn--outline-success,.card{background-color:var(--color-white)}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px}.banner--error{padding:20px;background-color:var(--color-danger-bg);color:var(--color-danger-text);border-radius:var(--radius-md)}.list-item-btn{display:block;width:100%;text-align:left;padding:8px 16px;border-bottom:1px solid var(--color-bg-muted)}.list-item-btn:focus,.list-item-btn:hover{background-color:var(--color-bg-muted)}.btn--danger{padding:10px 20px;background-color:#dc2626;color:var(--color-white);border:none;font-size:14px}@media (max-width:768px){.grid-collapse-sm{grid-template-columns:1fr!important}}.scroll-x-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}.confirm-dialog__backdrop{position:fixed;inset:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-dialog{background-color:var(--color-white);border-radius:var(--radius-md);padding:32px;max-width:480px;width:90%;box-shadow:0 8px 32px rgba(0,0,0,.2);outline:none}.confirm-dialog__title{margin-bottom:12px;font-size:18px}.confirm-dialog__title--danger{color:#c00}.confirm-dialog__message{margin-bottom:20px;font-size:14px;color:#333;white-space:pre-line;line-height:1.7}.confirm-dialog__actions{display:flex;gap:12px;justify-content:flex-end}.confirm-dialog__actions .btn{padding:10px 20px;font-size:14px}