:root{--cal-red: #C0392B;--cal-red-pale: #FDECEA;--cal-amber: #D97706;--cal-amber-pale: #FEF3CD;--cal-green: #1A6B3A;--cal-green-pale: #E6F4ED;--cal-blue: #1A4A8A;--cal-blue-pale: #E3ECF8;--cal-grey: #4A5568;--cal-grey-pale: #EDF2F7}.cal-hidden{display:none!important}.cal-hero{background:linear-gradient(135deg,var(--color-primary) 0%,#2B5080 65%,#1A4070 100%);color:#fff;padding:3.5rem 2rem 3rem;position:relative;overflow:hidden}.cal-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 105% 40%,rgba(200,146,42,.13) 0%,transparent 55%),repeating-linear-gradient(-45deg,transparent 0,transparent 38px,rgba(255,255,255,.018) 38px,rgba(255,255,255,.018) 39px);pointer-events:none}.cal-hero-inner{max-width:860px;margin:0 auto;position:relative}.cal-hero-eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f0d9a8;margin-bottom:1rem}.cal-hero-eyebrow:before{content:"";display:block;width:24px;height:2px;background:#c8922a}.cal-hero h1{font-family:var(--font-headline,"Newsreader",serif);font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.15;font-weight:400;margin-bottom:1rem;color:#fff}.cal-hero h1 em{font-style:italic;color:#f0d9a8}.cal-hero-lead{font-size:1rem;font-weight:300;color:#ffffffc7;max-width:600px;margin-bottom:1.75rem}.cal-hero-stats{display:flex;gap:1.5rem;flex-wrap:wrap}.cal-hero-stat{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.5rem 1rem;text-align:center}.cal-hero-stat strong{display:block;font-size:1.4rem;font-weight:700;color:#f0d9a8;line-height:1.1}.cal-hero-stat span{font-size:.72rem;color:#fff9}.cal-page{max-width:1060px;margin:0 auto;padding:2rem 2rem 5rem}.info-box{background:#e8eef7;border-left:4px solid var(--color-primary);border-radius:0 8px 8px 0;padding:.9rem 1.1rem;font-size:.83rem;color:var(--color-text);margin-bottom:1.5rem}.info-box strong{color:var(--color-primary)}.controls{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:2rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.control-group{display:flex;flex-direction:column;gap:.35rem}.control-group label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-light)}.filter-pills{display:flex;flex-wrap:wrap;gap:.4rem}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.3em .75em;border-radius:20px;font-size:.78rem;font-weight:600;border:1.5px solid #CBD5E0;cursor:pointer;transition:all .15s;user-select:none;background:var(--cal-grey-pale);color:var(--cal-grey)}.pill:hover{opacity:.85}.pill.active{color:#fff;border-color:transparent}.pill[data-reg=DORA].active{background:#1a4a8a}.pill[data-reg=NIS2].active{background:#1a6b3a}.pill[data-reg="EU AI Act"].active{background:#6b21a8}.pill[data-reg=CRA].active{background:#9a3412}.pill[data-reg=FiDA].active{background:#0e7490}.pill[data-reg=AMLR].active{background:#854d0e}.pill[data-reg="eIDAS 2.0"].active{background:#1e40af}.pill[data-reg=DSGVO].active{background:#4c1d95}.pill[data-reg=Alle].active{background:var(--color-primary)}.view-toggle{display:flex;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.view-btn{padding:.35rem .85rem;font-size:.8rem;font-weight:600;border:none;background:transparent;color:var(--color-text-light);cursor:pointer;transition:all .15s}.view-btn.active{background:var(--color-primary);color:#fff}.legend{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;font-size:.78rem;color:var(--color-text-light);align-items:center}.legend-label{font-size:.75rem;font-weight:700;color:var(--color-primary)}.legend-item{display:flex;align-items:center;gap:.35rem}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.timeline-year{display:flex;align-items:center;gap:1rem;margin:2.25rem 0 1rem}.timeline-year h3{font-family:var(--font-headline,"Newsreader",serif);font-size:1.3rem;font-weight:400;color:var(--color-primary);white-space:nowrap;margin:0}.timeline-year:after{content:"";flex:1;height:1px;background:var(--color-border)}.timeline-items{display:flex;flex-direction:column;gap:.75rem}.deadline-card{background:#fff;border:1px solid var(--color-border);border-radius:10px;padding:1rem 1.25rem;display:grid;grid-template-columns:110px 1fr auto;gap:.75rem 1.25rem;align-items:start;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden}.deadline-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.deadline-card:hover{box-shadow:0 4px 18px #1a365d1a;transform:translateY(-1px)}.deadline-card.urgent:before{background:var(--cal-red)}.deadline-card.soon:before{background:var(--cal-amber)}.deadline-card.upcoming:before{background:var(--cal-green)}.deadline-card.future:before{background:var(--cal-blue)}.deadline-card.pending:before{background:var(--cal-grey)}.deadline-date{font-size:.8rem;font-weight:700;color:var(--color-primary);padding-top:.1rem}.deadline-date :global(.month){font-weight:400;color:var(--color-text-light)}.deadline-title{font-size:.95rem;font-weight:600;color:var(--color-primary);margin-bottom:.2rem}.deadline-desc{font-size:.83rem;color:var(--color-text-light);line-height:1.5}.deadline-note{margin-top:.5rem;font-size:.78rem;color:var(--cal-amber);font-weight:500}.deadline-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}.deadline-tag{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.15em .55em;border-radius:4px}.tag-DORA{background:#dbeafe;color:#1a4a8a}.tag-NIS2{background:#d1fae5;color:#1a6b3a}.tag-euaiact{background:#ede9fe;color:#6b21a8}.tag-CRA{background:#fee2e2;color:#9a3412}.tag-FiDA{background:#cffafe;color:#0e7490}.tag-AMLR{background:#fef3c7;color:#854d0e}.tag-eidas{background:#dbeafe;color:#1e40af}.tag-DSGVO{background:#f3e8ff;color:#4c1d95}.tag-generic{background:var(--cal-grey-pale);color:var(--cal-grey)}.deadline-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;padding:.3em .7em;border-radius:6px;white-space:nowrap;height:fit-content}.badge-urgent{background:var(--cal-red-pale);color:var(--cal-red)}.badge-soon{background:var(--cal-amber-pale);color:var(--cal-amber)}.badge-upcoming{background:var(--cal-green-pale);color:var(--cal-green)}.badge-future{background:var(--cal-blue-pale);color:var(--cal-blue)}.badge-pending{background:var(--cal-grey-pale);color:var(--cal-grey)}.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.grid-card{background:#fff;border:1px solid var(--color-border);border-radius:10px;padding:1.1rem;position:relative;overflow:hidden;transition:box-shadow .2s,transform .2s}.grid-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px}.grid-card.urgent:after{background:var(--cal-red)}.grid-card.soon:after{background:var(--cal-amber)}.grid-card.upcoming:after{background:var(--cal-green)}.grid-card.future:after{background:var(--cal-blue)}.grid-card.pending:after{background:var(--cal-grey)}.grid-card:hover{box-shadow:0 4px 18px #1a365d1a;transform:translateY(-2px)}.grid-card-date{font-size:.75rem;font-weight:700;color:var(--color-text-light);margin-bottom:.3rem}.grid-card-title{font-size:.92rem;font-weight:600;color:var(--color-primary);margin-bottom:.4rem;line-height:1.3}.grid-card-desc{font-size:.8rem;color:var(--color-text-light);line-height:1.5;margin-bottom:.6rem}.empty{text-align:center;padding:3rem 1rem;color:var(--color-text-light)}.empty p{margin-top:.5rem;font-size:.9rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.cal-hero-inner>*{animation:fadeUp .5s ease both}.cal-hero-inner>*:nth-child(1){animation-delay:.05s}.cal-hero-inner>*:nth-child(2){animation-delay:.12s}.cal-hero-inner>*:nth-child(3){animation-delay:.2s}.cal-hero-inner>*:nth-child(4){animation-delay:.27s}@media(max-width:640px){.deadline-card{grid-template-columns:1fr}.cal-hero-stats{gap:.75rem}.controls{flex-direction:column}}
