.plasw-admin { --plasw-border:#dfe5ea; --plasw-bg:#f6f8fb; --plasw-card:#fff; --plasw-text:#1f2a37; --plasw-muted:#64748b; }
.plasw-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin:0 0 20px; }
.plasw-card { display:flex; flex-direction:column; gap:10px; min-height:112px; padding:20px; border:1px solid var(--plasw-border); border-radius:16px; background:var(--plasw-card); text-decoration:none; color:var(--plasw-text); box-shadow:0 8px 24px rgba(15,23,42,.05); }
.plasw-card:hover { text-decoration:none; transform:translateY(-1px); box-shadow:0 12px 30px rgba(15,23,42,.08); }
.plasw-card span { color:var(--plasw-muted); font-size:.92rem; }
.plasw-actions { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 22px; }
.plasw-toolbarline { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:0 0 16px; padding:16px; border:1px solid var(--plasw-border); border-radius:14px; background:#fff; }
.plasw-toolbarline input { max-width:360px; }
.plasw-table { background:#fff; border:1px solid var(--plasw-border); border-radius:14px; overflow:hidden; }
.plasw-table th { white-space:nowrap; }
.badge-status { display:inline-flex; align-items:center; border-radius:999px; padding:3px 10px; background:#eef2f7; color:#334155; font-size:.82rem; }
@media (max-width: 768px) { .plasw-toolbarline input { max-width:100%; width:100%; } .plasw-actions .btn { width:100%; } }


.plasw-notice-card{background:#fff;border:1px solid #d8e2ef;border-left:4px solid #2f5f93;border-radius:12px;padding:16px 18px;margin:0 0 18px 0;box-shadow:0 6px 18px rgba(15,23,42,.04);display:flex;gap:8px;flex-direction:column}.plasw-notice-card strong{font-size:16px;color:#172033}.plasw-notice-card span{color:#5b6678}.plasw-portal{max-width:1180px;margin:0 auto;padding:24px}.plasw-portal-head{background:#fff;border:1px solid #d8e2ef;border-radius:18px;padding:24px;margin-bottom:20px;box-shadow:0 10px 24px rgba(15,23,42,.05)}.plasw-portal-head h1{margin:0 0 8px 0}.plasw-portal-head p{margin:0;color:#5b6678}.plasw-portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.plasw-portal-card{background:#fff;border:1px solid #d8e2ef;border-radius:16px;padding:20px;text-decoration:none;color:#172033;box-shadow:0 8px 20px rgba(15,23,42,.04)}.plasw-portal-card strong{display:block;font-size:18px;margin-bottom:6px}.plasw-portal-card span{color:#5b6678}.plasw-workshop-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.plasw-big-button{display:inline-block;padding:14px 18px;border-radius:12px;background:#244568;color:#fff;text-decoration:none;font-weight:700}.plasw-table-card{background:#fff;border:1px solid #d8e2ef;border-radius:16px;padding:18px;margin-top:16px;overflow:auto}.plasw-status{display:inline-block;border-radius:999px;padding:4px 10px;background:#eef3f8;color:#244568;font-weight:700;font-size:12px}

.plasw-card{background:#fff;border:1px solid #dbe3ee;border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.plasw-form-card h2{font-size:1.15rem;margin:0 0 16px;color:#17324d;font-weight:700}
.plasw-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 16px}
.plasw-form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#32465a}
.plasw-actions-row{display:flex;gap:10px;margin-top:16px;align-items:center}
.plasw-status.is-ok{background:#e7f6ed;color:#17643a;border:1px solid #bde5cc}
.plasw-status.is-off{background:#eef2f7;color:#5f6f83;border:1px solid #d7e0ea}


.plasw-admin{box-sizing:border-box;max-width:100%;overflow-x:hidden}.plasw-admin *{box-sizing:border-box}.plasw-form-grid-employee{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:end}.plasw-form-grid label span{min-height:20px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.plasw-form-grid input,.plasw-form-grid select{width:100%;max-width:100%}.plasw-table-card-admin{overflow-x:auto}.plasw-table{min-width:980px}.plasw-toolbarline .btn{white-space:nowrap}@media (min-width:1200px){.plasw-form-grid-employee{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:700px){.plasw-form-grid-employee{grid-template-columns:1fr}.plasw-toolbarline{align-items:stretch}.plasw-toolbarline .btn,.plasw-toolbarline input{width:100%;max-width:100%}}


.plasw-form-grid-employee{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.plasw-form-grid-employee .span-2{grid-column:span 2;}
.plasw-form-grid-employee .span-full{grid-column:1/-1;}
.plasw-form-grid textarea{width:100%;max-width:100%;resize:vertical;}
.plasw-employee-table{min-width:1120px;}
.plasw-row-actions{display:flex;gap:8px;white-space:nowrap;}
@media (min-width:1300px){.plasw-form-grid-employee{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:800px){.plasw-form-grid-employee .span-2{grid-column:1/-1;}.plasw-row-actions{flex-direction:column;}}

.plasw-admin{width:100%;max-width:100%;overflow-x:hidden;padding-right:0;}
.plasw-form-card{overflow:hidden;}
.plasw-form-grid-employee{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;max-width:100%;}
.plasw-form-grid-employee label{min-width:0;}
.plasw-form-grid-employee input,.plasw-form-grid-employee select,.plasw-form-grid-employee textarea{min-width:0;}
.plasw-form-grid-employee label span{display:block;min-height:auto;font-size:.92rem;line-height:1.25;overflow-wrap:anywhere;}
.plasw-form-grid-employee .span-2{grid-column:span 2;}
.plasw-form-grid-employee .span-full{grid-column:1/-1;}
.plasw-table-card-admin{width:100%;max-width:100%;overflow-x:auto;}
.plasw-employee-table{min-width:980px;}
.plasw-toolbarline{max-width:100%;overflow:hidden;}
@media (max-width:1200px){.plasw-form-grid-employee{grid-template-columns:repeat(2,minmax(0,1fr));}.plasw-form-grid-employee .span-2{grid-column:1/-1;}}
@media (max-width:760px){.plasw-form-grid-employee{grid-template-columns:1fr;}.plasw-form-grid-employee .span-2{grid-column:1/-1;}.plasw-actions-row{flex-direction:column;align-items:stretch}.plasw-actions-row .btn{width:100%;}}

.plasw-field-hint{display:block;margin-top:4px;color:#64748b;font-weight:400;font-size:.82rem;line-height:1.35}.plasw-big-button{border:0;cursor:pointer}.plasw-big-button-danger{background:#7f1d1d}.plasw-table-card h2{font-size:1.1rem;margin:0 0 12px;color:#17324d}.plasw-workshop-actions button{font-family:inherit}

.plasw-timeclock-card{background:#fff;border:1px solid #d8e2ef;border-radius:16px;padding:18px;margin-top:16px;overflow:hidden;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.plasw-timeclock-card h2{font-size:1.1rem;margin:0 0 14px;color:#17324d}
.plasw-timeclock-list{display:grid;gap:10px}
.plasw-timeclock-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #e4ebf3;border-radius:12px;background:#f8fafc}
.plasw-timeclock-row div{min-width:0}.plasw-timeclock-row span{display:block;font-size:.8rem;color:#64748b;margin-bottom:4px}.plasw-timeclock-row strong{display:block;font-size:.95rem;color:#172033;word-break:break-word}.plasw-empty-state{padding:14px;border-radius:12px;background:#f8fafc;color:#64748b}.plasw-muted-line{display:block;color:#64748b;font-size:.78rem;font-weight:400;margin-top:2px}.plasw-status.is-open{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.plasw-form-grid-timeentry{grid-template-columns:repeat(3,minmax(0,1fr));}.plasw-timeentries-table{min-width:980px;}.plasw-timeentries-table td{vertical-align:middle}@media (max-width:900px){.plasw-timeclock-row{grid-template-columns:repeat(2,minmax(0,1fr));}.plasw-form-grid-timeentry{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (max-width:560px){.plasw-timeclock-row,.plasw-form-grid-timeentry{grid-template-columns:1fr;}.plasw-workshop-actions .plasw-big-button{width:100%;text-align:center}}


.plasw-time-toolbar{display:flex;align-items:center;gap:10px;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.plasw-time-toolbar input{height:42px}.plasw-date-filter{max-width:190px}
.plasw-table-card-admin{border-radius:18px;border:1px solid #dbe6f2;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.05);padding:10px 14px}
.plasw-timeentries-table{border:0!important;border-collapse:separate;border-spacing:0 10px;background:transparent;min-width:1040px}
.plasw-timeentries-table thead th{border:0!important;background:#fff;color:#17324d;font-size:.9rem;font-weight:800;padding:12px 14px}
.plasw-timeentries-table tbody tr{background:#f8fafc;box-shadow:inset 0 0 0 1px #e5edf5}
.plasw-timeentries-table tbody td{border:0!important;padding:14px;vertical-align:middle;background:transparent}
.plasw-timeentries-table tbody tr td:first-child{border-radius:14px 0 0 14px}.plasw-timeentries-table tbody tr td:last-child{border-radius:0 14px 14px 0}
.plasw-time-employee strong{font-size:1.05rem;color:#111827}.plasw-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:#eef4fb;color:#17324d;font-weight:700;font-size:.86rem;white-space:nowrap}
.plasw-row-actions .btn{border-radius:9px;padding:7px 11px;font-weight:700}.plasw-timeentries-table .plasw-status{white-space:nowrap}
@media (max-width:780px){.plasw-time-toolbar{align-items:stretch}.plasw-time-toolbar input,.plasw-time-toolbar .btn{width:100%;max-width:100%}.plasw-date-filter{max-width:100%}}


.plasw-table-card-admin{
    overflow-x:auto;
    overflow-y:visible;
    padding:14px 18px 22px;
}
.plasw-timeentries-table{
    border-spacing:0 10px;
    margin-bottom:0;
}
.plasw-timeentries-table tbody tr{
    background:transparent;
    box-shadow:none;
}
.plasw-timeentries-table tbody td{
    background:#f8fafc !important;
    padding-top:16px;
    padding-bottom:16px;
}
.plasw-timeentries-table tbody tr td:first-child{
    border-radius:14px 0 0 14px;
}
.plasw-timeentries-table tbody tr td:last-child{
    border-radius:0 14px 14px 0;
    min-width:150px;
    width:150px;
}
.plasw-timeentries-table .plasw-row-actions{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    min-height:38px;
    white-space:nowrap;
    overflow:visible;
}
.plasw-timeentries-table .plasw-row-actions .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    line-height:1.2;
    margin:0;
}


.plasw-table-card-admin .plasw-timeentries-table{
    width:100% !important;
    min-width:0 !important;
    table-layout:fixed;
    border-collapse:separate !important;
    border-spacing:0 10px !important;
}
.plasw-timeentries-table thead th,
.plasw-timeentries-table tbody td{
    overflow:hidden;
    text-overflow:ellipsis;
}
.plasw-timeentries-table thead th:nth-child(1),
.plasw-timeentries-table tbody td:nth-child(1){width:44px;}
.plasw-timeentries-table thead th:nth-child(2),
.plasw-timeentries-table tbody td:nth-child(2){width:64px;}
.plasw-timeentries-table thead th:nth-child(3),
.plasw-timeentries-table tbody td:nth-child(3){width:22%;}
.plasw-timeentries-table thead th:nth-child(4),
.plasw-timeentries-table tbody td:nth-child(4){width:17%;}
.plasw-timeentries-table thead th:nth-child(5),
.plasw-timeentries-table tbody td:nth-child(5){width:17%;}
.plasw-timeentries-table thead th:nth-child(6),
.plasw-timeentries-table tbody td:nth-child(6){width:13%;}
.plasw-timeentries-table thead th:nth-child(7),
.plasw-timeentries-table tbody td:nth-child(7){width:13%;}
.plasw-timeentries-table thead th:nth-child(8),
.plasw-timeentries-table tbody td:nth-child(8){width:13%;}
.plasw-timeentries-table thead th:nth-child(9),
.plasw-timeentries-table tbody td:nth-child(9){width:140px;min-width:140px;}
.plasw-timeentries-table tbody tr td:last-child{
    width:140px;
    min-width:140px;
    background:#f8fafc !important;
}
.plasw-timeentries-table .plasw-row-actions{
    width:100%;
    min-height:40px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding-right:8px;
}
.plasw-timeentries-table .plasw-row-actions .btn{
    flex:0 0 auto;
}
@media (max-width:1100px){
    .plasw-table-card-admin .plasw-timeentries-table{
        min-width:1040px !important;
        table-layout:auto;
    }
}

.plasw-employee-table td strong{font-size:1rem!important;line-height:1.25;color:#111827;font-weight:700;}
.plasw-employee-table td{vertical-align:middle;}
.plasw-inline-notice{border:1px solid #cfe0f3;background:#f6f9fd;border-radius:10px;padding:10px 12px;color:#17324d;margin-bottom:12px;}
.plasw-section-head{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;}
.plasw-section-head h2{font-size:1.05rem;margin:0;color:#17324d;font-weight:800;}
.plasw-section-head span{color:#64748b;font-size:.9rem;}
.plasw-joomla-users-card{min-height:0;padding:16px 18px;}
.plasw-compact-table{margin:0;min-width:820px;}
.plasw-compact-table th{font-size:.86rem;color:#17324d;white-space:nowrap;}
.plasw-compact-table td{vertical-align:middle;font-size:.92rem;}
.plasw-toolbar-separator{display:inline-block;width:1px;height:34px;background:#dbe6f2;margin:0 4px;}
.plasw-report-period{max-width:120px;}
.plasw-month-filter{max-width:170px;}
.plasw-year-filter{max-width:110px;}
@media (max-width:900px){.plasw-toolbar-separator{display:none}.plasw-report-period,.plasw-month-filter,.plasw-year-filter{max-width:100%;width:100%;}}

.plasw-overtime-card{padding:18px 20px;margin-bottom:16px;border:1px solid #dbe6f2;border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.05)}
.plasw-form-grid-overtime{display:grid;grid-template-columns:1.2fr .8fr 1fr .7fr 1.4fr auto;gap:12px;align-items:end}
.plasw-form-grid-overtime label{min-width:0}.plasw-form-grid-overtime .span-2{grid-column:auto}.plasw-overtime-save{display:flex;align-items:end}.plasw-overtime-save .btn{white-space:nowrap}
.plasw-adjustment-list{display:grid;gap:8px;margin-top:14px}.plasw-adjustment-item{display:grid;grid-template-columns:1.5fr .7fr 1fr .6fr;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e5edf5}.plasw-adjustment-item span:last-child{font-weight:800;color:#9a3412}.plasw-timeentries-table tbody td{font-size:.93rem}.plasw-timeentries-table tbody tr:hover td{background:#f3f7fb!important}.plasw-time-employee strong{font-size:1rem!important}
.plasw-time-summary-card{background:linear-gradient(180deg,#fff,#f8fafc)}.plasw-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0 16px}.plasw-summary-grid div{border:1px solid #e1eaf5;border-radius:14px;padding:13px;background:#fff}.plasw-summary-grid span{display:block;color:#64748b;font-size:.82rem;margin-bottom:4px}.plasw-summary-grid strong{display:block;color:#17324d;font-size:1.12rem}.plasw-download-row{display:grid;grid-template-columns:130px 170px 110px auto;gap:10px;align-items:center}.plasw-download-button{padding:10px 15px;font-size:.95rem;background:#2f5d8f}
@media (max-width:1200px){.plasw-form-grid-overtime{grid-template-columns:repeat(3,minmax(0,1fr))}.plasw-overtime-save{grid-column:1/-1}.plasw-adjustment-item{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.plasw-form-grid-overtime,.plasw-summary-grid,.plasw-download-row{grid-template-columns:1fr}.plasw-adjustment-item{grid-template-columns:1fr}.plasw-download-row .plasw-big-button{width:100%}}


/* Waagerecht scrollen MUSS moeglich bleiben.
   Ein overflow:hidden hier hat jeder breiten Tabelle im Adminbereich das
   Scrollen verboten - die Artikelliste war links und rechts abgeschnitten.
   Bei den Werkstattauftraegen wurde das spaeter mit einer eigenen Regel je
   Seite uebergangen, statt die Ursache zu beheben. Senkrecht bleibt es
   verborgen, damit die runden Ecken der Karte weiter greifen. */
.plasw-table-card-admin{overflow-x:auto!important;overflow-y:hidden!important;}
.plasw-table-card-admin .table-responsive{overflow-x:auto;}
.plasw-table-card-admin .plasw-timeentries-table{width:100%!important;border-collapse:separate!important;border-spacing:0 10px!important;margin-bottom:0!important;}
.plasw-timeentries-table tbody tr{background:transparent!important;box-shadow:none!important;}
.plasw-timeentries-table tbody td{background:#eef1f5!important;border-top:1px solid #e2e8f0!important;border-bottom:1px solid #e2e8f0!important;vertical-align:middle!important;}
.plasw-timeentries-table tbody tr:hover td{background:#e7edf4!important;}
.plasw-timeentries-table tbody td:first-child{border-left:1px solid #e2e8f0!important;border-radius:14px 0 0 14px!important;}
.plasw-timeentries-table tbody td:last-child{border-right:1px solid #e2e8f0!important;border-radius:0 14px 14px 0!important;background:#eef1f5!important;}
.plasw-timeentries-table tbody tr:hover td:last-child{background:#e7edf4!important;}
.plasw-timeentries-table .plasw-row-actions{background:inherit!important;min-height:44px!important;display:table-cell!important;white-space:nowrap!important;}
.plasw-timeentries-table .plasw-row-actions .btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;}
.plasw-overtime-card .form-select,.plasw-overtime-card .form-control{min-height:42px;}

.plasw-adjustment-item strong{font-size:1rem!important;line-height:1.25!important;color:#111827!important;font-weight:700!important;}
.plasw-time-employee strong{font-size:.98rem!important;line-height:1.25!important;color:#111827!important;font-weight:700!important;}
.plasw-report-employee{min-width:220px;max-width:280px;}
.plasw-time-toolbar{align-items:center;}
@media (max-width:900px){.plasw-report-employee{max-width:100%;width:100%;}}

.plasw-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
.plasw-summary-grid strong{font-size:1rem!important;}
.plasw-employee-table td strong{font-size:.98rem!important;line-height:1.25!important;}
@media (max-width:1320px){.plasw-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media (max-width:760px){.plasw-summary-grid{grid-template-columns:1fr!important;}}


.plasw-timeentries-table .plasw-worked-net strong{
    font-size:1.05rem!important;
    line-height:1.2!important;
    font-weight:800!important;
    color:#111827!important;
    white-space:nowrap;
}
.plasw-timeentries-table .plasw-time-employee strong{
    font-size:.95rem!important;
}
.plasw-time-export-card h2{
    font-size:1.15rem;
    margin:0 0 14px;
    color:#17324d;
}
.plasw-time-export-card{
    background:#fff;
}


.plasw-timeclock-row{grid-template-columns:repeat(5,minmax(0,1fr));}
.plasw-timeclock-row .plasw-time-normal{font-size:.95rem!important;font-weight:700!important;}
@media (max-width:1100px){.plasw-timeclock-row{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:700px){.plasw-timeclock-row{grid-template-columns:1fr!important;}}

.plasw-table-card-admin .plasw-timeentries-table{
    width:100%!important;
    min-width:1180px!important;
    table-layout:fixed!important;
}
.plasw-timeentries-table thead th,
.plasw-timeentries-table tbody td{
    padding:12px 10px!important;
    font-size:.9rem!important;
}
.plasw-timeentries-table thead th:nth-child(1),
.plasw-timeentries-table tbody td:nth-child(1){width:38px!important;}
.plasw-timeentries-table thead th:nth-child(2),
.plasw-timeentries-table tbody td:nth-child(2){width:48px!important;}
.plasw-timeentries-table thead th:nth-child(3),
.plasw-timeentries-table tbody td:nth-child(3){width:190px!important;}
.plasw-timeentries-table thead th:nth-child(4),
.plasw-timeentries-table tbody td:nth-child(4){width:170px!important;}
.plasw-timeentries-table thead th:nth-child(5),
.plasw-timeentries-table tbody td:nth-child(5){width:170px!important;}
.plasw-timeentries-table thead th:nth-child(6),
.plasw-timeentries-table tbody td:nth-child(6){width:95px!important;}
.plasw-timeentries-table thead th:nth-child(7),
.plasw-timeentries-table tbody td:nth-child(7){width:120px!important;}
.plasw-timeentries-table thead th:nth-child(8),
.plasw-timeentries-table tbody td:nth-child(8){width:120px!important;}
.plasw-timeentries-table thead th:nth-child(9),
.plasw-timeentries-table tbody td:nth-child(9){width:145px!important;}
.plasw-timeentries-table thead th:nth-child(10),
.plasw-timeentries-table tbody td:nth-child(10){width:125px!important;min-width:125px!important;}
.plasw-timeentries-table .plasw-worked-net strong{
    font-size:1rem!important;
    font-weight:800!important;
}
.plasw-timeentries-table .plasw-row-actions{
    display:table-cell!important;
    text-align:left!important;
    padding-left:10px!important;
    overflow:visible!important;
}
.plasw-timeentries-table .plasw-row-actions .btn{
    max-width:104px!important;
    padding:7px 10px!important;
}
.plasw-table-card-admin{
    overflow-x:auto!important;
}

.plasw-frontend-time-table-wrap{width:100%;overflow-x:auto;border:1px solid #d8e2ef;border-radius:14px;background:#fff}
.plasw-frontend-time-table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px;font-size:.92rem;color:#0f172a}
.plasw-frontend-time-table th{background:#f3f7fb;color:#17324d;text-align:left;font-weight:800;padding:11px 12px;border-bottom:1px solid #d8e2ef;white-space:nowrap}
.plasw-frontend-time-table td{padding:10px 12px;border-bottom:1px solid #e5edf6;vertical-align:middle;white-space:nowrap}
.plasw-frontend-time-table tbody tr.is-weekend td{background:#f8fafc;color:#475569}
.plasw-frontend-time-table tbody tr:last-child td{border-bottom:0}
.plasw-frontend-time-table .plasw-time-normal{font-size:.95rem!important;font-weight:700!important;color:#0f172a!important}

.plasw-absence-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:18px}.plasw-absence-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.plasw-bar-row{display:grid;grid-template-columns:110px 1fr 68px;gap:10px;align-items:center;margin-top:10px;font-size:13px}.plasw-bar-row div{height:9px;background:#e5e7eb;border-radius:999px;overflow:hidden}.plasw-bar-row i{display:block;height:100%;background:#2563eb;border-radius:999px}.plasw-bar-row b{font-weight:600;text-align:right}.plasw-overlap-item{display:grid;grid-template-columns:96px 90px 1fr;gap:8px;align-items:center;margin-top:9px;padding:8px;border-radius:10px;background:#fff;border:1px solid #e5e7eb}.plasw-overlap-item small{color:#475569}.plasw-absence-card .plasw-adjustment-list{margin-top:14px}.plasw-frontend-time-table th,.plasw-frontend-time-table td{font-size:14px}.plasw-frontend-time-table .is-weekend td{background:#f8fafc}

.plasw-absence-page{font-size:.92rem;}
.plasw-absence-page .plasw-card h2,.plasw-vacation-request-card h2,.plasw-overlap-frontend-card h2{font-size:1.05rem!important;line-height:1.25!important;margin-bottom:10px!important;}
.plasw-absence-page .plasw-section-head span{font-size:.86rem;color:#64748b;}
.plasw-compact-table th,.plasw-compact-table td{font-size:.88rem!important;padding:9px 10px!important;vertical-align:middle!important;}
.plasw-compact-table td strong{font-size:.92rem!important;}
.plasw-overlap-chart{display:grid;gap:10px;}
.plasw-overlap-chart-row{display:grid;grid-template-columns:100px minmax(180px,1fr) 110px minmax(260px,2fr);gap:12px;align-items:center;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;}
.plasw-overlap-chart-row div{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden;}
.plasw-overlap-chart-row i{display:block;height:100%;background:#2563eb;border-radius:999px;}
.plasw-overlap-chart-row small{color:#475569;}
.plasw-vacation-request-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;}
.plasw-vacation-request-form label{display:grid;gap:6px;font-size:.9rem;color:#334155;}
.plasw-vacation-request-form .span-2{grid-column:span 2;}
.plasw-small-table-wrap{margin-top:14px;}
.plasw-small-table th,.plasw-small-table td{font-size:.86rem!important;padding:8px 10px!important;}
.plasw-overlap-frontend-card .plasw-overlap-item{grid-template-columns:92px 100px 1fr;font-size:.9rem;}
@media(max-width:900px){.plasw-overlap-chart-row{grid-template-columns:1fr}.plasw-vacation-request-form{grid-template-columns:1fr}.plasw-vacation-request-form .span-2{grid-column:auto}}


.plasw-absence-page .plasw-card{overflow:hidden;}
.plasw-absence-page .plasw-compact-table{border-collapse:separate!important;border-spacing:0 8px!important;margin-bottom:0!important;}
.plasw-absence-page .plasw-compact-table thead th{background:#fff!important;border:0!important;font-size:.84rem!important;padding:8px 10px!important;}
.plasw-absence-page .plasw-compact-table tbody td{background:#f3f5f8!important;border:0!important;border-top:1px solid #e5eaf1!important;border-bottom:1px solid #e5eaf1!important;font-size:.84rem!important;}
.plasw-absence-page .plasw-compact-table tbody td:first-child{border-left:1px solid #e5eaf1!important;border-radius:12px 0 0 12px!important;}
.plasw-absence-page .plasw-compact-table tbody td:last-child{border-right:1px solid #e5eaf1!important;border-radius:0 12px 12px 0!important;}
.plasw-absence-actions{display:table-cell!important;white-space:nowrap!important;min-width:190px!important;background:#f3f5f8!important;}
.plasw-absence-actions .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:9px!important;padding:7px 11px!important;margin-right:6px!important;font-size:.8rem!important;font-weight:700!important;}
.plasw-absence-page .plasw-overlap-chart-row{font-size:.84rem!important;}

.plasw-settings-page .plasw-card{overflow:hidden;margin-bottom:18px;}
.plasw-form-grid-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end;}
.plasw-form-grid-settings label{display:grid;gap:6px;font-size:.9rem;color:#334155;font-weight:700;}
.plasw-form-grid-settings input,.plasw-form-grid-settings select,.plasw-form-grid-settings textarea{width:100%;}
.plasw-form-grid-settings .span-2{grid-column:span 2;}
.plasw-actions-inline{margin-top:16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
/* Kleiner Hinweis unter einem Feld - gleiche Sprache wie die uebrigen Nebentexte. */
.plasw-feldhinweis{color:#64748b;font-size:.82rem;font-weight:400;line-height:1.35;}
.plasw-settings-page .plasw-compact-table th,.plasw-settings-page .plasw-compact-table td{font-size:.86rem!important;}
@media(max-width:1180px){.plasw-form-grid-settings{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.plasw-form-grid-settings{grid-template-columns:1fr}.plasw-form-grid-settings .span-2{grid-column:auto}}

.plasw-absence-page{font-size:.92rem}.plasw-absence-filter-row{display:grid;grid-template-columns:160px minmax(260px,420px);gap:12px;align-items:end;margin:10px 0 14px}.plasw-absence-filter-row label span{display:block;color:#51627a;font-size:.82rem;font-weight:700;margin-bottom:5px}.plasw-absence-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}.plasw-absence-kpis div,.plasw-employee-stat-detail div{background:#f8fafc;border:1px solid #dbe6f2;border-radius:14px;padding:12px 14px}.plasw-absence-kpis span,.plasw-employee-stat-detail span{display:block;color:#64748b;font-size:.78rem;font-weight:700;margin-bottom:4px}.plasw-absence-kpis strong,.plasw-employee-stat-detail strong{display:block;color:#082344;font-size:1rem;font-weight:800}.plasw-employee-stat-detail{display:grid;grid-template-columns:2fr repeat(5,1fr);gap:10px;margin:12px 0 14px}.plasw-absence-stat-table td,.plasw-absence-stat-table th{font-size:.88rem}.plasw-text-danger{color:#b91c1c;font-weight:800}.plasw-text-success{color:#047857;font-weight:800}.plasw-absence-action-table tbody td{background:#f8fafc!important;vertical-align:middle}.plasw-absence-action-table tbody tr:hover td{background:#eef4fb!important}.plasw-absence-actions{display:flex;gap:8px;align-items:center;white-space:nowrap;background:inherit!important}.plasw-absence-actions .btn{border-radius:9px;font-weight:800;padding:8px 12px}.plasw-overlap-chart{display:grid;gap:10px}.plasw-overlap-chart-row{display:grid;grid-template-columns:110px minmax(140px,1fr) 110px minmax(220px,2fr);gap:10px;align-items:center;border:1px solid #dbe6f2;background:#f8fafc;border-radius:12px;padding:10px 12px}.plasw-overlap-chart-row div{height:12px;background:#e2e8f0;border-radius:999px;overflow:hidden}.plasw-overlap-chart-row i{display:block;height:100%;background:#f59e0b;border-radius:999px}.plasw-overlap-chart-row small{color:#51627a;font-size:.84rem}.plasw-empty-state{padding:14px;border-radius:12px;background:#f8fafc;color:#64748b}@media (max-width:1100px){.plasw-employee-stat-detail{grid-template-columns:repeat(2,minmax(0,1fr))}.plasw-absence-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.plasw-overlap-chart-row{grid-template-columns:1fr}}@media (max-width:640px){.plasw-absence-filter-row,.plasw-employee-stat-detail,.plasw-absence-kpis{grid-template-columns:1fr}}


.plasw-my-absence-stat-card h2{font-size:1.05rem!important;margin-bottom:12px!important;}
.plasw-my-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}
.plasw-my-stat-grid div{background:#f8fafc;border:1px solid #dbe6f2;border-radius:14px;padding:12px 14px;min-width:0;}
.plasw-my-stat-grid span{display:block;color:#64748b;font-size:.78rem;font-weight:700;margin-bottom:5px;}
.plasw-my-stat-grid strong{display:block;color:#082344;font-size:1rem;font-weight:800;line-height:1.2;}

.plasw-customers-admin .plasw-customer-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.plasw-customers-admin .plasw-customer-toolbar .form-control{min-width:280px;max-width:420px}
.plasw-customers-admin .plasw-customer-toolbar .form-select{min-width:160px;max-width:220px}
.plasw-form-card{background:#fff;border:1px solid #dfe7f0;border-radius:18px;padding:18px 20px;margin-bottom:18px;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.plasw-customer-edit-card h2{font-size:1.15rem;margin:0;color:#17324d}.plasw-tabs-grid{display:grid;grid-template-columns:1fr;gap:14px}.plasw-tab-panel{border:1px solid #e4ebf3;border-radius:15px;padding:14px;background:#f9fbfd}.plasw-tab-panel h3{font-size:1rem;margin:0 0 12px;color:#17324d;font-weight:800}.plasw-form-grid-customer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.plasw-form-grid-customer label{display:flex;flex-direction:column;gap:5px;font-weight:700;color:#334155;font-size:.9rem}.plasw-form-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.plasw-customer-table{min-width:1050px;border-collapse:separate!important;border-spacing:0 8px!important}.plasw-customer-table thead th{font-size:.86rem;color:#475569;white-space:nowrap}.plasw-customer-table tbody td{background:#f8fafc!important;border-top:1px solid #e2e8f0!important;border-bottom:1px solid #e2e8f0!important;vertical-align:middle;font-size:.91rem}.plasw-customer-table tbody td:first-child{border-left:1px solid #e2e8f0!important;border-radius:12px 0 0 12px}.plasw-customer-table tbody td:last-child{border-right:1px solid #e2e8f0!important;border-radius:0 12px 12px 0}.plasw-customer-table tbody tr:hover td{background:#eef4fb!important}.plasw-customer-table td strong{font-size:.96rem;color:#111827}.plasw-customer-table td small{display:block;color:#64748b;margin-top:2px}.plasw-status.is-ok{background:#e9f8ef;color:#166534}.plasw-status.is-muted{background:#eef2f7;color:#64748b}.plasw-mini-list{display:grid;gap:8px}.plasw-mini-list div{display:flex;justify-content:space-between;gap:12px;border:1px solid #e2e8f0;border-radius:11px;padding:9px 10px;background:#fff}.plasw-mini-list span{color:#64748b}.plasw-customers .plasw-customer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.plasw-customer-search{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.plasw-customer-search .form-control{min-width:280px;flex:1}.plasw-customer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.plasw-customer-card{display:flex;flex-direction:column;gap:5px;padding:15px 16px;border:1px solid #dfe7f0;border-radius:16px;background:#fff;text-decoration:none;color:#1f2a37;box-shadow:0 8px 22px rgba(15,23,42,.04)}.plasw-customer-card:hover{text-decoration:none;box-shadow:0 12px 28px rgba(15,23,42,.08);transform:translateY(-1px)}.plasw-customer-card strong{font-size:1rem}.plasw-customer-card span{color:#475569}.plasw-customer-card small{color:#64748b}.plasw-customer-detail{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-bottom:16px}.plasw-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.plasw-detail-grid div{border:1px solid #e2e8f0;border-radius:12px;padding:10px;background:#f8fafc}.plasw-detail-grid span{display:block;color:#64748b;font-size:.82rem}.plasw-detail-grid strong{display:block;color:#111827;font-size:.95rem}
@media (max-width:1000px){.plasw-form-grid-customer{grid-template-columns:repeat(2,minmax(0,1fr))}.plasw-customer-detail{grid-template-columns:1fr}.plasw-customers .plasw-customer-head{flex-direction:column}.plasw-customers-admin .plasw-customer-toolbar .form-control,.plasw-customers-admin .plasw-customer-toolbar .form-select{max-width:100%;width:100%}}
@media (max-width:640px){.plasw-form-grid-customer,.plasw-detail-grid{grid-template-columns:1fr}.plasw-customer-search{display:grid;grid-template-columns:1fr}.plasw-customer-search .form-control{min-width:0}}

.plasw-customers-admin .plasw-table-card-admin,
.plasw-customers-admin .table-responsive{
    overflow-x:auto;
    overflow-y:visible;
    padding:14px 18px 22px;
    border-radius:18px;
}
.plasw-customers-admin .plasw-customer-table{
    width:100%;
    min-width:1180px;
    border-collapse:separate!important;
    border-spacing:0 10px!important;
    table-layout:auto;
}
.plasw-customers-admin .plasw-customer-table thead th{
    background:#fff!important;
    border:0!important;
    padding:12px 14px;
    color:#0f2f4f;
    font-size:.86rem;
    font-weight:800;
}
.plasw-customers-admin .plasw-customer-table tbody tr{
    background:transparent!important;
}
.plasw-customers-admin .plasw-customer-table tbody td{
    background:#f3f6f9!important;
    border-top:1px solid #dbe5ef!important;
    border-bottom:1px solid #dbe5ef!important;
    padding:14px!important;
    vertical-align:middle;
    font-size:.9rem;
}
.plasw-customers-admin .plasw-customer-table tbody td:first-child{
    border-left:1px solid #dbe5ef!important;
    border-radius:14px 0 0 14px!important;
}
.plasw-customers-admin .plasw-customer-table tbody td:last-child{
    border-right:1px solid #dbe5ef!important;
    border-radius:0 14px 14px 0!important;
    min-width:150px;
    white-space:nowrap;
}
.plasw-customers-admin .plasw-customer-table tbody tr:hover td{
    background:#edf3fa!important;
}
.plasw-customers-admin .plasw-customer-table td strong{
    font-size:.95rem!important;
    line-height:1.25;
}
.plasw-customers-admin .plasw-row-actions{
    display:flex;
    gap:8px;
    align-items:center;
    justify-content:flex-start;
    white-space:nowrap;
}
.plasw-customers-admin .plasw-row-actions .btn{
    min-width:104px;
    text-align:center;
    border-radius:9px;
    padding:8px 12px;
    font-weight:700;
}
.plasw-customer-vehicles .plasw-vehicle-actions,
.plasw-customers .plasw-vehicle-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:12px;
}
.plasw-customer-vehicles .plasw-vehicle-actions .btn,
.plasw-customers .plasw-vehicle-actions .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    padding:10px 14px;
    border-radius:10px;
    font-weight:700;
    text-align:center;
    white-space:normal;
}
@media (min-width:760px){
    .plasw-customer-vehicles .plasw-vehicle-actions,
    .plasw-customers .plasw-vehicle-actions{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:700px){
    .plasw-customers-admin .plasw-customer-table{min-width:980px;}
    .plasw-customers-admin .plasw-customer-toolbar .btn,
    .plasw-customers-admin .plasw-customer-toolbar .form-control,
    .plasw-customers-admin .plasw-customer-toolbar .form-select{width:100%;max-width:100%;}
}

.plasw-customers-admin .plasw-table-card-admin{
    overflow:hidden!important;
    padding:14px 18px 24px!important;
}
.plasw-customers-admin .plasw-table-card-admin .plasw-customer-table{
    width:100%!important;
    min-width:1120px!important;
    table-layout:fixed!important;
    border-collapse:separate!important;
    border-spacing:0 10px!important;
}
.plasw-customers-admin .plasw-customer-table thead th:nth-child(1),
.plasw-customers-admin .plasw-customer-table tbody td:nth-child(1){width:44px!important;}
.plasw-customers-admin .plasw-customer-table thead th:nth-child(2),
.plasw-customers-admin .plasw-customer-table tbody td:nth-child(2){width:88px!important;}
.plasw-customers-admin .plasw-customer-table thead th:nth-child(3),
.plasw-customers-admin .plasw-customer-table tbody td:nth-child(3){width:22%!important;}
.plasw-customers-admin .plasw-customer-table thead th:nth-child(4),
.plasw-customers-admin .plasw-customer-table tbody td:nth-child(4){width:130px!important;}
.plasw-customers-admin .plasw-customer-table thead th:nth-child(5),
.plasw-customers-admin .plasw-customer-table tbody td:nth-child(5){width:135px!important;}
.plasw-customers-admin .plasw-customer-table thead th:nth-child(6),
.plasw-customers-admin .plasw-customer-table tbody td:nth-child(6){width:145px!important;}
.plasw-customers-admin .plasw-customer-table thead th:nth-child(7),
.plasw-customers-admin .plasw-customer-table tbody td:nth-child(7){width:92px!important;}
.plasw-customers-admin .plasw-customer-table thead th:nth-child(8),
.plasw-customers-admin .plasw-customer-table tbody td:nth-child(8){width:115px!important;}
.plasw-customers-admin .plasw-customer-table thead th:nth-child(9),
.plasw-customers-admin .plasw-customer-table tbody td:nth-child(9){width:150px!important;min-width:150px!important;}
.plasw-customers-admin .plasw-customer-table tbody td{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.plasw-customers-admin .plasw-customer-table tbody td.plasw-row-actions{
    display:table-cell!important;
    background:#f3f6f9!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-align:left!important;
}
.plasw-customers-admin .plasw-customer-table tbody tr:hover td.plasw-row-actions{
    background:#edf3fa!important;
}
.plasw-customers-admin .plasw-customer-table tbody td.plasw-row-actions .btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:104px!important;
    margin:0!important;
}
.plasw-customers .plasw-form-grid-customer .span-3{
    grid-column:1 / -1;
}
.plasw-customers .plasw-customer-form .plasw-form-card{
    overflow:hidden;
}
.plasw-customers .plasw-customer-form textarea.form-control{
    resize:vertical;
    min-height:92px;
}
@media (max-width:700px){
    .plasw-customers-admin .plasw-table-card-admin .plasw-customer-table{min-width:980px!important;}
}


.plasw-vehicle-table,.plasw-workorder-table{min-width:1180px;border-collapse:separate;border-spacing:0 10px;background:transparent;border:0!important}.plasw-vehicle-table thead th,.plasw-workorder-table thead th{border:0!important;background:#fff;color:#0f2947;font-size:.9rem;font-weight:800;padding:12px}.plasw-vehicle-table tbody td,.plasw-workorder-table tbody td{background:#f3f6fa!important;border:0!important;padding:14px 12px;vertical-align:middle}.plasw-vehicle-table tbody tr td:first-child,.plasw-workorder-table tbody tr td:first-child{border-radius:14px 0 0 14px}.plasw-vehicle-table tbody tr td:last-child,.plasw-workorder-table tbody tr td:last-child{border-radius:0 14px 14px 0;min-width:145px}.plasw-vehicle-table small,.plasw-workorder-table small{display:block;color:#64748b;font-size:.78rem;margin-top:2px}.plasw-form-grid-customer .span-3{grid-column:1/-1}.plasw-vehicle-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.plasw-vehicle-card{border:1px solid #dbe6f2;border-radius:14px;background:#f8fafc;padding:14px}.plasw-vehicle-card strong{display:block;font-size:1.05rem;color:#0f2947}.plasw-vehicle-card span,.plasw-vehicle-card small{display:block;color:#53657a;margin-top:4px}.plasw-customer-result{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:12px;align-items:center;text-decoration:none;color:#0f2947;background:#fff;border:1px solid #dbe6f2;border-radius:14px;padding:14px;margin-bottom:10px}.plasw-customer-result:hover{background:#f8fafc}.plasw-customer-result small{color:#53657a}.plasw-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.plasw-detail-grid div{border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#f8fafc}.plasw-detail-grid span{display:block;color:#64748b;font-size:.8rem}.plasw-detail-grid strong{font-size:.95rem;color:#0f2947}.plasw-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.plasw-form-actions .btn{min-width:145px;text-align:center}@media(max-width:760px){.plasw-customer-result{grid-template-columns:1fr}.plasw-form-actions .btn{width:100%}}

.plasw-workorders-front .plasw-workorder-search{grid-template-columns:minmax(260px,1fr) 220px auto auto;align-items:center}
.plasw-workorder-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.plasw-workorder-card{background:#fff;border:1px solid #dbe6f1;border-radius:18px;padding:18px;box-shadow:0 12px 32px rgba(20,45,70,.08);overflow:hidden}
.plasw-workorder-card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}
.plasw-workorder-card-top strong{display:block;color:#17324d;font-size:1.08rem;line-height:1.25}
.plasw-workorder-card-top small{display:block;margin-top:4px;color:#64748b;font-size:.88rem;line-height:1.35}
.plasw-workorder-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.plasw-workorder-meta span{display:block;border:1px solid #e4edf6;background:#f8fafc;border-radius:14px;padding:10px;color:#64748b;font-size:.78rem;line-height:1.25;min-width:0}
.plasw-workorder-meta strong{display:block;color:#17324d;font-size:.9rem;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plasw-workorder-card p{margin:0 0 14px;color:#334155;line-height:1.5;min-height:48px}
.plasw-workorder-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.plasw-workorder-actions .btn,.plasw-workorder-search .btn,.plasw-workorder-editor .btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:12px;white-space:nowrap}
.plasw-status.is-active{background:#e0f2fe;color:#075985;border-color:#bae6fd}
.plasw-status.is-warn{background:#fef3c7;color:#92400e;border-color:#fde68a}
.plasw-status.is-done{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.plasw-status.is-muted{background:#e5e7eb;color:#374151;border-color:#d1d5db}
.plasw-workorder-editor .plasw-section-head{margin-bottom:16px}
.plasw-workorder-editor textarea.form-control{resize:vertical;min-height:112px}
@media (max-width:1100px){.plasw-workorder-cards{grid-template-columns:1fr}.plasw-workorder-meta{grid-template-columns:1fr 1fr}.plasw-workorders-front .plasw-workorder-search{grid-template-columns:1fr 200px auto auto}}
@media (max-width:760px){.plasw-workorders-front .plasw-workorder-search,.plasw-workorder-meta,.plasw-workorder-actions{grid-template-columns:1fr}.plasw-workorder-card-top{flex-direction:column}.plasw-workorder-card .plasw-status{width:100%;justify-content:center}.plasw-workorder-search .btn,.plasw-workorder-actions .btn{width:100%}}

.plasw-workorders-admin .plasw-table-card-admin,
.plasw-workorders-admin .table-responsive{
    overflow-x:auto!important;
    overflow-y:visible!important;
    padding:14px 22px 24px 18px!important;
    border-radius:18px!important;
}
.plasw-workorders-admin .plasw-workorder-table{
    width:100%!important;
    min-width:1060px!important;
    table-layout:fixed!important;
    border-collapse:separate!important;
    border-spacing:0 10px!important;
}
.plasw-workorders-admin .plasw-workorder-table th:nth-child(1),
.plasw-workorders-admin .plasw-workorder-table td:nth-child(1){width:44px!important;}
.plasw-workorders-admin .plasw-workorder-table th:nth-child(2),
.plasw-workorders-admin .plasw-workorder-table td:nth-child(2){width:150px!important;}
.plasw-workorders-admin .plasw-workorder-table th:nth-child(3),
.plasw-workorders-admin .plasw-workorder-table td:nth-child(3){width:190px!important;}
.plasw-workorders-admin .plasw-workorder-table th:nth-child(4),
.plasw-workorders-admin .plasw-workorder-table td:nth-child(4){width:190px!important;}
.plasw-workorders-admin .plasw-workorder-table th:nth-child(5),
.plasw-workorders-admin .plasw-workorder-table td:nth-child(5){width:92px!important;}
.plasw-workorders-admin .plasw-workorder-table th:nth-child(6),
.plasw-workorders-admin .plasw-workorder-table td:nth-child(6){width:160px!important;}
.plasw-workorders-admin .plasw-workorder-table th:nth-child(7),
.plasw-workorders-admin .plasw-workorder-table td:nth-child(7){width:150px!important;}
.plasw-workorders-admin .plasw-workorder-table th:nth-child(8),
.plasw-workorders-admin .plasw-workorder-table td:nth-child(8){width:142px!important;min-width:142px!important;}
.plasw-workorders-admin .plasw-workorder-table tbody td{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:normal!important;
}
.plasw-workorders-admin .plasw-workorder-table tbody td.plasw-row-actions{
    overflow:visible!important;
    white-space:nowrap!important;
    background:#f3f6fa!important;
    border-radius:0 14px 14px 0!important;
    text-align:left!important;
    padding-right:18px!important;
}
.plasw-workorders-admin .plasw-workorder-table tbody tr:hover td.plasw-row-actions{
    background:#eef4fb!important;
}
.plasw-workorders-admin .plasw-workorder-table .plasw-row-actions .btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:104px!important;
    min-height:36px!important;
    padding:8px 14px!important;
    border-radius:10px!important;
    font-weight:800!important;
    line-height:1.1!important;
}
.plasw-workorders-front .plasw-workorder-card{
    min-width:0!important;
}
.plasw-workorders-front .plasw-status{
    max-width:100%;
    min-width:64px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.plasw-workorders-front .plasw-workorder-actions .btn,
.plasw-workorders-front .plasw-workorder-search .btn,
.plasw-workorders-front .plasw-big-button{
    overflow:hidden;
    text-overflow:ellipsis;
}
@media (max-width:760px){
    .plasw-workorders-admin .plasw-workorder-table{min-width:980px!important;}
}

.plasw-status.is-warn{background:#fef3c7!important;color:#92400e!important;border:1px solid #fde68a!important;}
.plasw-status.is-danger{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fecaca!important;}
.plasw-workorders-admin{overflow-x:visible!important;}
.plasw-workorders-admin .plasw-table-card-admin.table-responsive{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    padding:14px 18px 24px 14px!important;
    margin:0!important;
    border-radius:18px!important;
}
.plasw-workorders-admin .plasw-workorder-table{
    width:100%!important;
    min-width:1180px!important;
    table-layout:auto!important;
    border-collapse:separate!important;
    border-spacing:0 10px!important;
    margin:0!important;
    border:0!important;
}
.plasw-workorders-admin .plasw-workorder-table th,
.plasw-workorders-admin .plasw-workorder-table td{
    box-sizing:border-box!important;
    vertical-align:middle!important;
}
.plasw-workorders-admin .plasw-workorder-table th:nth-child(1),
.plasw-workorders-admin .plasw-workorder-table td:nth-child(1){width:44px!important;min-width:44px!important;max-width:44px!important;}
.plasw-workorders-admin .plasw-workorder-table th:nth-child(9),
.plasw-workorders-admin .plasw-workorder-table td:nth-child(9){width:220px!important;min-width:220px!important;max-width:220px!important;}
.plasw-workorders-admin .plasw-workorder-table tbody td:not(.plasw-row-actions){
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.plasw-workorders-admin .plasw-workorder-table tbody td.plasw-row-actions{
    display:table-cell!important;
    width:220px!important;
    min-width:220px!important;
    max-width:220px!important;
    padding:14px 18px 14px 12px!important;
    overflow:visible!important;
    white-space:normal!important;
    background:#f3f6fa!important;
    border-radius:0 14px 14px 0!important;
}
.plasw-workorders-admin .plasw-row-actions{
    gap:8px!important;
    align-items:center!important;
    flex-wrap:wrap!important;
}
.plasw-workorders-admin .plasw-row-actions form{display:inline-flex!important;margin:0!important;}
.plasw-workorders-admin .plasw-row-actions .btn{
    min-width:104px!important;
    min-height:38px!important;
    padding:8px 12px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:10px!important;
    white-space:nowrap!important;
    line-height:1.1!important;
}
.plasw-workorder-items-panel{margin-top:18px;padding:16px;border:1px solid #dbe6f2;border-radius:16px;background:#f8fafc;overflow-x:auto;}
.plasw-workorder-items-panel h3{font-size:1rem;margin:0 0 12px;color:#17324d;font-weight:800;}
.plasw-workorder-items-grid{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(220px,1.5fr) 110px 120px 120px 120px;gap:10px;align-items:center;min-width:900px;margin-bottom:8px;}
.plasw-workorder-items-grid:first-of-type{font-size:.78rem;color:#64748b;font-weight:800;text-transform:uppercase;letter-spacing:.02em;}
.plasw-workorder-item-row{padding:8px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;}
.plasw-workorder-item-row .form-control,.plasw-workorder-item-row .form-select{min-height:40px;}
.plasw-workorders-front .plasw-workorder-meta{grid-template-columns:repeat(4,minmax(0,1fr));}
.plasw-workorders-front .plasw-workorder-actions{grid-template-columns:repeat(3,minmax(0,1fr));}
.plasw-workorders-front .plasw-workorder-actions form{display:flex;margin:0;}
.plasw-workorders-front .plasw-workorder-actions form .btn{width:100%;}
@media (max-width:1100px){.plasw-workorders-front .plasw-workorder-meta{grid-template-columns:repeat(2,minmax(0,1fr));}.plasw-workorders-front .plasw-workorder-actions{grid-template-columns:1fr 1fr;}}
@media (max-width:760px){.plasw-workorders-front .plasw-workorder-meta,.plasw-workorders-front .plasw-workorder-actions{grid-template-columns:1fr;}.plasw-workorder-items-panel{padding:12px;}}

.plasw-service-signal{
    display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;
    font-size:0;color:transparent;border:1px solid #dbe6f2;background:#edf4fb;vertical-align:middle;
}
.plasw-service-signal::after{content:"";width:8px;height:8px;border-radius:999px;background:#94a3b8;display:block;}
.plasw-service-signal.is-ok{background:#f1f7f4;border-color:#d9eadf;}
.plasw-service-signal.is-ok::after{background:#68a57a;}
.plasw-service-signal.is-warn{background:#fbf7ec;border-color:#efe3bf;}
.plasw-service-signal.is-warn::after{background:#c79a2b;}
.plasw-service-signal.is-danger{background:#f8eeee;border-color:#ecd0d0;}
.plasw-service-signal.is-danger::after{background:#b65050;}
.plasw-service-signal-wrap strong{margin-top:7px!important;}
.plasw-workorder-items-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.plasw-workorder-items-head h3{margin:0!important;}
.plasw-workorder-items-head .btn{min-width:170px;min-height:38px;border-radius:10px;font-weight:800;}
.plasw-workorder-items-grid{grid-template-columns:minmax(260px,1.6fr) minmax(230px,1.4fr) 105px 115px 120px 115px 120px!important;min-width:1120px!important;}
.plasw-workorder-items-header{font-size:.78rem;color:#64748b;font-weight:800;text-transform:uppercase;letter-spacing:.02em;}
.plasw-remove-workorder-item{min-width:110px!important;min-height:40px!important;border-radius:10px!important;}
.plasw-workorder-article-select option{white-space:normal;}
.plasw-articles-admin .plasw-article-table{min-width:1120px!important;border-collapse:separate!important;border-spacing:0 10px!important;background:transparent!important;border:0!important;}
.plasw-articles-admin .plasw-article-table th{border:0!important;background:#fff;color:#0f2947;font-weight:800;padding:12px;white-space:nowrap;}
.plasw-articles-admin .plasw-article-table td{background:#f3f6fa!important;border:0!important;padding:14px 12px;vertical-align:middle;}
.plasw-articles-admin .plasw-article-table tbody tr td:first-child{border-radius:14px 0 0 14px;}
.plasw-articles-admin .plasw-article-table tbody tr td:last-child{border-radius:0 14px 14px 0;min-width:150px;overflow:visible!important;}
.plasw-articles-admin .plasw-article-table small{display:block;color:#64748b;font-size:.78rem;margin-top:2px;}
.plasw-articles-admin .plasw-row-actions{display:table-cell!important;white-space:nowrap!important;overflow:visible!important;}
.plasw-articles-admin .plasw-row-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-width:104px;min-height:38px;border-radius:10px;font-weight:800;}
.plasw-stock-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-weight:800;font-size:.82rem;white-space:nowrap;border:1px solid #cfe0f3;background:#eef6ff;color:#174366;}
.plasw-stock-pill.is-low{background:#fff7ed;color:#9a3412;border-color:#fed7aa;}
.plasw-stock-pill.is-ok{background:#edf7f1;color:#17643a;border-color:#cbe9d6;}
.plasw-article-editor textarea.form-control{min-height:100px;resize:vertical;}
.plasw-workorders-front .plasw-workorder-card{box-shadow:0 8px 24px rgba(20,45,70,.06)!important;}
.plasw-workorders-front .plasw-workorder-meta{grid-template-columns:repeat(4,minmax(0,1fr));}
.plasw-workorders-front .plasw-workorder-actions{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:1100px){.plasw-workorders-front .plasw-workorder-meta{grid-template-columns:repeat(2,minmax(0,1fr));}.plasw-workorders-front .plasw-workorder-actions{grid-template-columns:1fr 1fr;}}
@media (max-width:760px){.plasw-workorder-items-head{align-items:stretch;flex-direction:column}.plasw-workorder-items-head .btn{width:100%;}.plasw-workorders-front .plasw-workorder-meta,.plasw-workorders-front .plasw-workorder-actions{grid-template-columns:1fr;}}
.plasw-workorders-admin .plasw-table-card-admin.table-responsive{padding-right:42px!important;overflow-x:auto!important;overflow-y:visible!important;}
.plasw-workorders-admin .plasw-workorder-table th:nth-child(9),
.plasw-workorders-admin .plasw-workorder-table td:nth-child(9){width:260px!important;min-width:260px!important;max-width:260px!important;}
.plasw-workorders-admin .plasw-workorder-table tbody td.plasw-row-actions{width:260px!important;min-width:260px!important;max-width:260px!important;padding-right:28px!important;}
.plasw-workorders-admin .plasw-workorder-table{min-width:1240px!important;}


.plasw-workorders-front .plasw-workorder-cards{
    grid-template-columns:1fr!important;
    max-width:960px;
    margin-left:0;
    margin-right:auto;
}
.plasw-workorders-front .plasw-workorder-card{
    position:relative;
    padding:20px 20px 18px!important;
    border-width:1px!important;
    box-shadow:0 10px 28px rgba(20,45,70,.055)!important;
}
.plasw-workorders-front .plasw-workorder-card::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:8px;
    border-radius:18px 0 0 18px;
    background:#dbe6f2;
}
.plasw-workorders-front .plasw-workorder-card.plasw-customer-risk-ok{
    background:linear-gradient(90deg,#edf9f1 0,#ffffff 28%,#ffffff 100%)!important;
    border-color:#c9ead3!important;
}
.plasw-workorders-front .plasw-workorder-card.plasw-customer-risk-ok::before{background:#43a867;}
.plasw-workorders-front .plasw-workorder-card.plasw-customer-risk-watch{
    background:linear-gradient(90deg,#fff8e8 0,#ffffff 28%,#ffffff 100%)!important;
    border-color:#f4dfad!important;
}
.plasw-workorders-front .plasw-workorder-card.plasw-customer-risk-watch::before{background:#d69b20;}
.plasw-workorders-front .plasw-workorder-card.plasw-customer-risk-blocked{
    background:linear-gradient(90deg,#fff0f0 0,#ffffff 28%,#ffffff 100%)!important;
    border-color:#f0c6c6!important;
}
.plasw-workorders-front .plasw-workorder-card.plasw-customer-risk-blocked::before{background:#c24141;}
.plasw-workorders-front .plasw-workorder-card-top{
    align-items:center!important;
    padding:0 0 12px 0;
    border-bottom:1px solid rgba(148,163,184,.22);
}
.plasw-workorders-front .plasw-workorder-card-top small{
    font-weight:650;
    color:#475569!important;
}
.plasw-workorders-front .plasw-workorder-meta{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    margin-top:14px;
}
.plasw-workorders-front .plasw-service-signal-wrap,
.plasw-workorders-front .plasw-service-signal{
    display:none!important;
}
.plasw-workorders-front .plasw-workorder-actions{
    grid-template-columns:repeat(3,minmax(0,160px))!important;
}
.plasw-customer-class-select{
    font-weight:800;
}
@media (max-width:760px){
    .plasw-workorders-front .plasw-workorder-meta,
    .plasw-workorders-front .plasw-workorder-actions{grid-template-columns:1fr!important;}
    .plasw-workorders-front .plasw-workorder-cards{max-width:none;}
}

.plasw-workorder-items-panel{overflow-x:auto!important;}
.plasw-workorder-items-head span{display:block;color:#64748b;font-size:.86rem;margin-top:2px;}
.plasw-workorder-items-grid{grid-template-columns:minmax(280px,1.6fr) minmax(220px,1.3fr) 90px 95px 105px 95px 95px 115px 95px 105px 120px!important;min-width:1465px!important;}
.plasw-workorder-items-header>div{white-space:nowrap;}
.plasw-workorder-item-row .form-control,.plasw-workorder-item-row .form-select{width:100%;min-width:0;}
.plasw-line-input{text-align:right;}
.plasw-workorder-total-box{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #dbe6f2;}
.plasw-workorder-total-box span{display:inline-flex;gap:8px;align-items:center;background:#fff;border:1px solid #dbe6f2;border-radius:12px;padding:9px 12px;color:#64748b;font-size:.9rem;}
.plasw-workorder-total-box strong{color:#0f2947;font-weight:900;}
.plasw-workorders-front .plasw-workorder-actions form .btn{min-height:45px;}
.plasw-invoice-table,.plasw-stock-table{min-width:1060px!important;border-collapse:separate!important;border-spacing:0 10px!important;background:transparent!important;border:0!important;}
.plasw-invoice-table th,.plasw-stock-table th{background:#fff!important;border:0!important;color:#0f2947;font-weight:800;padding:12px;white-space:nowrap;}
.plasw-invoice-table td,.plasw-stock-table td{background:#f3f6fa!important;border:0!important;padding:14px 12px;vertical-align:middle;}
.plasw-invoice-table tbody tr td:first-child,.plasw-stock-table tbody tr td:first-child{border-radius:14px 0 0 14px;}
.plasw-invoice-table tbody tr td:last-child,.plasw-stock-table tbody tr td:last-child{border-radius:0 14px 14px 0;}
.plasw-total-strong{font-weight:900;color:#0f2947;white-space:nowrap;}
.plasw-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-weight:800;font-size:.82rem;border:1px solid #dbe6f2;background:#fff;color:#334155;white-space:nowrap;}
.plasw-status-pill.is-draft{background:#eff6ff;color:#1d4e89;border-color:#bfdbfe;}
.plasw-status-pill.is-paid{background:#edf7f1;color:#17643a;border-color:#cbe9d6;}
.plasw-status-pill.is-open{background:#fff7ed;color:#9a3412;border-color:#fed7aa;}
@media (max-width:760px){.plasw-workorder-total-box{justify-content:stretch}.plasw-workorder-total-box span{width:100%;justify-content:space-between}}

.plasw-workorder-items-panel-v51{
    overflow:visible!important;
    background:#f7f9fc!important;
    padding:18px!important;
}
.plasw-workorder-items-panel-v51 .plasw-workorder-items-head{
    align-items:flex-start!important;
    margin-bottom:16px!important;
}
.plasw-workorder-item-cards{
    display:grid!important;
    gap:14px!important;
}
.plasw-workorder-item-card{
    display:block!important;
    min-width:0!important;
    margin:0!important;
    padding:16px!important;
    border:1px solid #dbe6f2!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 8px 20px rgba(15,23,42,.04)!important;
}
.plasw-item-card-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:12px;
    padding-bottom:10px;
    border-bottom:1px solid #eef2f7;
}
.plasw-item-card-top strong{font-size:.98rem;color:#0f2947;font-weight:900;}
.plasw-item-wide{display:block;margin-bottom:10px;font-weight:800;color:#334155;}
.plasw-item-wide .form-control,.plasw-item-wide .form-select{margin-top:5px;}
.plasw-item-card-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(92px,1fr));
    gap:10px;
    align-items:end;
}
.plasw-item-card-grid label{font-weight:800;color:#334155;font-size:.86rem;}
.plasw-item-card-grid .form-control,.plasw-item-card-grid .form-select{
    margin-top:5px;
    min-height:42px!important;
    width:100%!important;
    border-radius:10px!important;
}
.plasw-workorder-items-panel-v51 .plasw-remove-workorder-item{
    min-width:108px!important;
    min-height:38px!important;
}
.plasw-frontend-article-create{
    margin-top:16px;
    border:1px solid #dbe6f2;
    border-radius:16px;
    background:#fff;
    overflow:hidden;
}
.plasw-frontend-article-create summary{
    cursor:pointer;
    padding:14px 16px;
    font-weight:900;
    color:#0f2947;
    background:#f8fafc;
    border-bottom:1px solid #e5edf5;
}
.plasw-frontend-article-box{padding:16px;}
.plasw-frontend-article-box p{margin:0 0 12px;color:#64748b;}
.plasw-articles-front .plasw-customer-search{margin-bottom:16px;}
.plasw-article-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:16px;}
.plasw-article-card{background:#fff;border:1px solid #dbe6f2;border-radius:16px;padding:16px;box-shadow:0 8px 20px rgba(15,23,42,.04);}
.plasw-article-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px;}
.plasw-article-card-top strong{font-size:1rem;color:#0f2947;font-weight:900;}
.plasw-article-card-top span{display:inline-flex;border:1px solid #dbe6f2;background:#f8fafc;border-radius:999px;padding:4px 9px;font-weight:800;font-size:.78rem;color:#475569;white-space:nowrap;}
.plasw-article-card small{display:block;color:#64748b;margin-bottom:12px;}
.plasw-article-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.plasw-article-card-meta span{background:#f8fafc;border:1px solid #e5edf5;border-radius:12px;padding:10px;color:#64748b;font-size:.84rem;min-width:0;}
.plasw-article-card-meta strong{display:block;color:#0f2947;font-weight:900;margin-top:3px;overflow:hidden;text-overflow:ellipsis;}
@media (max-width:1100px){.plasw-item-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:640px){
    .plasw-workorder-items-panel-v51{padding:12px!important;}
    .plasw-item-card-grid{grid-template-columns:1fr;}
    .plasw-item-card-top{align-items:stretch;flex-direction:column;}
    .plasw-item-card-top .btn{width:100%;}
    .plasw-article-card-meta{grid-template-columns:1fr;}
}
.plasw-permission-box{border:1px solid #dbe7f3;background:#f8fbff;border-radius:16px;padding:16px;margin-top:4px}.plasw-permission-box h3{margin:0 0 12px;font-size:1.05rem;color:#17324d}.plasw-permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.plasw-check-card{display:flex;align-items:center;gap:9px;border:1px solid #d8e2ef;background:#fff;border-radius:12px;padding:10px 12px;font-weight:700;color:#263548;min-height:44px}.plasw-check-card input{width:18px;height:18px}.plasw-actions-col{width:150px;min-width:150px}.plasw-table td small{display:block;color:#64748b;font-size:.78rem;margin-top:2px}.plasw-articles-admin .plasw-article-table{min-width:1040px}.plasw-articles-front .plasw-frontend-article-box .plasw-form-grid-customer{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}@media(max-width:720px){.plasw-permission-grid{grid-template-columns:1fr}.plasw-actions-col{width:auto;min-width:120px}}
.plasw-stocklocations-admin .plasw-table-card-admin{padding:0;overflow-x:auto;border-radius:18px}
.plasw-stocklocations-admin .plasw-table{width:100%;min-width:920px;margin:0;border:0;border-radius:0;border-collapse:separate;border-spacing:0;background:#fff}
.plasw-stocklocations-admin .plasw-table th{padding:14px 16px;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;border-bottom:1px solid #dbe6f2}
.plasw-stocklocations-admin .plasw-table td{padding:14px 16px;vertical-align:middle;border-bottom:1px solid #e5edf6;background:#fff;font-size:.95rem}
.plasw-stocklocations-admin .plasw-table tr:nth-child(even) td{background:#fbfdff}
.plasw-stocklocations-admin .plasw-table tr:hover td{background:#f4f8fd}
.plasw-stocklocation-title{display:flex;flex-direction:column;gap:3px;min-width:220px}
.plasw-stocklocation-title strong{font-size:1rem;line-height:1.25;color:#172033;font-weight:800}
.plasw-stocklocation-title small{font-size:.82rem;color:#64748b;line-height:1.35}
.plasw-stocklocations-admin .plasw-row-actions{min-width:150px;width:150px;text-align:left;white-space:nowrap}
.plasw-stocklocations-admin .plasw-row-actions .btn{min-width:108px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:8px 12px}
@media(max-width:760px){.plasw-stocklocations-admin .plasw-table{min-width:760px}.plasw-stocklocation-title{min-width:170px}}

.plasw-articles-front .plasw-article-card-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-top:16px!important;
}
.plasw-articles-front .plasw-article-card{
    display:block!important;
    width:100%!important;
    background:#fff!important;
    border:1px solid #dbe6f2!important;
    border-radius:16px!important;
    padding:16px!important;
    box-shadow:0 8px 20px rgba(15,23,42,.04)!important;
}
.plasw-articles-front .plasw-article-card-top{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:12px!important;
    margin:0 0 12px!important;
    padding-bottom:10px!important;
    border-bottom:1px solid #eef2f7!important;
}
.plasw-articles-front .plasw-article-card-top strong{
    font-size:.98rem!important;
    color:#0f2947!important;
    font-weight:900!important;
}
.plasw-articles-front .plasw-article-card-top span{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:32px!important;
    border:1px solid #dbe6f2!important;
    background:#f8fafc!important;
    border-radius:999px!important;
    padding:5px 10px!important;
    font-weight:900!important;
    font-size:.78rem!important;
    color:#475569!important;
    white-space:nowrap!important;
}
.plasw-articles-front .plasw-article-card small{
    display:block!important;
    color:#475569!important;
    margin:0 0 12px!important;
}
.plasw-articles-front .plasw-article-card-meta{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(120px,1fr))!important;
    gap:10px!important;
    align-items:stretch!important;
}
.plasw-articles-front .plasw-article-card-meta span{
    display:block!important;
    background:#f8fafc!important;
    border:1px solid #e5edf5!important;
    border-radius:12px!important;
    padding:10px!important;
    color:#64748b!important;
    font-size:.84rem!important;
    min-width:0!important;
}
.plasw-articles-front .plasw-article-card-meta strong{
    display:block!important;
    color:#0f2947!important;
    font-weight:900!important;
    margin-top:4px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
@media(max-width:1100px){
    .plasw-articles-front .plasw-article-card-meta{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:640px){
    .plasw-articles-front .plasw-article-card-top{align-items:stretch!important;flex-direction:column!important;}
    .plasw-articles-front .plasw-article-card-top span{align-self:flex-start!important;}
    .plasw-articles-front .plasw-article-card-meta{grid-template-columns:1fr!important;}
}

.plasw-cashsale-front .plasw-cashsale-card,
.plasw-cashsale-front .plasw-cashsale-history {
    margin-top: 18px;
}
.plasw-cashsale-options {
    margin-bottom: 18px;
}
.plasw-cashsale-row .plasw-item-grid {
    grid-template-columns: minmax(120px, 1fr) minmax(120px, 1fr) minmax(140px, 1fr) minmax(120px, 1fr);
}
.plasw-cashsale-total {
    margin-top: 16px;
    justify-content: flex-end;
}
.plasw-list-cards {
    display: grid;
    gap: 12px;
}
.plasw-sale-card {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto auto;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px solid #d9e6f5;
    border-radius: 16px;
    background: #fff;
}
.plasw-sale-card strong,
.plasw-sale-card small {
    display: block;
}
.plasw-sale-card small {
    color: #53657d;
    margin-top: 4px;
}
.plasw-status-pill.is-open {
    background: #fff7e6;
    border-color: #fed7aa;
    color: #9a3412;
}
.plasw-status-pill.is-paid {
    background: #ecfdf3;
    border-color: #bbf7d0;
    color: #166534;
}
.plasw-workorder-final-check {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #d9e6f5;
    border-radius: 18px;
    background: #f8fbff;
}
.plasw-workorder-final-check h3 {
    margin: 0 0 8px;
    font-size: 18px;
}
.plasw-workorder-final-check ul {
    margin: 0;
    padding-left: 18px;
}
@media (max-width: 760px) {
    .plasw-cashsale-row .plasw-item-grid,
    .plasw-sale-card {
        grid-template-columns: 1fr;
    }
    .plasw-cashsale-total {
        justify-content: stretch;
    }
}


.plasw-customers-admin .plasw-table-card-admin{
    border:1px solid #dbe7f3!important;
    border-radius:16px!important;
    background:#fff!important;
    padding:16px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
}
.plasw-customers-admin .plasw-customer-table{
    width:100%!important;
    min-width:1160px!important;
    table-layout:auto!important;
    border-collapse:separate!important;
    border-spacing:0 8px!important;
}
.plasw-customers-admin .plasw-customer-table thead th{
    padding:10px 12px!important;
    color:#0f2947!important;
    font-size:.84rem!important;
    font-weight:800!important;
    white-space:nowrap!important;
    background:#fff!important;
    border:0!important;
}
.plasw-customers-admin .plasw-customer-table tbody td{
    padding:13px 12px!important;
    background:#f7fafc!important;
    border-top:1px solid #e1e9f2!important;
    border-bottom:1px solid #e1e9f2!important;
    vertical-align:middle!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    color:#10243d!important;
}
.plasw-customers-admin .plasw-customer-table tbody td:first-child{
    border-left:1px solid #e1e9f2!important;
    border-radius:14px 0 0 14px!important;
}
.plasw-customers-admin .plasw-customer-table tbody td:last-child{
    border-right:1px solid #e1e9f2!important;
    border-radius:0 14px 14px 0!important;
}
.plasw-customers-admin .plasw-customer-table tbody tr:hover td{
    background:#eef5fb!important;
}
.plasw-customers-admin .plasw-customer-table td:nth-child(1){width:48px!important;}
.plasw-customers-admin .plasw-customer-table td:nth-child(2){width:95px!important;font-weight:800!important;}
.plasw-customers-admin .plasw-customer-table td:nth-child(3){min-width:300px!important;max-width:420px!important;}
.plasw-customers-admin .plasw-customer-table td:nth-child(4){min-width:135px!important;}
.plasw-customers-admin .plasw-customer-table td:nth-child(5){min-width:130px!important;}
.plasw-customers-admin .plasw-customer-table td:nth-child(6){min-width:155px!important;}
.plasw-customers-admin .plasw-customer-table td:nth-child(7){width:90px!important;text-align:center!important;}
.plasw-customers-admin .plasw-customer-table td:nth-child(8){width:110px!important;}
.plasw-customers-admin .plasw-customer-table td:nth-child(9){width:105px!important;}
.plasw-customers-admin .plasw-customer-table td:nth-child(10){width:130px!important;}
.plasw-customers-admin .plasw-customer-table td strong{
    color:#0b2746!important;
    font-size:.95rem!important;
    line-height:1.35!important;
}
.plasw-customers-admin .plasw-customer-table td small{
    display:block!important;
    margin-top:4px!important;
    color:#64748b!important;
    font-size:.82rem!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    max-width:360px!important;
}
.plasw-customers-admin .plasw-status{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:30px!important;
    padding:6px 11px!important;
    border-radius:999px!important;
    font-size:.78rem!important;
    font-weight:800!important;
    line-height:1!important;
    white-space:nowrap!important;
}
.plasw-customers-admin .plasw-customer-class.is-ok{background:#e9f8ef!important;color:#166534!important;border:1px solid #bce8cb!important;}
.plasw-customers-admin .plasw-customer-class.is-warn{background:#fff7df!important;color:#8a5a00!important;border:1px solid #ffe1a3!important;}
.plasw-customers-admin .plasw-customer-class.is-danger{background:#ffe8e8!important;color:#b42318!important;border:1px solid #ffc6c6!important;}
.plasw-customers-admin .plasw-row-actions{
    background:#f7fafc!important;
    text-align:left!important;
    white-space:nowrap!important;
    overflow:visible!important;
}
.plasw-customers-admin .plasw-row-actions .btn{
    min-width:104px!important;
    min-height:38px!important;
    padding:8px 14px!important;
    border-radius:9px!important;
}
.plasw-workorder-final-check{
    border:1px solid #dbe7f3!important;
    border-radius:16px!important;
    background:#f8fbff!important;
    padding:16px!important;
    margin-top:18px!important;
}
.plasw-workorder-final-check h3{
    margin:0 0 12px!important;
    color:#0f2947!important;
    font-size:1rem!important;
    font-weight:800!important;
}

.plasw-stock-front .plasw-stock-layout{display:grid;grid-template-columns:1fr;gap:16px;margin-top:18px}
.plasw-stock-card-list{display:grid;gap:12px}
.plasw-stock-card{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(120px,1fr));gap:12px;align-items:center;border:1px solid #dbe6f2;border-radius:16px;background:#fff;padding:14px 16px;box-shadow:0 8px 18px rgba(15,23,42,.035)}
.plasw-stock-card.is-low{border-color:#fed7aa;background:#fffaf2}
.plasw-stock-card strong{display:block;color:#0f2947;font-weight:900;line-height:1.25}
.plasw-stock-card small{display:block;color:#64748b;margin-top:4px}
.plasw-stock-card span{display:block;color:#64748b;font-size:.82rem;margin-bottom:4px}
.plasw-invoice-card{display:grid;grid-template-columns:minmax(240px,1.2fr) auto auto minmax(420px,1.7fr) auto;gap:12px;align-items:center;border:1px solid #dbe6f2;border-radius:16px;background:#fff;padding:14px 16px;box-shadow:0 8px 18px rgba(15,23,42,.035)}
.plasw-invoice-card.is-current{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.plasw-invoice-main strong,.plasw-invoice-main small{display:block}.plasw-invoice-main small{color:#64748b;margin-top:4px}
.plasw-invoice-status-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.plasw-invoice-status-form .form-select{min-height:40px}.plasw-invoice-status-form .btn{min-height:40px;white-space:nowrap}
.plasw-status-pill.is-partial{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.plasw-status-pill.is-cancelled{background:#fee2e2;color:#991b1b;border-color:#fecaca}
@media(max-width:1100px){.plasw-stock-card,.plasw-invoice-card{grid-template-columns:1fr}.plasw-invoice-status-form{grid-template-columns:1fr}.plasw-invoice-card .btn{width:100%}}

.plasw-accounting-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 20px}.plasw-accounting-card{background:#fff;border:1px solid #dbe7f4;border-radius:18px;padding:18px 20px;box-shadow:0 12px 28px rgba(15,39,70,.06)}.plasw-accounting-card span{display:block;color:#52627a;font-size:.9rem;font-weight:700;margin-bottom:6px}.plasw-accounting-card strong{display:block;color:#071d3a;font-size:1.65rem;font-weight:900}.plasw-invoice-actions{display:flex;gap:8px;flex-wrap:wrap}.plasw-invoice-table td{vertical-align:middle}@media(max-width:900px){.plasw-accounting-strip{grid-template-columns:1fr}.plasw-invoice-actions{min-width:180px}}

.plasw-page-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:24px;border:1px solid #e5e7eb;border-radius:22px;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);box-shadow:0 16px 38px rgba(15,23,42,.07);margin-bottom:22px}.plasw-page-hero h1{margin:4px 0 8px;font-size:28px;line-height:1.15;color:#111827}.plasw-page-hero p{margin:0;max-width:760px;color:#64748b}.plasw-eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0f766e}.plasw-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.plasw-accounting-strip.is-large .plasw-accounting-card{min-height:105px}.plasw-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:18px 0}.plasw-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.plasw-ledger-list{display:flex;flex-direction:column;gap:10px}.plasw-ledger-row{display:grid;grid-template-columns:minmax(180px,1fr) 130px minmax(120px,.7fr);gap:14px;align-items:center;padding:13px 14px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}.plasw-ledger-row strong{color:#111827}.plasw-ledger-row small{display:block;color:#64748b}.plasw-ledger-row .is-positive{color:#15803d}.plasw-ledger-row .is-negative{color:#b91c1c}.plasw-empty{padding:16px;border:1px dashed #cbd5e1;border-radius:16px;color:#64748b;background:#f8fafc}.plasw-table-scroll{border-radius:18px;overflow:auto;border:1px solid #e5e7eb}.plasw-accounting-dashboard .plasw-form-card{border-radius:22px}.plasw-invoice-table td small,.plasw-table td small{display:block;margin-top:4px;color:#64748b}.plasw-actions-clean{display:flex;gap:8px;flex-wrap:wrap}.plasw-bookkeeping-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px}.plasw-bookkeeping-summary>div{padding:14px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}.plasw-bookkeeping-summary span{display:block;color:#64748b;font-size:12px}.plasw-bookkeeping-summary strong{display:block;margin-top:4px;color:#111827;font-size:18px}@media(max-width:900px){.plasw-page-hero,.plasw-two-columns{display:block}.plasw-hero-actions{margin-top:16px}.plasw-two-columns>*+*{margin-top:18px}.plasw-ledger-row{grid-template-columns:1fr}.plasw-page-hero h1{font-size:23px}}

.plasw-entity-page .plasw-page-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;background:#fff;border:1px solid #dbe6f2;border-radius:18px;padding:22px 24px;margin:0 0 18px;box-shadow:0 12px 28px rgba(15,23,42,.05)}
.plasw-entity-page .plasw-page-hero h1{margin:4px 0 8px;color:#172033;font-size:1.8rem;line-height:1.15}
.plasw-entity-page .plasw-page-hero p{margin:0;color:#64748b;max-width:820px}
.plasw-eyebrow{display:inline-flex;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#315b83}
.plasw-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:0 0 14px}
.plasw-section-head h2{margin:0;color:#17324d;font-size:1.15rem}
.plasw-section-head span{color:#64748b;font-size:.92rem}
.plasw-compact-table{width:100%;min-width:920px;border-collapse:separate!important;border-spacing:0 8px!important;background:transparent!important;border:0!important}
.plasw-compact-table thead th{border:0!important;background:#f8fafc;color:#17324d;padding:10px 12px;font-weight:800}
.plasw-compact-table tbody td{border:0!important;background:#fff;padding:13px 12px;vertical-align:middle;box-shadow:inset 0 0 0 1px #e5edf5}
.plasw-compact-table tbody tr td:first-child{border-radius:12px 0 0 12px}.plasw-compact-table tbody tr td:last-child{border-radius:0 12px 12px 0}
@media (max-width:760px){.plasw-section-head{flex-direction:column}.plasw-entity-page .plasw-page-hero{padding:18px}.plasw-entity-page .plasw-page-hero h1{font-size:1.45rem}}

.plasw-calendar-page .plasw-calendar-list {
    display: grid;
    gap: 12px;
}
.plasw-calendar-row {
    display: grid;
    grid-template-columns: 170px minmax(220px, 1fr) minmax(180px, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid rgba(22, 38, 58, .10);
    border-left: 5px solid rgba(85, 98, 115, .34);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
}
.plasw-calendar-row strong,
.plasw-calendar-row span {
    display: block;
}
.plasw-calendar-row span {
    color: #657285;
    font-size: .9rem;
}
.plasw-calendar-status-requested { border-left-color: #f4c542; }
.plasw-calendar-status-confirmed { border-left-color: #46ad6e; }
.plasw-calendar-status-rejected,
.plasw-calendar-status-cancelled { border-left-color: #d85c5c; }
.plasw-calendar-status-done { border-left-color: #6d7f94; }
.plasw-calendar-status-absence { border-left-color: #8b6bd6; background: #fbf9ff; }
.plasw-inline-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    min-width: 230px;
}
.plasw-slot-hint {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(15, 23, 42, .04);
}
.plasw-slot-hint span {
    padding: 6px 10px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(22, 38, 58, .09);
    color: #39485c;
    font-size: .9rem;
}
@media (max-width: 900px) {
    .plasw-calendar-row {
        grid-template-columns: 1fr;
    }
    .plasw-inline-actions {
        justify-content: flex-start;
        min-width: 0;
        flex-wrap: wrap;
    }
}


.plasw-calendar-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;margin-top:10px;grid-column:1/-1}.plasw-calendar-actions form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.plasw-calendar-actions .form-control,.plasw-calendar-actions .form-select{min-width:150px}.plasw-calendar-row{border-radius:18px}.plasw-calendar-status-confirmed{border-left:5px solid rgba(34,197,94,.65)}.plasw-calendar-status-requested{border-left:5px solid rgba(245,158,11,.65)}.plasw-calendar-status-rejected,.plasw-calendar-status-cancelled{border-left:5px solid rgba(239,68,68,.65)}.plasw-calendar-status-done{border-left:5px solid rgba(59,130,246,.65)}@media(max-width:780px){.plasw-calendar-actions,.plasw-calendar-actions form{display:grid;grid-template-columns:1fr;width:100%}.plasw-calendar-actions .btn,.plasw-calendar-actions .form-control,.plasw-calendar-actions .form-select{width:100%}}

.plasw-real-calendar-card{overflow:visible}.plasw-calendar-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px}.plasw-calendar-toolbar strong{font-size:1.15rem;color:#10233d;margin:0 8px}.plasw-calendar-tabs{display:inline-flex;border:1px solid #d7e3f0;border-radius:12px;overflow:hidden;background:#fff}.plasw-calendar-tabs a{padding:9px 13px;text-decoration:none;color:#244568;font-weight:700}.plasw-calendar-tabs a.is-active{background:#102a5c;color:#fff}.plasw-calendar-grid{display:grid;gap:12px}.plasw-calendar-grid.mode-month,.plasw-calendar-grid.mode-week{grid-template-columns:repeat(7,minmax(0,1fr))}.plasw-calendar-grid.mode-day{grid-template-columns:1fr}.plasw-calendar-day{min-height:180px;border:1px solid #d9e5f2;border-radius:16px;background:#f8fafc;overflow:hidden}.plasw-calendar-day.is-today{box-shadow:inset 0 0 0 2px #244568}.plasw-calendar-day-head{display:flex;justify-content:space-between;gap:8px;padding:12px 14px;background:#fff;border-bottom:1px solid #e4ecf5}.plasw-calendar-day-head strong{font-size:.92rem;color:#10233d}.plasw-calendar-day-head span{font-size:.82rem;color:#617089}.plasw-calendar-day-body{display:flex;flex-direction:column;gap:8px;padding:10px;min-height:120px}.plasw-calendar-event{border:1px solid #d8e4f0;border-left-width:5px;border-radius:12px;background:#fff;box-shadow:0 6px 14px rgba(15,23,42,.04);overflow:hidden}.plasw-calendar-event summary{list-style:none;cursor:pointer;display:grid;gap:3px;padding:9px 10px}.plasw-calendar-event summary::-webkit-details-marker{display:none}.plasw-calendar-event summary span{font-size:.75rem;font-weight:800;color:#475569}.plasw-calendar-event summary strong{font-size:.88rem;color:#10233d;line-height:1.2}.plasw-calendar-event summary em{font-style:normal;font-size:.72rem;font-weight:800;color:#64748b}.plasw-calendar-event-body{padding:10px;border-top:1px solid #e8eef6;display:grid;gap:8px}.plasw-calendar-event-body p{margin:0;color:#334155;font-size:.86rem}.plasw-calendar-event-body form{display:grid;gap:8px}.plasw-calendar-actions{display:flex;flex-wrap:wrap;gap:8px}.plasw-calendar-actions form{display:inline-flex}.plasw-calendar-empty{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px dashed #d5e0ec;border-radius:12px;color:#94a3b8;background:#fff}.plasw-calendar-status-requested{border-left-color:#f59e0b}.plasw-calendar-status-confirmed{border-left-color:#16a34a}.plasw-calendar-status-rejected,.plasw-calendar-status-cancelled{border-left-color:#dc2626}.plasw-calendar-status-done{border-left-color:#2563eb}.plasw-calendar-status-absence{border-left-color:#7c3aed;background:#fbfaff}.plasw-time-choice{margin:16px 0;padding:14px;border:1px solid #dbe6f2;border-radius:14px;background:#f8fafc;display:flex;flex-direction:column;gap:10px}.plasw-time-choice strong{color:#10233d}.plasw-time-choice span{color:#64748b}.plasw-time-buttons{display:flex;flex-wrap:wrap;gap:8px}.plasw-time-button{border:1px solid #cbd7e5;background:#fff;border-radius:999px;padding:9px 13px;font-weight:800;color:#244568;cursor:pointer}.plasw-time-button.is-selected{background:#102a5c;color:#fff;border-color:#102a5c}.plasw-slot-hint{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;color:#64748b}.plasw-slot-hint strong{width:100%;color:#10233d}.plasw-slot-hint span{display:inline-flex;border:1px solid #dbe6f2;background:#fff;border-radius:999px;padding:6px 10px;font-size:.84rem}.plasw-form-grid-customer .span-3{grid-column:1/-1}@media (max-width:1100px){.plasw-calendar-grid.mode-month,.plasw-calendar-grid.mode-week{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.plasw-calendar-grid.mode-month,.plasw-calendar-grid.mode-week{grid-template-columns:1fr}.plasw-calendar-toolbar .btn,.plasw-calendar-tabs{width:100%}.plasw-calendar-tabs a{flex:1;text-align:center}.plasw-calendar-actions,.plasw-calendar-actions form{display:grid;width:100%}.plasw-calendar-actions .btn{width:100%}}

.plasw-admin,
.plasw-portal {
    --plasw-ink: #061a30;
    --plasw-ink-2: #0d2a48;
    --plasw-blue: #113d67;
    --plasw-blue-soft: #1f5a87;
    --plasw-orange: #f28c28;
    --plasw-orange-soft: #fff3e3;
    --plasw-red: #b91c1c;
    --plasw-cream: #fff9ef;
    --plasw-paper: #ffffff;
    --plasw-line: #d9e2ec;
    --plasw-muted-text: #59677a;
    color: var(--plasw-ink);
}

.plasw-admin .btn,
.plasw-portal .btn,
.plasw-admin button,
.plasw-portal button,
.plasw-big-button {
    border-radius: 12px !important;
    font-weight: 800 !important;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: none !important;
}

.plasw-admin .btn-primary,
.plasw-portal .btn-primary,
.plasw-big-button,
.plasw-portal .plasw-big-button,
.plasw-admin .plasw-big-button {
    background: linear-gradient(135deg, var(--plasw-ink), var(--plasw-blue)) !important;
    border-color: var(--plasw-ink) !important;
    color: #fff !important;
}

.plasw-admin .btn-secondary,
.plasw-portal .btn-secondary,
.plasw-admin .btn-outline-primary,
.plasw-portal .btn-outline-primary {
    background: #fff !important;
    border: 1px solid #c7d3df !important;
    color: var(--plasw-ink) !important;
}

.plasw-admin .btn:hover,
.plasw-portal .btn:hover,
.plasw-big-button:hover {
    transform: translateY(-1px);
}

.plasw-portal-head,
.plasw-leiste,
.plasw-form-card,
.plasw-card,
.plasw-table-card,
.plasw-table-card-admin,
.plasw-real-calendar-card,
.plasw-notice-card,
.plasw-timeclock-card,
.plasw-overtime-card {
    border: 1px solid rgba(6, 26, 48, .12) !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, #fff, var(--plasw-cream)) !important;
    box-shadow: 0 18px 40px rgba(6, 26, 48, .08) !important;
}

.plasw-portal-head h1,
.plasw-form-card h1,
.plasw-form-card h2,
.plasw-table-card h2,
.plasw-section-head h2,
.plasw-admin h1,
.plasw-admin h2,
.plasw-portal h1,
.plasw-portal h2 {
    color: var(--plasw-ink) !important;
    letter-spacing: -.025em;
}

.plasw-portal-head p,
.plasw-form-card p,
.plasw-section-head span,
.plasw-card span,
.plasw-portal-card span {
    color: var(--plasw-muted-text) !important;
}

/* Diese Regel hat das letzte Wort - sie steht am weitesten hinten und traegt
   !important. Ein overflow:hidden darin hat jeder breiten Tabelle im
   Adminbereich das waagerechte Scrollen verboten; die Artikelliste war links
   und rechts abgeschnitten, ohne Moeglichkeit, sie zu schieben.
   Die Regeln direkt darunter erwarten ein .table-responsive INNERHALB der
   Karte - in den Vorlagen sitzen beide Klassen aber auf DEMSELBEN Element,
   dort greifen sie also nie. Deshalb hier. */
.plasw-table-card-admin,
.plasw-table-card {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 18px !important;
}

.plasw-table-card-admin .table-responsive,
.plasw-table-card .table-responsive {
    overflow-x: auto;
    border-radius: 18px;
}

.plasw-admin table.table,
.plasw-portal table.table,
.plasw-table,
.plasw-compact-table,
.plasw-timeentries-table,
.plasw-employee-table {
    border-collapse: separate !important;
    border-spacing: 0 10px !important;
    background: transparent !important;
    border: 0 !important;
    min-width: 0;
}

.plasw-admin table.table thead th,
.plasw-portal table.table thead th,
.plasw-timeentries-table thead th,
.plasw-compact-table thead th {
    border: 0 !important;
    background: transparent !important;
    color: var(--plasw-ink) !important;
    font-size: .84rem !important;
    text-transform: none;
    font-weight: 900 !important;
    padding: 10px 14px !important;
}

.plasw-admin table.table tbody td,
.plasw-portal table.table tbody td,
.plasw-timeentries-table tbody td,
.plasw-compact-table tbody td {
    background: #f4f6f8 !important;
    border-top: 1px solid #dde5ee !important;
    border-bottom: 1px solid #dde5ee !important;
    padding: 14px !important;
    vertical-align: middle !important;
}

.plasw-admin table.table tbody tr td:first-child,
.plasw-portal table.table tbody tr td:first-child,
.plasw-timeentries-table tbody tr td:first-child,
.plasw-compact-table tbody tr td:first-child {
    border-left: 1px solid #dde5ee !important;
    border-radius: 16px 0 0 16px !important;
}

.plasw-admin table.table tbody tr td:last-child,
.plasw-portal table.table tbody tr td:last-child,
.plasw-timeentries-table tbody tr td:last-child,
.plasw-compact-table tbody tr td:last-child {
    border-right: 1px solid #dde5ee !important;
    border-radius: 0 16px 16px 0 !important;
    min-width: 150px;
}

.plasw-admin table.table tbody tr:hover td,
.plasw-portal table.table tbody tr:hover td,
.plasw-timeentries-table tbody tr:hover td,
.plasw-compact-table tbody tr:hover td {
    background: #eef3f8 !important;
}

.plasw-row-actions,
.plasw-inline-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    min-width: 150px !important;
    overflow: visible !important;
}

.plasw-row-actions .btn,
.plasw-inline-actions .btn,
.plasw-admin table.table td .btn,
.plasw-portal table.table td .btn {
    min-width: 104px;
    white-space: nowrap;
}

.plasw-status,
.badge-status {
    border-radius: 999px !important;
    padding: 6px 11px !important;
    font-size: .78rem !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
}

.plasw-status.is-ok,
.badge-status.is-ok {
    background: #e8f7ee !important;
    border: 1px solid #b7e4c7 !important;
    color: #116b39 !important;
}

.plasw-status.is-open,
.plasw-calendar-status-requested,
.badge-status.is-open {
    background: var(--plasw-orange-soft) !important;
    border-color: #ffd59f !important;
    color: #9a4b00 !important;
}

.plasw-status.is-off,
.badge-status.is-off {
    background: #f1f5f9 !important;
    border: 1px solid #d7e0ea !important;
    color: #475569 !important;
}

.plasw-calendar-page {
    max-width: 1280px;
}

.plasw-calendar-page .plasw-portal-head,
.plasw-calendar-page .plasw-form-card,
.plasw-calendar-page .plasw-real-calendar-card {
    background: linear-gradient(180deg, #ffffff, #fff7eb) !important;
}

.plasw-calendar-toolbar {
    display: grid !important;
    grid-template-columns: auto minmax(140px, 1fr) auto auto auto;
    gap: 10px !important;
    align-items: center !important;
    padding: 12px !important;
    background: #f6efe5 !important;
    border: 1px solid #ead8bf !important;
    border-radius: 18px !important;
    margin-bottom: 18px !important;
}

.plasw-calendar-toolbar strong {
    justify-self: center;
    color: var(--plasw-ink) !important;
    font-size: 1.2rem !important;
    font-weight: 900 !important;
}

.plasw-calendar-tabs {
    border: 1px solid #c7d3df !important;
    border-radius: 14px !important;
    background: #fff !important;
}

.plasw-calendar-tabs a {
    color: var(--plasw-ink) !important;
    font-weight: 900 !important;
    padding: 10px 15px !important;
}

.plasw-calendar-tabs a.is-active {
    background: linear-gradient(135deg, var(--plasw-ink), var(--plasw-blue)) !important;
    color: #fff !important;
}

.plasw-calendar-grid {
    gap: 14px !important;
}

.plasw-calendar-grid.mode-month,
.plasw-calendar-grid.mode-week {
    grid-template-columns: repeat(7, minmax(130px, 1fr)) !important;
}

.plasw-calendar-day {
    min-height: 188px !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff, #f4f6f8) !important;
    overflow: hidden !important;
    box-shadow: 0 10px 22px rgba(6, 26, 48, .06) !important;
}

.plasw-calendar-day.is-today {
    border-color: var(--plasw-orange) !important;
    box-shadow: inset 0 0 0 2px rgba(242, 140, 40, .55), 0 12px 26px rgba(6, 26, 48, .08) !important;
}

.plasw-calendar-day-head {
    background: linear-gradient(135deg, var(--plasw-ink), var(--plasw-blue)) !important;
    color: #fff !important;
    border-bottom: 3px solid var(--plasw-orange) !important;
    padding: 11px 12px !important;
}

.plasw-calendar-day-head strong,
.plasw-calendar-day-head span {
    color: #fff !important;
}

.plasw-calendar-day-head strong {
    font-size: .92rem !important;
    font-weight: 900 !important;
}

.plasw-calendar-day-head span {
    font-size: .78rem !important;
    opacity: .82;
}

.plasw-calendar-day-body {
    padding: 10px !important;
    gap: 9px !important;
}

.plasw-calendar-empty {
    min-height: 36px !important;
    border: 1px dashed #cbd5df !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .75) !important;
    color: #8a96a6 !important;
    font-weight: 700 !important;
}

.plasw-calendar-event {
    border: 1px solid #d7e0ea !important;
    border-left: 0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(6, 26, 48, .07) !important;
    position: relative;
}

.plasw-calendar-event::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: var(--plasw-orange);
}

.plasw-calendar-event summary {
    padding: 10px 11px 10px 14px !important;
    gap: 4px !important;
}

.plasw-calendar-event summary span {
    color: var(--plasw-ink) !important;
    font-size: .75rem !important;
    font-weight: 900 !important;
}

.plasw-calendar-event summary strong {
    color: var(--plasw-ink) !important;
    font-size: .88rem !important;
    font-weight: 900 !important;
    line-height: 1.18 !important;
    word-break: break-word;
}

.plasw-calendar-event summary em {
    color: #6b7280 !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
}

.plasw-calendar-status-confirmed::before { background: #16a34a !important; }
.plasw-calendar-status-requested::before { background: var(--plasw-orange) !important; }
.plasw-calendar-status-rejected::before,
.plasw-calendar-status-cancelled::before { background: #dc2626 !important; }
.plasw-calendar-status-done::before { background: #2563eb !important; }
.plasw-calendar-status-absence::before { background: #7c3aed !important; }
.plasw-calendar-status-absence {
    background: #fff !important;
}

.plasw-calendar-event-body {
    background: #fffaf4 !important;
    border-top: 1px solid #ead8bf !important;
}

.plasw-time-choice,
.plasw-slot-hint {
    border: 1px solid #ead8bf !important;
    border-radius: 18px !important;
    background: #fff7eb !important;
}

.plasw-time-button {
    min-height: 40px;
    border: 1px solid #d3a569 !important;
    background: #fff !important;
    color: var(--plasw-ink) !important;
    border-radius: 999px !important;
    font-weight: 900 !important;
}

.plasw-time-button.is-selected,
.plasw-time-button:hover {
    background: linear-gradient(135deg, var(--plasw-ink), var(--plasw-blue)) !important;
    border-color: var(--plasw-ink) !important;
    color: #fff !important;
}

.plasw-portal-card {
    border-radius: 20px !important;
    border: 1px solid rgba(6, 26, 48, .12) !important;
    background: linear-gradient(180deg, #fff, #fff8ec) !important;
    box-shadow: 0 14px 30px rgba(6, 26, 48, .07) !important;
}

.plasw-portal-card:hover {
    border-color: rgba(242, 140, 40, .75) !important;
    box-shadow: 0 18px 34px rgba(6, 26, 48, .10) !important;
}

.plasw-form-grid input,
.plasw-form-grid select,
.plasw-form-grid textarea,
.plasw-admin .form-control,
.plasw-admin .form-select,
.plasw-portal .form-control,
.plasw-portal .form-select {
    border-radius: 12px !important;
    border-color: #cbd6e2 !important;
    min-height: 42px;
}

.plasw-form-grid input:focus,
.plasw-form-grid select:focus,
.plasw-form-grid textarea:focus,
.plasw-admin .form-control:focus,
.plasw-admin .form-select:focus,
.plasw-portal .form-control:focus,
.plasw-portal .form-select:focus {
    border-color: var(--plasw-orange) !important;
    box-shadow: 0 0 0 .18rem rgba(242, 140, 40, .18) !important;
}

@media (max-width: 1180px) {
    .plasw-calendar-grid.mode-month,
    .plasw-calendar-grid.mode-week {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .plasw-calendar-toolbar {
        grid-template-columns: 1fr !important;
    }
    .plasw-calendar-toolbar strong {
        justify-self: start;
    }
    .plasw-calendar-grid.mode-month,
    .plasw-calendar-grid.mode-week {
        grid-template-columns: 1fr !important;
    }
    .plasw-row-actions,
    .plasw-inline-actions,
    .plasw-calendar-actions,
    .plasw-calendar-actions form {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }
    .plasw-row-actions .btn,
    .plasw-inline-actions .btn,
    .plasw-calendar-actions .btn {
        width: 100% !important;
    }
}


.plasw-calendar-page {
    /* Die Breite kommt von .plasw-portal (1720px) wie bei jeder anderen
       Seite. Hier stand 1180px mit !important - noch aus der Zeit vor dem
       Umbau auf die volle Bildschirmbreite. Weil !important gewinnt, blieb
       ausgerechnet der Terminkalender schmal, waehrend alles andere breiter
       wurde. */
    overflow-x: hidden !important;
}

.plasw-calendar-page .plasw-real-calendar-card {
    padding: 18px !important;
    overflow: hidden !important;
}

.plasw-calendar-toolbar {
    grid-template-columns: auto minmax(100px, 1fr) auto auto !important;
    width: 100% !important;
}

.plasw-calendar-tabs {
    justify-self: end !important;
}

.plasw-calendar-grid {
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
}

.plasw-calendar-grid.mode-month,
.plasw-calendar-grid.mode-week {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}

.plasw-calendar-day {
    min-width: 0 !important;
    min-height: 176px !important;
    border-radius: 15px !important;
    overflow: hidden !important;
}

.plasw-calendar-day-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    min-width: 0 !important;
    padding: 9px 10px !important;
    white-space: nowrap !important;
}

.plasw-calendar-day-head strong {
    min-width: 0 !important;
    max-width: calc(100% - 54px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: .86rem !important;
    line-height: 1.1 !important;
}

.plasw-calendar-day-head span {
    flex: 0 0 auto !important;
    max-width: 54px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: .68rem !important;
    line-height: 1.1 !important;
    opacity: .9 !important;
    text-align: right !important;
}

.plasw-calendar-day-body {
    padding: 8px !important;
    gap: 7px !important;
    min-height: 110px !important;
}

.plasw-calendar-empty {
    min-height: 32px !important;
    font-size: .84rem !important;
    padding: 6px 8px !important;
}

.plasw-calendar-event {
    width: 100% !important;
    min-width: 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

.plasw-calendar-event summary {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
    padding: 8px 9px 8px 13px !important;
    gap: 2px !important;
}

.plasw-calendar-event summary span,
.plasw-calendar-event summary strong,
.plasw-calendar-event summary em {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto !important;
}

.plasw-calendar-event summary span {
    font-size: .68rem !important;
    line-height: 1.15 !important;
}

.plasw-calendar-event summary strong {
    font-size: .78rem !important;
    line-height: 1.18 !important;
}

.plasw-calendar-event summary em {
    font-size: .68rem !important;
    line-height: 1.15 !important;
}

.plasw-calendar-event-body {
    padding: 8px !important;
}

.plasw-calendar-event-body .btn,
.plasw-calendar-actions .btn {
    min-height: 34px !important;
    padding: 7px 10px !important;
    font-size: .82rem !important;
}

@media (min-width: 1181px) and (max-width: 1320px) {
    .plasw-calendar-page {
        max-width: 100% !important;
    }
    .plasw-calendar-grid.mode-month,
    .plasw-calendar-grid.mode-week {
        gap: 8px !important;
    }
    .plasw-calendar-day-head strong {
        font-size: .8rem !important;
    }
    .plasw-calendar-day-head span {
        font-size: .64rem !important;
        max-width: 46px !important;
    }
}

@media (max-width: 1180px) {
    .plasw-calendar-grid.mode-month,
    .plasw-calendar-grid.mode-week {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .plasw-calendar-page .plasw-real-calendar-card {
        padding: 12px !important;
    }
    .plasw-calendar-grid.mode-month,
    .plasw-calendar-grid.mode-week {
        grid-template-columns: 1fr !important;
    }
    .plasw-calendar-day {
        min-height: 130px !important;
    }
    .plasw-calendar-day-head strong {
        max-width: calc(100% - 80px) !important;
    }
    .plasw-calendar-day-head span {
        max-width: 80px !important;
        font-size: .72rem !important;
    }
}

.plasw-calendar-event {
    appearance: none !important;
    border: 1px solid rgba(15, 43, 74, .14) !important;
    background: #fff !important;
    text-align: left !important;
    cursor: pointer !important;
    display: grid !important;
    gap: 2px !important;
    padding: 8px 9px 8px 13px !important;
    box-shadow: 0 10px 22px rgba(15, 43, 74, .07) !important;
}

.plasw-calendar-event:hover,
.plasw-calendar-event:focus {
    transform: translateY(-1px);
    border-color: rgba(242, 140, 40, .55) !important;
    box-shadow: 0 14px 28px rgba(15, 43, 74, .13) !important;
    outline: none !important;
}

.plasw-calendar-panel-source {
    display: none !important;
}

.plasw-calendar-drawer {
    position: fixed;
    inset: 0;
    z-index: 9999;
    pointer-events: none;
    opacity: 0;
    transition: opacity .18s ease;
}

.plasw-calendar-drawer.is-open {
    opacity: 1;
    pointer-events: auto;
}

.plasw-calendar-drawer-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7, 22, 39, .44);
}

.plasw-calendar-drawer-panel {
    position: absolute;
    top: 0;
    right: 0;
    width: min(460px, 94vw);
    height: 100%;
    overflow-y: auto;
    background: #fffaf2;
    border-left: 1px solid rgba(242, 140, 40, .28);
    box-shadow: -24px 0 60px rgba(7, 22, 39, .22);
    padding: 24px;
    transform: translateX(18px);
    transition: transform .18s ease;
}

.plasw-calendar-drawer.is-open .plasw-calendar-drawer-panel {
    transform: translateX(0);
}

.plasw-calendar-drawer-close {
    position: sticky;
    top: 0;
    margin-left: auto;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    border: 1px solid rgba(15, 43, 74, .18);
    background: #ffffff;
    color: #0b2e4f;
    font-size: 1.6rem;
    line-height: 1;
    z-index: 2;
}

.plasw-drawer-title {
    display: grid;
    gap: 6px;
    padding: 18px;
    border-radius: 18px;
    background: linear-gradient(135deg, #0b2e4f, #071827);
    color: #fff;
    border-bottom: 4px solid #f28c28;
    margin-bottom: 16px;
}

.plasw-drawer-title span {
    color: #ffdcae;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: .74rem;
}

.plasw-drawer-title strong {
    font-size: 1.45rem;
    line-height: 1.15;
}

.plasw-drawer-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.plasw-drawer-meta span,
.plasw-drawer-box {
    border: 1px solid rgba(15, 43, 74, .12);
    border-radius: 16px;
    background: #fff;
    padding: 12px;
    box-shadow: 0 10px 24px rgba(15, 43, 74, .06);
}

.plasw-drawer-meta strong {
    display: block;
    color: #60728a;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 4px;
}

.plasw-drawer-box h3 {
    margin: 0 0 10px;
    font-size: 1rem;
    color: #0b2e4f;
}

.plasw-drawer-form {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.plasw-drawer-form label {
    display: grid;
    gap: 6px;
    color: #0b2e4f;
    font-weight: 800;
}

.plasw-drawer-actions {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.plasw-drawer-actions form,
.plasw-drawer-actions .btn,
.plasw-drawer-form .btn {
    width: 100%;
}

.plasw-status.is-neutral {
    background: #edf2f7;
    color: #52657a;
    border: 1px solid #d8e2ee;
}

@media (max-width: 640px) {
    .plasw-calendar-drawer-panel {
        width: 100vw;
        padding: 18px;
    }
    .plasw-drawer-meta {
        grid-template-columns: 1fr;
    }
}

.plasw-shop-shell{max-width:1180px;margin:0 auto;padding:24px 18px 48px;color:#071f3b;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.plasw-shop-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:center;background:linear-gradient(135deg,#071f3b,#0d3a63 58%,#ff8a1f);border-radius:28px;padding:34px;box-shadow:0 22px 55px rgba(7,31,59,.24);color:#fff;overflow:hidden}.plasw-shop-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(255,138,31,.18);border:1px solid rgba(255,255,255,.18);font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem}.plasw-shop-hero h1{font-size:clamp(2rem,4vw,4rem);line-height:1;margin:18px 0 12px;font-weight:950;max-width:820px}.plasw-shop-hero p{font-size:1.06rem;line-height:1.6;max-width:760px;color:rgba(255,255,255,.86);margin:0}.plasw-shop-hero-badge{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border-radius:24px;padding:24px;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end}.plasw-shop-hero-badge strong{font-size:1.45rem;line-height:1.1}.plasw-shop-hero-badge span{margin-top:8px;color:#ffe1c4;font-weight:700}.plasw-shop-search{display:flex;gap:12px;margin:24px 0;padding:14px;background:#fff;border:1px solid #d8e4ef;border-radius:20px;box-shadow:0 12px 30px rgba(7,31,59,.08)}.plasw-shop-search input{flex:1;border:1px solid #c9d7e5;border-radius:14px;padding:13px 16px;font-weight:650}.plasw-shop-search button,.plasw-shop-search a,.plasw-shop-checkout button{border:0;border-radius:14px;background:#071f3b;color:#fff;font-weight:900;padding:13px 20px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.plasw-shop-search a{background:#fff;color:#071f3b;border:1px solid #c9d7e5}.plasw-shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.plasw-shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.plasw-shop-product{background:#fff;border:1px solid #d9e5ef;border-radius:24px;box-shadow:0 16px 40px rgba(7,31,59,.08);overflow:hidden;display:grid;grid-template-columns:132px minmax(0,1fr);min-height:246px}.plasw-shop-product-media{background:linear-gradient(145deg,#081f3a,#0d3d67);display:flex;align-items:center;justify-content:center;border-right:4px solid #ff8a1f}.plasw-shop-product-media span{width:76px;height:76px;border-radius:22px;background:#fff3e7;color:#071f3b;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:950;box-shadow:0 12px 28px rgba(0,0,0,.22)}.plasw-shop-product-body{padding:18px;display:flex;flex-direction:column;gap:10px}.plasw-shop-product-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.plasw-shop-product-top small{font-weight:850;color:#60728a}.plasw-shop-product-top em{font-style:normal;background:#fff2e5;color:#ad4a00;border:1px solid #ffc17f;border-radius:999px;padding:5px 9px;font-weight:850;font-size:.78rem}.plasw-shop-product h2{font-size:1.18rem;line-height:1.15;margin:0;font-weight:950;color:#061d38}.plasw-shop-maker{margin:0;color:#536985;font-weight:750}.plasw-shop-desc{margin:0;color:#52677e;line-height:1.4;min-height:38px}.plasw-shop-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plasw-shop-facts span{background:#f6f9fc;border:1px solid #dce8f2;border-radius:14px;padding:9px;font-size:.82rem;color:#66758a}.plasw-shop-facts strong{display:block;color:#071f3b;margin-top:3px}.plasw-shop-buyline{display:flex;align-items:baseline;gap:8px;margin-top:auto}.plasw-shop-buyline strong{font-size:1.45rem;color:#071f3b;font-weight:950}.plasw-shop-buyline span{color:#6a7b90;font-size:.82rem}.plasw-shop-qty{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:10px;font-weight:850;color:#071f3b}.plasw-shop-qty input{border:1px solid #c9d7e5;border-radius:13px;padding:11px 12px;font-weight:800}.plasw-shop-out{padding:11px 13px;border-radius:14px;background:#fff0f0;color:#b42318;border:1px solid #ffc9c9;font-weight:900}.plasw-shop-checkout{position:sticky;top:18px;background:#fff;border:1px solid #d9e5ef;border-radius:24px;box-shadow:0 16px 44px rgba(7,31,59,.12);padding:22px}.plasw-shop-checkout h2{margin:0 0 6px;font-size:1.5rem;font-weight:950}.plasw-shop-checkout p{margin:0 0 16px;color:#5a6f87;line-height:1.45}.plasw-shop-checkout label{display:block;font-weight:850;color:#071f3b;margin:0 0 12px}.plasw-shop-checkout input,.plasw-shop-checkout select,.plasw-shop-checkout textarea{width:100%;margin-top:6px;border:1px solid #c9d7e5;border-radius:14px;padding:12px 13px;background:#fff}.plasw-shop-checkout button{width:100%;background:linear-gradient(135deg,#071f3b,#0d3a63);font-size:1rem;margin-top:4px}.plasw-shop-empty{grid-column:1/-1;background:#fff;border:1px dashed #c7d7e7;border-radius:22px;padding:28px;text-align:center;font-weight:850;color:#71849b}@media(max-width:1050px){.plasw-shop-layout,.plasw-shop-hero{grid-template-columns:1fr}.plasw-shop-checkout{position:static}.plasw-shop-grid{grid-template-columns:1fr}}@media(max-width:640px){.plasw-shop-shell{padding:14px 10px 34px}.plasw-shop-hero{padding:24px;border-radius:22px}.plasw-shop-search{flex-direction:column}.plasw-shop-product{grid-template-columns:1fr}.plasw-shop-product-media{min-height:120px;border-right:0;border-bottom:4px solid #ff8a1f}.plasw-shop-facts{grid-template-columns:1fr}}


.plasw-calendar-page .plasw-real-calendar-card{overflow:hidden}
.plasw-calendar-scroll{width:100%;overflow-x:auto;padding-bottom:6px}
.plasw-calendar-scroll.mode-week .plasw-calendar-grid,
.plasw-calendar-scroll.mode-month .plasw-calendar-grid{min-width:980px}
.plasw-calendar-grid.mode-day{min-width:0}
.plasw-calendar-grid.mode-week{grid-template-columns:repeat(7,minmax(132px,1fr)) !important}
.plasw-calendar-grid.mode-month{grid-template-columns:repeat(7,minmax(132px,1fr)) !important}
.plasw-calendar-day{background:#fbfcfd !important;border:1px solid #d7e0ea !important;border-radius:18px !important;min-height:220px !important}
.plasw-calendar-day-head{padding:10px 11px !important;background:linear-gradient(180deg,#072141 0%,#0c315b 100%) !important;border-bottom:3px solid #f28c1b !important;align-items:center !important}
.plasw-calendar-day-head strong{font-size:1rem !important;color:#fff !important;font-weight:900 !important;letter-spacing:-.01em !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;max-width:52% !important}
.plasw-calendar-day-head span{font-size:.84rem !important;color:rgba(255,255,255,.88) !important;font-weight:700 !important;white-space:nowrap !important}
.plasw-calendar-day-body{padding:10px 8px !important;gap:8px !important;align-content:start !important}
.plasw-calendar-empty{min-height:42px !important;font-size:1rem !important;background:#fff !important;border-style:dashed !important}
.plasw-calendar-event{display:block;width:100%;text-align:left;padding:0 !important;border:1px solid #d8e1ec !important;border-radius:16px !important;box-shadow:none !important;background:#fff !important;overflow:hidden !important}
.plasw-calendar-event summary,.plasw-calendar-event{font-family:inherit}
.plasw-calendar-event span,.plasw-calendar-event strong,.plasw-calendar-event em{display:block}
.plasw-calendar-event span{font-size:.84rem !important;line-height:1.2 !important;font-weight:900 !important;color:#8a4900 !important}
.plasw-calendar-event strong{font-size:.95rem !important;line-height:1.12 !important;font-weight:900 !important;color:#071f3b !important;margin-top:3px !important;word-break:break-word !important;overflow-wrap:anywhere !important}
.plasw-calendar-event em{font-size:.8rem !important;line-height:1.2 !important;font-weight:800 !important;color:#6b7280 !important;margin-top:4px !important}
.plasw-calendar-event[data-plasw-calendar-open], .plasw-calendar-event{cursor:pointer}
.plasw-calendar-event{padding:10px 10px 11px 12px !important;position:relative}
.plasw-calendar-event::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:14px 0 0 14px;background:#f28c1b}
.plasw-calendar-status-absence{background:#fff !important}
.plasw-calendar-status-absence span{color:#4f46e5 !important}
.plasw-calendar-status-absence::before{background:#7c3aed !important}
.plasw-calendar-status-confirmed::before{background:#16a34a !important}
.plasw-calendar-status-requested::before{background:#f28c1b !important}
.plasw-calendar-status-rejected::before,.plasw-calendar-status-cancelled::before{background:#dc2626 !important}
.plasw-calendar-status-done::before{background:#2563eb !important}
.plasw-calendar-drawer-panel{border-radius:24px 0 0 24px !important;background:#fbfcfe !important}
.plasw-drawer-title strong{font-size:1.35rem;font-weight:900;color:#072141}
.plasw-drawer-title span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff2e5;color:#ad4a00;font-weight:800;text-transform:uppercase;font-size:.74rem}
.plasw-drawer-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.plasw-drawer-meta span,.plasw-drawer-box{background:#fff;border:1px solid #d9e4ef;border-radius:16px;padding:12px 14px}
.plasw-drawer-meta strong,.plasw-drawer-box h3{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin-bottom:4px}
.plasw-drawer-box p{margin:0 0 8px;color:#10233d}
.plasw-drawer-form,.plasw-drawer-actions{display:grid;gap:10px;margin-top:12px}
.plasw-drawer-actions form{display:block}
.plasw-drawer-form .btn,.plasw-drawer-actions .btn{width:100%;justify-content:center}
@media (max-width: 900px){.plasw-calendar-scroll.mode-week .plasw-calendar-grid,.plasw-calendar-scroll.mode-month .plasw-calendar-grid{min-width:860px}.plasw-drawer-meta{grid-template-columns:1fr}}

.plasw-shop-shell{max-width:1280px !important;padding:26px 18px 56px !important}
.plasw-shop-hero{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr) !important;padding:28px 30px !important;border-radius:30px !important;gap:22px !important;background:linear-gradient(135deg,#071f3b 0%,#0d335e 54%,#ea7d18 100%) !important}
.plasw-shop-hero h1{font-size:clamp(2.2rem,3.6vw,3.7rem) !important;line-height:.96 !important;max-width:760px !important;margin:14px 0 10px !important}
.plasw-shop-hero p{font-size:1rem !important;max-width:700px !important}
.plasw-shop-hero-badge{min-height:0 !important;padding:22px !important;align-self:stretch !important;justify-content:space-between !important}
.plasw-shop-hero-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.plasw-shop-hero-list li{display:flex;align-items:center;gap:8px;color:#fff2df;font-weight:800}
.plasw-shop-hero-list li::before{content:'•';color:#ffbf78;font-size:1.2rem;line-height:1}
.plasw-shop-search{display:grid !important;grid-template-columns:minmax(0,1fr) auto auto !important;align-items:center !important;padding:12px !important;border-radius:22px !important}
.plasw-shop-search input{min-height:54px !important;font-size:1rem !important}
.plasw-shop-search button,.plasw-shop-search a,.plasw-shop-checkout button{min-height:54px !important;padding:0 18px !important;font-size:.98rem !important}
.plasw-shop-layout{grid-template-columns:minmax(0,1fr) 360px !important;gap:22px !important}
.plasw-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;align-items:start !important}
.plasw-shop-product{grid-template-columns:112px minmax(0,1fr) !important;min-height:0 !important;border-radius:24px !important}
.plasw-shop-product-body{padding:16px !important;gap:8px !important}
.plasw-shop-product-media{min-height:100% !important}
.plasw-shop-product h2{font-size:1.12rem !important;line-height:1.15 !important}
.plasw-shop-desc{min-height:auto !important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.plasw-shop-facts{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.plasw-shop-facts span{min-height:76px}
.plasw-shop-buyline strong{font-size:1.3rem !important}
.plasw-shop-checkout{border-radius:24px !important;padding:22px !important}
.plasw-shop-checkout h2{font-size:1.35rem !important}
.plasw-shop-empty{display:flex;align-items:center;justify-content:center;min-height:280px;background:linear-gradient(180deg,#ffffff 0%,#f7fafc 100%);color:#66758a !important;font-size:1.05rem;border-style:dashed !important}
@media (max-width: 1100px){.plasw-shop-layout,.plasw-shop-hero{grid-template-columns:1fr !important}.plasw-shop-grid{grid-template-columns:1fr !important}}
@media (max-width: 720px){.plasw-shop-shell{padding:16px 10px 36px !important}.plasw-shop-search{grid-template-columns:1fr !important}.plasw-shop-product{grid-template-columns:1fr !important}.plasw-shop-product-media{min-height:120px !important;border-right:0 !important;border-bottom:4px solid #f28c1b !important}}


.plasw-shop-shell{max-width:1240px !important;margin:0 auto !important;padding:24px 18px 56px !important;color:#071f3b !important}
.plasw-shop-hero{display:grid !important;grid-template-columns:minmax(0,1fr) 320px !important;align-items:center !important;gap:24px !important;padding:32px !important;border-radius:30px !important;background:linear-gradient(135deg,#071f3b 0%,#0e355b 58%,#f28c1b 100%) !important;overflow:hidden !important}
.plasw-shop-hero h1{font-size:clamp(2.1rem,4vw,4.2rem) !important;line-height:1 !important;max-width:760px !important;margin:16px 0 12px !important;color:#fff !important}
.plasw-shop-hero p{max-width:720px !important;color:rgba(255,255,255,.9) !important;font-size:1.06rem !important}
.plasw-shop-layout{display:grid !important;grid-template-columns:minmax(0,1fr) 380px !important;gap:24px !important;align-items:start !important}
.plasw-shop-grid{display:grid !important;grid-template-columns:1fr !important;gap:18px !important;min-width:0 !important}
.plasw-shop-product{display:grid !important;grid-template-columns:170px minmax(0,1fr) !important;min-height:230px !important;width:100% !important;background:#fff !important;border:1px solid #d8e4ef !important;border-radius:26px !important;box-shadow:0 18px 44px rgba(7,31,59,.08) !important;overflow:hidden !important}
.plasw-shop-product-media{min-height:100% !important;background:linear-gradient(145deg,#071f3b,#0d3b63) !important;border-right:5px solid #f28c1b !important;display:flex !important;align-items:center !important;justify-content:center !important}
.plasw-shop-product-media span{width:92px !important;height:92px !important;border-radius:24px !important;background:#fff3e7 !important;color:#071f3b !important;font-size:1.05rem !important;font-weight:950 !important;letter-spacing:.06em !important;box-shadow:0 14px 30px rgba(0,0,0,.24) !important}
.plasw-shop-product-body{padding:20px 22px !important;display:grid !important;gap:12px !important;align-content:start !important}
.plasw-shop-product-top{display:flex !important;justify-content:space-between !important;align-items:center !important;gap:12px !important}
.plasw-shop-product-top small{font-size:.82rem !important;color:#65748b !important;font-weight:900 !important;word-break:break-word !important}
.plasw-shop-product h2{font-size:1.45rem !important;line-height:1.12 !important;margin:0 !important;color:#071f3b !important;font-weight:950 !important}
.plasw-shop-desc{font-size:.96rem !important;color:#566981 !important;line-height:1.45 !important;min-height:auto !important;max-width:760px !important}
.plasw-shop-facts{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important}
.plasw-shop-facts span{background:#f7fafc !important;border:1px solid #dbe6f0 !important;border-radius:16px !important;padding:11px 12px !important;min-height:auto !important;color:#64748b !important}
.plasw-shop-facts strong{display:block !important;color:#071f3b !important;font-size:1rem !important;margin-top:4px !important}
.plasw-shop-buyline{display:flex !important;align-items:baseline !important;gap:10px !important;border-top:1px solid #e4edf5 !important;padding-top:12px !important}
.plasw-shop-buyline strong{font-size:1.7rem !important;color:#071f3b !important;font-weight:950 !important;white-space:nowrap !important}
.plasw-shop-buyline span{color:#65748b !important;font-size:.9rem !important}
.plasw-shop-qty{display:grid !important;grid-template-columns:100px 160px !important;align-items:center !important;gap:12px !important;color:#071f3b !important;font-weight:900 !important}
.plasw-shop-qty input{height:48px !important;border:1px solid #cbd7e4 !important;border-radius:14px !important;padding:0 14px !important;font-weight:900 !important;max-width:160px !important}
.plasw-shop-checkout{position:sticky !important;top:18px !important;background:#fff !important;border:1px solid #d8e4ef !important;border-radius:28px !important;box-shadow:0 18px 46px rgba(7,31,59,.1) !important;padding:24px !important}
.plasw-shop-checkout h2{font-size:1.65rem !important;margin:0 0 8px !important;color:#071f3b !important;font-weight:950 !important}
.plasw-shop-checkout p{font-size:.96rem !important;color:#5c6f86 !important;line-height:1.5 !important}
.plasw-shop-checkout input,.plasw-shop-checkout select,.plasw-shop-checkout textarea{min-height:50px !important;border:1px solid #cbd7e4 !important;border-radius:16px !important;padding:12px 14px !important;background:#fff !important}
.plasw-shop-checkout button{width:100% !important;min-height:56px !important;border-radius:16px !important;background:linear-gradient(135deg,#071f3b,#0d3a63) !important;color:#fff !important;font-size:1.05rem !important;font-weight:950 !important}
@media(max-width:1050px){.plasw-shop-layout,.plasw-shop-hero{grid-template-columns:1fr !important}.plasw-shop-checkout{position:static !important}.plasw-shop-product{grid-template-columns:150px minmax(0,1fr) !important}}
@media(max-width:680px){.plasw-shop-product{grid-template-columns:1fr !important}.plasw-shop-product-media{min-height:130px !important;border-right:0 !important;border-bottom:5px solid #f28c1b !important}.plasw-shop-qty{grid-template-columns:1fr !important}.plasw-shop-facts{grid-template-columns:1fr !important}.plasw-shop-hero{padding:24px !important}}

.plasw-shop-customer .plasw-shop-hero-clean{grid-template-columns:1fr !important;min-height:0 !important;padding:34px 36px !important}
.plasw-shop-customer .plasw-shop-hero-clean h1{max-width:780px !important;font-size:clamp(2rem,4vw,3.6rem) !important;line-height:1.02 !important}
.plasw-shop-benefits{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.plasw-shop-benefits span{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff3e7;border-radius:999px;padding:9px 13px;font-weight:850}
.plasw-shop-account-gate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}
.plasw-shop-login-card{background:#fff;border:1px solid #d8e4ef;border-radius:24px;box-shadow:0 14px 34px rgba(7,31,59,.08);padding:22px}
.plasw-shop-login-card h2{margin:0 0 6px;color:#071f3b;font-size:1.35rem;font-weight:950}
.plasw-shop-login-card p{margin:0 0 14px;color:#5c6f86;line-height:1.45}
.plasw-shop-login-card label{display:block;margin:0 0 12px;color:#071f3b;font-weight:850}
.plasw-shop-login-card input{width:100%;margin-top:6px;border:1px solid #cbd7e4;border-radius:16px;padding:13px 14px;min-height:52px;background:#fff}
.plasw-shop-login-card button{width:100%;min-height:54px;border:0;border-radius:16px;background:linear-gradient(135deg,#071f3b,#0d3a63);color:#fff;font-weight:950}
.plasw-shop-userbox{border:1px solid #dbe6f0;background:#f7fafc;border-radius:16px;padding:12px 14px;margin:0 0 14px;display:grid;gap:3px}
.plasw-shop-userbox strong{color:#071f3b;font-weight:950}.plasw-shop-userbox span{color:#64748b;font-weight:700}
.plasw-shop-payment-note{border:1px solid #ffd2a1;background:#fff7ed;border-radius:16px;padding:12px 14px;margin:10px 0 14px;display:grid;gap:4px}.plasw-shop-payment-note strong{color:#7c2d12}.plasw-shop-payment-note span{color:#9a3412;font-weight:700}
.plasw-shop-check{display:flex !important;align-items:flex-start;gap:10px;border:1px solid #e0e9f2;border-radius:14px;padding:10px 12px;background:#fbfdff;font-weight:750 !important}.plasw-shop-check input{width:auto !important;min-height:auto !important;margin:4px 0 0 !important}.plasw-shop-check a{color:#0d3a63;font-weight:900;text-decoration:underline}.plasw-shop-check span{line-height:1.35}
.plasw-shop-customer .plasw-shop-product{grid-template-columns:150px minmax(0,1fr) !important}.plasw-shop-customer .plasw-shop-product-media span{font-size:2.6rem !important;letter-spacing:0 !important}
@media(max-width:900px){.plasw-shop-account-gate{grid-template-columns:1fr}.plasw-shop-customer .plasw-shop-product{grid-template-columns:1fr !important}}


.plasw-shop-v138{max-width:1240px!important;padding:22px 18px 56px!important;background:linear-gradient(180deg,#ffffff 0%,#f7fafc 100%)}
.plasw-shop-v138 .plasw-shop-hero-clean{display:block!important;padding:34px 38px!important;border-radius:28px!important;background:linear-gradient(135deg,#071f3b 0%,#0d345d 68%,#f28c1b 100%)!important;box-shadow:0 22px 46px rgba(7,31,59,.18)!important}
.plasw-shop-v138 .plasw-shop-hero-clean h1{max-width:760px!important;font-size:clamp(2.2rem,4.5vw,4.4rem)!important;line-height:.98!important;margin:16px 0 12px!important;color:#fff!important;letter-spacing:-.04em!important}
.plasw-shop-v138 .plasw-shop-hero-clean p{max-width:760px!important;margin:0!important;color:rgba(255,255,255,.9)!important;font-size:1.05rem!important;line-height:1.55!important}
.plasw-shop-v138 .plasw-shop-benefits{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:20px!important}
.plasw-shop-v138 .plasw-shop-benefits span{display:inline-flex!important;align-items:center!important;border:1px solid rgba(255,255,255,.22)!important;background:rgba(255,255,255,.12)!important;color:#fff3e7!important;border-radius:999px!important;padding:9px 13px!important;font-weight:850!important}
.plasw-shop-v138 .plasw-shop-search{display:grid!important;grid-template-columns:minmax(0,1fr) 130px 150px!important;gap:12px!important;margin:22px 0!important;padding:12px!important;background:#fff!important;border:1px solid #d8e4ef!important;border-radius:22px!important;box-shadow:0 12px 30px rgba(7,31,59,.07)!important}
.plasw-shop-v138 .plasw-shop-search input{min-height:54px!important;border:1px solid #cbd7e4!important;border-radius:16px!important;padding:0 16px!important;font-weight:750!important;background:#fff!important}
.plasw-shop-v138 .plasw-shop-search button,.plasw-shop-v138 .plasw-shop-search a{min-height:54px!important;border-radius:16px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-weight:950!important;text-decoration:none!important}
.plasw-shop-v138 .plasw-shop-search button{border:0!important;background:#071f3b!important;color:#fff!important}
.plasw-shop-v138 .plasw-shop-search a{background:#fff!important;color:#071f3b!important;border:1px solid #cbd7e4!important}
.plasw-shop-v138 .plasw-shop-layout,.plasw-shop-v138 .plasw-shop-guest-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 390px!important;gap:24px!important;align-items:start!important}
.plasw-shop-v138 .plasw-shop-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;min-width:0!important}
.plasw-shop-v138 .plasw-shop-product{display:grid!important;grid-template-columns:155px minmax(0,1fr)!important;width:100%!important;min-height:220px!important;background:#fff!important;border:1px solid #d8e4ef!important;border-radius:26px!important;box-shadow:0 16px 38px rgba(7,31,59,.08)!important;overflow:hidden!important}
.plasw-shop-v138 .plasw-shop-product-media{min-height:100%!important;background:linear-gradient(145deg,#071f3b,#0d3a63)!important;border-right:5px solid #f28c1b!important;display:flex!important;align-items:center!important;justify-content:center!important}
.plasw-shop-v138 .plasw-shop-product-media span{width:88px!important;height:88px!important;border-radius:24px!important;background:#fff3e7!important;color:#071f3b!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:2.25rem!important;font-weight:950!important;line-height:1!important;box-shadow:0 14px 28px rgba(0,0,0,.22)!important}
.plasw-shop-v138 .plasw-shop-product-body{padding:20px 22px!important;display:grid!important;gap:11px!important;align-content:start!important;min-width:0!important}
.plasw-shop-v138 .plasw-shop-product-top{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important}
.plasw-shop-v138 .plasw-shop-product-top small{font-size:.82rem!important;color:#64748b!important;font-weight:900!important;word-break:break-word!important}
.plasw-shop-v138 .plasw-shop-product-top em{font-style:normal!important;background:#fff2e5!important;color:#9a3b00!important;border:1px solid #ffc17f!important;border-radius:999px!important;padding:6px 10px!important;font-size:.78rem!important;font-weight:900!important;white-space:nowrap!important}
.plasw-shop-v138 .plasw-shop-product h2{font-size:1.42rem!important;line-height:1.12!important;margin:0!important;color:#071f3b!important;font-weight:950!important;letter-spacing:-.02em!important}
.plasw-shop-v138 .plasw-shop-maker,.plasw-shop-v138 .plasw-shop-desc{margin:0!important;color:#5b6f86!important;line-height:1.45!important}
.plasw-shop-v138 .plasw-shop-desc{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;min-height:0!important}
.plasw-shop-v138 .plasw-shop-facts{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.plasw-shop-v138 .plasw-shop-facts span{background:#f7fafc!important;border:1px solid #dbe6f0!important;border-radius:16px!important;padding:11px 12px!important;min-height:70px!important;color:#64748b!important;font-size:.84rem!important}
.plasw-shop-v138 .plasw-shop-facts strong{display:block!important;color:#071f3b!important;font-size:1rem!important;margin-top:4px!important}
.plasw-shop-v138 .plasw-shop-buyline{display:flex!important;align-items:baseline!important;gap:10px!important;border-top:1px solid #e4edf5!important;padding-top:12px!important}
.plasw-shop-v138 .plasw-shop-buyline strong{font-size:1.7rem!important;color:#071f3b!important;font-weight:950!important;white-space:nowrap!important}
.plasw-shop-v138 .plasw-shop-buyline span{font-size:.9rem!important;color:#64748b!important}
.plasw-shop-v138 .plasw-shop-qty{display:grid!important;grid-template-columns:90px 150px!important;align-items:center!important;gap:12px!important;font-weight:900!important;color:#071f3b!important}
.plasw-shop-v138 .plasw-shop-qty input{height:48px!important;border:1px solid #cbd7e4!important;border-radius:15px!important;padding:0 14px!important;font-weight:900!important;background:#fff!important}
.plasw-shop-v138 .plasw-shop-account-panel,.plasw-shop-v138 .plasw-shop-checkout{position:sticky!important;top:18px!important;background:#fff!important;border:1px solid #d8e4ef!important;border-radius:28px!important;box-shadow:0 18px 42px rgba(7,31,59,.1)!important;padding:24px!important;overflow:hidden!important}
.plasw-shop-v138 .plasw-shop-account-head{border-bottom:1px solid #e4edf5!important;padding-bottom:16px!important;margin-bottom:16px!important}
.plasw-shop-v138 .plasw-shop-account-head span{display:inline-flex!important;background:#fff2e5!important;color:#9a3b00!important;border:1px solid #ffc17f!important;border-radius:999px!important;padding:6px 10px!important;font-weight:900!important;font-size:.78rem!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.plasw-shop-v138 .plasw-shop-account-head h2,.plasw-shop-v138 .plasw-shop-checkout h2{font-size:1.55rem!important;line-height:1.15!important;margin:10px 0 8px!important;color:#071f3b!important;font-weight:950!important;letter-spacing:-.02em!important}
.plasw-shop-v138 .plasw-shop-account-head p,.plasw-shop-v138 .plasw-shop-checkout p{margin:0 0 16px!important;color:#5c6f86!important;line-height:1.45!important}
.plasw-shop-v138 .plasw-shop-account-stack{display:grid!important;gap:14px!important}
.plasw-shop-v138 .plasw-shop-login-card{padding:0!important;border:0!important;box-shadow:none!important;border-radius:0!important;background:transparent!important}
.plasw-shop-v138 .plasw-shop-login-card + .plasw-shop-login-card{border-top:1px solid #e4edf5!important;padding-top:14px!important}
.plasw-shop-v138 .plasw-shop-login-card h3{margin:0 0 10px!important;color:#071f3b!important;font-size:1.1rem!important;font-weight:950!important}
.plasw-shop-v138 .plasw-shop-login-card label,.plasw-shop-v138 .plasw-shop-checkout label{display:block!important;margin:0 0 12px!important;color:#071f3b!important;font-weight:850!important}
.plasw-shop-v138 .plasw-shop-login-card input,.plasw-shop-v138 .plasw-shop-checkout input,.plasw-shop-v138 .plasw-shop-checkout select,.plasw-shop-v138 .plasw-shop-checkout textarea{width:100%!important;margin-top:6px!important;border:1px solid #cbd7e4!important;border-radius:16px!important;padding:12px 14px!important;min-height:50px!important;background:#fff!important}
.plasw-shop-v138 .plasw-shop-login-card button,.plasw-shop-v138 .plasw-shop-checkout button{width:100%!important;min-height:54px!important;border:0!important;border-radius:16px!important;background:linear-gradient(135deg,#071f3b,#0d3a63)!important;color:#fff!important;font-weight:950!important;font-size:1rem!important}
.plasw-shop-v138 .plasw-shop-userbox{border:1px solid #dbe6f0!important;background:#f7fafc!important;border-radius:16px!important;padding:12px 14px!important;margin:0 0 14px!important;display:grid!important;gap:3px!important}
.plasw-shop-v138 .plasw-shop-payment-note{border:1px solid #ffd2a1!important;background:#fff7ed!important;border-radius:16px!important;padding:12px 14px!important;margin:10px 0 14px!important;display:grid!important;gap:4px!important}
.plasw-shop-v138 .plasw-shop-check{display:flex!important;align-items:flex-start!important;gap:10px!important;border:1px solid #e0e9f2!important;border-radius:14px!important;padding:10px 12px!important;background:#fbfdff!important;font-weight:750!important}
.plasw-shop-v138 .plasw-shop-check input{width:auto!important;min-height:auto!important;margin:4px 0 0!important}
.plasw-shop-v138 .plasw-shop-check a{color:#0d3a63!important;font-weight:900!important;text-decoration:underline!important}
.plasw-shop-v138 .plasw-shop-empty{display:flex!important;align-items:center!important;justify-content:center!important;min-height:260px!important;background:#fff!important;border:1px dashed #c7d7e7!important;border-radius:24px!important;color:#66758a!important;font-weight:850!important}
@media(max-width:1050px){.plasw-shop-v138 .plasw-shop-layout,.plasw-shop-v138 .plasw-shop-guest-layout{grid-template-columns:1fr!important}.plasw-shop-v138 .plasw-shop-account-panel,.plasw-shop-v138 .plasw-shop-checkout{position:static!important}.plasw-shop-v138 .plasw-shop-product{grid-template-columns:140px minmax(0,1fr)!important}}
@media(max-width:720px){.plasw-shop-v138{padding:14px 10px 36px!important}.plasw-shop-v138 .plasw-shop-search{grid-template-columns:1fr!important}.plasw-shop-v138 .plasw-shop-product{grid-template-columns:1fr!important}.plasw-shop-v138 .plasw-shop-product-media{min-height:118px!important;border-right:0!important;border-bottom:5px solid #f28c1b!important}.plasw-shop-v138 .plasw-shop-facts{grid-template-columns:1fr!important}.plasw-shop-v138 .plasw-shop-qty{grid-template-columns:1fr!important}.plasw-shop-v138 .plasw-shop-hero-clean{padding:26px!important}.plasw-shop-v138 .plasw-shop-hero-clean h1{font-size:2.35rem!important}}


.plasw-shop-system{max-width:1280px;margin:0 auto;padding:24px 18px 56px;color:#071f3b}
.plasw-shop-hero-final{padding:34px 38px;border-radius:30px;background:linear-gradient(135deg,#061f3d 0%,#103b66 62%,#f18721 100%);color:#fff;box-shadow:0 24px 54px rgba(7,31,59,.22)}
.plasw-shop-hero-final h1{max-width:760px;font-size:clamp(2.2rem,4vw,4.2rem);line-height:.98;margin:14px 0 12px;font-weight:950;letter-spacing:-.04em}
.plasw-shop-hero-final p{max-width:760px;font-size:1.08rem;line-height:1.55;color:rgba(255,255,255,.9)}
.plasw-shop-benefits{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.plasw-shop-benefits span{display:inline-flex;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.12);border-radius:999px;padding:8px 12px;font-weight:850}
.plasw-shop-account-strip{display:grid;grid-template-columns:220px minmax(0,1fr) 260px;gap:12px;align-items:start;background:#fff;border:1px solid #d7e3ef;border-radius:22px;padding:16px;margin:18px 0;box-shadow:0 14px 34px rgba(7,31,59,.07)}
.plasw-shop-account-strip strong{display:block;font-size:1.1rem;font-weight:950}.plasw-shop-account-strip span{color:#60728a}.plasw-shop-account-strip form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.plasw-shop-account-strip input,.plasw-shop-account-strip button,.plasw-shop-account-strip summary{min-height:46px;border-radius:14px}.plasw-shop-account-strip input{border:1px solid #cbd9e8;padding:10px 12px}.plasw-shop-account-strip button{border:0;background:#071f3b;color:#fff;font-weight:900;padding:0 16px}.plasw-shop-account-strip details{background:#f8fafc;border:1px solid #dce7f2;border-radius:16px;padding:0 12px}.plasw-shop-account-strip summary{display:flex;align-items:center;font-weight:900;cursor:pointer}.plasw-shop-account-strip details form{grid-template-columns:1fr;margin:10px 0 12px}
.plasw-shop-main-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}.plasw-shop-products-area{min-width:0}.plasw-shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.plasw-shop-card-final{display:grid;grid-template-columns:116px minmax(0,1fr);border:1px solid #d8e4f0;border-radius:24px;background:#fff;box-shadow:0 16px 38px rgba(7,31,59,.08);overflow:hidden;min-height:260px}.plasw-shop-card-final .plasw-shop-product-media{background:linear-gradient(180deg,#071f3b,#0e426f);border-right:4px solid #f18721;display:flex;align-items:center;justify-content:center}.plasw-shop-card-final .plasw-shop-product-media span{width:70px;height:70px;border-radius:22px;background:#fff2e5;color:#071f3b;font-size:2.15rem;font-weight:950;display:flex;align-items:center;justify-content:center}.plasw-shop-card-final .plasw-shop-product-body{padding:18px;display:grid;gap:10px}.plasw-shop-product-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.plasw-shop-product-top small{font-weight:900;color:#617089}.plasw-shop-product-top em{font-style:normal;border:1px solid #ffbd7a;background:#fff4e7;color:#ad4a00;border-radius:999px;padding:5px 10px;font-weight:900}.plasw-shop-card-final h2{font-size:1.25rem;line-height:1.1;margin:0;color:#071f3b;font-weight:950}.plasw-shop-desc{margin:0;color:#5b6f87;line-height:1.45}.plasw-shop-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plasw-shop-facts span{border:1px solid #dbe6f2;background:#f8fbfe;border-radius:15px;padding:10px;color:#617089}.plasw-shop-facts strong{display:block;color:#071f3b;margin-top:3px}.plasw-shop-buyline{display:flex;align-items:baseline;gap:10px;border-top:1px solid #e2ebf4;padding-top:12px}.plasw-shop-buyline strong{font-size:1.45rem;font-weight:950;color:#071f3b}.plasw-shop-buyline span{color:#66758a}.plasw-shop-add{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px}.plasw-shop-add input{border:1px solid #cbd9e8;border-radius:14px;padding:10px 12px;font-weight:850}.plasw-shop-add button,.plasw-shop-pay{border:0;border-radius:14px;background:#071f3b;color:#fff;font-weight:950;min-height:46px;padding:0 16px}.plasw-shop-cart-panel{position:sticky;top:18px;background:#fff;border:1px solid #d8e4f0;border-radius:24px;padding:20px;box-shadow:0 18px 46px rgba(7,31,59,.12)}.plasw-shop-cart-panel h2{margin:0 0 14px;font-size:1.55rem;font-weight:950}.plasw-shop-cart-list{display:grid;gap:10px}.plasw-shop-cart-row{display:grid;grid-template-columns:minmax(0,1fr) 78px 88px;gap:8px;align-items:center;border:1px solid #e0e9f3;border-radius:16px;padding:10px;background:#fbfdff}.plasw-shop-cart-row strong{display:block;font-weight:900;line-height:1.15}.plasw-shop-cart-row span{display:block;color:#738398;font-size:.85rem}.plasw-shop-cart-row input{border:1px solid #cbd9e8;border-radius:12px;padding:8px;font-weight:850}.plasw-shop-cart-row em{text-align:right;font-style:normal;font-weight:900}.plasw-shop-secondary{border:1px solid #cbd9e8;background:#fff;color:#071f3b;border-radius:14px;min-height:42px;font-weight:900}.plasw-shop-cart-sums{display:grid;gap:8px;margin:14px 0;padding-top:14px;border-top:1px solid #e2ebf4}.plasw-shop-cart-sums span{display:flex;justify-content:space-between;color:#5d6f84}.plasw-shop-cart-sums .is-total{font-size:1.12rem;color:#071f3b;font-weight:950}.plasw-shop-checkout-form{display:grid;gap:11px;margin-top:16px}.plasw-shop-checkout-form h3{margin:0;font-size:1.25rem;font-weight:950}.plasw-shop-checkout-form p{margin:0;color:#60728a}.plasw-shop-checkout-form label{font-weight:850;color:#071f3b}.plasw-shop-checkout-form input,.plasw-shop-checkout-form select,.plasw-shop-checkout-form textarea{width:100%;margin-top:6px;border:1px solid #cbd9e8;border-radius:14px;padding:11px 12px}.plasw-shop-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plasw-shop-check{display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start;font-weight:700!important;color:#334155!important}.plasw-shop-check input{width:auto;margin-top:2px}.plasw-shop-login-required,.plasw-shop-cart-empty{border:1px dashed #cbd9e8;background:#f8fafc;border-radius:16px;padding:16px;color:#64748b}.plasw-offers-page .plasw-offer-editor{margin-bottom:22px}.plasw-offer-items{display:grid;gap:12px;margin-top:18px}.plasw-offer-item{display:grid;grid-template-columns:1.4fr 1.4fr .7fr .7fr .8fr .8fr auto;gap:10px;align-items:end;border:1px solid #dce7f2;background:#fbfdff;border-radius:18px;padding:14px}.plasw-offer-item label{font-weight:850;color:#071f3b}.plasw-offer-item input,.plasw-offer-item select{margin-top:5px}.plasw-offer-item .btn{min-height:42px}.plasw-offers-page .span-3{grid-column:1/-1}
@media(max-width:1180px){.plasw-shop-main-layout{grid-template-columns:1fr}.plasw-shop-cart-panel{position:static}.plasw-shop-account-strip{grid-template-columns:1fr}.plasw-shop-account-strip form{grid-template-columns:1fr}.plasw-offer-item{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.plasw-shop-grid{grid-template-columns:1fr}.plasw-shop-card-final{grid-template-columns:1fr}.plasw-shop-card-final .plasw-shop-product-media{min-height:120px;border-right:0;border-bottom:4px solid #f18721}.plasw-shop-add,.plasw-shop-two,.plasw-offer-item{grid-template-columns:1fr}.plasw-shop-cart-row{grid-template-columns:1fr}.plasw-shop-cart-row em{text-align:left}.plasw-shop-hero-final{padding:26px 22px}.plasw-shop-hero-final h1{font-size:2.25rem}}


.plasw-shop-system{max-width:100%;padding:18px 0 44px}
.plasw-shop-compact-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 18px;padding:22px 24px;border:1px solid #d9e5ef;border-radius:22px;background:linear-gradient(135deg,#ffffff 0%,#f7fafc 100%);box-shadow:0 12px 28px rgba(7,31,59,.08);color:#071f3b}
.plasw-shop-compact-head span{display:inline-flex;margin:0 0 8px;padding:6px 10px;border-radius:999px;background:#fff3e7;border:1px solid #f4bf82;color:#9a4b05;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.plasw-shop-compact-head h1{margin:0;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.02;font-weight:950;color:#071f3b;letter-spacing:-.035em}
.plasw-shop-compact-head p{margin:8px 0 0;max-width:680px;color:#51657d;font-size:1rem;line-height:1.45}
.plasw-shop-compact-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:220px}
.plasw-shop-compact-badges strong{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border-radius:999px;background:#071f3b;color:#fff;font-size:.86rem;font-weight:900;white-space:nowrap}
.plasw-shop-system .plasw-shop-hero,.plasw-shop-system .plasw-shop-hero-final,.plasw-shop-system .plasw-shop-hero-clean{display:none!important}
.plasw-shop-system .plasw-shop-search{margin:0 0 18px!important;box-shadow:0 10px 22px rgba(7,31,59,.06)!important}
@media(max-width:900px){.plasw-shop-compact-head{display:grid;align-items:start}.plasw-shop-compact-badges{justify-content:flex-start;min-width:0}}
@media(max-width:620px){.plasw-shop-compact-head{padding:18px;border-radius:18px}.plasw-shop-compact-head h1{font-size:2rem}.plasw-shop-compact-badges strong{width:100%}}

.plasw-offer-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.plasw-offer-actions form{display:inline-flex;margin:0}.plasw-offer-actions .btn{min-width:116px;justify-content:center}.plasw-offer-editor .plasw-section-head h3{margin:0}.plasw-offer-item{border:1px solid #d9e5ef;border-radius:18px;background:#fff;padding:14px;margin:10px 0;display:grid;grid-template-columns:repeat(6,minmax(110px,1fr)) auto;gap:10px;align-items:end}.plasw-offer-item label:nth-child(1),.plasw-offer-item label:nth-child(2){grid-column:span 2}@media(max-width:1100px){.plasw-offer-item{grid-template-columns:1fr 1fr}.plasw-offer-item label:nth-child(1),.plasw-offer-item label:nth-child(2){grid-column:1/-1}.plasw-offer-actions .btn{width:100%}.plasw-offer-actions form{width:100%}}


.plasw-offers-page .plasw-table-card{
    overflow-x:auto!important;
    overflow-y:visible!important;
    padding:14px 18px 20px!important;
    border-radius:18px!important;
}
.plasw-offers-page .plasw-offers-table{
    width:100%!important;
    min-width:1060px!important;
    border-collapse:separate!important;
    border-spacing:0 10px!important;
    margin-bottom:0!important;
}
.plasw-offers-page .plasw-offers-table thead th{
    padding:10px 14px!important;
    white-space:nowrap!important;
    color:#071f3b!important;
    font-weight:900!important;
    background:transparent!important;
    border:0!important;
}
.plasw-offers-page .plasw-offers-table tbody td{
    padding:14px!important;
    vertical-align:middle!important;
    background:#f8fafc!important;
    border-top:1px solid #dbe6f2!important;
    border-bottom:1px solid #dbe6f2!important;
}
.plasw-offers-page .plasw-offers-table tbody td:first-child{
    border-left:1px solid #dbe6f2!important;
    border-radius:16px 0 0 16px!important;
}
.plasw-offers-page .plasw-offers-table tbody td:last-child{
    border-right:1px solid #dbe6f2!important;
    border-radius:0 16px 16px 0!important;
}
.plasw-offers-page .plasw-money-col,
.plasw-offers-page .plasw-money-cell{
    width:120px!important;
    min-width:120px!important;
    white-space:nowrap!important;
}
.plasw-offers-page .plasw-offer-actions-col{
    width:410px!important;
    min-width:410px!important;
}
.plasw-offers-page .plasw-offer-actions{
    width:410px!important;
    min-width:410px!important;
    max-width:410px!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    white-space:normal!important;
    overflow:visible!important;
    padding-right:18px!important;
}
.plasw-offers-page .plasw-offer-actions form{
    display:inline-flex!important;
    margin:0!important;
}
.plasw-offers-page .plasw-offer-actions .btn{
    min-width:118px!important;
    min-height:42px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:12px!important;
    white-space:nowrap!important;
    padding:9px 14px!important;
    font-weight:900!important;
}
.plasw-offers-page .plasw-offer-actions .btn-warning{
    min-width:168px!important;
}
@media(max-width:900px){
    .plasw-offers-page .plasw-offers-table{min-width:920px!important;}
    .plasw-offers-page .plasw-offer-actions,
    .plasw-offers-page .plasw-offer-actions-col{width:330px!important;min-width:330px!important;max-width:330px!important;}
    .plasw-offers-page .plasw-offer-actions .btn{min-width:100%!important;width:100%!important;}
    .plasw-offers-page .plasw-offer-actions form{width:100%!important;}
}


.plasw-offers-page .plasw-offer-list-card{background:#fff;border:1px solid #d9e5ef;border-radius:22px;padding:16px;box-shadow:0 14px 34px rgba(7,31,59,.06);overflow:hidden}
.plasw-offers-page .plasw-offer-list-head{display:grid;grid-template-columns:90px minmax(190px,1.3fr) minmax(130px,1fr) 110px 110px minmax(260px,.95fr);gap:14px;padding:0 14px 12px;color:#071f3b;font-size:.85rem;font-weight:900;border-bottom:1px solid #dfe9f3}
.plasw-offers-page .plasw-offer-list{display:grid;gap:12px;margin-top:12px}
.plasw-offers-page .plasw-offer-card{display:grid;grid-template-columns:90px minmax(190px,1.3fr) minmax(130px,1fr) 110px 110px minmax(260px,.95fr);gap:14px;align-items:center;background:#f8fafc;border:1px solid #dce7f2;border-radius:18px;padding:14px;overflow:hidden}
.plasw-offers-page .plasw-offer-card small{display:block;margin-bottom:4px;color:#64748b;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.plasw-offers-page .plasw-offer-card strong{display:block;color:#071f3b;font-weight:900;line-height:1.25;overflow-wrap:anywhere}
.plasw-offers-page .plasw-offer-card span{overflow-wrap:anywhere}
.plasw-offers-page .plasw-offer-number strong{white-space:normal;word-break:break-word}
.plasw-offers-page .plasw-offer-total strong{white-space:nowrap}
.plasw-offers-page .plasw-offer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch;min-width:0}
.plasw-offers-page .plasw-offer-actions form{display:block;margin:0;min-width:0}
.plasw-offers-page .plasw-offer-actions .btn{width:100%;min-width:0;min-height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;white-space:normal;text-align:center;line-height:1.15;padding:8px 12px;font-weight:900}
.plasw-offers-page .plasw-offer-actions .btn-warning{grid-column:1/-1;background:#b66a00;border-color:#b66a00;color:#fff}
.plasw-offers-page .plasw-empty-state{border:1px dashed #cbd9e8;background:#f8fafc;border-radius:16px;padding:18px;color:#64748b;font-weight:800;text-align:center}
@media(max-width:1180px){.plasw-offers-page .plasw-offer-list-head{display:none}.plasw-offers-page .plasw-offer-card{grid-template-columns:1fr 1fr}.plasw-offers-page .plasw-offer-actions{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.plasw-offers-page .plasw-offer-actions .btn-warning{grid-column:auto}}
@media(max-width:720px){.plasw-offers-page .plasw-offer-list-card{padding:12px}.plasw-offers-page .plasw-offer-card{grid-template-columns:1fr}.plasw-offers-page .plasw-offer-actions{grid-template-columns:1fr}.plasw-offers-page .plasw-offer-actions .btn-warning{grid-column:auto}}


.plasw-dashboard-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:22px 0}.plasw-dashboard-group{background:#fff;border:1px solid #e3ebf4;border-radius:22px;padding:16px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.plasw-dashboard-group h2{margin:0 0 12px;font-size:17px;line-height:1.2;color:#0b2341;font-weight:900}.plasw-dashboard-group-grid{display:grid;grid-template-columns:1fr;gap:10px}.plasw-dashboard-mini-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #e4edf6;border-radius:16px;background:#f8fbff;text-decoration:none;color:#0b2341;min-height:58px}.plasw-dashboard-mini-card:hover{background:#eef6ff;text-decoration:none}.plasw-dashboard-mini-card span{font-size:13px;font-weight:800;color:#50657f}.plasw-dashboard-mini-card strong{font-size:23px;font-weight:950;color:#09284d;white-space:nowrap}.plasw-accounting-dashboard .plasw-page-hero{background:linear-gradient(135deg,#ffffff 0%,#f3f8fd 100%);border-color:#d8e5f2}.plasw-accounting-dashboard .plasw-eyebrow{color:#af6200}@media(max-width:760px){.plasw-dashboard-groups{grid-template-columns:1fr}.plasw-dashboard-mini-card{min-height:52px}}

.plasw-inline-admin-action{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px 0;padding:14px 16px;border:1px solid #dbe3ef;border-radius:18px;background:#ffffff;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.plasw-inline-admin-action span{font-weight:700;color:#334155}
.plasw-controlcenter .plasw-page-hero.is-compact{padding:22px 24px;margin-bottom:18px}
.plasw-filterbar{display:grid;grid-template-columns:1fr 180px 160px auto;gap:10px;margin:0 0 18px 0;padding:14px;border:1px solid #dbe3ef;border-radius:18px;background:#fff}
.plasw-pin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.plasw-pin-card{border:1px solid #dbe3ef;border-radius:16px;background:#f8fafc;padding:14px;display:grid;gap:5px}
.plasw-pin-card strong{color:#0f172a}.plasw-pin-card span{font-size:.85rem;color:#64748b}.plasw-pin-card code{font-size:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:5px 8px;width:max-content}
.plasw-audit-list{display:grid;gap:12px}.plasw-audit-card{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;border:1px solid #dbe3ef;border-radius:18px;background:#fff;padding:16px;box-shadow:0 12px 28px rgba(15,23,42,.05)}
.plasw-audit-card.is-critical{border-color:#fecaca;background:#fff7f7}.plasw-audit-main,.plasw-audit-meta{display:grid;gap:4px;min-width:0}.plasw-audit-main strong,.plasw-audit-meta strong{color:#0f172a}.plasw-audit-main span,.plasw-audit-meta span{color:#475569}.plasw-audit-main small,.plasw-audit-meta small{color:#64748b;word-break:break-word}
@media (max-width:900px){.plasw-filterbar{grid-template-columns:1fr}.plasw-audit-card{grid-template-columns:1fr}.plasw-inline-admin-action{align-items:stretch;flex-direction:column}.plasw-inline-admin-action .btn{width:100%}}

.plasw-cashsafe-workcenter{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:22px;margin:22px 0;box-shadow:0 16px 40px rgba(15,23,42,.06)}
.plasw-cashsafe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.plasw-cashsafe-panel{border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#f8fafc;padding:16px;display:grid;gap:14px;min-width:0}
.plasw-cashsafe-head{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid rgba(15,23,42,.08);padding-bottom:12px}
.plasw-cashsafe-head span{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64748b}
.plasw-cashsafe-head strong{font-size:1.45rem;color:#0f172a;white-space:nowrap}
.plasw-cashsafe-panel form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:16px;padding:14px;min-width:0}
.plasw-cashsafe-panel form label{display:grid;gap:5px;font-size:.82rem;font-weight:700;color:#475569;min-width:0}
.plasw-cashsafe-panel form .btn{grid-column:1/-1;width:100%;min-height:38px;white-space:normal;text-align:center}
.plasw-cashsafe-rules{display:grid;gap:10px}
.plasw-cashsafe-rules span{display:block;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#f8fafc;padding:12px 14px;font-weight:700;color:#334155}
@media (max-width:1100px){.plasw-cashsafe-grid{grid-template-columns:1fr}.plasw-cashsafe-panel form{grid-template-columns:1fr}}

.plasw-shop-cart-toggle-row{margin:18px 0 22px;position:relative;z-index:5}.plasw-shop-cart-drawer{border:1px solid #d8e4f0;background:#fff;border-radius:22px;box-shadow:0 16px 38px rgba(7,31,59,.08);overflow:hidden}.plasw-shop-cart-drawer>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:14px 18px;color:#071f3b;font-weight:950}.plasw-shop-cart-drawer>summary::-webkit-details-marker{display:none}.plasw-shop-cart-drawer>summary span{display:inline-flex;align-items:center;gap:8px}.plasw-shop-cart-drawer>summary strong{font-size:.95rem;color:#f18721;background:#fff4e8;border:1px solid #ffd2a8;border-radius:999px;padding:7px 12px;white-space:nowrap}.plasw-shop-cart-panel-inline{position:static!important;top:auto!important;border:0!important;border-top:1px solid #e2ebf4!important;border-radius:0!important;box-shadow:none!important;padding:18px!important;background:#fbfdff!important}.plasw-shop-products-area{width:100%}.plasw-shop-cart-panel-inline .plasw-shop-cart-list,.plasw-shop-cart-panel-inline .plasw-shop-checkout-form{max-width:980px}.plasw-shop-cart-panel-inline .plasw-shop-cart-sums{max-width:520px}.plasw-shop-cart-panel-inline .plasw-shop-checkout-form{grid-template-columns:repeat(2,minmax(0,1fr))}.plasw-shop-cart-panel-inline .plasw-shop-checkout-form h3,.plasw-shop-cart-panel-inline .plasw-shop-checkout-form p,.plasw-shop-cart-panel-inline .plasw-shop-checkout-form .plasw-shop-two,.plasw-shop-cart-panel-inline .plasw-shop-checkout-form .plasw-shop-check,.plasw-shop-cart-panel-inline .plasw-shop-pay{grid-column:1/-1}.plasw-shop-cart-panel-inline .plasw-shop-cart-row{grid-template-columns:minmax(0,1fr) 90px 120px}.plasw-shop-cart-panel-inline .plasw-shop-login-required{max-width:620px}.plasw-shop-cart-panel-inline h2{font-size:1.35rem}.plasw-shop-products-area>.plasw-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:1320px){.plasw-shop-products-area>.plasw-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.plasw-shop-cart-drawer>summary{align-items:flex-start;flex-direction:column}.plasw-shop-cart-panel-inline .plasw-shop-checkout-form,.plasw-shop-cart-panel-inline .plasw-shop-cart-row,.plasw-shop-products-area>.plasw-shop-grid{grid-template-columns:1fr}.plasw-shop-cart-panel-inline .plasw-shop-cart-row em{text-align:left}}


/* v1.0.162 Shop Warenkorb und Pflichtlinks */
.plasw-shop-cart-drawer:not([open]) .plasw-shop-cart-panel-inline{display:none!important}
.plasw-shop-cart-drawer:not([open]){overflow:hidden}
.plasw-shop-check{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;line-height:1.45!important;min-height:auto!important;padding:12px 14px!important;border:1px solid #dbe7f3!important;border-radius:14px!important;background:#fff!important}
.plasw-shop-check input[type="checkbox"]{width:16px!important;height:16px!important;margin:3px 0 0!important;min-width:16px!important;align-self:start!important}
.plasw-shop-check span{display:block!important;min-width:0!important;color:#071f3b!important;font-weight:850!important;line-height:1.45!important;overflow-wrap:anywhere!important;word-break:normal!important}
.plasw-shop-check a{display:inline!important;color:#071f3b!important;text-decoration:underline!important;text-underline-offset:3px!important;font-weight:950!important;line-height:inherit!important;white-space:normal!important}
.plasw-shop-checkout-form .plasw-shop-check{grid-column:1/-1!important}
@media(max-width:760px){.plasw-shop-check{grid-template-columns:22px minmax(0,1fr)!important}.plasw-shop-check span{font-size:.95rem!important}}

/* v1.0.163 Shop-Kategorien */
.plasw-shop-category-bar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:12px;background:#fff;border:1px solid #d8e4f0;border-radius:22px;box-shadow:0 10px 24px rgba(7,31,59,.06)}
.plasw-shop-category-bar a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 13px;border:1px solid #d7e3ee;border-radius:999px;background:#f8fafc;color:#071f3b;text-decoration:none;font-weight:900;max-width:100%}
.plasw-shop-category-bar a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plasw-shop-category-bar a strong{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#fff;color:#64748b;border:1px solid #e0e9f2;font-size:.82rem}
.plasw-shop-category-bar a.is-active{background:#071f3b;color:#fff;border-color:#071f3b;box-shadow:0 8px 18px rgba(7,31,59,.16)}
.plasw-shop-category-bar a.is-active strong{background:#f18721;color:#fff;border-color:#f18721}
@media(max-width:760px){.plasw-shop-category-bar{display:grid;grid-template-columns:1fr 1fr;padding:10px}.plasw-shop-category-bar a{justify-content:space-between;border-radius:16px}.plasw-shop-category-bar a span{white-space:normal}}
@media(max-width:460px){.plasw-shop-category-bar{grid-template-columns:1fr}}

/* ============================================================
   v1.0.165 — Werkstatt-Leitstand Redesign
   Vollständiges Theme-Overlay: Farben, Typografie, Icons, Shop, Kalender.
   Bewusst als Overlay-Layer ans Ende der Datei gehängt statt die
   bestehenden 2.474 Zeilen Layout-Logik zu ersetzen, um Regressionen
   in Grid-/Responsive-Verhalten zu vermeiden. Schriften: System-Stack
   statt Google Fonts (DSGVO/LG München-Risiko bei Remote-Fonts).
   ============================================================ */

.plasw-admin, .plasw-shop-shell, .plasw-cash-vault-front, .plasw-cashsale-front,
.plasw-articles-front, .plasw-workorders-front, .plasw-customers, .plasw-calendar-page {
  --plw-ink:#1B2027; --plw-steel:#545F6B; --plw-muted:#7A8290;
  --plw-paper:#F3F4F6; --plw-panel:#FFFFFF; --plw-line:#E2E5E9;
  --plw-accent:#FF7A1A; --plw-accent-ink:#8A3D00; --plw-accent-soft:#FFEBD6;
  --plw-info:#2E5FD9; --plw-info-ink:#1E4EBF; --plw-info-soft:#E7EEFF;
  --plw-success:#1E8E5A; --plw-success-ink:#166B44; --plw-success-soft:#E3F4EA;
  --plw-danger:#D6455B; --plw-danger-ink:#A32D2D; --plw-danger-soft:#FBE7EA;
  --plw-warning:#C98A00; --plw-warning-ink:#854F0B; --plw-warning-soft:#FCEFD8;
  --plw-radius:10px;
  --plw-font-display:"Segoe UI",Roboto,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --plw-font-body:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --plw-font-mono:ui-monospace,"Cascadia Code","SFMono-Regular",Consolas,"Liberation Mono",monospace;
}

.plasw-admin, .plasw-shop-shell, .plasw-cash-vault-front, .plasw-cashsale-front, .plasw-articles-front {
  font-family:var(--plw-font-body)!important; color:var(--plw-ink)!important;
}
.plasw-admin h1, .plasw-shop-shell h1, .plasw-page-hero h1, .plasw-form-card h2, .plasw-table-card h2,
.plasw-shop-product h2, .plasw-shop-checkout h2 {
  font-family:var(--plw-font-display)!important; font-weight:600!important; letter-spacing:-.01em!important;
}
.plasw-admin .ti, .plasw-shop-shell .ti, i[class*="ti-"] { line-height:1; vertical-align:-2px; }
.plw-icon { margin-right:7px; font-size:1em; }

/* Buttons */
.plasw-admin .btn, .plasw-shop-shell button, .plasw-shop-search button, .plasw-shop-checkout button {
  border-radius:8px!important; font-weight:600!important; font-family:var(--plw-font-body)!important;
}
.plasw-admin .btn-primary, .plasw-shop-search button, .plasw-shop-checkout button, .plasw-shop-pay {
  background:var(--plw-accent)!important; border-color:var(--plw-accent)!important; color:#3A1D00!important;
}
.plasw-admin .btn-primary:hover { background:#E56C10!important; border-color:#E56C10!important; }
.plasw-admin .btn-secondary { background:#fff!important; border:1px solid var(--plw-line)!important; color:var(--plw-ink)!important; }
.plasw-admin .btn-danger { background:var(--plw-danger)!important; border-color:var(--plw-danger)!important; }
.plasw-admin .btn-success { background:var(--plw-success)!important; border-color:var(--plw-success)!important; }
.plasw-admin .btn-warning { background:var(--plw-warning)!important; border-color:var(--plw-warning)!important; color:#fff!important; }

/* Cards / Panels */
.plasw-admin .plasw-card, .plasw-admin .plasw-form-card, .plasw-admin .plasw-table-card-admin,
.plasw-admin .plasw-table-card, .plasw-admin .plasw-detail-grid div, .plasw-admin .plasw-vehicle-card,
.plasw-admin .plasw-bookkeeping-summary > div, .plasw-admin .plasw-ledger-row {
  background:var(--plw-panel)!important; border:1px solid var(--plw-line)!important;
  box-shadow:none!important; border-radius:var(--plw-radius)!important;
}
.plasw-admin .plasw-card { border-top:3px solid var(--plw-accent)!important; transform:none!important; }
.plasw-admin .plasw-card:hover { border-color:var(--plw-line)!important; box-shadow:none!important; background:var(--plw-paper)!important; }
.plasw-admin .plasw-card strong { color:var(--plw-ink)!important; }
.plasw-admin .plasw-card span { color:var(--plw-steel)!important; }

/* Page header */
.plasw-admin .plasw-page-hero {
  background:var(--plw-panel)!important; border:1px solid var(--plw-line)!important;
  border-top:3px solid var(--plw-accent)!important; box-shadow:none!important; border-radius:var(--plw-radius)!important;
}
.plasw-admin .plasw-eyebrow { color:var(--plw-accent-ink)!important; }
.plasw-admin .plasw-page-hero h1 { color:var(--plw-ink)!important; }
.plasw-admin .plasw-page-hero p { color:var(--plw-steel)!important; }

/* Tables */
.plasw-admin .plasw-table, .plasw-admin table { background:var(--plw-panel)!important; border-color:var(--plw-line)!important; }
.plasw-admin .plasw-table thead th, .plasw-admin table thead th {
  background:var(--plw-paper)!important; color:var(--plw-steel)!important; font-weight:600!important;
  text-transform:uppercase; font-size:.72rem!important; letter-spacing:.04em;
}
.plasw-admin .plasw-vehicle-table tbody td, .plasw-admin .plasw-workorder-table tbody td { background:var(--plw-paper)!important; }
.plasw-admin td[class*="invoice"], .plasw-admin .plasw-invoice-table td, .plasw-admin td.is-number,
.plasw-admin .plasw-table td:first-child strong { font-family:var(--plw-font-mono)!important; }
.plasw-admin .plasw-table td.plasw-name-zelle strong { font-family:inherit!important; }

/* Status Badges — Bedeutung bleibt, Farben vereinheitlicht */
.plasw-admin .plasw-status.is-ok, .plasw-admin .plasw-status.is-done, .plasw-admin .plasw-status.is-active {
  background:var(--plw-success-soft)!important; color:var(--plw-success-ink)!important; border-color:var(--plw-success)!important;
}
.plasw-admin .plasw-status.is-warn { background:var(--plw-warning-soft)!important; color:var(--plw-warning-ink)!important; border-color:var(--plw-warning)!important; }
.plasw-admin .plasw-status.is-danger { background:var(--plw-danger-soft)!important; color:var(--plw-danger-ink)!important; border-color:var(--plw-danger)!important; }
.plasw-admin .plasw-status.is-off, .plasw-admin .plasw-status.is-muted { background:var(--plw-paper)!important; color:var(--plw-steel)!important; border-color:var(--plw-line)!important; }
.plasw-admin .plasw-status-pill.is-draft { background:var(--plw-info-soft)!important; color:var(--plw-info-ink)!important; border-color:var(--plw-info)!important; }
.plasw-admin .plasw-status-pill.is-paid { background:var(--plw-success-soft)!important; color:var(--plw-success-ink)!important; border-color:var(--plw-success)!important; }
.plasw-admin .plasw-status-pill.is-open, .plasw-admin .plasw-status-pill.is-partial { background:var(--plw-accent-soft)!important; color:var(--plw-accent-ink)!important; border-color:var(--plw-accent)!important; }
.plasw-admin .plasw-status-pill.is-cancelled { background:var(--plw-danger-soft)!important; color:var(--plw-danger-ink)!important; border-color:var(--plw-danger)!important; }

/* ================= SHOP (PrestaShop-Stil, an Admin-Palette angeglichen) ================= */
.plasw-shop-shell { font-family:var(--plw-font-body)!important; }
.plasw-shop-hero { background:linear-gradient(135deg,#1B2027 0%,#2B323C 62%,var(--plw-accent) 100%)!important; }
.plasw-shop-hero h1, .plasw-shop-eyebrow, .plasw-shop-hero-badge strong { font-family:var(--plw-font-display)!important; }
.plasw-shop-eyebrow { background:rgba(255,122,26,.22)!important; }
.plasw-shop-hero-badge span { color:#FFD9AE!important; }
.plasw-shop-search button, .plasw-shop-checkout button, .plasw-shop-pay { background:var(--plw-accent)!important; color:#3A1D00!important; }
.plasw-shop-search a { color:#1B2027!important; }
.plasw-shop-product-media { background:linear-gradient(145deg,#1B2027,#2B323C)!important; border-right-color:var(--plw-accent)!important; }
.plasw-shop-product-media span { background:var(--plw-accent-soft)!important; color:#1B2027!important; }
.plasw-shop-product h2 { color:#1B2027!important; font-family:var(--plw-font-display)!important; }
.plasw-shop-product-top em { background:var(--plw-accent-soft)!important; color:var(--plw-accent-ink)!important; border-color:var(--plw-accent)!important; }
.plasw-shop-buyline strong { color:#1B2027!important; font-family:var(--plw-font-mono)!important; }
.plasw-shop-category-bar a.is-active { background:#1B2027!important; border-color:#1B2027!important; }
.plasw-shop-category-bar a.is-active strong { background:var(--plw-accent)!important; border-color:var(--plw-accent)!important; }
.plasw-shop-checkout button, .plasw-shop-checkout-form button[type="submit"] { background:linear-gradient(135deg,#1B2027,#2B323C)!important; }
.plasw-shop-compact-head { border-bottom:3px solid var(--plw-accent)!important; padding-bottom:14px; }
.plasw-shop-compact-badges strong { background:var(--plw-accent-soft)!important; color:var(--plw-accent-ink)!important; border:1px solid var(--plw-accent)!important; border-radius:999px; padding:6px 12px; font-size:.78rem; }
.plasw-shop-out { background:var(--plw-danger-soft)!important; color:var(--plw-danger-ink)!important; border-color:var(--plw-danger)!important; }
/* Lagerstatus-Badge (icon-basiert statt Bild) */
.plw-stock-badge { display:inline-flex; align-items:center; gap:5px; font-size:.76rem; font-weight:700; padding:4px 9px; border-radius:999px; }
.plw-stock-badge.is-instock { background:var(--plw-success-soft); color:var(--plw-success-ink); }
.plw-stock-badge.is-low { background:var(--plw-warning-soft); color:var(--plw-warning-ink); }
.plw-stock-badge.is-out { background:var(--plw-danger-soft); color:var(--plw-danger-ink); }

/* ================= KALENDER / TERMINBUCHUNG ================= */
.plasw-calendar-page { font-family:var(--plw-font-body)!important; }
.plasw-calendar-day-head { background:var(--plw-paper)!important; border-bottom:2px solid var(--plw-line)!important; font-family:var(--plw-font-display)!important; }
.plasw-calendar-event { border-left:3px solid var(--plw-info)!important; background:var(--plw-info-soft)!important; }
.plasw-calendar-event.is-confirmed, .plasw-calendar-event.is-done { border-left-color:var(--plw-success)!important; background:var(--plw-success-soft)!important; }
.plasw-calendar-event.is-open, .plasw-calendar-event.is-pending { border-left-color:var(--plw-accent)!important; background:var(--plw-accent-soft)!important; }
.plasw-calendar-tabs a.is-active, .plasw-calendar-toolbar .is-active { background:#1B2027!important; color:#fff!important; }
.plasw-calendar-drawer-panel { border-top:3px solid var(--plw-accent)!important; }

/* Inline-SVG-Icons im Frontend (Shop/Kalender) — ersetzen das im Site-Kontext
   nicht verfügbare Tabler-Webfont der Administration */
.plw-svg-icon { display:inline-block; vertical-align:-3px; margin-right:7px; flex-shrink:0; }
button .plw-svg-icon, a.btn .plw-svg-icon, .plasw-shop-search button .plw-svg-icon { vertical-align:-4px; }
.plw-stock-badge .plw-svg-icon { margin-right:5px; vertical-align:-3px; }
.plasw-shop-eyebrow .plw-svg-icon, .plasw-shop-compact-head span .plw-svg-icon, .plasw-shop-compact-badges strong .plw-svg-icon { margin-right:6px; }
.plw-icon-right { display:inline-flex; align-items:center; }
.plw-icon-right .plw-svg-icon { margin-right:0; margin-left:7px; }

/* ================= SHOP-UMBAU (PrestaShop-Prinzip) ================= */
.plw-shop-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#1B2027;color:#fff;border-radius:14px;padding:10px 16px;margin-bottom:16px}
.plw-shop-brand{display:flex;align-items:center;font-weight:800;font-size:.95rem;color:#fff}
.plw-cart-pill{position:relative;border:0;background:transparent;box-shadow:none;overflow:visible}
.plw-cart-pill>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:var(--plw-accent,#ff7a1a);color:#3A1D00;font-weight:800;min-height:auto}
.plw-cart-pill>summary::-webkit-details-marker{display:none}
.plw-cart-pill>summary span{display:inline-flex;align-items:center}
.plw-cart-pill>summary strong{background:rgba(255,255,255,.55);border:0;border-radius:999px;padding:4px 10px;font-size:.82rem;color:#3A1D00}
.plw-cart-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:min(440px,92vw);max-height:80vh;overflow:auto;background:#fff;border:1px solid #d8e4f0;border-radius:16px;box-shadow:0 22px 50px rgba(7,31,59,.22);padding:18px;z-index:60}
.plw-cart-dropdown h2{margin:0 0 12px;font-size:1.15rem}
.plw-cart-lines{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.plw-cart-line{display:grid;grid-template-columns:40px minmax(0,1fr) 60px 80px 30px;gap:8px;align-items:center}
.plw-cart-line-media{width:40px;height:40px;border-radius:10px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-weight:800;color:#1B2027}
.plw-cart-line-info{display:flex;flex-direction:column;min-width:0}
.plw-cart-line-info strong{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plw-cart-line-info span{font-size:.74rem;color:#6b7a8d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plw-cart-line-qty{width:60px;border:1px solid #d8e4f0;border-radius:8px;padding:6px;text-align:center}
.plw-cart-line-sum{font-style:normal;font-weight:800;text-align:right;color:#1B2027;font-size:.85rem}
.plw-cart-line-remove{border:1px solid #f0c9c9;background:#fff2f2;color:#a32d2d;border-radius:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.plw-cart-line-remove:hover{background:#ffdede}
.plw-checkout-steps{display:flex;align-items:center;gap:6px;margin:16px 0;padding:12px;background:#f8fafc;border-radius:12px}
.plw-checkout-step{display:flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;color:#8a94a3;white-space:nowrap}
.plw-checkout-step.is-done{color:#1E8E5A}
.plw-checkout-step.is-active{color:#1B2027}
.plw-step-num{width:20px;height:20px;border-radius:50%;background:#e2e8f0;color:#5a6472;display:flex;align-items:center;justify-content:center;font-size:.68rem;flex-shrink:0}
.plw-checkout-step.is-done .plw-step-num{background:#e3f4ea;color:#1E8E5A}
.plw-checkout-step.is-active .plw-step-num{background:var(--plw-accent,#ff7a1a);color:#3A1D00}
.plw-checkout-step-line{flex:1;height:1px;background:#e2e8f0;min-width:14px}
.plw-breadcrumb{display:flex;gap:8px;align-items:center;font-size:.8rem;color:#6b7a8d;margin:0 0 12px}
.plw-breadcrumb a{color:#6b7a8d;text-decoration:none}
.plw-breadcrumb a:hover{text-decoration:underline}
.plw-breadcrumb .is-current{color:#1B2027;font-weight:700}
.plw-shop-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}
.plw-shop-sidebar{background:#fff;border:1px solid #d8e4f0;border-radius:16px;padding:14px;position:sticky;top:76px}
.plw-shop-sidebar h3{display:flex;align-items:center;margin:0 0 10px;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7a8d}
.plw-shop-sidebar ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.plw-shop-sidebar a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:9px;color:#1B2027;text-decoration:none;font-weight:600;font-size:.86rem}
.plw-shop-sidebar a:hover{background:#f3f6fa}
.plw-shop-sidebar a.is-active{background:#1B2027;color:#fff}
.plw-shop-sidebar a strong{background:#eef2f6;color:#5a6472;border-radius:999px;padding:2px 8px;font-size:.72rem}
.plw-shop-sidebar a.is-active strong{background:var(--plw-accent,#ff7a1a);color:#3A1D00}
.plw-shop-main .plasw-shop-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
@media(max-width:900px){.plw-shop-layout{grid-template-columns:1fr}.plw-shop-sidebar{position:static}.plw-shop-sidebar ul{flex-direction:row;flex-wrap:wrap}.plw-shop-sidebar a{font-size:.8rem}.plw-cart-dropdown{width:94vw;right:-10px}}

/* ================================================================== *
 *  MARKTPLATZ-LAYER (v1.0.167) – Shop-Frontend im Marktplatz-Stil    *
 *  Scoped auf .plw-market, ueberschreibt bewusst die aelteren        *
 *  Shop-Regeln (dunkel/Amber) mit einem hellen Rot/Weiss-Look.       *
 * ================================================================== */
.plw-market{
  --mk-red:#c81e2c; --mk-red-dark:#a3161f; --mk-red-soft:#fdeaec;
  --mk-ink:#1b1b1b; --mk-muted:#5f6773; --mk-line:#e5e7eb;
  --mk-soft:#f2f3f5; --mk-white:#ffffff;
  /* v1.0.176: eigene Warn-/Fehlerfarbe. Die --mk-red*-Token sind seit 1.0.172
     die Anthrazit-Markenfarbe (Name historisch) und taugen nicht mehr als
     Signalfarbe – "nicht verfuegbar" braucht aber eine rote Bedeutung. */
  --mk-danger:#a3161f; --mk-danger-soft:#fdecee; --mk-danger-line:#f2c6ca;
  max-width:1280px !important; margin:0 auto !important;
  padding:20px 18px 56px !important; color:var(--mk-ink) !important;
  background:transparent !important;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif !important;
}
.plw-market *{box-sizing:border-box;}
.plw-market h1,.plw-market h2,.plw-market h3{color:var(--mk-ink) !important;}

/* ---- Kopfleiste: Suche + Icons ---- */
.plw-mk-utility{display:flex;align-items:center;gap:22px;padding:6px 2px 16px;}
.plw-mk-search{
  flex:1 1 0;min-width:0;display:flex;align-items:center;gap:10px;
  background:var(--mk-soft);border:1px solid var(--mk-line);
  border-radius:999px;padding:6px 6px 6px 18px;min-height:56px;
}
.plw-mk-search-ico{display:inline-flex;color:var(--mk-muted);}
.plw-mk-search input{
  /* v1.0.176: min-width:0 – ohne das erzwingt die Standard-Intrinsic-Breite des
     Eingabefelds (size=20) eine Mindestbreite und die Suchzeile lief mobil
     ueber den Bildrand hinaus (Button "Suchen" abgeschnitten). */
  flex:1 1 0;min-width:0;min-height:44px;border:0;background:transparent;outline:none;
  font-size:1.02rem;color:var(--mk-ink);font-weight:500;
}
.plw-mk-search button{
  border:0;border-radius:999px;background:var(--mk-red);color:#fff;
  font-weight:700;padding:0 22px;min-height:44px;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
}
.plw-mk-search button:hover{background:var(--mk-red-dark);}

.plw-mk-icons{display:flex;align-items:flex-start;gap:6px;}
.plw-mk-icon{position:relative;}
.plw-mk-icon>summary{
  list-style:none;cursor:pointer;user-select:none;
  display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:6px 10px;border-radius:12px;color:var(--mk-ink);min-width:62px;
}
.plw-mk-icon>summary::-webkit-details-marker{display:none;}
.plw-mk-icon>summary:hover{background:var(--mk-soft);}
.plw-mk-icon>summary small{font-size:.74rem;color:var(--mk-muted);font-weight:600;}
.plw-mk-ico{position:relative;display:inline-flex;color:var(--mk-ink);}
.plw-mk-badge{
  position:absolute;top:-7px;right:-9px;background:var(--mk-red);color:#fff;
  font-size:.66rem;font-weight:800;font-style:normal;min-width:17px;height:17px;
  border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px;
}
.plw-mk-icon[open]>summary{background:var(--mk-soft);}

/* Popover */
.plw-mk-pop{
  position:absolute;top:calc(100% + 8px);right:0;z-index:60;
  width:300px;background:#fff;border:1px solid var(--mk-line);
  border-radius:16px;box-shadow:0 24px 60px rgba(15,23,42,.18);
  padding:16px;display:flex;flex-direction:column;gap:8px;
}
.plw-mk-pop-wide{width:min(420px,90vw);max-height:78vh;overflow:auto;}
.plw-mk-pop>strong{display:flex;align-items:center;gap:8px;font-size:.98rem;}
.plw-mk-pop-sub{color:var(--mk-muted);font-size:.86rem;}
.plw-mk-pop p{margin:4px 0 0;color:var(--mk-muted);font-size:.86rem;line-height:1.45;}
.plw-mk-pop-form{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
.plw-mk-pop-form input{
  border:1px solid var(--mk-line);border-radius:10px;padding:11px 12px;font-size:.92rem;width:100%;
  min-height:44px;
}
.plw-mk-pop-btn{
  border:0;border-radius:10px;background:var(--mk-red);color:#fff;font-weight:700;
  padding:11px 14px;cursor:pointer;width:100%;min-height:44px;
}
.plw-mk-pop-btn:hover{background:var(--mk-red-dark);}
.plw-mk-pop-reg{margin-top:4px;}
.plw-mk-pop-reg>summary{cursor:pointer;color:var(--mk-red);font-weight:600;font-size:.88rem;list-style:none;display:flex;align-items:center;min-height:44px;}
.plw-mk-pop-reg>summary::-webkit-details-marker{display:none;}

/* Warenkorb-Dropdown (uebernimmt bestehende Innenteile, aber heller Look) */
/* v1.0.176 – B12: Das Panel traegt bereits .plw-mk-pop/.plw-mk-pop-wide und bekommt
   von dort Rahmen, Polster, Schatten und Geometrie. Die frueheren Zuruecksetzer
   (position:static !important; width:auto !important) haben genau diese Geometrie
   ausgehebelt: der Warenkorb stand im Fluss der Flex-Kopfzeile, wurde mobil breiter
   als der Bildschirm und sprengte auf dem Desktop die Kopfleiste. Jetzt wird die
   Popover-Geometrie ausdruecklich wiederhergestellt (das !important neutralisiert
   nur die alten !important-Regeln aus .plw-cart-dropdown, Zeile ~2617). */
.plw-market .plw-cart-dropdown{position:absolute !important;top:calc(100% + 8px) !important;right:0 !important;left:auto !important;width:min(420px,90vw) !important;max-height:78vh !important;overflow:auto !important;}
.plw-market .plw-cart-dropdown h2{font-size:1.15rem !important;margin:0 0 10px !important;}
/* v1.0.176: letzte Spalte 30px -> 44px (Touch-Ziel Entfernen-Knopf) */
.plw-market .plw-cart-line{display:grid !important;grid-template-columns:40px minmax(0,1fr) 72px auto 44px !important;align-items:center !important;gap:10px !important;padding:10px 0 !important;border-bottom:1px solid var(--mk-line) !important;}
.plw-market .plw-cart-line-media span{width:40px !important;height:40px !important;border-radius:10px !important;background:var(--mk-red-soft) !important;color:var(--mk-red) !important;display:flex !important;align-items:center !important;justify-content:center !important;font-weight:800 !important;}
.plw-market .plw-cart-line-info strong{display:block;font-size:.9rem;}
.plw-market .plw-cart-line-info span{color:var(--mk-muted);font-size:.78rem;}
.plw-market .plw-cart-line-qty{width:72px !important;min-height:44px !important;border:1px solid var(--mk-line) !important;border-radius:9px !important;padding:7px !important;}
.plw-market .plw-cart-line-sum{font-weight:800;font-style:normal;}
.plw-market .plw-cart-line-remove{border:0;background:var(--mk-soft);border-radius:8px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--mk-muted);cursor:pointer;}
.plw-market .plw-cart-line-remove:hover{background:var(--mk-red-soft);color:var(--mk-red);}
.plw-market .plasw-shop-secondary{margin-top:10px;min-height:44px;border:1px solid var(--mk-line);background:#fff;border-radius:10px;padding:9px 14px;font-weight:700;cursor:pointer;}
.plw-market .plasw-shop-cart-sums{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding-top:10px;border-top:1px solid var(--mk-line);}
.plw-market .plasw-shop-cart-sums span{display:flex;justify-content:space-between;color:var(--mk-muted);}
.plw-market .plasw-shop-cart-sums .is-total{color:var(--mk-ink);font-size:1.05rem;font-weight:800;}
.plw-market .plasw-shop-cart-empty{color:var(--mk-muted);padding:10px 0;}

/* v1.0.176: Die drei Schritte tragen white-space:nowrap und passten im 420 px
   breiten Warenkorb-Panel nicht nebeneinander -> Umbruch erlauben. */
.plw-market .plw-checkout-steps{display:flex;flex-wrap:wrap;align-items:center;gap:8px 6px;margin:16px 0;}
.plw-market .plw-checkout-step-line{min-width:12px;}
.plw-market .plw-checkout-step{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--mk-muted);font-weight:700;}
.plw-market .plw-checkout-step .plw-step-num{width:22px;height:22px;border-radius:999px;background:var(--mk-soft);display:inline-flex;align-items:center;justify-content:center;font-size:.74rem;}
.plw-market .plw-checkout-step.is-done .plw-step-num{background:var(--mk-red);color:#fff;}
.plw-market .plw-checkout-step.is-active{color:var(--mk-ink);}
.plw-market .plw-checkout-step.is-active .plw-step-num{background:var(--mk-ink);color:#fff;}
.plw-market .plw-checkout-step-line{flex:1;height:2px;background:var(--mk-line);}

.plw-market .plasw-shop-checkout-form{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.plw-market .plasw-shop-checkout-form h3{margin:6px 0 0;}
.plw-market .plasw-shop-checkout-form label{display:block;font-weight:700;font-size:.86rem;color:var(--mk-ink);}
.plw-market .plasw-shop-checkout-form input,.plw-market .plasw-shop-checkout-form select,.plw-market .plasw-shop-checkout-form textarea{width:100%;margin-top:5px;border:1px solid var(--mk-line);border-radius:10px;padding:11px 12px;font-weight:500;}
/* v1.0.176: Touch-Ziele im Kaufpfad – Kaestchen/Radios ausgenommen, die bekommen
   ihre eigene Groesse und den vergroesserten Klickbereich ueber das Label. */
.plw-market .plasw-shop-checkout-form input:not([type="checkbox"]):not([type="radio"]),
.plw-market .plasw-shop-checkout-form select,
.plw-market .plasw-shop-checkout-form textarea{min-height:44px;}
.plw-market .plasw-shop-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.plw-market .plasw-shop-check{display:flex !important;align-items:center;gap:10px;font-weight:500 !important;font-size:.82rem;min-height:44px;padding:2px 0;}
.plw-market .plasw-shop-check input{width:22px !important;height:22px !important;flex:0 0 22px !important;margin-top:0 !important;}
.plw-market .plasw-shop-check a{color:var(--mk-red);}
.plw-market .plasw-shop-pay{border:0 !important;border-radius:12px !important;background:var(--mk-red) !important;color:#fff !important;font-weight:800 !important;padding:14px !important;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;margin-top:4px;}
.plw-market .plasw-shop-pay:hover{background:var(--mk-red-dark) !important;}
/* v1.0.176: Zeile ~2581 (.plasw-shop-checkout-form button[type=submit]) hat mit
   hoeherer Spezifitaet den Amber-Zeit-Verlauf durchgedrueckt; hier neutralisiert,
   damit der Bestell-Button wirklich die --mk-*-Token nutzt. */
.plw-market .plasw-shop-checkout-form button[type="submit"].plasw-shop-pay,
.plw-market .plasw-shop-checkout-form .plasw-shop-pay{background:var(--mk-red) !important;background-image:none !important;color:#fff !important;}
.plw-market .plasw-shop-checkout-form button[type="submit"].plasw-shop-pay:hover,
.plw-market .plasw-shop-checkout-form .plasw-shop-pay:hover{background:var(--mk-red-dark) !important;background-image:none !important;}
.plw-market .plasw-shop-login-required{background:var(--mk-red-soft);border:1px solid #f4c9cd;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:3px;}
.plw-market .plasw-shop-login-required strong{color:var(--mk-red-dark);}

/* ---- Horizontale Kategorie-Navigation ---- */
.plw-mk-nav{
  display:flex;gap:6px;flex-wrap:wrap;align-items:center;
  padding:6px 0 14px;margin:0 0 20px;border-bottom:1px solid var(--mk-line);
  overflow-x:auto;
}
.plw-mk-nav a{
  display:inline-flex;align-items:center;gap:7px;min-height:44px;
  padding:9px 14px;border-radius:999px;text-decoration:none;
  color:var(--mk-ink);font-weight:650;white-space:nowrap;font-size:.95rem;
}
.plw-mk-nav a strong{color:var(--mk-muted);font-weight:700;font-size:.8rem;}
.plw-mk-nav a:hover{background:var(--mk-soft);}
.plw-mk-nav a.is-active{background:var(--mk-red);color:#fff;}
.plw-mk-nav a.is-active strong{color:rgba(255,255,255,.8);}

/* ---- Aktions-Banner (Karussell) ---- */
.plw-mk-promos{display:flex;gap:16px;overflow-x:auto;padding:2px 2px 12px;margin:0 0 24px;scroll-snap-type:x proximity;}
.plw-mk-promo{
  flex:0 0 340px;display:flex;align-items:center;gap:14px;scroll-snap-align:start;
  background:#fff;border:1px solid var(--mk-line);border-radius:16px;padding:16px 18px;
  box-shadow:0 6px 18px rgba(15,23,42,.05);
}
.plw-mk-promo-badge{
  flex:0 0 auto;background:var(--mk-red);color:#fff;font-weight:800;
  border-radius:12px;padding:12px 14px;font-size:.82rem;text-align:center;line-height:1.15;
  min-width:64px;text-transform:uppercase;letter-spacing:.02em;
}
.plw-mk-promo-body{flex:1;min-width:0;}
.plw-mk-promo-body strong{display:block;font-size:1rem;line-height:1.25;}
.plw-mk-promo-body small{color:var(--mk-muted);font-size:.8rem;}
.plw-mk-promo-cta{
  display:inline-flex;align-items:center;gap:4px;white-space:nowrap;
  color:var(--mk-red);font-weight:800;text-decoration:none;font-size:.9rem;
}
.plw-mk-promo-cta.is-static{color:var(--mk-muted);}

/* ---- Inspirations-Kacheln ---- */
.plw-mk-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 28px;}
.plw-mk-tile{
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border:1px solid var(--mk-line);border-radius:18px;overflow:hidden;background:#fff;
  transition:transform .12s ease,box-shadow .12s ease;
}
.plw-mk-tile:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(15,23,42,.12);}
.plw-mk-tile-media{height:170px;display:flex;align-items:center;justify-content:center;}
.plw-mk-tile-media span{width:74px;height:74px;border-radius:20px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.2rem;font-weight:900;}
.plw-mk-tile-cap{padding:14px 16px 18px;display:flex;flex-direction:column;gap:2px;}
.plw-mk-tile-cap small{color:var(--mk-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;}
.plw-mk-tile-cap strong{font-size:1.05rem;}
.plw-mk-tile-cap em{color:var(--mk-muted);font-style:normal;font-size:.82rem;}

/* ---- Breadcrumb + Kopf ---- */
.plw-mk-breadcrumb{display:flex;gap:8px;align-items:center;color:var(--mk-muted);font-size:.85rem;margin:0 0 10px;}
.plw-mk-breadcrumb a{color:var(--mk-muted);text-decoration:none;}
.plw-mk-breadcrumb a:hover{color:var(--mk-red);}
.plw-mk-breadcrumb .is-current{color:var(--mk-ink);font-weight:700;}
.plw-mk-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 0 20px;padding:0;background:transparent !important;box-shadow:none !important;border:0 !important;}
.plw-mk-head h1{font-size:1.7rem !important;margin:0 !important;font-weight:800 !important;}
.plw-mk-head p{margin:4px 0 0 !important;color:var(--mk-muted) !important;}
.plw-market .plasw-shop-compact-badges{display:flex;gap:10px;flex-wrap:wrap;}
/* v1.0.176: !important nur, um das Amber-!important aus Zeile ~2583
   (.plasw-shop-compact-badges strong) im Anthrazit-Shop zu neutralisieren. */
.plw-market .plasw-shop-compact-badges strong{display:inline-flex;align-items:center;gap:6px;background:var(--mk-soft) !important;border:1px solid var(--mk-line) !important;border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:700;color:var(--mk-ink) !important;}

/* ---- Produktraster: helle, vertikale Karten ---- */
/* v1.0.176: align-items:stretch neutralisiert .plasw-shop-grid{align-items:start!important}
   (Zeile ~2178) – sonst sind die Produktkarten je Zeile unterschiedlich hoch. */
.plw-mk-grid{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(238px,1fr)) !important;gap:18px !important;align-items:stretch !important;}
.plw-market .plasw-shop-product{grid-template-columns:1fr !important;min-height:0 !important;border:1px solid var(--mk-line) !important;border-radius:16px !important;box-shadow:0 4px 14px rgba(15,23,42,.05) !important;overflow:hidden !important;background:#fff !important;display:flex !important;flex-direction:column !important;}
.plw-market .plasw-shop-product:hover{box-shadow:0 16px 38px rgba(15,23,42,.12) !important;}
.plw-market .plasw-shop-product-media{min-height:148px !important;border-right:0 !important;border-bottom:3px solid var(--mk-red) !important;background:linear-gradient(145deg,#f7f8fa,#eceef1) !important;}
.plw-market .plasw-shop-product-media span{background:#fff !important;color:var(--mk-red) !important;box-shadow:0 8px 20px rgba(0,0,0,.08) !important;}
.plw-market .plasw-shop-product-body{padding:16px !important;gap:9px !important;flex:1 !important;}
.plw-market .plasw-shop-product-top small{color:var(--mk-muted) !important;font-weight:700 !important;}
.plw-market .plasw-shop-product-top em{background:var(--mk-red-soft) !important;color:var(--mk-red-dark) !important;border:1px solid #f4c9cd !important;}
.plw-market .plasw-shop-product h2{font-size:1.05rem !important;color:var(--mk-ink) !important;}
.plw-market .plasw-shop-maker{color:var(--mk-muted) !important;}
.plw-market .plasw-shop-desc{color:var(--mk-muted) !important;}
.plw-market .plasw-shop-facts span{background:var(--mk-soft) !important;border:1px solid var(--mk-line) !important;color:var(--mk-muted) !important;}
.plw-market .plasw-shop-facts strong{color:var(--mk-ink) !important;}
.plw-market .plw-stock-badge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:800;}
.plw-market .plw-stock-badge.is-instock{background:#e6f6ec;color:#137a41;}
.plw-market .plw-stock-badge.is-low{background:#fdf1dc;color:#8a5b06;}
/* v1.0.176: "nicht verfuegbar" wieder mit roter Warnbedeutung (seit 1.0.172 war es
   neutralgrau, weil --mk-red-soft/-dark zur Anthrazit-Markenfarbe umdefiniert wurden).
   Kontrast #a3161f auf #fdecee = 6,84:1 (WCAG AA erfuellt). */
.plw-market .plw-stock-badge.is-out{background:var(--mk-danger-soft);color:var(--mk-danger);}
/* v1.0.176: font-family zuruecksetzen – Zeile ~2578 erzwingt sonst per !important
   Monospace fuer den Preis ("224 , 91 €" mit auffaelligen Abstaenden). */
.plw-market .plasw-shop-buyline strong{color:var(--mk-ink) !important;font-size:1.35rem !important;font-family:inherit !important;font-variant-numeric:tabular-nums;}
/* v1.0.176: Karten einer Zeile sind jetzt gleich hoch (align-items:stretch oben);
   damit die Preis-/Kaufzeile trotzdem buendig steht, wird der Kartenkoerper zur
   Flex-Spalte (Zeile ~2203 erzwingt sonst display:grid + align-content:start). */
.plw-market .plasw-shop-product-body{display:flex !important;flex-direction:column !important;}
.plw-market .plasw-shop-buyline{margin-top:auto !important;}
.plw-market .plasw-shop-buyline span{color:var(--mk-muted) !important;}
.plw-market .plasw-shop-add{display:flex !important;gap:8px !important;margin-top:4px !important;}
.plw-market .plasw-shop-add input{width:64px !important;min-height:44px !important;border:1px solid var(--mk-line) !important;border-radius:10px !important;padding:10px !important;}
.plw-market .plasw-shop-add button{flex:1 !important;min-height:44px !important;border:0 !important;border-radius:10px !important;background:var(--mk-red) !important;color:#fff !important;font-weight:800 !important;padding:11px !important;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;}
.plw-market .plasw-shop-add button:hover{background:var(--mk-red-dark) !important;}
.plw-market .plasw-shop-out{background:var(--mk-danger-soft) !important;color:var(--mk-danger) !important;border:1px solid var(--mk-danger-line) !important;border-radius:10px !important;padding:10px !important;min-height:44px !important;display:flex !important;align-items:center;justify-content:center;font-weight:800 !important;text-align:center;}
.plw-market .plasw-shop-empty{grid-column:1/-1;background:#fff;border:1px dashed var(--mk-line);border-radius:16px;padding:28px;text-align:center;font-weight:700;color:var(--mk-muted);}

/* ---- Responsiv ---- */
@media(max-width:960px){
  .plw-mk-tiles{grid-template-columns:repeat(2,minmax(0,1fr));}
  .plw-mk-head{flex-direction:column;align-items:flex-start;}
}
@media(max-width:640px){
  .plw-mk-utility{flex-wrap:wrap;gap:12px;}
  .plw-mk-search{order:2;flex:1 1 100%;min-width:0;min-height:50px;}
  .plw-mk-icons{order:1;margin-left:auto;}
  .plw-mk-pop{position:fixed;left:10px;right:10px;top:auto;width:auto;}
  .plw-mk-pop-wide{width:auto;}
  /* v1.0.176 – B12: gleiche Geometrie fuer das Warenkorb-Panel. Das !important ist
     noetig, weil die Entsperr-Regel oben (.plw-market .plw-cart-dropdown) selbst
     !important tragen muss, um die alten .plw-cart-dropdown-Regeln zu schlagen. */
  .plw-market .plw-cart-dropdown{position:fixed !important;left:10px !important;right:10px !important;top:auto !important;width:auto !important;max-height:82vh !important;}
  /* v1.0.176: Warenkorbzeile zweizeilig – so bleiben Mengenfeld, Summe und
     Entfernen-Knopf bei 360 px vollstaendig im Bild und 44 px gross. */
  .plw-market .plw-cart-line{grid-template-columns:44px minmax(72px,88px) minmax(0,1fr) 44px !important;column-gap:10px !important;row-gap:8px !important;gap:8px 10px !important;}
  .plw-market .plw-cart-line-media{grid-column:1;grid-row:1/span 2;align-self:start;}
  .plw-market .plw-cart-line-info{grid-column:2/span 3;grid-row:1;}
  .plw-market .plw-cart-line-qty{grid-column:2;grid-row:2;width:100% !important;}
  .plw-market .plw-cart-line-sum{grid-column:3;grid-row:2;text-align:right;}
  .plw-market .plw-cart-line-remove{grid-column:4;grid-row:2;}
  .plw-mk-tiles{grid-template-columns:1fr 1fr;}
  .plw-mk-grid{grid-template-columns:1fr 1fr !important;gap:12px !important;}
}
@media(max-width:420px){
  .plw-mk-tiles{grid-template-columns:1fr;}
  .plw-mk-grid{grid-template-columns:1fr !important;}
}
/* ===== Ende Marktplatz-Layer ===== */

/* Marktplatz-Layer Ergänzungen v1.0.168: Bestellhistorie + Versandhinweis */
.plw-market .plw-mk-orders{margin-top:12px;padding-top:10px;border-top:1px solid var(--mk-line);}
.plw-market .plw-mk-orders-head{display:block;font-size:.86rem;margin-bottom:6px;}
.plw-market .plw-mk-orders ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;}
.plw-market .plw-mk-orders li{display:flex;flex-direction:column;gap:1px;background:var(--mk-soft);border:1px solid var(--mk-line);border-radius:9px;padding:7px 9px;}
.plw-market .plw-mk-order-no{font-weight:800;font-size:.82rem;}
.plw-market .plw-mk-order-meta{color:var(--mk-muted);font-size:.78rem;}
.plw-market .plw-mk-order-badge{color:var(--mk-red-dark);font-size:.74rem;font-weight:700;}
.plw-market .plw-mk-ship-hint{display:block;margin-top:5px;color:var(--mk-muted);font-size:.76rem;font-weight:500;}
.plw-market .plasw-shop-checkout-form select option:disabled{color:#b0b4bb;}

/* Marktplatz-Layer v1.0.169: Produktbilder */
.plw-market .plasw-shop-product-media{height:176px !important;min-height:176px !important;overflow:hidden;padding:0 !important;}
.plw-market .plasw-shop-product-media .plw-mk-product-img{width:100%;height:100%;object-fit:cover;display:block;}

/* ================================================================== *
 *  v1.0.170: Alle Buttons/Badges im Shop einheitlich rund (Pill)     *
 * ================================================================== */
.plw-market .plw-mk-search button,
.plw-market .plasw-shop-add button,
.plw-market .plasw-shop-pay,
.plw-market .plasw-shop-secondary,
.plw-market .plw-mk-pop-btn,
.plw-market button[type="submit"],
.plw-market .btn{border-radius:999px !important;}
.plw-market .plw-mk-promo-badge{border-radius:999px !important;}
.plw-market .plasw-shop-out{border-radius:999px !important;}
.plw-market .plw-cart-line-remove{border-radius:999px !important;}
/* Eingabefelder neben Buttons ebenfalls leicht runder, damit die Zeile stimmig wirkt */
.plw-market .plasw-shop-add input{border-radius:999px !important;text-align:center;}

/* ================================================================== *
 *  v1.0.172: Shop-Design auf ANTHRAZIT umgestellt                    *
 *  (passend zu zoes-custom-garage.de / Haus-Theme --plw-ink)         *
 *  Nur Farbtoken – Layout unveraendert. Status-Farben bleiben.       *
 * ================================================================== */
.plw-market{
  --mk-red:#1b2027;        /* Anthrazit als Primaer-/Akzentfarbe */
  --mk-red-dark:#0e1216;   /* Hover / dunkler */
  --mk-red-soft:#eceef1;   /* neutrale helle Flaeche statt Rot-Soft */
}
/* fest verdrahtete rosa Raender neutralisieren */
.plw-market .plasw-shop-login-required{border-color:var(--mk-line) !important;}
.plw-market .plasw-shop-product-top em{border-color:var(--mk-line) !important;}
/* v1.0.176: .plasw-shop-out bleibt bewusst rot (Warnbedeutung) – siehe --mk-danger* */
/* Produktbild-Unterkante dezenter in Anthrazit */
.plw-market .plasw-shop-product-media{border-bottom-color:var(--mk-red) !important;}

/* v1.0.174: Anmeldung/Registrierung direkt im Warenkorb */
.plw-market .plw-mk-cartlogin{gap:8px !important;}
.plw-market .plw-mk-cartlogin-form{display:flex;flex-direction:column;gap:8px;margin-top:6px;}
.plw-market .plw-mk-cartlogin-form input{border:1px solid var(--mk-line);border-radius:999px;padding:11px 14px;font-size:.92rem;width:100%;min-height:44px;background:#fff;}
.plw-market .plw-mk-cartlogin-reg{margin-top:2px;}
.plw-market .plw-mk-cartlogin-reg>summary{cursor:pointer;font-weight:700;font-size:.88rem;color:var(--mk-ink);list-style:none;padding:6px 0;display:flex;align-items:center;min-height:44px;}
.plw-market .plw-mk-cartlogin-reg>summary::-webkit-details-marker{display:none;}
.plw-market .plw-mk-cartlogin-reg>summary:hover{text-decoration:underline;}
/* v1.0.176: reiner Textlink – vergroesserter Klickbereich statt groesserer Schrift.
   Farbe --mk-muted ist jetzt #5f6773 (4,92:1 auf --mk-red-soft #eceef1, AA erfuellt). */
.plw-market .plw-mk-cartlogin-reset{font-size:.8rem;color:var(--mk-muted);text-decoration:underline;align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;padding:4px 0;}

/* ================================================================== *
 *  v1.0.177: THEME "CUSTOM BOLD" (Zoe's Custom Garage)               *
 *                                                                     *
 *  Bewusst KEINE zweite Design-Ebene: Das Theme setzt ausschliesslich  *
 *  die vorhandenen --plw-* und --mk-* Tokens neu und ergaenzt die drei *
 *  Merkmale, die diese Richtung ausmachen - harte 3-px-Kanten, ein     *
 *  versetzter Vollton-Schatten statt Weichzeichner, und Versalien in   *
 *  Outfit. Klassennamen und Layout bleiben unangetastet.               *
 *                                                                     *
 *  Schrift LOKAL gebuendelt, nicht ueber Googles CDN: Das Nachladen    *
 *  von Google Fonts durch eine deutsche Firmenseite gibt die IP des    *
 *  Besuchers an Google weiter und ist abmahnfaehig                     *
 *  (LG Muenchen I, 20.01.2022, Az. 3 O 17493/20).                      *
 * ================================================================== */

@font-face{
  font-family:'Outfit';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('../fonts/outfit-latin-var.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Outfit';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('../fonts/outfit-latin-ext-var.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ---------- 1. Tokens: Verwaltung, Mitarbeiterbereich, Kalender ---------- */
.plasw-admin, .plasw-shop-shell, .plasw-cash-vault-front, .plasw-cashsale-front,
.plasw-articles-front, .plasw-workorders-front, .plasw-customers, .plasw-calendar-page,
.plw-market{
  --plw-ink:#111111;
  --plw-steel:#3A3A3A;
  --plw-muted:#5C5C5C;          /* 6,3:1 auf --plw-paper - AA erfuellt */
  --plw-paper:#F2EFEA;          /* Papierweiss statt Blaugrau */
  --plw-panel:#FFFFFF;
  --plw-line:#111111;           /* Kanten sind schwarz, nicht grau */
  --plw-accent:#C24A2B;         /* Flaechen mit weisser Schrift */
  --plw-accent-brand:#E0603F;   /* Markenflaeche mit schwarzer Schrift */
  --plw-accent-ink:#7A2A14;
  --plw-accent-soft:#FBE3DC;
  --plw-radius:0px;             /* harte Ecken */
  --plw-font-display:'Outfit',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --plw-font-body:'Outfit',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  /* Eigene Merkmale dieser Richtung */
  --plw-edge:3px;
  --plw-shadow:5px 5px 0 #111111;
  --plw-shadow-sm:3px 3px 0 #111111;
}

/* ---------- 2. Tokens: Shop (Marktplatz-Ebene) ---------- */
.plw-market{
  /* Zwei Abstufungen mit Absicht: Weiss auf #E0603F ergibt nur 3,55:1 und
     faellt fuer Knopfbeschriftungen durch AA. Flaechen mit heller Schrift
     nutzen deshalb das dunklere #C24A2B (4,87:1), Flaechen mit schwarzer
     Schrift das markentreue #E0603F (5,32:1). */
  --mk-red:#C24A2B;             /* Aktionsflaechen mit weisser Schrift */
  --mk-red-dark:#A03A1F;
  --mk-red-soft:#FBE3DC;
  --mk-brand:#E0603F;           /* Markenflaeche, immer mit schwarzer Schrift */
  --mk-ink:#111111;
  --mk-muted:#5C5C5C;
  --mk-line:#111111;
  --mk-soft:#F2EFEA;
  --mk-white:#FFFFFF;
  --mk-danger:#A3161F; --mk-danger-soft:#FBD9D3; --mk-danger-line:#111111;
  font-family:'Outfit',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  background:var(--mk-soft);
}

/* ---------- 3. Typografie: Versalien mit Gewicht ---------- */
.plasw-admin h1,.plasw-admin h2,
.plw-market h1,.plw-market h2,
.plasw-portal-head h1,.plasw-section-head h2{
  font-family:'Outfit',system-ui,sans-serif !important;
  font-weight:900 !important;
  text-transform:uppercase;
  letter-spacing:-.02em;
  line-height:.95;
  /* Versalien sind breiter als Gemischtschrift und drueckten die
     Mindestbreite der Seite ueber schmale Bildschirme hinaus (350 -> 417 px
     gemessen). Lange Woerter duerfen deshalb umbrechen. */
  overflow-wrap:anywhere;
  hyphens:auto;
}
.plw-market h3,.plasw-admin h3,.plasw-section-head h2 span{
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  overflow-wrap:anywhere;
  hyphens:auto;
}
/* Auch Kartentitel und Tabellenkoepfe duerfen umbrechen. */
.plw-market .plasw-shop-product-body strong,.plasw-portal-card strong,
.plasw-stock-card strong,.plasw-sale-card strong,.plasw-table th{
  overflow-wrap:anywhere;
}
.plw-market .plw-mk-nav a,.plasw-admin .plasw-nav a{
  font-weight:700;text-transform:uppercase;letter-spacing:.12em;
}

/* ---------- 4. Kanten und Flaechen ---------- */
.plw-market .plw-mk-grid>*,
.plw-market .plasw-shop-product,
.plasw-portal-card,.plasw-form-card,.plasw-table-card,.plasw-notice-card,
.plasw-stock-card,.plasw-sale-card,.plasw-customer-result{
  border:var(--plw-edge) solid #111 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.plw-market .plasw-shop-product-media{border-bottom:var(--plw-edge) solid #111 !important;}
.plw-market .plw-mk-pop{border:var(--plw-edge) solid #111 !important;border-radius:0 !important;box-shadow:var(--plw-shadow) !important;}
.plw-market .plw-mk-search{border:var(--plw-edge) solid #111 !important;border-radius:999px !important;}

/* ---------- 5. Schaltflaechen: Vollton-Schatten statt Weichzeichner ---------- */
.plw-market .plasw-shop-pay,.plw-market .plw-mk-pop-btn,
.plasw-admin .btn-primary,.plasw-portal .btn-primary,
.plasw-calendar-page .btn-primary,.plasw-form-actions .btn-primary,
.plw-market .plasw-shop-add button{
  /* background-image ausdruecklich abschalten: eine Altregel aus einer
     frueheren Designphase legt hier einen dunkelblauen Verlauf drueber
     (.plasw-portal .btn-primary, mit !important). Eine Hintergrundfarbe
     allein loescht ein Verlaufsbild nicht - der Knopf im
     Mitarbeiterbereich blieb deshalb blau statt korallrot. */
  background-image:none !important;
  /* Rueckfallkette ist hier zwingend: --mk-red gibt es nur im Shop-Layer.
     Auf der Terminseite (.plasw-calendar-page) war die Variable undefiniert,
     die ganze Deklaration damit ungueltig - der Knopf blieb durchsichtig,
     waehrend die weisse Schrift stehen blieb. Ergebnis: weiss auf hell,
     unlesbar. */
  background:var(--mk-red, var(--plw-accent, #C24A2B)) !important;
  color:#fff !important;
  border:var(--plw-edge) solid #111 !important;
  border-radius:0 !important;
  box-shadow:var(--plw-shadow) !important;
  font-weight:700 !important;
  text-transform:uppercase;
  letter-spacing:.12em;
  min-height:44px;
  transition:transform .12s ease,box-shadow .12s ease;
}
.plw-market .plasw-shop-pay:hover,.plw-market .plw-mk-pop-btn:hover,
.plasw-admin .btn-primary:hover,.plasw-portal .btn-primary:hover,
.plasw-calendar-page .btn-primary:hover,.plasw-form-actions .btn-primary:hover,
.plw-market .plasw-shop-add button:hover{
  transform:translate(2px,2px);
  box-shadow:var(--plw-shadow-sm) !important;
}
.plw-market .plasw-shop-secondary,.plasw-admin .btn-secondary,
.plasw-portal .btn-secondary,.plasw-calendar-page .btn-secondary,
.plasw-form-actions .btn-secondary{
  background:#fff !important;background-image:none !important;color:#111 !important;
  border:var(--plw-edge) solid #111 !important;border-radius:0 !important;
  box-shadow:var(--plw-shadow-sm) !important;font-weight:700 !important;
  text-transform:uppercase;letter-spacing:.12em;min-height:44px;
}

/* ---------- 6. Kennzeichnungen ---------- */
.plw-market .plw-stock-badge,.plasw-status,.plasw-status-pill,
.plw-market .plasw-shop-compact-badges strong{
  border:2px solid #111 !important;border-radius:0 !important;
  font-weight:700 !important;text-transform:uppercase;letter-spacing:.12em;
  color:#111 !important;
}
.plw-market .plw-stock-badge.is-instock{background:#C9F2D9 !important;}
.plw-market .plw-stock-badge.is-low{background:#FFE9A8 !important;}
.plw-market .plw-stock-badge.is-out{background:#FFD2C8 !important;}

/* ---------- 7. Kennzahlen als Bento-Raster ---------- */
.plasw-admin .plasw-kpi-grid>*:first-child{background:var(--plw-accent-brand);color:#111;}
.plasw-admin .plasw-kpi-grid>*:nth-child(3){background:#1B1B1B;color:#fff;}
.plasw-admin .plasw-kpi-grid>*{
  border:var(--plw-edge) solid #111;border-radius:0;
  font-variant-numeric:tabular-nums;
}
.plasw-admin .plasw-kpi-grid strong{font-weight:900;letter-spacing:-.02em;}

/* ---------- 8. Betraege bleiben lesbar ---------- */
.plw-market .plasw-shop-buyline strong,.plasw-total-strong,.plasw-table td.num{
  font-family:'Outfit',system-ui,sans-serif !important;
  font-weight:900 !important;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
}

/* ---------- 9. Tastaturbedienung sichtbar halten ---------- */
.plw-market a:focus-visible,.plw-market button:focus-visible,
.plw-market input:focus-visible,.plw-market select:focus-visible,
.plasw-admin a:focus-visible,.plasw-admin button:focus-visible{
  outline:3px solid var(--plw-accent);
  outline-offset:2px;
}

@media (prefers-reduced-motion:reduce){
  .plw-market .plasw-shop-pay,.plw-market .plw-mk-pop-btn,
  .plasw-admin .btn-primary,.plw-market .plasw-shop-add button{transition:none;}
}

/* ---------- 10. Harte Kante konsequent: Rundungen im Shop aufheben ---------- */
.plw-market .plw-mk-tile,.plw-market .plw-mk-tile-cap,
.plw-market .plw-mk-promo,.plw-market .plw-mk-promo-badge,
.plw-market .plw-mk-badge,.plw-market .plw-mk-order-badge,
.plw-market .plasw-shop-facts>span,.plw-market .plasw-shop-out,
.plw-market .plw-mk-product-img,.plw-market .plw-mk-ico,
.plw-market .plw-cart-line-media span,.plw-market .plw-cart-line-qty,
.plw-market .plw-cart-line-remove,.plw-market .plw-mk-cartlogin-form input,
.plw-market .plasw-shop-add input,.plw-market .plw-mk-pop-form input{
  border-radius:0 !important;
}
.plw-market .plw-mk-tile,.plw-market .plw-mk-promo{
  border:var(--plw-edge) solid #111 !important;
  box-shadow:var(--plw-shadow-sm) !important;
}
.plw-market .plasw-shop-facts>span{border:2px solid #111 !important;}
.plw-market .plw-mk-promo-badge,.plw-market .plw-mk-badge,
.plw-market .plasw-shop-product-top em{
  border:2px solid #111 !important;background:var(--mk-brand) !important;color:#111 !important;
  border-radius:0 !important;font-style:normal;
  font-weight:700 !important;text-transform:uppercase;letter-spacing:.1em;
}
.plw-market .plasw-shop-out{
  border:2px solid #111 !important;border-radius:0 !important;
  background:#FFD2C8 !important;color:#111 !important;font-weight:700 !important;
}
.plw-market .plw-mk-tile-cap{border-top:var(--plw-edge) solid #111 !important;}
/* Suchfeld: einziges bewusst rundes Element der Marke, Kante trotzdem hart */
.plw-market .plw-mk-search{box-shadow:var(--plw-shadow-sm) !important;}
.plw-market .plw-mk-search button{border-radius:999px !important;background:var(--mk-red) !important;color:#fff !important;font-weight:700 !important;text-transform:uppercase;letter-spacing:.1em;}

/* ---------- 11. Schmale Schirme ----------
   Auf dem Handy faellt der versetzte Schatten kleiner aus und die Kante
   duenner, damit die plakative Anmutung nicht erdrueckt. Karten duerfen
   schrumpfen (min-width:0 gegen die Mindestbreite von Grid-/Flex-Kindern).
   Kein zusaetzliches Innenabstands-Polster: der Schatten liegt ausserhalb der
   Elementbox und vergroessert die scrollbare Flaeche NICHT - nachgemessen. */
.plasw-portal-card,.plasw-form-card,.plasw-table-card,.plasw-notice-card,
.plasw-stock-card,.plasw-sale-card,.plasw-customer-result,
.plw-market .plw-mk-tile,.plw-market .plw-mk-promo{min-width:0;}
@media (max-width:640px){
  .plasw-admin,.plasw-shop-shell,.plasw-cash-vault-front,.plasw-cashsale-front,
  .plasw-articles-front,.plasw-workorders-front,.plasw-customers,.plasw-calendar-page,
  .plw-market{
    --plw-shadow:3px 3px 0 #111111;
    --plw-shadow-sm:2px 2px 0 #111111;
    --plw-edge:2px;
  }
}

/* Honigtopf der Terminbuchung: fuer Menschen unsichtbar, aber im Dokument
   vorhanden, damit automatische Ausfueller hineinschreiben. Nicht display:none
   - manche Ausfueller ueberspringen unsichtbare Felder. */
.plasw-hp{position:absolute !important;left:-9999px !important;top:auto !important;width:1px !important;height:1px !important;overflow:hidden !important;}

/* ---------- 12. Kopfzeile des Katalogs ----------
   Die beiden Marken "Kauf auf Rechnung" und "Versand oder Abholung" standen
   als schmale Spalte rechts neben der Ueberschrift und stapelten sich, sobald
   der Platz eng wurde - der Kopf wirkte dadurch zerrissen. Sie gehoeren als
   ruhige Zeile unter den Titel: dort liest man sie als Leistungsversprechen,
   und sie brechen sauber um statt zu stapeln. */
.plw-market .plasw-shop-compact-head{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:14px !important;
}
.plw-market .plasw-shop-compact-badges{
  justify-content:flex-start !important;
  min-width:0 !important;
  width:100%;
  gap:10px !important;
}
.plw-market .plasw-shop-compact-badges strong{
  width:auto !important;
  min-height:40px;
}
@media (max-width:620px){
  .plw-market .plasw-shop-compact-badges strong{width:100% !important;justify-content:flex-start !important;}
}

/* ---------- 13. Joomlas Systemmeldungen ----------
   Die gruene Erfolgsmeldung kommt vom Joomla-Template, nicht aus der
   Komponente - sie sah neben dem plakativen Theme wie ein Fremdkoerper aus.
   Nicht mehr an body.com_plaswerkstatt gebunden: diese Klasse setzt
   Cassiopeia, YOOtheme Pro aber nicht. Da unser Stylesheet ausschliesslich
   auf den Seiten der Komponente geladen wird, greift die Regel auch so nur
   dort - die Bindung waere unter einem anderen Template eine Fehlerquelle
   statt einer Sicherung gewesen. */
#system-message-container .alert,
#system-message-container joomla-alert{
  display:block;
  border:3px solid #111 !important;
  border-radius:0 !important;
  box-shadow:5px 5px 0 #111 !important;
  background:#F2EFEA;
  color:#111;
  padding:14px 16px;
  margin:0 0 20px;
  font-family:'Outfit',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-weight:500;
}
#system-message-container .alert-success,
#system-message-container joomla-alert[type="success"]{background:#C9F2D9;}
#system-message-container .alert-warning,
#system-message-container joomla-alert[type="warning"]{background:#FFE9A8;}
#system-message-container .alert-danger,
#system-message-container joomla-alert[type="danger"]{background:#FFD2C8;}
#system-message-container .alert-info,
#system-message-container joomla-alert[type="info"]{background:#E4E9F0;}

/* Ueberschrift der Meldung im Duktus des Themes */
#system-message-container .alert-heading,
#system-message-container joomla-alert .alert-heading{
  font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;
  margin:0 0 6px;color:#111;
}
/* Schliessen-Knopf: quadratisch statt rund, Trefferflaeche 44 px */
#system-message-container .btn-close,
#system-message-container .joomla-alert--close,
#system-message-container button[aria-label*="lose"]{
  border:2px solid #111 !important;border-radius:0 !important;background:#fff !important;
  min-width:44px;min-height:44px;opacity:1 !important;color:#111 !important;
}
/* Der farbige Balken links stammt aus dem Joomla-Template und passt nicht
   zur harten Kante - er entfaellt zugunsten der Flaechenfarbe. */
#system-message-container .alert::before,
#system-message-container joomla-alert::before{display:none !important;}

/* Hinweiszeile am Passwort-Link: der Wechsel in Joomlas Anmeldebereich wird
   angekuendigt, damit er nicht wie ein Bruch wirkt. */
.plw-market .plw-mk-cartlogin-reset{flex-direction:column;align-items:flex-start !important;gap:2px;text-decoration:none !important;}
.plw-market .plw-mk-cartlogin-reset>small{font-size:.72rem;color:var(--mk-muted);font-weight:400;text-decoration:none;line-height:1.35;}
.plw-market .plw-mk-cartlogin-reset:hover{text-decoration:underline !important;}

/* ==================================================================
 *  v1.0.180: EIGENSTAENDIGE GRUNDGESTALTUNG
 *
 *  Bis hierher hat sich die Komponente auf Bootstrap verlassen, das
 *  Joomlas Standard-Template Cassiopeia mitliefert: Rahmen, Innenabstand
 *  und Hintergrund von .form-control, .form-select, .btn und .table kamen
 *  von dort. Laeuft die Seite unter einem Template ohne Bootstrap - etwa
 *  YOOtheme Pro, das auf UIkit aufbaut - gibt es diese Klassen nicht.
 *  Gemessen: Knoepfe fielen auf 21 Pixel Browser-Standard zurueck, also
 *  weit unter die 44 Pixel Trefferflaeche, die wir mühsam hergestellt
 *  haben.
 *
 *  Deshalb bringt die Komponente ihre Grundgestaltung jetzt selbst mit.
 *  Alles ist auf die eigenen Behaelter begrenzt - die uebrige Website
 *  wird nicht angefasst. Wo Bootstrap vorhanden ist, ueberschreiben diese
 *  Regeln es mit demselben Ergebnis; wo es fehlt, springen sie ein.
 * ================================================================== */

.plasw-admin,.plasw-portal,.plasw-shop-shell,.plw-market,
.plasw-cash-vault-front,.plasw-cashsale-front,.plasw-articles-front,
.plasw-workorders-front,.plasw-customers,.plasw-calendar-page,
.plasw-entity-page{
  box-sizing:border-box;
}
.plasw-admin *,.plasw-portal *,.plasw-shop-shell *,.plw-market *,
.plasw-cash-vault-front *,.plasw-cashsale-front *,.plasw-articles-front *,
.plasw-workorders-front *,.plasw-customers *,.plasw-calendar-page *,
.plasw-entity-page *{box-sizing:border-box;}

/* ---------- Eingabefelder ---------- */
.plasw-admin .form-control,.plasw-admin .form-select,
.plasw-portal .form-control,.plasw-portal .form-select,
.plw-market .form-control,.plw-market .form-select,
.plasw-cash-vault-front .form-control,.plasw-cash-vault-front .form-select,
.plasw-cashsale-front .form-control,.plasw-cashsale-front .form-select,
.plasw-articles-front .form-control,.plasw-articles-front .form-select,
.plasw-workorders-front .form-control,.plasw-workorders-front .form-select,
.plasw-customers .form-control,.plasw-customers .form-select,
.plasw-calendar-page .form-control,.plasw-calendar-page .form-select,
.plasw-entity-page .form-control,.plasw-entity-page .form-select,
.plasw-admin input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.plasw-portal input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.plw-market input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.plasw-calendar-page input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.plasw-admin select,.plasw-portal select,.plw-market select,.plasw-calendar-page select,
.plasw-admin textarea,.plasw-portal textarea,.plw-market textarea,.plasw-calendar-page textarea{
  display:block;
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:2px solid var(--plw-line, #111);
  border-radius:var(--plw-radius, 0);
  background:#fff;
  color:var(--plw-ink, #111);
  font-family:inherit;
  font-size:1rem;
  line-height:1.4;
  appearance:none;
}
.plasw-admin textarea,.plasw-portal textarea,.plw-market textarea{min-height:96px;}
.plasw-admin select,.plasw-portal select,.plw-market select,.plasw-calendar-page select{
  /* Pfeil selbst mitbringen, weil appearance:none ihn entfernt. */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23111' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  padding-right:34px;
}
.plasw-admin .form-control:focus,.plasw-portal .form-control:focus,
.plw-market .form-control:focus,.plasw-admin input:focus,.plasw-portal input:focus,
.plw-market input:focus,.plasw-admin select:focus,.plasw-portal select:focus,
.plw-market select:focus,.plasw-admin textarea:focus,.plasw-portal textarea:focus,
.plw-market textarea:focus{
  outline:3px solid var(--plw-accent, #C24A2B);
  outline-offset:2px;
}

/* ---------- Kontrollkaestchen ---------- */
.plasw-admin input[type="checkbox"],.plasw-portal input[type="checkbox"],
.plw-market input[type="checkbox"],.plasw-calendar-page input[type="checkbox"]{
  appearance:none;width:22px;height:22px;min-height:22px;
  border:2px solid var(--plw-line, #111);border-radius:0;background:#fff;
  display:inline-block;vertical-align:middle;margin:0 8px 0 0;cursor:pointer;flex:0 0 auto;
}
.plasw-admin input[type="checkbox"]:checked,.plasw-portal input[type="checkbox"]:checked,
.plw-market input[type="checkbox"]:checked,.plasw-calendar-page input[type="checkbox"]:checked{
  background:var(--plw-accent, #C24A2B);box-shadow:inset 0 0 0 3px #fff;
}

/* ---------- Schaltflaechen ---------- */
.plasw-admin .btn,.plasw-portal .btn,.plw-market .btn,
.plasw-calendar-page .btn,.plasw-entity-page .btn,
.plasw-admin button,.plasw-portal button,.plw-market button,
.plasw-calendar-page button,.plasw-cash-vault-front button,
.plasw-cashsale-front button,.plasw-workorders-front button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:10px 20px;
  border:var(--plw-edge, 3px) solid var(--plw-line, #111);
  border-radius:var(--plw-radius, 0);
  background:#fff;
  color:var(--plw-ink, #111);
  font-family:inherit;
  font-size:.92rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  line-height:1.1;
  cursor:pointer;
  text-decoration:none;
}
.plasw-admin .btn-primary,.plasw-portal .btn-primary,.plw-market .btn-primary,
.plasw-calendar-page .btn-primary,.plasw-entity-page .btn-primary{
  background:var(--plw-accent, #C24A2B);
  color:#fff;
}
.plasw-admin .btn-secondary,.plasw-portal .btn-secondary,.plw-market .btn-secondary,
.plasw-calendar-page .btn-secondary{background:#fff;color:var(--plw-ink, #111);}
.plasw-admin .btn:disabled,.plasw-portal .btn:disabled,.plw-market .btn:disabled,
.plasw-admin button:disabled,.plasw-portal button:disabled,.plw-market button:disabled{
  opacity:.5;cursor:not-allowed;
}

/* ---------- Tabellen ---------- */
.plasw-admin table,.plasw-portal table,.plw-market table,.plasw-entity-page table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  font-size:.94rem;
}
.plasw-admin table th,.plasw-portal table th,.plw-market table th{
  text-align:left;
  padding:12px 14px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.76rem;
  background:var(--plw-paper, #F2EFEA);
  border-bottom:2px solid var(--plw-line, #111);
}
.plasw-admin table td,.plasw-portal table td,.plw-market table td{
  padding:12px 14px;
  border-bottom:1px solid #D8D2C8;
  vertical-align:middle;
}

/* ---------- Verweise ---------- */
.plasw-admin a,.plasw-portal a,.plw-market a{color:var(--plw-accent-ink, #7A2A14);}
.plasw-admin a:hover,.plasw-portal a:hover,.plw-market a:hover{color:var(--plw-ink, #111);}

/* Downloadseite fuer die App (Frontend) */
.plasw-appdownload h2{font-size:1.05rem;margin:22px 0 8px;color:#17324d;font-weight:700}
.plasw-appdownload p{margin:0 0 10px;color:#32465a;line-height:1.5}
.plasw-app-meta{color:#5b6678;font-size:.9rem}
.plasw-app-schritte{margin:0 0 6px;padding-left:20px;color:#32465a;line-height:1.6}
.plasw-app-schritte li{margin-bottom:6px}
.plasw-hinweis-warnung{margin:0;padding:10px 12px;border-radius:10px;background:#fff4e5;border:1px solid #f0d3a8;color:#7a4b00;font-size:.9rem}

/* Anmeldung, die in den Werkstattbereich fuehrt */
.plasw-anmelden .plasw-portal-head{text-align:center}
.plasw-anmelden-logo{max-height:74px;max-width:220px;display:block;margin:0 auto 14px}
.plasw-anmelden-karte{max-width:460px;margin:0 auto}
.plasw-anmelden-form{display:flex;flex-direction:column;gap:14px}
.plasw-anmelden-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#32465a}
.plasw-anmelden-merken{flex-direction:row!important;align-items:center;gap:8px!important;font-weight:400!important}
.plasw-anmelden-merken input{width:auto}
.plasw-anmelden-form .plasw-big-button{text-align:center;border:0;font-size:1rem;cursor:pointer}
.plasw-anmelden-fuss{margin:14px 0 0;text-align:center;font-size:.9rem;color:#5b6678}
.plasw-anmelden-hinweis{max-width:460px;margin:18px auto 0;text-align:center;font-size:.9rem;color:#5b6678}

/* Fliesstext in einer Karte.
   In .plasw-card ist <strong> als KENNZAHL gestaltet - 2rem, im Adminbereich
   zusaetzlich Monospace mit !important. Das ist fuer Kachel-Zahlen richtig
   (Abwesenheitsstatistik), zerlegt aber jeden Satz, in dem <strong> das tut,
   wofuer es gedacht ist: hervorheben. Diese Klasse nimmt den Fliesstext davon
   aus. Das !important ist noetig, um die bestehende !important-Regel zu
   erreichen - nicht schoen, aber ehrlicher als die Kennzahl-Regel zu loeschen
   und dafuer bestehende Seiten zu beschaedigen. */
.plasw-fliesstext strong{font-size:inherit!important;font-family:inherit!important;font-weight:700!important;line-height:inherit!important;color:inherit!important}
.plasw-hinweis-felder{font-weight:700}

/* Leiste zum Umschalten im Mitarbeiterbereich.
   Farben und Rundungen aus dem bestehenden Kartensystem (#d8e2ef, 18px),
   damit sie nicht wie ein Fremdkoerper ueber den Seiten haengt. */
.plasw-leiste{display:flex;flex-wrap:wrap;gap:6px;background:#fff;border:1px solid #d8e2ef;border-radius:18px;padding:8px;margin-bottom:16px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
/* Keine eigene Textfarbe: im Mitarbeiterbereich faerbt .plasw-portal a alle
   Verweise mit --plw-accent-ink. Eine eigene Farbe hier waere ein zweiter,
   konkurrierender Design-Layer - und sie wuerde ohnehin verlieren, weil jene
   Regel spezifischer ist. Nur der aktive Punkt setzt sich bewusst ab. */
.plasw-leiste-punkt{display:inline-block;padding:9px 14px;border-radius:12px;text-decoration:none;font-weight:700;font-size:.92rem;white-space:nowrap;line-height:1.2}
/* Ueberfahren ist KEINE Pille. Die gefuellte Pille bedeutet "hier bin ich";
   eine zweite, hellere Pille unter dem Mauszeiger sah aus wie ein zweiter
   ausgewaehlter Reiter. Jetzt: Unterstreichung - eine andere Form, nicht nur
   eine andere Farbe desselben Zustands. */
.plasw-leiste-punkt:hover{background:transparent;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
/* Farben aus den Tokens, die .plasw-portal ohnehin setzt - nicht als Hex,
   sonst muss ein spaeterer Themenwechsel sie einzeln aufspueren. */
.plasw-portal .plasw-leiste-punkt.ist-aktiv{background:var(--plasw-blue,#113d67);color:#fff}
.plasw-portal .plasw-leiste-punkt.ist-aktiv:hover{background:var(--plasw-ink-2,#0d2a48);color:#fff;text-decoration:none}
.plasw-leiste-punkt:focus-visible{outline:2px solid var(--plasw-blue,#113d67);outline-offset:2px}
/* Auf schmalen Geraeten bricht die Leiste um und schiebt sich NICHT seitlich.
   Seitliches Schieben sieht aufgeraeumter aus, versteckt aber die hinteren
   Bereiche hinter einer Geste, die niemand vermutet. Umbrechen zeigt alles. */

/* Breite des Mitarbeiterbereichs
   ------------------------------------------------------------------
   Zwei Grenzen standen der vollen Bildschirmbreite im Weg: unsere eigene
   (1180px, weiter oben) und die des Seiten-Templates. Zoe's Seite laeuft
   auf einem UIkit-Template, dessen .uk-container bei 1200px abriegelt -
   ohne die zweite Zeile haette die erste gar nichts bewirkt.

   1720px statt 100%: das ist die Hausbreite (Mass = Plantafel), und der
   Inhalt bleibt nie buendig am Rand. Auf einem 1900er Bildschirm ist das
   nahezu randlos, auf einem sehr breiten bleiben die Tabellen lesbar.
   Wer mehr will, aendert genau diese eine Zahl.

   Das :has() loest die Template-Grenze NUR dort, wo unsere Seite drinsteht -
   alle uebrigen Seiten der Werkstatt-Homepage bleiben unberuehrt. Kennt ein
   alter Browser :has() nicht, bleibt es bei der Template-Breite; kaputt geht
   dabei nichts.

   ⚠ Diese Regel haengt an der DOM-Nachbarschaft eines FREMDEN Templates: das
   ">" verlangt, dass .plasw-portal DIREKTES Kind des Containers bleibt. Schiebt
   das Template spaeter einen weiteren <div> dazwischen, greift sie lautlos
   nicht mehr und die Seite ist wieder schmal - dann hier zuerst nachsehen.

   Bewusst NUR .uk-container: das ist das Template, das hier tatsaechlich laeuft
   und an dem die Regel geprueft wurde. Eine Regel fuer ein zweites Template auf
   Verdacht waere unbelegter Ballast; sie kommt dazu, wenn es soweit ist. */
.plasw-portal{max-width:1720px}
.uk-container:has(> .plasw-portal){max-width:none}

/* Breite des Shops
   ------------------------------------------------------------------
   Dieselben zwei Grenzen wie beim Mitarbeiterbereich: unsere eigene und die
   des Seiten-Templates. Das !important ist noetig, weil weiter oben schon
   eine Regel mit !important auf 1280px steht - dieses Stylesheet ist ueber
   die Zeit mehrfach ueberschrieben worden.

   Am Raster wird NICHTS geaendert: .plasw-shop-grid steht bereits auf
   repeat(auto-fill,minmax(230px,1fr)) und ist damit von sich aus
   mitwachsend - mehr Platz ergibt mehr Spalten, weniger Platz weniger.
   Genau das ist gemeint, wenn der Shop responsive sein soll. */
.plasw-shop-shell{max-width:1720px !important}
.uk-container:has(> .plasw-shop-shell){max-width:none}

/* Fahrzeugschein beim Monteur anfordern */
.plasw-scan-anfordern{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0 4px;padding:12px 14px;border:1px solid #dbe6f2;border-radius:14px;background:#f8fafc}
.plasw-scan-anfordern input{flex:1 1 240px;min-width:0}
.plasw-scan-anfordern small{flex:1 1 100%;color:#64748b;font-size:.84rem;line-height:1.4}

/* ================================================================== *
 *  LANDESEITE FUER AKTIONSCODES (soziale Netze)                       *
 *                                                                     *
 *  Keine neue Design-Ebene: nur vorhandene Token (--plw- und --mk-). Das  *
 *  Theme "Custom Bold" faerbt diese Seite dadurch automatisch mit.    *
 *                                                                     *
 *  Mobil zuerst - das Publikum kommt vom Telefon. Bedienflaechen      *
 *  mindestens 48 px hoch, mindestens 8 px Abstand: darunter trifft    *
 *  ein Daumen daneben.                                                *
 * ================================================================== */
/* ⚠ Die Breite braucht BEIDES - hoehere Spezifitaet und !important. Weiter
   oben steht .plasw-shop-shell{max-width:1720px !important} aus dem Umbau
   auf volle Bildschirmbreite; ohne beides gewinnt die Ladenbreite, und der
   Lesetext der Landeseite liefe ueber die ganze Bildschirmbreite. */
.plasw-shop-shell.plasw-lande{max-width:760px !important;padding:20px 16px 48px !important}
.plasw-lande{margin:0 auto;display:flex;flex-direction:column;gap:28px}
.plasw-lande-kopf h1{font-family:var(--plw-font-display);font-size:clamp(1.9rem,7vw,2.8rem);line-height:1.1;margin:.2em 0 .3em;text-wrap:balance}
.plasw-lande-angebot{font-size:clamp(1.05rem,3.6vw,1.3rem);line-height:1.45;color:var(--plw-steel);margin:0}

/* Der Code ist der Grund, warum jemand hier ist - er darf nicht wie
   Kleingedrucktes aussehen. */
.plasw-lande-code{display:flex;flex-direction:column;gap:4px;margin:22px 0 0;padding:14px 18px;
  border:3px solid var(--plw-ink);border-radius:var(--plw-radius);background:var(--plw-accent-soft)}
.plasw-lande-code span{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--plw-muted)}
.plasw-lande-code strong{font-family:var(--plw-font-mono);font-size:clamp(1.4rem,6vw,2rem);letter-spacing:.06em;word-break:break-all}
.plasw-lande-frist{margin:8px 0 0;font-size:.9rem;color:var(--plw-muted)}

.plasw-lande-form{margin-top:20px}
.plasw-lande-form label{display:block;font-weight:600;margin-bottom:6px}
.plasw-lande-eingabe{display:flex;flex-wrap:wrap;gap:8px}
.plasw-lande-eingabe input{flex:1 1 200px;min-width:0;min-height:48px;text-transform:uppercase}
.plasw-lande-eingabe .btn{min-height:48px;padding-inline:22px}
.plasw-lande-fehler{margin:8px 0 0;color:var(--plw-danger);font-size:.92rem;line-height:1.45}

/* Die Weggabelung: der Besucher entscheidet, ob er in die Werkstatt kann
   oder nur ein Teil braucht. Beides gleich gross - eine Vorauswahl waere
   geraten, und wer sich uebergangen fuehlt, geht zurueck. */
.plasw-lande-wege{display:grid;gap:12px}
.plasw-lande-weg{display:flex;flex-direction:column;gap:6px;min-height:48px;padding:20px;
  border:3px solid var(--plw-ink);border-radius:var(--plw-radius);background:var(--plw-panel);
  color:inherit;text-decoration:none;box-shadow:var(--plw-shadow-sm,4px 4px 0 var(--plw-ink))}
.plasw-lande-weg:hover,.plasw-lande-weg:focus-visible{background:var(--plw-accent-soft);text-decoration:none}
.plasw-lande-weg-titel{font-family:var(--plw-font-display);font-size:1.2rem;font-weight:700;line-height:1.25}
.plasw-lande-weg-text{color:var(--plw-steel);line-height:1.5}
.plasw-lande-weg-cta{margin-top:6px;font-weight:700;color:var(--mk-red,var(--plw-accent))}
.plasw-lande-weg-cta::after{content:' \2192'}

.plasw-lande-beleg{padding-top:20px;border-top:1px solid var(--plw-line);color:var(--plw-steel);line-height:1.6}
.plasw-lande-beleg-zahl{font-family:var(--plw-font-display);font-size:1.15rem;font-weight:700;color:var(--plw-ink);margin:0 0 6px}
.plasw-lande-anruf{margin:10px 0 0}

@media (min-width:640px){
  .plasw-lande-wege{grid-template-columns:1fr 1fr}
}

/* Die harten Schatten sind Zierrat - wer Bewegung abbestellt hat,
   bekommt sie trotzdem ruhig. */
@media (prefers-reduced-motion:reduce){
  .plasw-lande-weg{transition:none}
}

/* Liste der Aktionscodes: ein abgeschalteter Code muss auf einen Blick als
   solcher zu erkennen sein - sonst wundert sich das Buero, warum ein Code
   nicht zieht, den es laengst abgeschaltet hat. */
.plasw-row-off{opacity:.55}
.plasw-row-off code{text-decoration:line-through}
.plasw-sub{margin-top:2px;font-size:.82rem;color:var(--plw-muted,#6b7280);line-height:1.35}

/* Aktionscode im Warenkorb: der Kunde muss sehen, dass der Code greift -
   ein Rabatt, den niemand bemerkt, wirbt auch nicht. */
.plasw-shop-cart-sums .plasw-shop-promo{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;
  padding:8px 10px;border:2px solid var(--plw-ink,#111);border-radius:var(--plw-radius,10px);
  background:var(--plw-accent-soft,#fdecec);font-size:.9rem}
.plasw-shop-cart-sums .plasw-shop-promo code{font-family:var(--plw-font-mono,monospace);letter-spacing:.04em}
.plasw-shop-cart-sums .plasw-shop-abzug{color:var(--plw-success,#15803d)}

/* TikTok-Videos, Zwei-Klick-Loesung (siehe media/js/tiktok.js) */
.zoes-tiktok{
  position:relative;max-width:340px;margin:0 auto 24px;aspect-ratio:9/16;
  border-radius:16px;overflow:hidden;background:#111;color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.zoes-tiktok-liste{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:20px;align-items:start;
}
.zoes-tiktok-platzhalter{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;padding:24px;text-align:center;width:100%;height:100%;
  border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;
}
.zoes-tiktok-platzhalter:hover{background:rgba(255,255,255,.06)}
.zoes-tiktok-platzhalter:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.zoes-tiktok-spiel{
  width:58px;height:58px;border-radius:50%;background:#fff;color:#111;
  display:flex;align-items:center;justify-content:center;font-size:24px;flex:none;
}
.zoes-tiktok-titel{font-weight:700;font-size:1.05rem;line-height:1.3}
.zoes-tiktok-hinweis{font-size:.82rem;line-height:1.45;opacity:.75}
.zoes-tiktok blockquote{margin:0;width:100%}
/* Sobald das Video drin ist, bestimmt TikTok die Hoehe.
   Der Platzhalter ist eine 9:16-Kachel, die Einbettung von TikTok ist aber
   hoeher (gemessen: 744px statt 533px) - mit fester Kachelform und
   overflow:hidden waere das Video unten abgeschnitten. */
.zoes-tiktok.ist-geladen{
  aspect-ratio:auto;height:auto;min-height:520px;overflow:visible;background:transparent;
}
@media (prefers-reduced-motion:no-preference){
  .zoes-tiktok-platzhalter{transition:background .15s}
}

/* Videoabschnitt der Landeseite */
.plasw-lande-videos h2{font-family:var(--plw-font-display);font-size:1.4rem;margin:0 0 6px}
.plasw-lande-videohinweis{margin:0 0 14px;color:var(--plw-muted,#6b7280);font-size:.88rem;line-height:1.45}

/* Kennzahlenkarten (Kassen- und Tresorbestand).
   Die Klassen standen im Markup, hatten aber keine einzige Regel - Text und
   Betrag klebten dadurch aneinander ("Kassenbestand0,00 EUR"). */
.plasw-metric-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:18px}
.plasw-metric-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;
  border:3px solid var(--plw-ink,#111);border-radius:var(--plw-radius,12px);
  background:var(--plw-panel,#fff);box-shadow:var(--plw-shadow-sm,4px 4px 0 var(--plw-ink,#111))}
.plasw-metric-card span{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--plw-muted,#6b7280)}
.plasw-metric-card strong{font-family:var(--plw-font-display);font-size:1.6rem;line-height:1.1;
  font-variant-numeric:tabular-nums}

/* Bearbeiten an der Artikelkarte - nur sichtbar, wer das Recht hat. */
.plasw-article-card-actions{display:flex;justify-content:flex-end;margin-top:10px}

/* Empfaengerwahl beim Fahrzeugschein-Anfordern */
.plasw-scan-wer{display:flex;flex-direction:column;gap:4px;flex:1 1 220px;min-width:0}
.plasw-scan-wer span{font-size:.82rem;font-weight:600;color:var(--plw-muted,#6b7280)}
