:root{
    --accent: #26b34a;
    --text: #333;
    --muted: #6b7280;
    --line: #d1d5db;
    --bg: #ffffff;
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 0;
    background: #f0f0f0;
}

.cv-container {
    display: flex;
    max-width: 210mm;   /* DIN A4 Breite */
    max-height: 297mm;  /* DIN A4 Höhe */
    width: 100%;
    height: 100%;
    background: white;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    overflow: hidden; /* nichts darf herausragen */
}

.left {
    width: 30%;
    background: #eaeaea; /* nur zur Demo */
    padding: 15px;
    box-sizing: border-box;
}
.left h2{
    margin: 15px auto 15px auto;
}
.left hr{
    margin: 15px auto 15px auto;
    height: 2px;
    border: 0px;
    background: #000;
}

#personal h4 {
    margin-bottom: 0;
    margin-top: 10px;
}
#personal p {
    margin-top: 0;
    margin-bottom: 10px;
}

.language-skill{
    margin: 12px 0;
}

.label{
    display:block;
    margin-bottom:6px;
    font-weight:600;
}

.scale{
    display:flex;
    gap:6px;
}

.box{
    width: 16%;
    flex:1;
    padding:5px 0;
    text-align:center;
    border-radius:6px;
    background:white;   /* dunkel für nicht erreicht */

}

.box.filled{
    background:blue;  /* hell für erreicht */
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.15);
}

.right {
    width: 70%;
    padding: 15px;
    box-sizing: border-box;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial}


.container{
    margin:0 auto;
    padding:32px 20px;
    position:relative}


.container::after{
    content:"";position:absolute;top:0;right:0;border-left:36px solid transparent;border-bottom:36px solid var(--accent);width:0;height:0}

.timeline{
    display:flex;
    flex-direction:column;
    gap:24px;
    position: relative;
}

.timeline::before{
    content:"";
    position:absolute;
    top:0;bottom:0;left:160px;width:2px;background:var(--line)}


.row{display:grid;grid-template-columns: 150px 60px 1fr;align-items:start;position:relative}


.company-name{font-weight:700;letter-spacing:.6px}
.company-period{color:var(--muted);font-size:12px;margin-top:4px}


.marker{position:relative}
.dot{
    position:absolute;
    left:18%;
    top:0%;
    transform:translate(-50%,-50%);
    width:14px;
    height:14px;
    border-radius:50%;
    background:#fff;
    border:3px solid var(--accent);
    z-index:1
}


.role{
    font-weight:700
}
.desc{
    font-size: 12px;
}


