*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#0b1020;color:#e8edf8}a{color:#8db4ff}label{display:block;margin:12px 0;color:#b9c5dc}input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #33415f;border-radius:10px;background:#111a2e;color:#fff}.card{max-width:760px;margin:7vh auto;padding:32px;background:#121a2c;border:1px solid #27334e;border-radius:18px;box-shadow:0 20px 60px #0005}.login{max-width:430px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.btn{display:inline-block;margin-top:14px;padding:12px 18px;border:0;border-radius:10px;background:#5b8cff;color:white;text-decoration:none;font-weight:700;cursor:pointer}.error,.success{padding:12px;border-radius:10px;margin:14px 0;background:#381d2b}.success{background:#153526}.layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}aside{padding:24px;background:#10182a;border-right:1px solid #26324c}.nav{padding:12px;border-radius:9px;margin:5px 0}.nav.active{background:#253b69}.nav.disabled{opacity:.5}.nav small{float:right}main{padding:30px}header{display:flex;justify-content:space-between;align-items:center}.hero,.stats article{background:#121a2c;border:1px solid #27334e;border-radius:16px;padding:22px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.stats strong{display:block;font-size:24px;margin-top:8px}@media(max-width:720px){.grid,.stats{grid-template-columns:1fr}.layout{grid-template-columns:1fr}aside{display:none}main{padding:18px}header{align-items:flex-start;gap:15px;flex-direction:column}}
.navlink{display:block;padding:12px;border-radius:9px;margin:5px 0;color:#dbe7ff;text-decoration:none}.navlink:hover,.navlink.active{background:#253b69}.muted{color:#94a3bd;font-size:.92rem}button:disabled{opacity:.5;cursor:not-allowed}
textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #33415f;border-radius:10px;background:#111a2e;color:#fff;resize:vertical;font:inherit}.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0}.section-gap{margin-top:18px}.section-head{display:flex;justify-content:space-between;align-items:center}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #27334e;vertical-align:middle}th{color:#9fb0ce;font-size:.88rem}.shop-logo-frame{display:flex;align-items:center;justify-content:center;width:80px;height:80px;min-width:80px;overflow:hidden;background:#fff;border-radius:12px;padding:6px}.shop-logo{display:block!important;width:100%!important;height:100%!important;max-width:68px!important;max-height:68px!important;object-fit:contain!important}.logo-placeholder{display:grid;place-items:center;width:80px;height:80px;border:1px dashed #41506d;border-radius:9px;color:#73809a}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.82rem;background:#153526}.badge.off{background:#303747;color:#bdc7d8}.actions-cell{white-space:nowrap}.actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.btn.small{margin:0;padding:8px 10px;font-size:.82rem}.btn.secondary{background:#27334e}.btn.danger{background:#7b2939}.clamp{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.description-field{margin-top:18px}.description-field textarea{min-height:140px;width:100%;line-height:1.5}.field-hint{display:block;margin-top:7px;color:#8290aa;font-size:.82rem;line-height:1.35}

/* Phase 2 table polish */
table.shop-table{}
.table-wrap{border:1px solid #27334e;border-radius:12px;overflow:auto}
.table-wrap table{margin:0}
.table-wrap thead th{background:#0f1729;position:sticky;top:0;z-index:1}
.table-wrap tbody tr:last-child td{border-bottom:0}
.table-wrap tbody tr:hover{background:#10192b}
.table-wrap th:first-child,.table-wrap td:first-child{padding-left:14px}
.table-wrap th:last-child,.table-wrap td:last-child{padding-right:14px}
.actions-cell{min-width:270px}

/* Phase 3 product management */
select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #33415f;border-radius:10px;background:#111a2e;color:#fff;font:inherit}
.product-image-frame{display:flex;align-items:center;justify-content:center;width:72px;height:72px;min-width:72px;overflow:hidden;background:#fff;border-radius:11px;padding:5px}
.product-image-frame img{display:block;width:100%;height:100%;max-width:62px;max-height:62px;object-fit:contain}
.product-image-placeholder{display:grid;place-items:center;width:72px;height:72px;border:1px dashed #41506d;border-radius:10px;color:#73809a}
.current-image{display:flex;align-items:center;gap:14px;margin:14px 0;color:#94a3bd}
.filterbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,260px) auto auto;gap:10px;align-items:end;margin:14px 0 18px}
.filterbar input,.filterbar select,.filterbar .btn{margin-top:0}
.product-table{min-width:1180px}
.product-table code{color:#c7d8ff;background:#0e1728;border:1px solid #263653;padding:3px 6px;border-radius:6px}
@media(max-width:900px){.filterbar{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr}}

/* Phase 3.1 SKU generator */
.sku-generator-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:6px}
.sku-generator-row input{margin-top:0}
.sku-generate-btn{white-space:nowrap;margin:0;min-height:44px}
.field-hint{display:block;margin-top:6px;color:#8190aa;font-size:.82rem;font-weight:400}
@media(max-width:560px){.sku-generator-row{grid-template-columns:1fr}.sku-generate-btn{width:100%}}

/* Phase 3 v1.2.2 - random PVAD SKU generator */
.sku-generator-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:6px}
.sku-generator-row input{margin-top:0}
.sku-generate-btn{white-space:nowrap}
.field-help{display:block;margin-top:6px;color:#7f8da8;font-size:.82rem}
@media(max-width:620px){.sku-generator-row{grid-template-columns:1fr}.sku-generate-btn{width:100%}}

/* Phase 4 - Lagerbestand */
.stock-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0}
.stock-grid article{background:#111a2e;border:1px solid #263653;border-radius:14px;padding:16px}
.stock-grid article b{display:block;color:#94a3bd;font-size:.9rem;margin-bottom:8px}
.stock-grid article strong{font-size:1.7rem}
.stock-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;font-weight:700;font-size:.82rem;white-space:nowrap}
.stock-status.ok{background:#133c2e;color:#78efb9}
.stock-status.low{background:#493a15;color:#ffd978}
.stock-status.out{background:#4b2028;color:#ff9eaa}
.stock-status.reserved{background:#173653;color:#95c9ff}
.stock-edit-form{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;gap:8px;align-items:end;min-width:520px}
.stock-edit-form label{font-size:.78rem;color:#94a3bd}
.stock-edit-form input{margin-top:4px}
.stock-table{min-width:1120px}
.stock-number{font-variant-numeric:tabular-nums;font-weight:700}
.stock-available.negative{color:#ff9eaa}
.stock-hint{font-size:.83rem;color:#7f8da8;margin-top:6px}
@media(max-width:900px){
 .stock-grid{grid-template-columns:1fr}
 .stock-edit-form{grid-template-columns:1fr;min-width:260px}
}

/* Phase 4 v1.3.1 - status hotfix */
.stock-live-wrap{display:flex;align-items:flex-end;padding-bottom:1px}
.stock-edit-form{grid-template-columns:repeat(3,minmax(120px,1fr)) auto auto}
@media(max-width:900px){.stock-edit-form{grid-template-columns:1fr}.stock-live-wrap{align-items:flex-start}}

/* Phase 4 v1.3.3 - only one status badge per product */
.stock-edit-form{grid-template-columns:repeat(3,minmax(120px,1fr)) auto}
.stock-live-wrap{display:none}
@media(max-width:900px){.stock-edit-form{grid-template-columns:1fr}}

/* Phase 4 v1.3.5 */
.stock-status.medium{background:#3d3616;color:#ffe17f}
.stock-edit-form{grid-template-columns:repeat(4,minmax(115px,1fr)) auto}
.stock-table{min-width:1260px}
@media(max-width:900px){.stock-edit-form{grid-template-columns:1fr}}


/* Phase 4 v1.3.6 - stock table visual polish */
.stock-table{min-width:1420px;table-layout:auto}
.stock-table th,.stock-table td{padding-top:15px;padding-bottom:15px}
.stock-table th:first-child,.stock-table td:first-child{width:260px;min-width:260px;max-width:300px}
.stock-product-cell{vertical-align:middle}
.stock-product-name{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  line-height:1.35;
  max-width:280px;
  word-break:normal;
  overflow-wrap:anywhere;
  color:#e8edf8;
}
.stock-shop-cell{min-width:120px;white-space:nowrap}
.stock-sku-cell{min-width:115px;white-space:nowrap}
.stock-sku-cell code{white-space:nowrap;font-size:.82rem}
.stock-table th:nth-child(4),.stock-table td:nth-child(4),
.stock-table th:nth-child(5),.stock-table td:nth-child(5),
.stock-table th:nth-child(6),.stock-table td:nth-child(6),
.stock-table th:nth-child(7),.stock-table td:nth-child(7),
.stock-table th:nth-child(8),.stock-table td:nth-child(8){min-width:88px;text-align:center}
.stock-table th:nth-child(9),.stock-table td:nth-child(9){min-width:150px}
.stock-table th:nth-child(10),.stock-table td:nth-child(10){min-width:560px}
.stock-table tbody tr{transition:background .15s ease}
.stock-table tbody tr:hover{background:#131e33}
@media(max-width:900px){
 .stock-table{min-width:1320px}
 .stock-table th:first-child,.stock-table td:first-child{width:220px;min-width:220px}
 .stock-product-name{max-width:220px}
}


/* Phase 4 v1.3.7 - responsive monitor width */
.table-wrap{width:100%;max-width:100%}
.stock-table{width:100%;min-width:1180px}
.stock-table th:first-child,.stock-table td:first-child{width:clamp(210px,18vw,360px);min-width:210px;max-width:360px}
.stock-product-name{max-width:clamp(200px,17vw,340px)}
.stock-table th:nth-child(10),.stock-table td:nth-child(10){min-width:clamp(480px,36vw,720px)}
.stock-edit-form{grid-template-columns:repeat(4,minmax(95px,1fr)) auto;width:100%;min-width:0}

@media(min-width:1700px){
  main{padding-left:38px;padding-right:38px}
  .stock-table{min-width:0}
  .stock-table th:first-child,.stock-table td:first-child{width:320px;min-width:280px}
  .stock-product-name{max-width:360px}
  .stock-table th:nth-child(10),.stock-table td:nth-child(10){min-width:620px}
}
@media(min-width:2100px){
  main{padding-left:48px;padding-right:48px}
  .stock-table th:first-child,.stock-table td:first-child{width:380px;min-width:330px;max-width:420px}
  .stock-product-name{max-width:400px}
  .stock-table th:nth-child(10),.stock-table td:nth-child(10){min-width:760px}
}
@media(max-width:1450px){
  .stock-table{min-width:1260px}
  .stock-table th:first-child,.stock-table td:first-child{width:230px;min-width:230px}
  .stock-product-name{max-width:230px}
  .stock-table th:nth-child(10),.stock-table td:nth-child(10){min-width:500px}
}
@media(max-width:1180px){
  main{padding-left:20px;padding-right:20px}
  .stock-table{min-width:1220px}
}
@media(max-width:900px){
  .stock-table{min-width:1180px}
  .stock-edit-form{grid-template-columns:1fr;min-width:220px}
}

/* Phase 4 v1.3.8 - keep page inside viewport */
html,body{
    max-width:100%;
    overflow-x:hidden;
}

.app,
.main,
main,
.content,
.content-area,
.page-content{
    min-width:0;
    max-width:100%;
}

.main,
main,
.content,
.content-area,
.page-content{
    overflow-x:hidden;
}

.stock-panel,
.stock-card,
.stock-section{
    min-width:0;
    max-width:100%;
}

.stock-filters{
    display:grid;
    grid-template-columns:minmax(260px,1fr) minmax(180px,240px) minmax(170px,220px) auto;
    gap:10px;
    align-items:center;
    min-width:0;
}

.stock-filters input,
.stock-filters select,
.stock-filters button{
    min-width:0;
    max-width:100%;
}

.stock-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
}

.stock-table{
    width:100%;
    min-width:1120px;
    table-layout:auto;
}

.stock-table th,
.stock-table td{
    min-width:0;
}

.stock-table th:first-child,
.stock-table td:first-child{
    width:22%;
    min-width:210px;
}

.stock-table th:last-child,
.stock-table td:last-child{
    width:34%;
    min-width:430px;
}

.stock-edit-form{
    display:grid;
    grid-template-columns:repeat(4,minmax(88px,1fr)) auto;
    gap:8px;
    align-items:end;
    width:100%;
    min-width:0;
}

.stock-edit-form label{
    min-width:0;
}

.stock-edit-form input{
    width:100%;
    min-width:0;
    box-sizing:border-box;
}

.stock-edit-form button{
    white-space:nowrap;
}

@media (max-width:1400px){
    .stock-table{
        min-width:1050px;
    }

    .stock-table th:first-child,
    .stock-table td:first-child{
        min-width:190px;
    }

    .stock-table th:last-child,
    .stock-table td:last-child{
        min-width:390px;
    }

    .stock-edit-form{
        grid-template-columns:repeat(2,minmax(110px,1fr)) auto;
    }

    .stock-edit-form button{
        grid-column:auto;
    }
}

@media (max-width:1100px){
    .stock-filters{
        grid-template-columns:1fr 1fr;
    }

    .stock-filters button{
        width:max-content;
    }

    .stock-table{
        min-width:980px;
    }
}

@media (max-width:760px){
    .stock-filters{
        grid-template-columns:1fr;
    }

    .stock-filters button{
        width:100%;
    }

    .stock-edit-form{
        grid-template-columns:1fr 1fr;
    }

    .stock-edit-form button{
        grid-column:1 / -1;
        width:100%;
    }
}


/* Phase 4 v1.3.9 - zoom-safe/container-based stock table */
.stock-table-wrap{
    container-type:inline-size;
    width:100%;
    max-width:100%;
    overflow-x:auto;
}

/* Override older viewport based widths which react badly to browser zoom. */
.stock-table{
    width:100%!important;
    min-width:1040px!important;
    table-layout:fixed!important;
}
.stock-table th:first-child,.stock-table td:first-child{
    width:18%!important;
    min-width:0!important;
    max-width:none!important;
}
.stock-table th:nth-child(2),.stock-table td:nth-child(2){width:8%!important}
.stock-table th:nth-child(3),.stock-table td:nth-child(3){width:8%!important}
.stock-table th:nth-child(4),.stock-table td:nth-child(4){width:5%!important}
.stock-table th:nth-child(5),.stock-table td:nth-child(5){width:6%!important}
.stock-table th:nth-child(6),.stock-table td:nth-child(6){width:6%!important}
.stock-table th:nth-child(7),.stock-table td:nth-child(7){width:8%!important}
.stock-table th:nth-child(8),.stock-table td:nth-child(8){width:8%!important}
.stock-table th:nth-child(9),.stock-table td:nth-child(9){width:11%!important}
.stock-table th:nth-child(10),.stock-table td:nth-child(10),
.stock-table th:last-child,.stock-table td:last-child{
    width:22%!important;
    min-width:0!important;
    max-width:none!important;
}
.stock-product-name{
    width:100%;
    max-width:100%!important;
}
.stock-edit-form{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
}
.stock-edit-form label{
    min-width:0!important;
    margin:0!important;
}
.stock-edit-form input{
    width:100%!important;
    min-width:0!important;
    padding:9px 8px!important;
}
.stock-edit-form button{
    grid-column:1 / -1;
    width:100%;
    margin-top:2px!important;
}

@container (min-width:1450px){
    .stock-edit-form{
        grid-template-columns:repeat(4,minmax(0,1fr)) auto!important;
        align-items:end;
    }
    .stock-edit-form button{
        grid-column:auto;
        width:auto;
    }
    .stock-table th:nth-child(10),.stock-table td:nth-child(10),
    .stock-table th:last-child,.stock-table td:last-child{
        width:30%!important;
    }
    .stock-table th:first-child,.stock-table td:first-child{
        width:20%!important;
    }
}

@container (max-width:1150px){
    .stock-table{min-width:1020px!important}
}


/* Phase 5/12 – Lagerbewegungen */
.movement-form{
  display:grid;
  grid-template-columns:minmax(220px,1.6fr) minmax(170px,.9fr) minmax(90px,.45fr) minmax(180px,.9fr) minmax(220px,1.3fr) auto;
  gap:10px;
  align-items:end;
}
.movement-form label,.movement-filterbar>*{min-width:0}
.movement-form input,.movement-form select,
.movement-filterbar input,.movement-filterbar select{width:100%;box-sizing:border-box}
.movement-filterbar{
  display:grid;
  grid-template-columns:minmax(260px,1.5fr) minmax(150px,.7fr) minmax(220px,1fr) minmax(170px,.7fr) auto auto;
  gap:10px;
  align-items:center;
  margin:18px 0;
}
.movement-table{width:100%;min-width:1180px}
.movement-table th,.movement-table td{vertical-align:middle}
.movement-product{min-width:220px;max-width:340px}
.movement-badge{
  display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;
  font-weight:700;white-space:nowrap;background:rgba(255,255,255,.07)
}
.movement-badge.incoming,.movement-badge.return,.movement-badge.correction_plus,.movement-plus{color:#8fe3b2}
.movement-badge.sale,.movement-badge.defect,.movement-badge.loss,.movement-badge.correction_minus,.movement-minus{color:#ff9d9d}
.movement-plus,.movement-minus{font-weight:800}
.movement-empty{text-align:center!important;padding:28px!important;opacity:.7}
.nowrap{white-space:nowrap}
@media(max-width:1450px){
  .movement-form{grid-template-columns:1fr 1fr 1fr}
  .movement-form .btn{width:max-content}
}
@media(max-width:1100px){
  .movement-filterbar{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .movement-form,.movement-filterbar{grid-template-columns:1fr}
  .movement-form .btn,.movement-filterbar .btn{width:100%}
}

/* Phase 5 v1.4.1 - admin-only delete */
.movement-actions{white-space:nowrap}
.movement-actions form{margin:0}
.btn.danger{
  background:#7a2430;
  border-color:#9b3342;
  color:#fff;
}
.btn.danger:hover{filter:brightness(1.08)}


/* Phase 6/12 – Lagerorte */
.location-stats{grid-template-columns:repeat(4,minmax(150px,1fr))}
.location-columns{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  margin-bottom:18px;
}
.location-columns>.hero{margin:0}
.location-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-items:end;
}
.location-form label,.location-assign-form label{min-width:0}
.location-form input,.location-form select,
.location-assign-form input,.location-assign-form select{
  width:100%;box-sizing:border-box;
}
.location-description{grid-column:1/-1}
.checkbox-line{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px;
}
.checkbox-line input{width:auto!important}
.location-form-actions{display:flex;gap:8px;align-items:center}
.location-assign-form{
  display:grid;
  grid-template-columns:1fr 1fr minmax(90px,.45fr) auto;
  gap:10px;
  align-items:end;
}
.location-table{width:100%;min-width:860px}
.location-assignment-table{width:100%;min-width:1050px}
.location-actions{display:flex;gap:8px;align-items:center;white-space:nowrap}
.location-actions form{margin:0}
.location-assignment-table td form{margin:0}
.location-table small,.location-assignment-table small{opacity:.65}
@media(max-width:1250px){
  .location-columns{grid-template-columns:1fr}
  .location-assign-form{grid-template-columns:1fr 1fr}
}
@media(max-width:800px){
  .location-stats{grid-template-columns:1fr 1fr}
  .location-form,.location-assign-form{grid-template-columns:1fr}
  .location-description{grid-column:auto}
  .location-form-actions{flex-wrap:wrap}
}


/* Phase 6 v1.5.1 - lagerortbezogene Bewegungen */
.movement-form{
  grid-template-columns:minmax(210px,1.35fr) minmax(180px,1fr) minmax(165px,.85fr) minmax(85px,.42fr) minmax(175px,.85fr) minmax(210px,1.2fr) auto;
}
.movement-table small{opacity:.65;white-space:nowrap}
@media(max-width:1500px){
  .movement-form{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:900px){
  .movement-form{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .movement-form{grid-template-columns:1fr}
}


/* Phase 7/12 – Dashboard & Bestandswarnungen */
.dashboard-intro{margin-bottom:18px}
.dashboard-intro p{max-width:980px}
.dashboard-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:14px;
  margin-bottom:18px;
}
.dashboard-stat{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
  padding:18px 20px;
  border:1px solid #263a5e;
  border-radius:16px;
  background:#111c31;
  color:inherit;
  text-decoration:none;
  transition:transform .15s ease,border-color .15s ease,background .15s ease;
}
.dashboard-stat:hover{
  transform:translateY(-1px);
  border-color:#3d5e96;
  background:#14213a;
}
.dashboard-stat b{font-size:.9rem}
.dashboard-stat strong{font-size:1.65rem;line-height:1}
.dashboard-stat small{opacity:.68}
.dashboard-stat.medium{border-color:rgba(221,181,72,.45)}
.dashboard-stat.low{border-color:rgba(231,137,67,.5)}
.dashboard-stat.out{border-color:rgba(220,78,91,.5)}
.dashboard-stat.unassigned{border-color:rgba(126,151,195,.45)}

.dashboard-two-column{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);
  gap:18px;
  margin-bottom:18px;
}
.dashboard-two-column>.hero{margin:0}
.dashboard-warning-table{width:100%;min-width:760px}
.dashboard-warning-table td:first-child strong,
.dashboard-movement-table td:nth-child(2) strong{
  display:block;
  max-width:340px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dashboard-warning-table td:first-child small,
.dashboard-movement-table td:nth-child(2) small{
  display:block;
  margin-top:3px;
  opacity:.65;
}
.stock-meter{
  width:110px;
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  margin-bottom:5px;
}
.stock-meter>span{display:block;height:100%;border-radius:inherit;background:#5d8ddb}
.stock-meter>span.medium{background:#c59b3d}
.stock-meter>span.low{background:#d87e3f}
.stock-meter>span.out{background:#b74653}

.dashboard-location-warning-list{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.dashboard-location-warning{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:12px 14px;
  border:1px solid #263a5e;
  border-radius:12px;
  background:rgba(255,255,255,.018);
}
.dashboard-location-warning>div:first-child{min-width:0}
.dashboard-location-warning strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dashboard-location-warning small{display:block;margin-top:3px;opacity:.65}
.dashboard-location-warning>div:last-child{text-align:right;white-space:nowrap}
.dashboard-location-warning>div:last-child b{display:block;font-size:1.15rem}
.dashboard-ok-box{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:18px;
  border:1px solid rgba(80,177,126,.35);
  border-radius:12px;
  background:rgba(80,177,126,.06);
}
.dashboard-ok-box span{opacity:.72}
.dashboard-more{margin:14px 0 0}
.dashboard-movement-table{width:100%;min-width:960px}

@media(max-width:1450px){
  .dashboard-stat-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}
  .dashboard-two-column{grid-template-columns:1fr}
}
@media(max-width:760px){
  .dashboard-stat-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .dashboard-stat-grid{grid-template-columns:1fr}
}


/* Phase 8/12 – Suche, Filter & Übersichten */
.phase8-filterbar,.overview-filterbar{
  display:grid;
  grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(135px,.75fr)) auto auto;
  gap:10px;
  align-items:end;
  margin:16px 0;
}
.phase8-filterbar input,.phase8-filterbar select,
.overview-filterbar input,.overview-filterbar select{width:100%;min-width:0;box-sizing:border-box}
.overview-stats{grid-template-columns:repeat(5,minmax(150px,1fr))}
.overview-table{width:100%;min-width:1320px}
.overview-table td:first-child strong{display:block;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.overview-table td:first-child small{display:block;margin-top:3px;opacity:.65}
.overview-actions{display:flex;gap:6px;white-space:nowrap}
.movements-phase8-filter{grid-template-columns:minmax(220px,1.3fr) repeat(4,minmax(140px,.75fr)) minmax(135px,.65fr) minmax(135px,.65fr) auto auto}
.compact-filter-label{display:flex;flex-direction:column;gap:5px;font-size:.82rem}
.location-phase8-filter{grid-template-columns:minmax(280px,1fr) minmax(150px,.35fr) auto auto}
.assignment-phase8-filter{grid-template-columns:minmax(300px,1fr) auto auto}
@media(max-width:1500px){
  .phase8-filterbar,.overview-filterbar,.movements-phase8-filter{grid-template-columns:repeat(3,minmax(0,1fr))}
  .overview-stats{grid-template-columns:repeat(3,minmax(150px,1fr))}
}
@media(max-width:950px){
  .phase8-filterbar,.overview-filterbar,.movements-phase8-filter,.location-phase8-filter,.assignment-phase8-filter{grid-template-columns:1fr 1fr}
  .overview-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .phase8-filterbar,.overview-filterbar,.movements-phase8-filter,.location-phase8-filter,.assignment-phase8-filter,.overview-stats{grid-template-columns:1fr}
}


/* Phase 9/12 – Import & Export */
.import-export-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:18px;margin-bottom:18px}
.import-export-grid>.hero{margin:0}
.import-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:18px 0}
.import-form label{display:flex;flex-direction:column;gap:7px;min-width:280px;flex:1}
.import-form input[type=file]{width:100%;box-sizing:border-box}
.import-hint{padding:14px;border:1px solid #263a5e;border-radius:12px;background:rgba(255,255,255,.018);line-height:1.65}
.import-errors{margin-top:14px;padding:14px;border:1px solid rgba(220,78,91,.4);border-radius:12px;background:rgba(220,78,91,.06)}
.import-errors>div{margin-top:5px;font-size:.9rem}
.export-card-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px}
.export-card{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid #263a5e;border-radius:14px;background:#111c31;color:inherit;text-decoration:none;transition:.15s ease}
.export-card:hover{transform:translateY(-1px);border-color:#3d5e96;background:#14213a}
.export-card strong{font-size:1.05rem}.export-card span{opacity:.7;min-height:38px}.export-card b{font-size:.88rem}
@media(max-width:1200px){.export-card-grid{grid-template-columns:1fr 1fr}.import-export-grid{grid-template-columns:1fr}}
@media(max-width:620px){.export-card-grid{grid-template-columns:1fr}.import-form{display:block}.import-form label{min-width:0;margin-bottom:12px}}

/* Phase 10/12 – Benutzer, Rollen & Rechte */
.user-role-grid{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(0,1.2fr);gap:18px;margin-bottom:18px}
.user-role-grid>.hero{margin:0}.user-form{display:flex;flex-direction:column;gap:14px}.user-form label{display:flex;flex-direction:column;gap:6px}
.user-form .checkline{flex-direction:row;align-items:center}.user-form .checkline input{width:auto}.role-cards{display:grid;gap:10px}
.role-cards>div{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid #263a5e;border-radius:12px;background:rgba(255,255,255,.018)}
.role-cards span{opacity:.72;line-height:1.45}.user-actions{display:flex;gap:7px;align-items:center;white-space:nowrap}.user-actions form{margin:0}
@media(max-width:1000px){.user-role-grid{grid-template-columns:1fr}}


/* Phase 10 – Shop-Freigaben */
.shop-access-box{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid #263a5e;border-radius:12px;background:rgba(255,255,255,.018)}
.shop-access-box>small{opacity:.72;line-height:1.45}
.shop-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px}
.shop-access-item{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:9px}
.shop-access-item input{width:auto!important;margin:0}
@media(max-width:620px){.shop-access-grid{grid-template-columns:1fr}}

/* Phase 11/12 */
.security-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.security-grid>.hero{margin:0}.security-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px}.security-checks>div{display:flex;flex-direction:column;gap:4px;padding:13px;border:1px solid #263a5e;border-radius:11px;background:rgba(255,255,255,.018)}.security-checks span{font-size:.88rem;opacity:.72}@media(max-width:900px){.security-grid{grid-template-columns:1fr}.security-checks{grid-template-columns:1fr}}

/* Phase 11 – externe Backup-Ziele */
.backup-target-layout{display:grid;grid-template-columns:minmax(340px,1fr) minmax(280px,.7fr);gap:18px;margin:12px 0 18px}
.backup-target-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.backup-target-form label{display:flex;flex-direction:column;gap:6px}.backup-target-form .checkline{grid-column:1/-1;flex-direction:row;align-items:center}.backup-target-form>div{grid-column:1/-1}
.backup-target-info{padding:14px;border:1px solid #263a5e;border-radius:12px;background:rgba(255,255,255,.018);line-height:1.5}.backup-target-info p{opacity:.75;margin-top:5px}
.target-table{margin-top:8px}.target-test-msg{display:block;max-width:280px;margin-top:5px;opacity:.72;white-space:normal}
@media(max-width:980px){.backup-target-layout{grid-template-columns:1fr}}@media(max-width:620px){.backup-target-form{grid-template-columns:1fr}.backup-target-form .checkline,.backup-target-form>div{grid-column:1}}

/* Phase 11 – Backup-Zeitplan */
.schedule-layout{display:grid;grid-template-columns:minmax(340px,1fr) minmax(320px,.8fr);gap:18px;margin-top:12px}
.cron-url{word-break:break-all;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(0,0,0,.15);font-family:monospace;font-size:.85rem}
@media(max-width:980px){.schedule-layout{grid-template-columns:1fr}}

/* Phase 11 – Backup-Zeitplan UI 2.0.3 */
.schedule-card .section-head{align-items:center}.schedule-state{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;font-size:.82rem;font-weight:700;border:1px solid #314565;background:#172237}.schedule-state.is-on{border-color:#2d7c5b}.schedule-state.is-off{opacity:.7}
.schedule-layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start}.schedule-form{min-width:0}.schedule-toggle{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px;margin-bottom:16px;border:1px solid #2b3f61;border-radius:12px;background:rgba(255,255,255,.018);cursor:pointer}.schedule-toggle>span:first-child{display:flex;flex-direction:column;gap:4px}.schedule-toggle small{opacity:.7}.schedule-toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-ui{position:relative;flex:0 0 48px;width:48px;height:26px;border-radius:999px;background:#27344b;border:1px solid #3b4b67;transition:.2s}.toggle-ui:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#dce6f7;transition:.2s}.schedule-toggle input:checked+.toggle-ui{background:#477cff;border-color:#6792ff}.schedule-toggle input:checked+.toggle-ui:after{transform:translateX(22px);background:white}
.schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.schedule-fields label{display:flex;flex-direction:column;gap:7px}.schedule-fields small{opacity:.68}.schedule-save{margin-top:18px}
.schedule-summary{padding:18px;border:1px solid #2b3f61;border-radius:13px;background:rgba(255,255,255,.018)}.schedule-summary h3{margin:0 0 14px}.schedule-summary-grid{display:grid;gap:10px}.schedule-summary-grid>div{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(0,0,0,.08)}.schedule-summary-grid span{font-size:.8rem;opacity:.68}.schedule-summary-grid small{margin-top:3px;opacity:.68}
.cron-box{margin-top:16px;padding-top:16px;border-top:1px solid #2b3f61}.cron-box>div:first-child{display:flex;flex-direction:column;gap:3px}.cron-box>div:first-child span,.cron-box p{font-size:.86rem;opacity:.68}.cron-box code{display:block;margin:10px 0;padding:11px 12px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:#101827;word-break:break-all;font-size:.78rem;line-height:1.5}
@media(max-width:1100px){.schedule-layout{grid-template-columns:1fr}}@media(max-width:650px){.schedule-fields{grid-template-columns:1fr}.schedule-toggle{align-items:flex-start}.schedule-state{margin-left:10px}}

/* Phase 12 – Einstellungen */
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-grid .hero{margin:0}.settings-grid label{display:flex;flex-direction:column;gap:7px;margin-top:13px}.settings-check{flex-direction:row!important;align-items:flex-start;gap:10px!important;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:10px}.settings-check span{display:flex;flex-direction:column;gap:3px}.settings-info{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.settings-savebar{position:sticky;bottom:12px;margin-top:16px;padding:12px;border:1px solid #2b3f61;border-radius:12px;background:rgba(14,23,40,.94);z-index:3}@media(max-width:900px){.settings-grid{grid-template-columns:1fr}}

/* Phase 12 v2.1.2 – Settings polish */
.settings-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:14px 16px;border:1px solid #263a5a;border-radius:12px;background:linear-gradient(135deg,rgba(43,74,126,.18),rgba(15,24,42,.45))}
.settings-intro>div{display:flex;flex-direction:column;gap:3px}.settings-intro span{opacity:.68;font-size:.9rem}.settings-version{padding:6px 10px;border:1px solid #345184;border-radius:999px;background:#172744;opacity:1!important;font-weight:700;white-space:nowrap}
.settings-panel{padding:20px!important;min-height:0!important}.settings-panel-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.07)}
.settings-panel-head h2{margin:0;font-size:1.2rem}.settings-panel-head p{margin:3px 0 0;opacity:.58;font-size:.84rem}.settings-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:#203b6a;border:1px solid #31558d;font-weight:800}
.settings-grid{align-items:start}.settings-grid label{margin-top:11px}.settings-grid input:not([type=checkbox]),.settings-grid select{min-height:42px}
.settings-check{margin-top:12px!important;align-items:center!important;background:rgba(8,16,29,.25)}.settings-check input{width:18px;height:18px;flex:0 0 18px}.settings-check span{flex:1}.settings-check strong{font-size:.94rem}.settings-check small{font-size:.82rem;line-height:1.35}
.settings-info{align-items:center;min-height:42px}.settings-info strong{padding:4px 8px;border-radius:7px;background:rgba(30,52,88,.42);font-size:.9rem}.settings-panel .muted{margin:14px 0 0;padding:11px 12px;border-radius:8px;background:rgba(8,16,29,.3);line-height:1.45}
.settings-savebar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px!important}.settings-savebar>div{display:flex;flex-direction:column;gap:2px}.settings-savebar span{opacity:.6;font-size:.82rem}.settings-savebar .btn{min-width:190px}
@media(max-width:650px){.settings-intro,.settings-savebar{align-items:flex-start;flex-direction:column}.settings-savebar .btn{width:100%;min-width:0}.settings-panel{padding:16px!important}}

/* Phase 12 v2.1.7 – styled 403 */
.access-denied-page{margin:0;min-height:100vh;background:#0b1322;color:#f3f6fb;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.access-denied-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;box-sizing:border-box}
.access-denied-card{width:min(520px,100%);padding:34px;text-align:center;border:1px solid #2a3d5e;border-radius:16px;background:#111d31;box-shadow:0 22px 70px rgba(0,0,0,.3)}
.access-denied-code{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:34px;padding:0 12px;margin-bottom:16px;border:1px solid #496ba3;border-radius:999px;background:#1b3155;color:#bcd2ff;font-weight:800;letter-spacing:.08em}
.access-denied-card h1{margin:0 0 10px;font-size:1.8rem}.access-denied-card p{margin:0 auto 24px;max-width:410px;color:#aebbd0;line-height:1.55}.access-denied-card .btn{display:inline-flex;text-decoration:none}

/* Phase 12 v2.1.9 – Logout als Button */
.logout-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;padding:7px 12px;border:1px solid #3b5682;border-radius:8px;background:#172947;color:#eef4ff!important;text-decoration:none!important;font-weight:650;font-size:.9rem;line-height:1;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.logout-btn:hover{background:#213b66;border-color:#5276ae;transform:translateY(-1px)}
.logout-btn:focus-visible{outline:2px solid #6f9cf0;outline-offset:2px}

/* Phase 12 v2.1.10 – Shop öffnen als Button */
.shop-open-btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border:1px solid #3b5f96;border-radius:8px;background:#18325a;color:#dce9ff!important;text-decoration:none!important;font-weight:650;font-size:.88rem;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.shop-open-btn:hover{background:#244879;border-color:#5b82bd;transform:translateY(-1px)}
.shop-open-btn:focus-visible{outline:2px solid #6f9cf0;outline-offset:2px}


/* v2.2.0-dev – Zwei-Faktor-Authentifizierung */
.account-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;padding:7px 10px;border:1px solid #315383;border-radius:8px;background:#142642;color:#dce9ff!important;text-decoration:none!important;font-weight:700;font-size:.86rem;line-height:1}
.account-btn:hover{background:#1d3a64;border-color:#5277ad}
.twofa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.twofa-grid>.hero{margin:0}
.twofa-status{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;border:1px solid #3a4f70;background:#19263b;font-size:.82rem;font-weight:800}.twofa-status.is-on{border-color:#2d7c5b;background:#153329}.twofa-status.is-off{opacity:.72}
.twofa-account{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}.twofa-account>div{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(0,0,0,.1)}.twofa-account span{font-size:.8rem;opacity:.65}
.twofa-setup{grid-column:1/-1}.twofa-qr{width:250px;min-height:250px;display:grid;place-items:center;margin:16px 0;padding:14px;border-radius:12px;background:#fff;color:#172033}.twofa-qr img,.twofa-qr canvas{max-width:220px!important;height:auto!important}
.twofa-secret{display:flex;flex-direction:column;gap:7px;margin:14px 0;padding:13px;border:1px solid #2d4266;border-radius:10px;background:#101a2b}.twofa-secret span{font-size:.82rem;opacity:.68}.twofa-secret code{font-size:1rem;letter-spacing:.08em;word-break:break-all}
.twofa-confirm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.twofa-confirm label{display:flex;flex-direction:column;gap:6px}.twofa-confirm button{min-height:42px}
.twofa-backup-highlight{border-color:#7b6331!important}.twofa-code-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:15px 0}.twofa-code-grid code{display:block;padding:10px;border:1px solid #3a4d6e;border-radius:8px;background:#0d1727;text-align:center;letter-spacing:.06em}
.twofa-login .twofa-shield{display:inline-flex;padding:6px 10px;margin-bottom:8px;border-radius:999px;border:1px solid #42669e;background:#19345d;font-weight:800}
@media(max-width:900px){.twofa-grid{grid-template-columns:1fr}.twofa-setup{grid-column:auto}.twofa-code-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.twofa-account,.twofa-confirm{grid-template-columns:1fr}.twofa-code-grid{grid-template-columns:1fr}.twofa-qr{width:100%;box-sizing:border-box}.account-btn{margin-left:3px}}


/* v2.3.0-dev – Verkäufe, Finanzen, Messen */
.sale-price-field{display:none}
.finance-filter,.finance-entry-form,.event-book-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.finance-entry-form .wide,.event-book-form .wide{grid-column:span 2}
.finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.finance-kpi{margin:0!important;min-height:92px;display:flex;flex-direction:column;justify-content:center}
.finance-kpi span{font-size:.82rem;opacity:.68}.finance-kpi strong{font-size:1.42rem;margin-top:6px}.finance-kpi.result{grid-column:span 2}
.event-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:12px 0}.event-head>div{display:flex;flex-direction:column;gap:4px}
.event-sale-field{display:none}
@media(max-width:1100px){.finance-filter,.finance-entry-form,.event-book-form{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.finance-filter,.finance-entry-form,.event-book-form,.finance-kpis{grid-template-columns:1fr}.finance-entry-form .wide,.event-book-form .wide,.finance-kpi.result{grid-column:auto}.event-head{align-items:flex-start;flex-direction:column}}


/* v2.3.1-dev – UI-Feinschliff Finanzen & Messen */
.finance-filter-card,
.finance-entry-card,
.event-create-card,
.event-select-card,
.event-book-card{padding:20px!important}

.finance-filter{
    grid-template-columns:repeat(4,minmax(150px,1fr)) auto;
    gap:14px;
    align-items:end
}
.finance-filter label,
.finance-entry-form label,
.event-book-form label,
.event-create-card label{margin:0}
.finance-filter input,
.finance-filter select,
.finance-entry-form input,
.finance-entry-form select,
.event-book-form input,
.event-book-form select,
.event-create-card input,
.event-create-card textarea{min-height:42px}
.finance-filter-action{display:flex;align-items:end}
.finance-filter-action .btn{min-width:150px;min-height:42px;padding-inline:22px}

.finance-kpis{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px
}
.finance-kpi{
    min-height:96px!important;
    padding:18px 20px!important
}
.finance-kpi.result{
    grid-column:span 2;
    border-color:#345783
}
.finance-kpi strong{line-height:1.1}

.finance-entry-form{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px
}
.finance-entry-form .wide{grid-column:span 2}
.finance-entry-action{
    display:flex;
    align-items:end;
    justify-content:flex-end
}
.finance-entry-action .btn{width:100%;min-height:42px}

.event-create-card .finance-entry-form{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px
}
.event-create-action{
    display:flex;
    align-items:end;
    justify-content:flex-end
}
.event-create-action .btn{width:100%;min-height:42px}

.event-select-layout{
    display:grid;
    grid-template-columns:minmax(300px,460px) minmax(0,1fr);
    gap:22px;
    align-items:center
}
.event-select-card .section-head{margin-bottom:10px}
.event-select-form{margin:0}
.event-select-form select{width:100%;min-height:42px}
.event-summary{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:16px;
    align-items:center;
    padding:14px 16px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:11px;
    background:rgba(8,16,29,.28)
}
.event-summary .event-head{margin:0}
.event-summary .event-head strong{font-size:1rem}
.event-summary .event-head span:not(.twofa-status){opacity:.74;font-size:.9rem}
.event-status-action{margin:0}
.event-status-action .btn{white-space:nowrap}

.event-book-form{
    grid-template-columns:1.1fr 1.45fr .62fr 1fr;
    gap:14px
}
.event-book-action{
    display:flex;
    align-items:end;
    justify-content:flex-end
}
.event-book-action .btn{width:100%;min-height:42px}
.event-book-card .section-head{margin-bottom:16px}

@media(max-width:1250px){
    .finance-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
    .finance-filter-action{grid-column:1/-1}
    .finance-filter-action .btn{width:100%}
    .event-select-layout{grid-template-columns:1fr}
    .event-summary{grid-template-columns:minmax(0,1fr) auto}
}
@media(max-width:1050px){
    .finance-entry-form,
    .event-create-card .finance-entry-form,
    .event-book-form{grid-template-columns:repeat(2,minmax(0,1fr))}
    .finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
    .finance-entry-action,
    .event-create-action,
    .event-book-action{grid-column:span 1}
}
@media(max-width:680px){
    .finance-filter,
    .finance-entry-form,
    .event-create-card .finance-entry-form,
    .event-book-form,
    .finance-kpis{grid-template-columns:1fr}
    .finance-entry-form .wide,
    .event-book-form .wide,
    .finance-kpi.result,
    .finance-filter-action,
    .finance-entry-action,
    .event-create-action,
    .event-book-action{grid-column:auto}
    .event-summary{grid-template-columns:1fr}
    .event-head{flex-direction:row;align-items:center}
    .event-status-action .btn{width:100%}
}


/* v2.3.3-dev – Abstand zwischen Finanzbereichen */
.finance-filter-card{margin-bottom:14px!important}
.finance-kpis{margin-bottom:14px!important}
.finance-entry-card{margin-bottom:14px!important}
.finance-entry-card + .hero{margin-top:0!important}


/* v2.3.4-dev – Lagerbewertung & Dashboard-Finanzen */
.inventory-value-card{margin-bottom:14px!important}
.inventory-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.inventory-value-item{display:flex;flex-direction:column;justify-content:center;min-height:92px;padding:16px 18px;border:1px solid #2a3c5b;border-radius:11px;background:rgba(8,16,29,.28)}
.inventory-value-item span,.dashboard-finance-grid span{font-size:.82rem;opacity:.7}
.inventory-value-item strong,.dashboard-finance-grid strong{font-size:1.24rem;margin:5px 0;line-height:1.15}
.inventory-value-item small,.dashboard-finance-grid small{opacity:.62}
.inventory-value-item.potential{border-color:#345783}
.inventory-price-warning{margin-top:14px}
.inventory-shop-table{margin-top:16px}

.dashboard-finance-card{margin-bottom:18px}
.dashboard-finance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dashboard-finance-grid>div{display:flex;flex-direction:column;justify-content:center;min-height:92px;padding:15px 17px;border:1px solid #2a3c5b;border-radius:11px;background:rgba(8,16,29,.28)}
.dashboard-finance-grid>div.result{border-color:#345783}
@media(max-width:1100px){
  .inventory-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .inventory-value-grid,.dashboard-finance-grid{grid-template-columns:1fr}
}


/* v2.3.5-dev – Rabatt bei Verkäufen */
.sale-price-field input[name="discount_percent"],
.event-sale-field input[name="discount_percent"]{font-variant-numeric:tabular-nums}


/* v2.3.6-dev – automatische Rabattberechnung */
.sale-calculated-field input[readonly]{
    background:rgba(15,29,50,.82);
    border-color:#345783;
    color:#dce9ff;
    font-weight:800;
    cursor:default
}
.sale-calculated-field input[readonly]:focus{
    outline:none;
    box-shadow:none
}


/* v2.3.7-dev – klare Rabatt-Auswahl in Lagerbewegungen */
.discount-detail-field{display:none}
.sale-price-field select[name="has_discount"]{min-height:42px}


/* v2.3.8-dev – UI-Feinschliff Neue Lagerbewegung */
.movement-form-polished{
    display:grid!important;
    grid-template-columns:minmax(240px,1.55fr) minmax(180px,1.15fr) minmax(170px,1fr) minmax(90px,.48fr);
    gap:14px 12px!important;
    align-items:end!important
}
.movement-form-polished label{
    margin:0!important;
    min-width:0
}
.movement-form-polished label>input,
.movement-form-polished label>select{
    width:100%;
    min-height:44px;
    margin-top:7px
}
.movement-form-polished .movement-product-field{grid-column:span 1}
.movement-form-polished .movement-location-field{grid-column:span 1}
.movement-form-polished .movement-type-field{grid-column:span 1}
.movement-form-polished .movement-qty-field{grid-column:span 1}

.movement-form-polished .movement-sale-price,
.movement-form-polished .movement-purchase-price,
.movement-form-polished .movement-discount-toggle{
    grid-column:span 1
}
.movement-form-polished .movement-discount-toggle{min-width:210px}

.movement-form-polished .movement-discount-percent{grid-column:span 1}
.movement-form-polished .movement-final-price{grid-column:span 1}
.movement-form-polished .movement-discount-amount{grid-column:span 1}
.movement-form-polished .movement-date-field{grid-column:span 1}
.movement-form-polished .movement-reason{grid-column:span 2}
.movement-form-polished .movement-submit-field{
    grid-column:span 2;
    display:flex;
    align-items:end
}
.movement-form-polished .movement-submit-field .btn{
    width:100%;
    min-height:44px
}

.movement-form-polished .sale-calculated-field input[readonly]{
    min-height:44px;
    text-align:right;
    padding-right:14px
}

@media(min-width:1350px){
    .movement-form-polished{
        grid-template-columns:minmax(250px,1.6fr) minmax(190px,1.2fr) minmax(175px,1fr) minmax(90px,.5fr) minmax(175px,1fr) minmax(175px,1fr);
    }
    .movement-form-polished .movement-product-field{grid-column:span 2}
    .movement-form-polished .movement-location-field{grid-column:span 1}
    .movement-form-polished .movement-type-field{grid-column:span 1}
    .movement-form-polished .movement-qty-field{grid-column:span 1}
    .movement-form-polished .movement-sale-price{grid-column:span 1}
    .movement-form-polished .movement-purchase-price{grid-column:span 1}
    .movement-form-polished .movement-discount-toggle{grid-column:span 2}
    .movement-form-polished .movement-discount-percent{grid-column:span 1}
    .movement-form-polished .movement-final-price{grid-column:span 1}
    .movement-form-polished .movement-discount-amount{grid-column:span 1}
    .movement-form-polished .movement-date-field{grid-column:span 1}
    .movement-form-polished .movement-reason{grid-column:span 2}
    .movement-form-polished .movement-submit-field{grid-column:span 2}
}

@media(max-width:1050px){
    .movement-form-polished{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .movement-form-polished .movement-product-field,
    .movement-form-polished .movement-reason,
    .movement-form-polished .movement-submit-field{
        grid-column:span 2
    }
    .movement-form-polished .movement-location-field,
    .movement-form-polished .movement-type-field,
    .movement-form-polished .movement-qty-field,
    .movement-form-polished .movement-sale-price,
    .movement-form-polished .movement-purchase-price,
    .movement-form-polished .movement-discount-toggle,
    .movement-form-polished .movement-discount-percent,
    .movement-form-polished .movement-final-price,
    .movement-form-polished .movement-discount-amount,
    .movement-form-polished .movement-date-field{
        grid-column:span 1
    }
}

@media(max-width:680px){
    .movement-form-polished{grid-template-columns:1fr}
    .movement-form-polished .movement-product-field,
    .movement-form-polished .movement-location-field,
    .movement-form-polished .movement-type-field,
    .movement-form-polished .movement-qty-field,
    .movement-form-polished .movement-sale-price,
    .movement-form-polished .movement-purchase-price,
    .movement-form-polished .movement-discount-toggle,
    .movement-form-polished .movement-discount-percent,
    .movement-form-polished .movement-final-price,
    .movement-form-polished .movement-discount-amount,
    .movement-form-polished .movement-date-field,
    .movement-form-polished .movement-reason,
    .movement-form-polished .movement-submit-field{
        grid-column:1
    }
}

/* v2.3.9-dev – Retouren & Verkaufsstorno */
.return-book-card{margin-bottom:16px!important}
.return-form{display:grid;grid-template-columns:2fr 1fr .55fr 1fr 1fr;gap:14px;align-items:end}
.return-form label{margin:0}.return-form input,.return-form select{min-height:42px}
.return-form .wide{grid-column:span 3}.return-action{grid-column:span 2;display:flex;align-items:end}
.return-action .btn{width:100%;min-height:42px}.return-note{margin-top:16px}
@media(max-width:1100px){.return-form{grid-template-columns:repeat(2,minmax(0,1fr))}.return-form .wide,.return-action{grid-column:span 2}}
@media(max-width:680px){.return-form{grid-template-columns:1fr}.return-form .wide,.return-action{grid-column:1}}

/* v2.3.11-dev – Finanz-Export */
.finance-export-card{margin-bottom:14px!important}
.finance-export-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.finance-export-head h2{margin-bottom:4px}
.finance-export-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.finance-export-actions .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:40px}
@media(max-width:680px){.finance-export-actions{display:grid;grid-template-columns:1fr}.finance-export-actions .btn{width:100%}}
