:root{--color-bg: #f5f7fa;--color-surface: #ffffff;--color-border: #e2e6ec;--color-text: #1a2233;--color-text-muted: #64748b;--color-primary: #0f4c81;--color-primary-dark: #0a3660;--color-accent: #16a34a;--color-danger: #dc2626;--color-warning: #d97706;--radius: 10px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text)}a{color:var(--color-primary)}button{font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-outline{background:transparent;border-color:var(--color-border);color:var(--color-text)}.btn-outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-danger{background:#fff;border-color:var(--color-danger);color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn-sm{padding:5px 10px;font-size:12.5px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}table{min-width:480px}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.map-layout{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}@media(max-width:760px){.two-col-grid,.map-layout{grid-template-columns:1fr}.space-popup{position:static}}@media(max-width:560px){.container{padding:16px 12px 48px}}.input,select.input,textarea.input{width:100%;padding:9px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;background:#fff;color:var(--color-text)}.input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.label{display:block;font-size:13px;font-weight:600;margin-bottom:4px;color:var(--color-text-muted)}.field{margin-bottom:14px}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.02em}.badge-free{background:#dcfce7;color:#166534}.badge-held{background:#fee2e2;color:#991b1b}.badge-mine{background:#dbeafe;color:#1e40af}.badge-soon{background:#fef3c7;color:#92400e}.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.hub-card{display:block;text-decoration:none;color:inherit}.hub-card-inner{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:var(--color-surface);transition:box-shadow .15s ease,transform .15s ease}.hub-button:hover .hub-card-inner{transform:translateY(-2px);box-shadow:0 8px 20px #0f4c8124}.hub-card-inner img{display:block;width:100%;height:auto}.hub-card-list{margin:0;padding:12px 16px 12px 30px;list-style:disc;font-size:12.5px;line-height:1.6;color:var(--color-text-muted);border-top:1px solid var(--color-border)}.container{max-width:1180px;margin:0 auto;padding:24px 20px 64px}.page-title{font-size:22px;font-weight:700;margin:0 0 6px}.page-subtitle{color:var(--color-text-muted);font-size:14px;margin:0 0 24px}table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border)}th{color:var(--color-text-muted);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em}.auth-shell{min-height:100%;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:linear-gradient(160deg,#0f4c81,#0a3660)}.auth-card{width:100%;max-width:460px;padding:32px}.auth-title{font-size:20px;font-weight:700;margin:0 0 4px}.auth-subtitle{color:var(--color-text-muted);font-size:13.5px;margin:0 0 24px}.form-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:16px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}@media(max-width:560px){.form-grid-2{grid-template-columns:1fr}}
