/* Datei: users/css/app.css - TEIL 1 VON 2 */

:root{
    --bg:#f7fafc;
    --card:#ffffff;
    --text:#2d3748;
    --muted:#718096;
    --line:#e2e8f0;
    --brand:#2c3e50;
    --accent:#ef7d00;
    --accent2:#ff9b2f;
    --danger:#c0392b;
    --success:#27ae60;
    --shadow:0 8px 25px rgba(0,0,0,.06);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
    background:var(--bg);
    color:var(--text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    line-height:1.5;
}

.container{
    width:min(1200px, calc(100% - 32px));
    margin:28px auto 0;
    padding:0 0 20px;
}
.login-shell{
    width:min(520px, calc(100% - 32px));
    margin:28px auto 0;
    padding:0 0 20px;
}
.form-card,
.login-card,
.konto-card{
    background:var(--card);
    border-radius:14px;
    box-shadow:var(--shadow);
    padding:24px;
}
.intro-section{
    margin:0 0 18px 0;
}
.intro-section h1{
    margin:0 0 8px 0;
    font-size:2rem;
    line-height:1.15;
    color:var(--brand);
}
.intro-section p{
    margin:0 0 8px 0;
    color:var(--muted);
}

.navbar{
    background:var(--brand);
    color:#fff;
    padding:14px 0;
    position:sticky;
    top:0;
    z-index:50;
    box-shadow:0 2px 14px rgba(0,0,0,.12);
}
.navbar-inner{
    width:min(920px, calc(100% - 32px));
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.brand{
    color:#fff;
    text-decoration:none;
    font-weight:800;
    font-size:1rem;
    display:flex;
    align-items:center;
    gap:8px;
    white-space:nowrap;
}
.nav-links{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.nav-links a{
    color:#fff;
    text-decoration:none;
    font-weight:700;
    padding:10px 12px;
    border-radius:10px;
    transition:background .2s ease, transform .2s ease;
}
.nav-links a:hover{background:rgba(255,255,255,.12)}
.nav-logout{background:var(--danger)}
.nav-logout:hover{background:#a93226}

.burger-menu{
    display:none;
    border:none;
    background:transparent;
    width:42px;
    height:42px;
    padding:0;
    cursor:pointer;
}
.burger-menu span{
    display:block;
    width:24px;
    height:2px;
    background:#fff;
    margin:5px auto;
    border-radius:2px;
}

.konto-note{
    background:linear-gradient(180deg,#fff7ef 0%,#ffffff 100%);
    border:1px solid #e8edf5;
    border-radius:12px;
    padding:16px 18px;
    margin:14px 0;
    color:var(--text);
    box-shadow:0 4px 14px rgba(0,0,0,.04);
}
.konto-note summary{
    cursor:pointer;
    font-weight:800;
    color:var(--brand);
    list-style:none;
}
.konto-note summary::-webkit-details-marker{display:none}
.konto-note .konto-inner{
    margin-top:12px;
    color:#4a5568;
}

.form-group{margin-bottom:18px}
.form-group label{
    display:block;
    font-weight:700;
    margin-bottom:6px;
    color:var(--brand);
}
.form-control,
select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea{
    width:100%;
    border:1px solid #d9dee8;
    border-radius:12px;
    padding:12px 14px;
    font-size:16px;
    background:#fff;
    color:var(--text);
}
.form-control:focus,
select:focus,
input:focus,
textarea:focus{
    outline:none;
    border-color:var(--accent);
    box-shadow:0 0 0 4px rgba(239,125,0,.15);
}

.btn{
    border:none;
    border-radius:12px;
    padding:12px 18px;
    cursor:pointer;
    font-weight:800;
}
.btn-submit{
    background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 100%);
    color:#fff;
    box-shadow:0 8px 18px rgba(239,125,0,.18);
}
.btn-submit:hover{filter:brightness(1.03)}
.save-container-normal{
    width:100%;
    margin-top:22px;
    display:flex;
    justify-content:center;
}

.login-alert,
.konto-alert{
    background:#f8d7da;
    color:#721c24;
    border:1px solid #f5c6cb;
    padding:12px;
    border-radius:8px;
    margin-bottom:16px;
    font-weight:700;
}
.login-success,
.konto-success{
    background:#d4edda;
    color:#155724;
    border:1px solid #c3e6cb;
    padding:12px;
    border-radius:8px;
    margin-bottom:16px;
    font-weight:700;
}
.hero-panel{
    background:linear-gradient(135deg,#2c3e50 0%,#3b5268 55%,#ef7d00 120%);
    color:#fff;
    border-radius:18px;
    padding:22px 22px 18px;
    box-shadow:0 14px 40px rgba(44,62,80,.15);
    margin-bottom:18px;
}
.hero-panel h1{margin:0 0 8px 0;font-size:1.7rem;line-height:1.2}
.hero-panel p{margin:0;color:rgba(255,255,255,.92);line-height:1.6}
.hero-badges{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:14px;
}
.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    padding:8px 12px;
    border-radius:999px;
    font-weight:700;
    font-size:.92rem;
    backdrop-filter:blur(4px);
}

.service-row{
    display:grid;
    grid-template-columns: 110px 110px minmax(240px, 1fr) 120px 48px;
    gap:10px;
    align-items:center;
    margin-bottom:10px;
}

.service-inputtype,
.service-type{
    width:100%;
    min-width:0;
}

.service-name{
    width:100%;
    min-width:0;
}

.service-price{
    width:100%;
    min-width:0;
}

.service-type,
.service-name,
.service-price,
select{
    width:100%;
    box-sizing:border-box;
    border:1px solid #d9dee8;
    border-radius:12px;
    padding:12px 14px;
    font-size:16px;
    line-height:1.4;
    background:#fff;
    min-width:0;
    transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease;
}
.service-type:focus,
.service-name:focus,
.service-price:focus,
select:focus{
    outline:none;
    border-color:#ef7d00;
    box-shadow:0 0 0 4px rgba(239,125,0,.15);
}
.service-name::placeholder,
.service-price::placeholder{color:#a7b0bf}

.service-wrap,
.upload-box,
.color-box{
    padding:14px;
    border:1px solid #e7edf6;
    border-radius:14px;
    background:linear-gradient(180deg,#fff7ef 0%,#fff 100%);
    margin-bottom:14px;
}

.btn-add{
    border:none;
    background:linear-gradient(135deg,#2c3e50 0%,#3b5268 100%);
    color:#fff;
    padding:12px 18px;
    border-radius:12px;
    font-weight:800;
    cursor:pointer;
    margin-top:8px;
    box-shadow:0 8px 18px rgba(44,62,80,.12);
}

.btn-remove{
    width:48px;
    height:48px;
    border:none;
    border-radius:10px;
    background:#c0392b;
    color:#fff;
    font-size:1.6rem;
    font-weight:900;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:transform .2s ease, filter .2s ease;
}
.btn-remove:hover{transform:translateY(-1px);filter:brightness(1.05)}

.code-section-title{
    font-size:1.05rem;
    font-weight:800;
    color:var(--brand);
    margin:18px 0 8px;
}
.frame-code{
    position:relative;
    background:#1f2937;
    color:#e5e7eb;
    border:1px solid #334155;
    border-radius:16px;
    padding:18px 18px 16px;
    margin-bottom:14px;
    overflow:hidden;
    box-shadow:0 10px 24px rgba(31,41,55,.12);
}
.frame-code pre{
    margin:0;
    white-space:pre-wrap;
    word-break:break-word;
    overflow:auto;
    font-family:Consolas, Monaco, "Courier New", monospace;
    font-size:.92rem;
    line-height:1.55;
    color:#f8fafc;
    padding-right:92px;
}
.copy-btn{
    position:absolute;
    top:12px;
    right:12px;
    border:none;
    background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 100%);
    color:#fff;
    border-radius:10px;
    padding:8px 12px;
    font-size:.85rem;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(239,125,0,.2);
}
.copy-btn:hover{filter:brightness(1.04)}
.copy-btn.copied{
    background:var(--success);
    box-shadow:0 8px 18px rgba(39,174,96,.2);
}

.pay-banner{
    border-radius:18px;
    padding:20px;
    background:linear-gradient(180deg,#fff7ef 0%,#ffffff 100%);
    border:2px solid #ef7d00;
    box-shadow:0 12px 28px rgba(239,125,0,.14);
}
.pay-banner h3{
    margin:0 0 10px 0;
    color:var(--brand);
    font-size:1.15rem;
}
.pay-banner p{
    margin:0 0 14px 0;
    color:#4a5568;
    line-height:1.65;
}
.pay-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 100%);
    color:#fff;
    text-decoration:none;
    padding:12px 18px;
    border-radius:12px;
    font-weight:800;
    box-shadow:0 8px 18px rgba(239,125,0,.22);
}
.pay-cta:hover{filter:brightness(1.04)}

.main-footer{
    margin-top:30px;
    padding:22px 16px;
    text-align:center;
    background:var(--brand);
    color:#fff;
}
.footer-links{
    list-style:none;
    padding:0;
    margin:12px 0 0 0;
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}
.footer-link{
    color:#fff;
    text-decoration:none;
}
.footer-link:hover{text-decoration:underline}

@media (max-width: 768px){
    .navbar-inner{
        align-items:flex-start;
        flex-wrap:wrap;
    }
    .burger-menu{display:block}
    .nav-links{
        width:100%;
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:6px;
        padding-top:10px;
    }
    .nav-links.active{display:flex}
    .nav-links a{
        display:block;
        width:100%;
        background:rgba(255,255,255,.08);
    }
    .container,.login-shell{
        width:calc(100% - 16px);
        margin-top:16px;
    }
    .form-card,.login-card,.konto-card{
        padding:18px;
    }
    .intro-section h1{
        font-size:1.5rem;
    }
    .service-row{
        grid-template-columns: 1fr 1fr;
    }
    .service-name{
        grid-column: 1 / -1;
    }
    .btn-remove{
        width:100%;
        font-size:.82rem;
        font-weight:800;
        padding: 10px 0;
    }
    .frame-code{
        padding:16px 14px 14px;
    }
    .frame-code pre{
        padding-right:0;
        font-size:.86rem;
    }
    .copy-btn{
        position:static;
        margin-bottom:12px;
        display:inline-block;
        width:100%;
    }
    .pay-banner{
        padding:16px;
    }
    .pay-cta{
        width:100%;
    }
}
