:root{--theme-bg: #f7f4ec;--theme-fg: #1c1a16;--theme-muted: #5a544a;--theme-soft: #8a8478;--theme-faint: #9a9385;--theme-rule: #d8d3c7;--theme-card: #fbf8ef;--theme-invert-bg: #1c1a16;--theme-invert-fg: #efeae0;--theme-invert-muted: #cfc8b8;--theme-sticky: rgba(247, 244, 236, .86);--theme-sticky-rule: #e6e1d4;--theme-accent: #3a7d4a;--theme-beta: #a47830}[data-theme=dark]{--theme-bg: #16140f;--theme-fg: #ece7da;--theme-muted: #a39c8c;--theme-soft: #7a7468;--theme-faint: #5a544a;--theme-rule: #2a2620;--theme-card: #1c1a14;--theme-invert-bg: #0c0b08;--theme-invert-fg: #ece7da;--theme-invert-muted: #a39c8c;--theme-sticky: rgba(22, 20, 15, .86);--theme-sticky-rule: #26221a}*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans JP,sans-serif;margin:0;background:var(--theme-bg);color:var(--theme-fg)}main{min-height:calc(100vh - 72px);padding:16px}.footer-nav{position:fixed;bottom:0;left:0;right:0;background:var(--theme-card);border-top:1px solid var(--theme-rule);display:flex;gap:8px;justify-content:space-around;padding:8px}.footer-nav a{flex:1;text-align:center;text-decoration:none;color:var(--theme-accent);padding:8px 0;font-weight:600}.card{background:var(--theme-card);border:1px solid var(--theme-rule);border-radius:12px;padding:16px;max-width:720px;margin:0 auto}.center{display:flex;align-items:center;justify-content:center}.circle{width:min(280px,70vw);height:min(280px,70vw);border-radius:50%;border:10px solid #0aa370;background:#e9fff5;display:flex;align-items:center;justify-content:center;margin:16px auto;color:#0a6d4f;position:relative}.circle .steps{font-size:40px;font-weight:800}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;margin:8px 0}label{display:inline-flex;gap:8px;align-items:center}select,input{padding:12px;border-radius:8px;border:1px solid var(--theme-rule)}button{padding:12px;border-radius:8px;border:1px solid var(--theme-rule);background:var(--theme-card);cursor:pointer}button.primary{background:var(--theme-accent);color:#fff;border-color:var(--theme-accent)}.small{font-size:12px;color:var(--theme-muted)}.table-bordered{width:100%;border-collapse:collapse;border:1px solid var(--theme-rule)}.table-bordered th,.table-bordered td{border:1px solid var(--theme-rule);padding:4px 6px}.table-bordered thead tr{background:var(--theme-bg)}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll--wide table{min-width:720px}.app-header{background:#1e293b;box-shadow:0 4px 6px #0000001a;position:sticky;top:0;z-index:100}.app-header-inner{max-width:1280px;margin:0 auto;padding:16px;display:flex;justify-content:space-between;align-items:center}.app-logo{color:#fff;font-size:1.5rem;font-weight:700;text-decoration:none;transition:color .2s}.app-logo:hover{color:#cbd5e1}.app-header-actions{display:flex;align-items:center;gap:12px}.app-header-link{color:#cbd5e1;text-decoration:none;font-size:.875rem}.app-header-link:hover{color:#fff}.app-login-btn{background:#2563eb;color:#fff;padding:8px 16px;border-radius:4px;text-decoration:none;font-size:.875rem;transition:background .2s;border:none;cursor:pointer}.app-login-btn:hover{background:#1d4ed8}.app-login-btn--outline{background:transparent;border:1px solid #cbd5e1}.app-login-btn--outline:hover{background:#ffffff1a}.app-breadcrumb{display:flex;align-items:center;gap:8px}.app-brand{color:#cbd5e1;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s}.app-brand:hover{color:#fff}.app-sep{color:#475569;font-size:16px}.app-service{color:#fff;font-size:20px;font-weight:700;text-decoration:none;transition:color .2s}.app-service:hover{color:#cbd5e1}.app-footer{border-top:1px solid var(--theme-rule, #d8d3c7);margin-top:64px;padding:24px 0;margin-bottom:64px}.app-footer-inner{max-width:720px;margin:0 auto;padding:0 16px;text-align:center;font-size:.75rem;color:var(--theme-muted, #5a544a)}.app-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:8px}.app-footer-links a{color:var(--theme-muted, #5a544a);text-decoration:none}.app-footer-links a:hover{text-decoration:underline}
