:root{--bg:#ffffff;--text:#111111;--muted:#666666;--accent:#2b8a3e}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.header{padding:12px 16px 8px}.title{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:700;letter-spacing:.2px}.title .icon{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,#8fd3ff,#b7ffbf 60%,#ffe08f)}.tabbar{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px;padding:16px 20px 0}.tabbar button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;color:var(--muted);border:1px solid #ddd;border-radius:6px;padding:8px 16px;cursor:pointer;font-size:15px;font-weight:600;transition:all .2s ease-in-out}.tabbar button.active{background:#ff75a0;color:#fff;border-color:#ff75a0;font-weight:800}.tab-radio{display:inline-flex;align-items:center;gap:8px;line-height:1}.tab-radio input{margin:0;vertical-align:middle}.main{padding:12px 16px 20px}input,select,textarea{background:#fff;color:var(--text);border:1px solid #d7d7d7;padding:6px 8px}button.btn{background:#fff;color:var(--text);border:1px solid #d7d7d7;padding:7px 10px;cursor:pointer}button.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.btn.danger{background:#fff;color:#c12727;border-color:#c12727}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:9998}.modal{position:fixed;right:24px;bottom:24px;width:min(720px,calc(100% - 48px));background:#fff;color:var(--text);border:1px solid #e5e5e5;border-radius:8px;padding:12px;z-index:9999;box-shadow:0 10px 30px #0000001f}.modal-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.modal-header .sp{flex:1}.modal-body{display:block}
