:root{--brand-950:#07111f;--brand-900:#0b172a;--brand-800:#10213b;--brand-700:#162d4e;--brand-600:#1d3c65;--brand-500:#2b4f7f;--brand-400:#5375a0;--brand-300:#86a0be;--brand-200:#b9c9db;--brand-100:#dfe7f0;--brand-50:#f5f8fb;--accent-700:#087f8c;--accent-600:#0a9dae;--accent-500:#20c5d6;--accent-400:#55d4e1;--accent-300:#8be2ea;--accent-200:#bdeff3;--accent-100:#dff8fa;--accent-50:#f4fdfe;--signal-600:#f97316;--signal-500:#fb923c;--signal-100:#fff1e7;--chart-1:#20c5d6;--chart-2:#5375a0;--chart-3:#fb923c;--chart-4:#14b8a6;--chart-5:#8b5cf6;--ink-950:#11131a;--ink-900:#191c25;--ink-800:#252936;--ink-700:#373c4c;--ink-600:#515768;--ink-500:#6f7687;--ink-400:#969dad;--ink-300:#c1c6d0;--ink-200:#dfe2e8;--ink-100:#eef0f4;--ink-50:#f7f8fa;--white:#fff;--success-700:#137044;--success-100:#e7f8ef;--warning-700:#9c5c00;--warning-100:#fff5db;--danger-700:#b42318;--danger-100:#fff0ee;--info-700:#175cd3;--info-100:#edf4ff;--gradient-brand:linear-gradient(135deg, #07111f 0%, #162d4e 52%, #20c5d6 100%);--gradient-soft:linear-gradient(135deg, #f5f8fb 0%, #f4fdfe 100%);--gradient-warm:linear-gradient(135deg, #fff1e7 0%, #f4fdfe 100%);--radius-xs:6px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:36px;--radius-pill:999px;--shadow-xs:0 1px 2px #11131a0f;--shadow-sm:0 4px 14px #11131a14;--shadow-md:0 14px 40px #11131a1a;--shadow-lg:0 24px 70px #11131a29;--focus-ring:0 0 0 4px #20c5d638;--container:1240px;--sidebar:256px;--ease:cubic-bezier(.22, .8, .32, 1);--fast:.14s;--normal:.24s;--slow:.46s}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink-50);color:var(--ink-900);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55}button,input,select,textarea{font:inherit}a{color:inherit}img{max-width:100%}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.muted{color:var(--ink-500)}.small{font-size:13px}.tiny{font-size:11px}.heading-1{letter-spacing:-.04em;font-size:36px;font-weight:850;line-height:1.08}.heading-2{letter-spacing:-.035em;font-size:28px;font-weight:820;line-height:1.14}.heading-3{letter-spacing:-.025em;font-size:22px;font-weight:780;line-height:1.2}.label{text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:850}.btn{appearance:none;border-radius:var(--radius-sm);cursor:pointer;min-height:42px;transition:var(--fast) var(--ease);border:0;justify-content:center;align-items:center;gap:9px;padding:11px 16px;font-weight:780;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-primary{background:var(--brand-700);color:#fff}.btn-primary:hover{background:var(--brand-800)}.btn-accent{background:var(--accent-600);color:#fff}.btn-accent:hover{background:var(--accent-700)}.btn-secondary{color:var(--ink-800);border:1px solid var(--ink-300);background:#fff}.btn-ghost{color:var(--brand-700);background:0 0}.btn-danger{background:var(--danger-700);color:#fff}.btn-sm{min-height:34px;padding:7px 11px;font-size:13px}.btn-lg{border-radius:13px;min-height:50px;padding:14px 20px}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}.button-row{flex-wrap:wrap;gap:10px;display:flex}.chip,.badge{border-radius:var(--radius-pill);align-items:center;gap:7px;width:fit-content;font-size:12px;font-weight:800;display:inline-flex}.chip{border:1px solid var(--ink-200);background:#fff;padding:7px 10px}.badge{padding:5px 9px}.badge-success{color:var(--success-700);background:var(--success-100)}.badge-warning{color:var(--warning-700);background:var(--warning-100)}.badge-danger{color:var(--danger-700);background:var(--danger-100)}.badge-info{color:var(--info-700);background:var(--info-100)}.badge-brand{color:var(--brand-700);background:var(--brand-100)}.badge-neutral{color:var(--ink-600);background:var(--ink-100)}.card{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:var(--normal) var(--ease);padding:22px}.card.hoverable:hover{box-shadow:var(--shadow-md);border-color:var(--brand-200);transform:translateY(-4px)}.grid{gap:18px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.field{gap:7px;display:grid}.field label{color:var(--ink-700);font-size:13px;font-weight:760}.field-help{color:var(--ink-500);font-size:12px}.input,.select,.textarea{border:1px solid var(--ink-300);border-radius:var(--radius-sm);width:100%;color:var(--ink-900);transition:var(--fast) var(--ease);background:#fff;outline:none;padding:11px 13px}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-400)}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand-500);box-shadow:var(--focus-ring)}.input.error{border-color:var(--danger-700);background:snow}.textarea{resize:vertical;min-height:112px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.check-row{align-items:flex-start;gap:12px;display:flex}.check-row input{accent-color:var(--brand-700);margin-top:4px}.alert{border:1px solid #0000;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:start;gap:14px;padding:16px;display:grid}.alert-info{background:var(--info-100);color:var(--info-700);border-color:#d8e8ff}.alert-success{background:var(--success-100);color:var(--success-700);border-color:#ced}.alert-warning{background:var(--warning-100);color:var(--warning-700);border-color:#f9e6af}.alert-danger{background:var(--danger-100);color:var(--danger-700);border-color:#ffd6d1}.tile{border:1px solid var(--ink-200);min-height:190px;transition:var(--normal) var(--ease);background:#fff;border-radius:22px;padding:24px;position:relative;overflow:hidden}.tile:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.tile-icon{background:var(--brand-100);width:48px;height:48px;color:var(--brand-700);border-radius:15px;place-items:center;margin-bottom:26px;font-weight:900;display:grid}.tile-accent{background:var(--gradient-brand);color:#fff;border:0}.tile-accent .tile-icon{color:#fff;background:#ffffff24}.tile-accent p{color:#ffffffc2}.tile-number{letter-spacing:-.05em;font-size:42px;font-weight:900;line-height:1}.metric{border:1px solid var(--ink-200);background:#fff;border-radius:18px;grid-template-columns:1fr auto;gap:14px;padding:20px;display:grid}.metric-value{letter-spacing:-.045em;margin-top:10px;font-size:34px;font-weight:900;line-height:1}.trend-up{color:var(--success-700);font-weight:800}.table-wrap{border:1px solid var(--ink-200);border-radius:16px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--ink-200);padding:14px 16px}th{background:var(--ink-50);color:var(--ink-500);text-transform:uppercase;letter-spacing:.09em;font-size:11px}tbody tr:hover{background:var(--brand-50)}tbody tr:last-child td{border-bottom:0}.avatar{background:var(--gradient-brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:12px;font-weight:850;display:inline-grid}.person{align-items:center;gap:10px;display:flex}.person-name{font-weight:760}.tabs{background:var(--ink-100);border-radius:12px;gap:4px;width:fit-content;padding:4px;display:flex}.tab{color:var(--ink-500);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 12px;font-weight:750}.tab.active{color:var(--brand-700);box-shadow:var(--shadow-xs);background:#fff}.empty-state{text-align:center;border:1px dashed var(--ink-300);background:var(--ink-50);border-radius:20px;place-items:center;min-height:240px;padding:38px;display:grid}.empty-icon{background:var(--accent-100);width:64px;height:64px;color:var(--accent-700);border-radius:20px;place-items:center;margin:0 auto 18px;font-size:28px;display:grid}.skeleton{background:linear-gradient(90deg, var(--ink-100) 25%, var(--ink-50) 45%, var(--ink-100) 65%);background-size:200% 100%;border-radius:8px;animation:1.4s linear infinite skeleton}@keyframes skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.spinner{border:4px solid var(--accent-100);border-top-color:var(--accent-600);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{z-index:100;background:#07111f8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{width:min(100%,480px);box-shadow:var(--shadow-lg);background:#fff;border-radius:20px;overflow:hidden}.modal-head,.modal-body,.modal-foot{padding:22px 24px}.modal-head{border-bottom:1px solid var(--ink-200);justify-content:space-between;gap:16px;display:flex}.modal-foot{background:var(--ink-50);border-top:1px solid var(--ink-200);justify-content:flex-end;gap:10px;display:flex}.login-preview{border:1px solid var(--ink-200);min-height:520px;box-shadow:var(--shadow-md);border-radius:24px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.login-brand{color:#fff;background:var(--gradient-brand);flex-direction:column;justify-content:space-between;padding:48px;display:flex}.login-form{background:#fff;align-content:center;padding:48px;display:grid}.brand-mark{background:var(--gradient-brand);color:#fff;width:42px;height:42px;box-shadow:var(--shadow-sm);letter-spacing:-.04em;border-radius:14px;place-items:center;font-weight:900;display:grid}@media (width<=760px){.grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.login-preview{grid-template-columns:1fr}.login-brand,.login-form{padding:28px}}.rsvp-shell{background:var(--gradient-soft);place-items:center;min-height:100vh;padding:24px;display:grid}.rsvp-page{width:100%;max-width:560px}.rsvp-brand{align-items:center;gap:12px;margin-bottom:24px;display:flex}.rsvp-brand-title{color:var(--brand-800);font-weight:850}.rsvp-odpoved{gap:10px;margin-bottom:22px;display:flex}.rsvp-odpoved-option{border:1px solid var(--ink-200);border-radius:var(--radius-sm);cursor:pointer;transition:var(--fast) var(--ease);flex:1;align-items:center;gap:10px;padding:14px 16px;display:flex}.rsvp-odpoved-option:hover{border-color:var(--brand-300)}.rsvp-odpoved-option.selected{border-color:var(--brand-500);background:var(--brand-50);box-shadow:var(--focus-ring)}.rsvp-fields{gap:16px;margin-bottom:22px;display:grid}.form-error{color:var(--danger-700);margin:0;font-size:13px}
