:root{--color-primary:#ff5127;--color-primary-hover:#e8461f;--color-primary-light:rgba(255,81,39,.1);--color-heading:#48203e;--color-text:#000;--color-text-secondary:#3b3b49;--color-muted:#93999f;--color-background:#fff;--color-surface:#f9fafb;--color-border:#e5e7eb;--color-success:#2e7d32;--color-warning:#b26a00;--color-danger:#c00;--color-info:#1e88e5;--font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--font-family-mono:"SF Mono","Monaco","Consolas","Courier New",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.625;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(0,0,0,.06);--shadow-md:0 4px 12px rgba(0,0,0,.08);--shadow-lg:0 8px 24px rgba(0,0,0,.1);--shadow-card:0 2px 8px rgba(72,32,62,.06);--shadow-elevated:0 12px 28px rgba(72,32,62,.1);--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--content-max-width:1100px;--content-max-width-narrow:800px;--sidebar-width:280px;--bg:var(--color-surface);--card:var(--color-background);--text:var(--color-text);--muted:var(--color-muted);--primary:var(--color-primary);--primary-600:var(--color-primary-hover);--success:var(--color-success);--warning:var(--color-warning);--info:var(--color-info);--danger:var(--color-danger);--border:var(--color-border);--radius:var(--radius-lg);--gap:var(--space-3);--shadow:var(--shadow-card);--font-sans:var(--font-family)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);background:var(--color-surface);color:var(--color-text)}a,button,input,select,textarea{font:inherit}code{font-family:var(--font-family-mono)}h1,h2,h3,h4,h5,h6{color:var(--color-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0 0 var(--space-3) 0}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}.container{padding:var(--space-6)}.container,.page-container{max-width:var(--content-max-width);margin:0 auto}.page-container{padding:var(--space-10) var(--space-4) var(--space-16)}.row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.statsGrid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-6)}@media (min-width:1024px){.statsGrid{grid-template-columns:repeat(4,1fr)}}@media (min-width:640px) and (max-width:1023px){.statsGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:639px){.statsGrid{grid-template-columns:1fr}}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4)}.card,.card-section{background:var(--color-background)}.card-section{border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-xl);color:var(--color-heading);margin-bottom:var(--space-3)}.subtle{color:var(--color-muted);font-size:var(--font-size-sm)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-background);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn:hover{background:var(--color-surface)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary,.btnPrimary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled),.btnPrimary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:var(--color-heading);color:#fff;border-color:var(--color-heading)}.btn-secondary:hover:not(:disabled){background:#5a2a50;border-color:#5a2a50}.btn-ghost,.btnGhost{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-ghost:hover:not(:disabled),.btnGhost:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-muted)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);border-radius:var(--radius-md)}.input,.select,.textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-background);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--color-surface);opacity:.7;cursor:not-allowed}.textarea{min-height:100px;resize:vertical}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.form-hint{font-size:var(--font-size-xs);color:var(--color-muted)}.badgeWarning{display:inline-block;padding:2px 8px;border-radius:999px;background:rgba(255,81,39,.1);color:#ff5127;font-size:.75rem;font-weight:500;margin-top:4px}.alertWarning{margin-top:4px;padding:8px 10px;border-radius:6px;background:rgba(255,81,39,.06);border:1px solid rgba(255,81,39,.4);color:#48203e;font-size:.85rem}.departure-date{font-weight:500}.departure-date.warning{color:#ff8c00}.departure-date.danger{color:#c00;font-weight:600}.bahncard-warning{margin-top:16px;padding:12px 14px;border-radius:8px;border:1px solid rgba(255,81,39,.5);background:rgba(255,81,39,.06);color:#48203e;font-size:.9rem}.bahncard-warning-actions{margin-top:8px;display:flex;gap:8px;justify-content:flex-end}.bahncard-expired-flag{margin-top:4px}.bahncard-expired-flag,.updates-flag{font-size:.8rem;font-weight:600;color:#c00}.updates-flag{margin-top:2px}.request-card{position:relative}.request-card-header{display:flex;align-items:flex-start;column-gap:var(--space-4)}.request-card-badges{display:flex;flex-direction:column;gap:var(--space-1);width:140px;flex-shrink:0;align-items:flex-start}.request-card-title-and-meta{flex:1 1;min-width:0}.badge-circula{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:600;background-color:#48203e;color:#fff;margin-left:0}.request-note{font-size:.8rem;color:var(--color-muted);margin-top:2px}.badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.badge-success{background:rgba(46,125,50,.1);color:var(--color-success)}.badge-warning{background:rgba(178,106,0,.1);color:var(--color-warning)}.badge-danger{background:rgba(204,0,0,.1);color:var(--color-danger)}.badge-info{background:rgba(30,136,229,.1);color:var(--color-info)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);border:1px solid}.alert-success{background:rgba(46,125,50,.08);border-color:rgba(46,125,50,.3);color:var(--color-success)}.alert-error{background:rgba(204,0,0,.08);border-color:rgba(204,0,0,.3);color:var(--color-danger)}.alert-info{background:rgba(30,136,229,.08);border-color:rgba(30,136,229,.3);color:var(--color-info)}