/* =====================================================
   GLOBAL FONT + RESET
===================================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

*{
    box-sizing:border-box;
    margin:0;
    padding:0;
}

body{
    font-family:'Poppins', sans-serif;
    background:#f1f5f9;
    color:#111827;
    font-size:14px;
    line-height:1.6;
}


/* =====================================================
   AUTH PAGES (WHITE BG + BLUE CARD)
===================================================== */

/*body.pw-auth-page{
    background:#ffffff !important;
}*/

body.pw-auth-page{

background:
linear-gradient(rgba(0,0,0,0.55),rgba(0,0,0,0.55)),
url('../images/image.png');

background-size:cover;
background-position:80% 20%;
background-repeat:no-repeat;

}
body.pw-auth-page::after{

content:"";
position:absolute;

top:30px;
left:40px;

width:420px;
height:120px;

background:url("../images/logo.png") no-repeat;
background-size:contain;

z-index:5;

}
body.pw-auth-page{
position:relative;
}

/* Wrapper */
.pw-auth-wrapper{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}

/* Blue Gradient Card */
.pw-auth-card{
    background:linear-gradient(135deg,#0f172a,#1e3a8a);
    padding:50px 40px;
    border-radius:20px;
    width:100%;
    max-width:420px;
    box-shadow:0 30px 80px rgba(0,0,0,.25);
    text-align:center;
    color:white;
}

/* Logo */
.pw-auth-logo{
    width:120px;
    margin-bottom:20px;
}

/* Heading */
.pw-auth-card h2{
    margin-bottom:25px;
    font-size:24px;
    font-weight:600;
    color:#dc2626;
}

/* Inputs */
.pw-auth-card input{
    width:100%;
    padding:14px;
    margin-bottom:15px;
    border:1px solid rgba(255,255,255,0.3);
    border-radius:10px;
    font-size:14px;
    background:rgba(255,255,255,0.1);
    color:white;
    font-family:'Poppins', sans-serif;
    transition:0.3s;
}

.pw-auth-card input::placeholder{
    color:rgba(255,255,255,0.7);
}

.pw-auth-card input:focus{
    outline:none;
    border-color:#ffffff;
    box-shadow:0 0 0 3px rgba(255,255,255,0.2);
}

.pw-input-group{
    position:relative;
}

.pw-eye{
    position:absolute;
    right:15px;
    top:50%;
    transform:translateY(-50%);
    cursor:pointer;
    font-size:14px;
    color:white;
}

/* Button */
.pw-auth-btn{
    width:100%;
    padding:14px;
    background:#dc2626;
    color:white;
    border:none;
    border-radius:10px;
    font-weight:600;
    font-family:'Poppins', sans-serif;
    cursor:pointer;
    transition:0.3s;
}

.pw-auth-btn:hover{
    background:#b91c1c;
}

.pw-forgot{
    text-align:right;
    margin-bottom:15px;
}

.pw-forgot a{
    font-size:13px;
    color:#ffffff;
    text-decoration:none;
}

.pw-switch{
    margin-top:20px;
    font-size:14px;
    color:white;
}

.pw-switch a{
    color:#dc2626;
    font-weight:600;
    text-decoration:none;
}

.pw-error{
    background:#fee2e2;
    color:#991b1b;
    padding:12px;
    border-radius:8px;
    margin-bottom:15px;
}

.pw-success{
    background:#dcfce7;
    color:#166534;
    padding:12px;
    border-radius:8px;
    margin-bottom:15px;
}


/* =====================================================
   DASHBOARD LAYOUT
===================================================== */

.pw-app{
    display:flex;
    min-height:100vh;
    background:#f1f5f9;
}

/* SIDEBAR */

.pw-sidebar{
    width:260px;
    background:#0f172a;
    color:white;
    padding:30px 20px;
    position:fixed;
    height:100vh;
}

.pw-logo{
    text-align:center;
}

.pw-logo img{
    width:140px;
    margin-bottom:40px;
}

.pw-sidebar nav a{
    display:block;
    padding:12px 15px;
    color:#cbd5e1;
    text-decoration:none;
    border-radius:8px;
    margin-bottom:10px;
    transition:0.3s;
}

.pw-sidebar nav a:hover,
.pw-sidebar nav a.active{
    background:#1e293b;
    color:white;
}

/* MAIN AREA */

.pw-main{
    margin-left:260px;
    flex:1;
    display:flex;
    flex-direction:column;
}

/* HEADER */

.pw-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 40px;
    background:white;
    box-shadow:0 2px 10px rgba(0,0,0,.05);
}

.pw-logout{
    color:#dc2626;
    text-decoration:none;
    font-weight:600;
}

/* CONTENT */

.pw-content{
    padding:40px;
}


/* =====================================================
   TABLE
===================================================== */

.pw-table{
    width:100%;
    border-collapse:collapse;
    background:white;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
}

.pw-table th,
.pw-table td{
    padding:16px;
    border-bottom:1px solid #e5e7eb;
    text-align:left;
}

.pw-table th{
    background:#f9fafb;
    font-weight:600;
}

.pw-table tr:hover{
    background:#f8fafc;
}


/* =====================================================
   BUTTONS
===================================================== */

.pw-btn{
    padding:12px 20px;
    background:#dc2626;
    border:none;
    color:white;
    border-radius:8px;
    font-weight:600;
    font-family:'Poppins', sans-serif;
    cursor:pointer;
    transition:0.3s;
}

.pw-btn:hover{
    background:#b91c1c;
}


/* =====================================================
   PROPERTY ADD / DETAIL CARD
===================================================== */

.pw-property-card,
.pw-property-detail-card{
    background:#ffffff;
    padding:40px;
    border-radius:18px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    max-width:1200px;
    margin:auto;
}

.pw-page-title{
    font-size:26px;
    font-weight:600;
    margin-bottom:30px;
}

/* 3 Column Grid */

.pw-grid-3{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-bottom:25px;
}

.pw-grid-3 .full{
    grid-column:1/-1;
}

/* Form Styling */

.pw-property-form label{
    font-weight:600;
    font-size:13px;
    margin-bottom:6px;
    display:block;
    color:#374151;
}

.pw-property-form input,
.pw-property-form select,
.pw-property-form textarea,
.pw-property-detail-card input,
.pw-property-detail-card textarea{
    width:100%;
    padding:12px;
    border:1px solid #e5e7eb;
    border-radius:10px;
    font-size:14px;
    font-family:'Poppins', sans-serif;
    transition:0.3s;
}

.pw-property-form textarea{
    resize:vertical;
    min-height:100px;
}

.pw-property-form input:focus,
.pw-property-form select:focus,
.pw-property-form textarea:focus,
.pw-property-detail-card input:focus,
.pw-property-detail-card textarea:focus{
    outline:none;
    border-color:#dc2626;
    box-shadow:0 0 0 3px rgba(220,38,38,0.15);
}


/* =====================================================
   PROPERTY CARD GRID
===================================================== */

.pw-property-card-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:25px;
}

.pw-property-summary-card{
background:#ffffff;
padding:22px 22px 18px;
border-radius:14px;

border:1px solid #eef2f7;

box-shadow:0 6px 18px rgba(0,0,0,0.05);

text-decoration:none;
color:#111827;

transition:.25s ease;
position:relative;
}


.pw-property-summary-card:hover{
transform:translateY(-4px);
box-shadow:0 12px 28px rgba(0,0,0,0.08);
border-color:#e5e7eb;
}

.pw-card-top{
    display:flex;
    justify-content:space-between;
    margin-bottom:12px;
}

.pw-property-id{
    font-size:12px;
    font-weight:600;
    color:#6b7280;
}

.pw-location{
    font-size:13px;
    color:#6b7280;
}

/* =========================================
   PROPERTY CARD TEXT IMPROVEMENT
========================================= */

.pw-property-summary-card h3{
font-size:18px;
font-weight:600;
color:#0f172a;
margin-top:6px;
margin-bottom:2px;
}

.pw-location{
font-size:13px;
color:#6b7280;
margin-top:2px;
}

/* =========================================
   STATUS STYLING SYSTEM
========================================= */

.pw-status-badge{
padding:5px 12px;
border-radius:12px;
font-size:10px;
font-weight:600;
}
.pw-status-badge{
display:inline-block;
padding:6px 14px;
font-size:12px;
font-weight:600;
border-radius:20px;
white-space:nowrap;
}
/* Pending */
.pw-status-pending{
    color:#d97706;
    border-color:#facc15;
    background:#fef9c3;
}



/* Visit Scheduled */
.pw-status-warning{
    color:#1d4ed8;
    border-color:#3b82f6;
    background:#dbeafe;
}

/* Completed */
.pw-status-completed{
    color:#7c3aed;
    border-color:#8b5cf6;
    background:#ede9fe;
}

/* =========================================
   CARD LEFT BORDER BY STATUS
========================================= */

.pw-property-summary-card{
    position:relative;
    border-left:2px solid transparent;
}

/* Pending */
.pw-property-summary-card .pw-status-pending{
    border-left-color:#facc15;
}

/* Active */
.pw-property-summary-card .pw-status-active{
    border-left-color:#22c55e;
}

/* Scheduled */
.pw-property-summary-card .pw-status-warning{
    border-left-color:#3b82f6;
}

/* Completed */
.pw-property-summary-card .pw-status-completed{
    border-left-color:#8b5cf6;
}

/* =========================================
   PROFILE CARD
========================================= */

.pw-profile-card{
    background:#ffffff;
    padding:45px;
    border-radius:20px;
    box-shadow:0 20px 50px rgba(0,0,0,.08);
    max-width:900px;
    margin:auto;
}

/* Profile Form */

.pw-profile-form label{
    display:block;
    font-size:13px;
    font-weight:600;
    margin-bottom:6px;
    color:#374151;
}

.pw-profile-form input{
    width:100%;
    padding:12px 14px;
    border-radius:10px;
    border:1px solid #e5e7eb;
    font-family:'Poppins', sans-serif;
    font-size:14px;
    transition:.2s ease;
}

.pw-profile-form input:focus{
    outline:none;
    border-color:#dc2626;
    box-shadow:0 0 0 3px rgba(220,38,38,.15);
}


/* =====================================================
   MANAGE ADDONS – PROFESSIONAL RED UI
===================================================== */

/* CARD CONTAINER */
.pw-manage-card{
    background:#ffffff;
    padding:35px;
    border-radius:20px;
    box-shadow:0 15px 45px rgba(0,0,0,.06);
}

/* TOOLBAR */
.pw-manage-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:30px;
    flex-wrap:wrap;
    gap:15px;
}

/* SEARCH */
.pw-manage-search{
    position:relative;
}

.pw-manage-search input{
    width:320px;
    padding:12px 16px;
    border-radius:12px;
    border:1px solid #e5e7eb;
    background:#f9fafb;
    font-size:14px;
    transition:.3s;
}

.pw-manage-search input:focus{
    outline:none;
    border-color:#dc2626;
    box-shadow:0 0 0 4px rgba(220,38,38,0.12);
    background:#ffffff;
}

/* RIGHT BUTTON GROUP */
.pw-manage-actions{
    display:flex;
    gap:12px;
}

/* PRIMARY RED BUTTON */
.pw-btn-red{
    background:#dc2626;
    color:#fff;
    border:none;
    padding:11px 18px;
    border-radius:12px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.pw-btn-red:hover{
    background:#b91c1c;
}

/* LIGHT BUTTON */
.pw-btn-light{
    background:#f3f4f6;
    color:#111827;
    border:none;
    padding:11px 18px;
    border-radius:12px;
    font-weight:500;
    cursor:pointer;
    transition:.3s;
}

.pw-btn-light:hover{
    background:#e5e7eb;
}

/* MODERN TABLE */
.pw-manage-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    overflow:hidden;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.04);
}

.pw-manage-table thead{
    background:#f3f4f6;
}

.pw-manage-table th{
    padding:16px;
    text-align:left;
    font-size:13px;
    font-weight:600;
    color:#374151;
}

.pw-manage-table td{
    padding:16px;
    font-size:14px;
    border-bottom:1px solid #f1f5f9;
}

.pw-manage-table tbody tr{
    transition:.2s ease;
}

.pw-manage-table tbody tr:hover{
    background:#fef2f2;
}

/* PAGINATION */
.pw-manage-pagination{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:25px;
}

.pw-manage-pagination a{
    padding:8px 14px;
    background:#f3f4f6;
    border-radius:10px;
    text-decoration:none;
    font-size:13px;
    color:#111827;
    font-weight:500;
    transition:.3s;
}

.pw-manage-pagination a:hover{
    background:#fee2e2;
}

.pw-manage-pagination a.active{
    background:#dc2626;
    color:#ffffff;
}

/* MODAL */
.pw-modal{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.6);
    align-items:center;
    justify-content:center;
    z-index:9999;
}

.pw-modal-box{
    background:#ffffff;
    padding:40px;
    border-radius:20px;
    width:100%;
    max-width:480px;
    box-shadow:0 30px 70px rgba(0,0,0,.25);
}

.pw-modal-box h3{
    margin-bottom:20px;
    font-size:20px;
}

.pw-modal-box input,
.pw-modal-box textarea{
    width:100%;
    padding:12px 14px;
    border-radius:10px;
    border:1px solid #e5e7eb;
    margin-bottom:15px;
    font-family:'Poppins', sans-serif;
    transition:.3s;
}

.pw-modal-box textarea{
    min-height:90px;
    resize:vertical;
}

.pw-modal-box input:focus,
.pw-modal-box textarea:focus{
    outline:none;
    border-color:#dc2626;
    box-shadow:0 0 0 4px rgba(220,38,38,.12);
}

.pw-action-cell{
    display:flex;
    gap:8px;
}

.pw-action-btn{
    padding:6px 12px;
    font-size:12px;
    border-radius:8px;
    border:none;
    cursor:pointer;
    text-decoration:none;
}

.pw-action-btn.edit{
    background:#f3f4f6;
}

.pw-action-btn.delete{
    background:#fee2e2;
    color:#dc2626;
}
/* FILTER POPUP */

.pw-top-bar{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:25px;
position:relative;
}

.pw-search-form input{
padding:12px 18px;
border-radius:30px;
border:1px solid #e5e7eb;
width:280px;
font-family:'Poppins', sans-serif;
}

.pw-filter-popup{
display:none;
position:absolute;
right:0;
top:60px;
background:#fff;
padding:22px;
border-radius:14px;
box-shadow:0 20px 45px rgba(0,0,0,.12);
width:320px;
z-index:999;
}

.pw-filter-popup input,
.pw-filter-popup select{
width:100%;
padding:10px 12px;
border-radius:8px;
border:1px solid #e5e7eb;
margin-bottom:14px;
font-size:13px;
}

.pw-filter-actions{
display:flex;
justify-content:space-between;
gap:10px;
}


.pw-filter-popup label{
font-size:13px;
font-weight:600;
margin-bottom:6px;
display:block;
}

.pw-filter-popup select{
width:100%;
padding:10px;
border-radius:10px;
border:1px solid #e5e7eb;
margin-bottom:15px;
}

.pw-filter-actions{
display:flex;
justify-content:space-between;
gap:10px;
}

/* =====================================================
   PROPERTY DETAIL SECTION (IMPROVED)
===================================================== */

.pw-detail-wrapper{
background:#ffffff;
padding:40px;
border-radius:22px;
box-shadow:0 20px 50px rgba(0,0,0,.06);
}

/* HEADER CARD */

.pw-header-card{
background:#ffffff;
padding:35px;
border-radius:20px;
box-shadow:0 10px 40px rgba(0,0,0,.05);
margin-bottom:35px;
}

.pw-header-card h2{
font-size:30px;
font-weight:600;
margin-bottom:6px;
color:#0f172a;
}

.pw-sub-id{
color:#6b7280;
font-size:13px;
margin-bottom:25px;
}

.pw-header-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;
}

.pw-header-grid label{
font-size:12px;
font-weight:600;
color:#6b7280;
display:block;
margin-bottom:5px;
}

.pw-header-grid span{
font-size:14px;
color:#111827;
}

/* TABS */

.pw-tabs{
display:flex;
gap:40px;
margin:30px 0;
border-bottom:1px solid #e5e7eb;
padding-bottom:5px;
}

.pw-tabs a{
padding:10px 5px;
text-decoration:none;
font-weight:600;
font-size:14px;
color:#6b7280;
border-bottom:3px solid transparent;
transition:.3s;
}

.pw-tabs a:hover{
color:#dc2626;
}

.pw-tabs a.active{
color:#dc2626;
border-bottom:3px solid #dc2626;
}

/* READONLY CARD */

.pw-readonly-card{
background:#f8fafc;
padding:30px;
border-radius:18px;
box-shadow:0 8px 25px rgba(0,0,0,.04);
}

.pw-readonly-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:25px;
margin-bottom:25px;
}

.pw-readonly-grid label{
font-size:12px;
color:#6b7280;
display:block;
margin-bottom:5px;
}

.pw-readonly-grid span{
font-size:14px;
font-weight:500;
}

/* PACKAGE FORM CARD */

.pw-form-card{
background:#ffffff;
padding:30px;
border-radius:18px;
box-shadow:0 10px 40px rgba(0,0,0,.05);
}

/* FIXED GRID — 4 COLUMN PROFESSIONAL */

.pw-form-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
margin-bottom:25px;
}

.pw-form-grid label{
font-size:13px;
font-weight:600;
display:block;
margin-bottom:6px;
color:#374151;
}

.pw-form-grid input,
.pw-form-grid select{
width:100%;
padding:12px 14px;
border-radius:10px;
border:1px solid #e5e7eb;
font-size:14px;
font-family:'Poppins', sans-serif;
transition:.2s ease;
}

.pw-form-grid input:focus,
.pw-form-grid select:focus{
outline:none;
border-color:#dc2626;
box-shadow:0 0 0 4px rgba(220,38,38,.12);
}

/* ADDON GRID */

.pw-addon-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
margin-top:15px;
margin-bottom:20px;
}

.pw-addon-item{
background:#f9fafb;
padding:12px 16px;
border-radius:10px;
border:1px solid #e5e7eb;
font-size:13px;
transition:.2s ease;
}

.pw-addon-item:hover{
background:#fef2f2;
border-color:#fecaca;
}

/* RESPONSIVE FIX */

@media(max-width:1200px){
.pw-form-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:768px){

.pw-header-grid{
grid-template-columns:1fr;
}

.pw-form-grid{
grid-template-columns:1fr;
}

.pw-addon-grid{
grid-template-columns:1fr;
}

}

/* ================= VISIT TABLE IMPROVEMENTS ================= */

.pw-table td {
    vertical-align: middle;
}

.pw-input {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    transition: 0.2s ease;
    background: #fff;
}

.pw-input:focus {
    border-color: #e31e24;
    outline: none;
    box-shadow: 0 0 0 2px rgba(227, 30, 36, 0.15);
}

.pw-table select.pw-input {
    cursor: pointer;
}

.pw-small-btn{
padding:7px 14px;
background:#dc2626;
color:white;
font-size:12px;
border-radius:6px;
text-decoration:none;
font-weight:600;
transition:.2s;
display:inline-block;
}

.pw-small-btn:hover{
background:#b91c1c;
transform:translateY(-1px);
box-shadow:0 4px 10px rgba(220,38,38,.25);
}

.pw-status-badge {
    display: inline-block;
    padding: 6px 14px;
    font-size: 12px;
    border-radius: 20px;
    font-weight: 600;
}

/* Pending Package Assignment */
.pw-status-pending{
background:#fef3c7;
color:#92400e;
}

/* Visits Created / Scheduled */
.pw-status-warning{
background:#dbeafe;
color:#1e40af;
}

/* Completed */
.pw-status-completed{
background:#dcfce7;
color:#166534;
}

/* Overdue */
.pw-status-overdue{
background:#fee2e2;
color:#b91c1c;
}

/* Visit Scheduled */
.pw-status-active{
background:#e0f2fe;
color:#0369a1;
}

.pw-table{
width:100%;
border-collapse:collapse;
background:white;
border-radius:12px;
overflow:hidden;
box-shadow:0 6px 16px rgba(0,0,0,.06);
}

.pw-table th,
.pw-table td{
padding:12px 14px;
border-bottom:1px solid #eef2f7;
text-align:left;
font-size:14px;
}

.pw-table th{
background:#f8fafc;
font-weight:600;
color:#374151;
}

.pw-table tr:hover{
background:#f9fafb;
}


.pw-sort{
cursor:pointer;
position:relative;
padding-right:16px;
}

.pw-sort:after{
content:"⇅";
font-size:11px;
position:absolute;
right:0;
top:50%;
transform:translateY(-50%);
color:#9ca3af;
}

.pw-sort.asc:after{
content:"↑";
color:#2563eb;
}

.pw-sort.desc:after{
content:"↓";
color:#2563eb;
}
.pw-table tr {
    background: #fff;
    border-radius: 8px;
}

.pw-pagination{
display:flex;
justify-content:flex-end;
align-items:center;
gap:10px;
margin-top:20px;
}

.pw-page-btn{
padding:6px 12px;
border-radius:6px;
background:#f1f5f9;
text-decoration:none;
font-size:13px;
color:#374151;
font-weight:500;
transition:.2s;
}

.pw-page-btn:hover{
background:#e2e8f0;
}

.pw-page-info{
font-size:13px;
color:#6b7280;
}

.pw-table thead{
position:sticky;
top:0;
z-index:2;
}
.pw-visit-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.pw-visit-tab {
    padding: 8px 14px;
    border-radius: 6px;
    background: #f1f1f1;
    text-decoration: none;
    font-size: 14px;
}

.pw-visit-tab.active {
    background: #e31e24;
    color: #fff;
}

/* ================= UPDATE VISIT PAGE ================= */

.pw-rectangle {
    background: #ffffff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.05);
    max-width: 1100px;
}

.pw-rectangle h2 {
    font-size: 28px;
    margin-bottom: 25px;
    font-weight: 600;
}
.pw-rectangle{
max-width:1300px;
}

.pw-gallery-card{
background:#ffffff;
padding:25px;
border-radius:14px;
box-shadow:0 8px 25px rgba(0,0,0,0.08);
max-width:700px;
margin:20px auto;
}

/* ===== Grid Layout ===== */

.pw-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.pw-grid-3 label {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
    display: block;
    color: #555;
}

.pw-grid-3 input {
    width: 100%;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #ddd;
    background: #f8f9fb;
    font-size: 14px;
}


/* ===== Textarea ===== */

textarea[name="report"] {
    width: 100%;
    padding: 14px;
    border-radius: 10px;
    border: 1px solid #ddd;
    background: #f9fafc;
    font-size: 14px;
    resize: vertical;
    transition: 0.2s ease;
}

textarea[name="report"]:focus {
    outline: none;
    border-color: #e31e24;
    box-shadow: 0 0 0 2px rgba(227,30,36,0.15);
}

/* ===== File Upload ===== */

input[type="file"] {
    background: #f5f5f5;
    padding: 6px;
    border-radius: 6px;
    font-size: 13px;
}

/* ===== Button ===== */

.pw-btn {
    background: #e31e24;
    border: none;
    padding: 12px 26px;
    border-radius: 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.pw-btn:hover {
    background: #c0181d;
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(227,30,36,0.25);
}

/* ===== Status Input Highlight ===== */

.pw-grid-3 input[readonly] {
    cursor: not-allowed;
    color: #333;
}

/* ===== Success Box ===== */

.pw-success-box {
    background: #e8f7ec;
    color: #1a7f37;
    padding: 12px 18px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 14px;
}

.pw-status-field.completed {
    background: #e8f7ec;
    color: #1a7f37;
    font-weight: 600;
}

.pw-status-field.pending,
.pw-status-field.scheduled {
    background: #fff3cd;
    color: #856404;
    font-weight: 600;
}

.pw-sub-badge {
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 20px;
    font-weight: 600;
    display: inline-block;
    margin-bottom: 6px;
}

.pw-sub-active {
    background: #e6f7ec;
    color: #1c8c3a;
    border: 1px solid #1c8c3a;
}

.pw-sub-expired {
    background: #fdeaea;
    color: #c0392b;
    border: 1px solid #c0392b;
}

/* GLOBAL FOOTER */

.pw-footer-global{
position:fixed;
bottom:0;
right:20px;
font-size:12px;
color:#6b7280;
background:#fff;
padding:6px 10px;
z-index:999;
}

.pw-status-pending{
background:#fef3c7;
color:#92400e;
}

.pw-status-scheduled{
background:#dbeafe;
color:#1e40af;
}

.pw-status-completed{
background:#dcfce7;
color:#166534;
}

.pw-status-overdue{
background:#fee2e2;
color:#b91c1c;
}



.pw-visit-cards{
display:flex;
flex-wrap:wrap;
gap:10px;
}

.pw-visit-card{
width:110px;
padding:12px;
border-radius:8px;
text-align:center;
text-decoration:none;
font-weight:600;
}

.pw-card-pending{background:#e5e7eb;}
.pw-card-scheduled{background:#2563eb;color:white;}
.pw-card-completed{background:#22c55e;color:white;}
.pw-card-next{background:#facc15;}

.pw-layout{
display:flex;
gap:30px;
margin-top:20px;
}

.pw-left{flex:1;}
.pw-right{width:300px;}

.pw-media-scroll{
display:flex;
gap:10px;
overflow-x:auto;
padding-top:10px;
}

.pw-media-scroll img,
.pw-media-scroll video{
width:180px;
border-radius:8px;
}

.pw-media-scroll img,
.pw-media-scroll video{
width:100%;
border-radius:6px;
}

.pw-visit-cards{
display:flex;
gap:20px;
margin-top:25px;
flex-wrap:wrap;
}

.pw-visit-card{
width:180px;
height:120px;
border-radius:14px;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
font-weight:600;
text-decoration:none;
font-size:16px;
box-shadow:0 8px 20px rgba(0,0,0,0.08);
transition:.2s;
}

.pw-visit-card:hover{
transform:translateY(-4px);
}

/* Pending */
.pw-card-pending{
background:#f1f5f9;
color:#374151;
}

/* Scheduled */
.pw-card-scheduled{
background:#3b82f6;
color:white;
}

/* Completed */
.pw-card-completed{
background:#22c55e;
color:white;
}

/* Next visit */
.pw-card-next{
background:#facc15;
color:#111827;
}

.pw-product-gallery{
max-width:420px;
}

.pw-product-gallery #mainImage{
width:100%;
border-radius:10px;
margin-bottom:10px;
}

.pw-thumb-row{
display:flex;
gap:8px;
overflow-x:auto;
}

.pw-thumb-row img{
width:70px;
height:70px;
object-fit:cover;
border-radius:6px;
cursor:pointer;
}

.pw-gallery-page{
max-width:900px;
margin:auto;
background:white;
padding:40px;
border-radius:14px;
}

.pw-gallery{
position:relative;
text-align:center;
}

.pw-gallery img{
width:100%;
max-height:420px;
object-fit:cover;
border-radius:10px;
}

.pw-arrow{
position:absolute;
top:45%;
background:black;
color:white;
border:none;
padding:12px 16px;
cursor:pointer;
opacity:.6;
}

.pw-arrow.left{left:10px;}
.pw-arrow.right{right:10px;}

.pw-thumbs{
display:flex;
gap:10px;
margin-top:15px;
overflow-x:auto;
}

.pw-thumbs img{
width:80px;
height:80px;
object-fit:cover;
cursor:pointer;
border-radius:6px;
}

.pw-video{
width:100%;
margin-top:20px;
border-radius:8px;
}

.pw-visit-report{
margin-top:30px;
background:#f9fafb;
padding:20px;
border-radius:10px;
}

/* MAIN GALLERY */

.pw-gallery{
position:relative;
width:600px;
max-width:100%;
margin:auto;
overflow:hidden;
}

.pw-gallery img{
width:100%;
border-radius:8px;
cursor:zoom-in;
transition:transform .3s;
}

.pw-gallery img:hover{
transform:scale(1.15);
}

/* ARROWS */

.pw-arrow{
position:absolute;
top:50%;
transform:translateY(-50%);
background:#000;
color:#fff;
border:none;
font-size:28px;
padding:10px;
cursor:pointer;
opacity:.6;
}

.pw-arrow:hover{
opacity:1;
}

.pw-arrow.left{
left:10px;
}

.pw-arrow.right{
right:10px;
}

/* THUMBNAILS */

.pw-thumbs{
display:flex;
gap:10px;
overflow-x:auto;
margin-top:15px;
}

.pw-thumb{
width:80px;
height:80px;
object-fit:cover;
border-radius:6px;
cursor:pointer;
border:2px solid #eee;
}

.pw-thumb:hover{
border-color:#2563eb;
}

/* VIDEO */

.pw-video{
width:400px;
margin-top:20px;
border-radius:8px;
}

/* LIGHTBOX */

.pw-lightbox{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.9);
align-items:center;
justify-content:center;
z-index:9999;
}

.pw-lightbox img{
max-width:90%;
max-height:90%;
}

.pw-close{
position:absolute;
top:30px;
right:40px;
color:#fff;
font-size:40px;
cursor:pointer;
}

/* MOBILE */

@media(max-width:768px){

.pw-gallery{
width:100%;
}

.pw-thumb{
width:65px;
height:65px;
}

}

.pw-gallery{
position:relative;
width:100%;
max-width:100%;
margin:auto;
}

#mediaContainer img,
#mediaContainer video{
width:100%;
max-height:500px;
object-fit:contain;
border-radius:10px;
background:#f3f4f6;
}


.pw-arrow{
position:absolute;
top:50%;
transform:translateY(-50%);
background:black;
color:white;
border:none;
font-size:28px;
padding:10px;
cursor:pointer;
opacity:.7;
}

.pw-arrow.left{left:10px;}
.pw-arrow.right{right:10px;}

.pw-thumbs{
display:flex;
gap:10px;
overflow-x:auto;
margin-top:15px;
}

.pw-thumb{
width:80px;
height:80px;
object-fit:cover;
border-radius:6px;
cursor:pointer;
border:2px solid #eee;
}

.pw-thumb:hover{
border-color:#2563eb;
}

@media(max-width:768px){

.pw-thumb{
width:65px;
height:65px;
}

}

/* FORM CONTAINER */

.pw-visit-form{
margin-top:20px;
}

/* ROW */

.pw-form-row{
display:flex;
gap:20px;
margin-bottom:20px;
flex-wrap:wrap;
}

/* FIELD */

.pw-field{
flex:1;
display:flex;
flex-direction:column;
margin-bottom:20px;
}

/* LABEL */

.pw-field label{
font-weight:600;
margin-bottom:6px;
color:#333;
}

/* INPUT */

.pw-field input,
.pw-field textarea{

padding:10px;
border:1px solid #ddd;
border-radius:6px;
font-size:14px;
background:#fff;
}

/* TEXTAREA */

.pw-field textarea{
min-height:80px;
resize:vertical;
}

/* BUTTON */

.pw-submit{
margin-top:10px;
}

.pw-btn{

background:#e11d48;
color:#fff;
border:none;
padding:12px 30px;
border-radius:8px;
font-weight:600;
cursor:pointer;
}

.pw-btn:hover{
background:#be123c;
}

/* MOBILE */

@media(max-width:768px){

.pw-form-row{
flex-direction:column;
}

}

.pw-view-btn{
background:#2ecc71;
}

.pw-dots{
text-align:center;
margin-top:12px;
}

.pw-dot{
display:inline-block;
width:10px;
height:10px;
background:#cbd5e1;
border-radius:50%;
margin:0 4px;
cursor:pointer;
}

.pw-dot.active{
background:#2563eb;
transform:scale(1.2);
}

/* INSPECTION FORM */

.pw-inspection-box{
margin-top:25px;
background:#f9fafb;
padding:20px;
border-radius:10px;
}

.pw-inspection-box h3{
margin-bottom:15px;
font-size:18px;
font-weight:600;
}

.pw-question{
margin-bottom:15px;
}

.pw-question label{
font-weight:600;
display:block;
margin-bottom:6px;
}

.pw-question select{
width:100%;
padding:10px;
border-radius:6px;
border:1px solid #ddd;
}


/* REPORT */

.pw-inspection-report{
margin-top:25px;
background:#f9fafb;
padding:20px;
border-radius:10px;
}

.pw-report-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:15px;
}

.pw-report-grid label{
font-size:12px;
color:#666;
display:block;
}

.pw-report-grid span{
font-weight:600;
font-size:14px;
}

/* ===========================
SIDEBAR COLLAPSE SYSTEM
=========================== */

.pw-sidebar{
transition:0.3s;
}

.pw-main{
transition:0.3s;
}

/* COLLAPSED */

.pw-sidebar.collapsed{
width:70px;
}

.pw-sidebar.collapsed nav a{
font-size:0;
}

.pw-sidebar.collapsed nav a::before{
font-size:16px;
}

.pw-main.expanded{
margin-left:70px;
}

/* TOGGLE BUTTON */

.pw-sidebar-toggle{
position:absolute;
top:20px;
right:-12px;
background:#1e293b;
color:white;
width:24px;
height:24px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
font-size:12px;
}

/* MOBILE MENU */

.pw-mobile-menu{
display:none;
font-size:22px;
cursor:pointer;
}

/* MOBILE */

@media(max-width:768px){

.pw-sidebar{
transform:translateX(-100%);
position:fixed;
z-index:999;
}

.pw-sidebar.open{
transform:translateX(0);
}

.pw-main{
margin-left:0;
}

.pw-mobile-menu{
display:block;
}

}
.pw-sidebar-toggle svg{
transition:0.3s;
}

.pw-sidebar.collapsed .pw-sidebar-toggle svg{
transform:rotate(180deg);
}

/* DESKTOP */

.pw-property-actions{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
margin-top:25px;
}

/* TABLET */

@media (max-width:1000px){

.pw-property-actions{
grid-template-columns:repeat(3,1fr);
}

}

/* MOBILE */

@media (max-width:600px){

.pw-property-actions{
grid-template-columns:repeat(2,1fr);
}

}

.pw-action-card{
height:110px;
border-radius:14px;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
font-weight:600;
text-decoration:none;
font-size:15px;
box-shadow:0 8px 20px rgba(0,0,0,0.08);
}

.pw-card-property{
background:#f97316;
color:white;
}

.pw-card-pending{background:#e5e7eb;color:#374151;}

.pw-card-scheduled{background:#3b82f6;color:white;}

.pw-card-next{background:#facc15;color:#111827;}

.pw-card-completed{background:#22c55e;color:white;}


#pw-loader{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(255,255,255,0.7);
display:none;
align-items:center;
justify-content:center;
z-index:9999;
}

.pw-spinner{
width:50px;
height:50px;
border:5px solid #ddd;
border-top:5px solid #e31c3d;
border-radius:50%;
animation:spin 1s linear infinite;
}

#pw-loader{
opacity:0;
visibility:hidden;
transition:0.3s;
}

#pw-loader.show{
opacity:1;
visibility:visible;
display:flex;
}

@keyframes spin{
0%{transform:rotate(0deg);}
100%{transform:rotate(360deg);}
}

/* CONTACT BUTTON */

.pw-support-toggle{

position:fixed;
left:20px;
bottom:20px;

background:#0c1c45; /* button color */

color:#fff;

padding:10px 16px;

font-size:14px;
font-weight:600;

border-radius:8px;

cursor:pointer;

display:flex;
align-items:center;
gap:10px;

box-shadow:0 6px 20px rgba(0,0,0,0.3);

z-index:9999;

transition:0.25s;

}

/* PHONE ICON */

.pw-phone-icon{

background:#e31c3d; /* opposite color */

width:28px;
height:28px;

display:flex;
align-items:center;
justify-content:center;

border-radius:6px;

font-size:14px;

}

/* HOVER EFFECT */

.pw-support-toggle:hover{

background:#e31c3d;

}

.pw-support-toggle:hover .pw-phone-icon{

background:#0c1c45;

}

/* SUPPORT BOX */

.pw-support-widget{

position:fixed;

left:20px;
bottom:90px;

width:280px;

background:#0c1c45;

color:#fff;

border-radius:12px;

box-shadow:0 12px 30px rgba(0,0,0,0.35);

font-size:13px;

z-index:9999;

transform:translateY(20px);
opacity:0;

transition:0.3s;

}

/* OPEN STATE */

.pw-support-widget.open{

transform:translateY(0);
opacity:1;

}

/* HEADER */

.pw-support-header{

background:#e31c3d;

padding:12px;

font-weight:600;

display:flex;
justify-content:space-between;

border-radius:12px 12px 0 0;

}

/* CLOSE */

.pw-support-close{

cursor:pointer;
font-size:14px;

}

/* BODY */

.pw-support-body{

padding:14px;

line-height:1.6;

}

/* LABEL */

.pw-support-label{

color:#ffcc00;

font-weight:600;

margin-top:6px;

}

/* LINKS */

.pw-support-body a{

color:#fff;
text-decoration:none;

}

.pw-support-body a:hover{

text-decoration:underline;

}


/* ===============================
 Customer DASHBOARD GRID
================================ */

.pw-dashboard{
padding:20px;
}

/* analytics + upcoming visits row */

.pw-dashboard-grid{
display:grid;
grid-template-columns:2fr 1fr;
gap:20px;
margin-top:20px;
align-items:start;
}


/* ===============================
SUMMARY CARDS
================================ */

.pw-stats-grid{
display:grid;
grid-template-columns:repeat(6,1fr);
gap:15px;
margin-bottom:25px;
}

.pw-stat-card{
padding:18px;
border-radius:12px;
color:white;
font-weight:600;
min-height:90px;
display:flex;
flex-direction:column;
justify-content:center;
box-shadow:0 5px 12px rgba(0,0,0,0.08);
}

.pw-stat-number{
font-size:24px;
font-weight:700;
}

.pw-stat-label{
opacity:.9;
margin-top:5px;
font-size:14px;
}

.blue{background:#3b82f6;}
.green{background:#10b981;}
.orange{background:#f59e0b;}
.purple{background:#8b5cf6;}
.pink{background:#ec4899;}
.red{background:#ef4444;}


/* ===============================
DASHBOARD BOX
================================ */

.pw-dash-box{
background:#fff;
padding:25px;
border-radius:12px;
box-shadow:0 3px 12px rgba(0,0,0,0.05);
}

.pw-dash-box h3{
color:#ef4444;
font-weight:700;
border-left:4px solid #ef4444;
padding-left:10px;
margin-bottom:20px;
}


/* ===============================
PROPERTY PROGRESS
================================ */

.pw-property-progress{
margin-bottom:20px;
}

.pw-property-title{
font-weight:600;
margin-bottom:8px;
color:#333;
}

.scroll-box{
margin-top:20px;
}


/* ===============================
PROPERTY TIMELINE
================================ */

.pw-timeline{
display:flex;
align-items:center;
gap:10px;
flex-wrap:nowrap;
overflow-x:auto;
padding-bottom:5px;
}

.pw-step{
position:relative;
padding:8px 12px;
border-radius:20px;
font-size:12px;
font-weight:600;
background:#e5e7eb;
color:#444;
flex-shrink:0;
}

.pw-step span{
white-space:nowrap;
}

.pw-step.green{
background:#22c55e;
color:white;
}

.pw-step.purple{
background:#8b5cf6;
color:white;
}

.pw-step.gray{
background:#e5e7eb;
}

.pw-step:after{
content:"→";
margin-left:10px;
color:#999;
}

.pw-step:last-child:after{
display:none;
}


/* ===============================
UPCOMING VISITS
================================ */

.pw-visit-list-modern{
display:flex;
flex-direction:column;
gap:12px;
}

.pw-visit-item{
display:flex;
justify-content:space-between;
align-items:center;
padding:12px 15px;
background:#f9fafb;
border-radius:8px;
border:1px solid #eee;
transition:.2s;
}

.pw-visit-item:hover{
background:#f3f4f6;
}

.pw-visit-left{
font-weight:700;
color:#111;
}

.pw-visit-right{
color:#555;
font-weight:600;
}


/* ===============================
VISIT ANALYTICS
================================ */

.pw-analytics-box{
margin-top:0;
}

.pw-donut-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
margin-top:10px;
}

.pw-donut-card{
text-align:center;
}

.pw-donut-card canvas{
height:160px !important;
width:160px !important;
margin:auto;
}

.pw-donut-title{
margin-top:10px;
font-weight:600;
color:#444;
}


/* ===============================
FILTER BAR
================================ */

.pw-filter-bar{
display:flex;
justify-content:flex-end;
margin-bottom:20px;
}

.pw-filter-btn{
background:#3b82f6;
color:white;
border:none;
padding:10px 18px;
border-radius:8px;
cursor:pointer;
font-weight:600;
}


/* ===============================
FILTER MODAL
================================ */

.pw-filter-modal{
display:none;
position:absolute;
top:60px;
right:20px;
background:transparent;
z-index:999;
}

.pw-filter-box{
background:white;
padding:25px;
width:300px;
border-radius:10px;
box-shadow:0 10px 30px rgba(0,0,0,.15);
}

.pw-filter-box h3{
margin-bottom:20px;
}

.pw-filter-box label{
font-size:13px;
font-weight:600;
margin-bottom:5px;
display:block;
}

.pw-filter-box select,
.pw-filter-box input{
width:100%;
padding:10px;
border-radius:6px;
border:1px solid #ddd;
margin-bottom:15px;
}

.pw-radio{
display:flex;
gap:15px;
margin-bottom:20px;
}

.pw-filter-actions{
display:flex;
justify-content:space-between;
}

.pw-reset{
background:#eee;
padding:10px 15px;
border-radius:6px;
text-decoration:none;
color:#333;
}

.pw-apply{
background:#3b82f6;
color:white;
border:none;
padding:10px 20px;
border-radius:6px;
cursor:pointer;
}


/* ===============================
GLOBAL TOOLTIP
================================ */

.pw-tooltip{
position:fixed;
background:#fff;
padding:10px 14px;
border-radius:8px;
font-size:13px;
font-weight:500;
box-shadow:0 10px 25px rgba(0,0,0,0.15);
pointer-events:none;
z-index:99999;
opacity:0;
transform:translateY(-5px);
transition:opacity .15s ease, transform .15s ease;
}

.pw-tooltip.show{
opacity:1;
transform:translateY(0);
}


/* ===============================
RESPONSIVE
================================ */

@media(max-width:1200px){

.pw-stats-grid{
grid-template-columns:repeat(3,1fr);
}

.pw-dashboard-grid{
grid-template-columns:1fr;
}

}

@media(max-width:700px){

.pw-stats-grid{
grid-template-columns:repeat(2,1fr);
}

}


/* ===============================
ENGINEER DASHBOARD STATS
================================ */

.pw-engineer-stats{
display:grid;
grid-template-columns:repeat(2,260px);
gap:20px;
margin-top:30px;
}

.pw-engineer-stats .pw-stat-card{
height:120px;
}



/* ===============================
OPERATION DASHBOARD
================================ */

.pw-dashboard{
padding:20px;
}

/* GRID */

.pw-dashboard-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
margin-top:20px;
}

/* ANALYTICS GRID */

.pw-analytics-grid{
display:grid;
grid-template-columns:2fr 1fr;
gap:20px;
margin-top:25px;
align-items:start;
}

/* LIST ITEM */

.pw-list-item{
display:flex;
justify-content:space-between;
padding:12px;
background:#f9fafb;
border-radius:8px;
margin-bottom:8px;
font-weight:600;
}

/* DONUT */

.pw-donut-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
margin-top:25px;
align-items:center;
}

.pw-donut-card{
text-align:center;
height:160px;
}

.pw-donut-card canvas{
width:110px !important;
height:110px !important;
display:block;
margin:auto;
}

.pw-donut-title{
margin-top:10px;
font-weight:600;
color:#555;
}

/* ENGINEER */

.pw-engineer-box{
max-height:260px;
overflow:auto;
}

.pw-engineer-box table{
width:100%;
}

.pw-engineer-box td{
padding:10px;
font-size:14px;
}

/* FILTER */

.pw-filter-bar{
display:flex;
justify-content:flex-end;
margin-bottom:20px;
}

.pw-filter-btn{
background:#3b82f6;
color:white;
border:none;
padding:10px 18px;
border-radius:8px;
cursor:pointer;
font-weight:600;
}

.pw-filter-modal{
display:none;
position:absolute;
top:70px;
right:20px;
background:transparent;
z-index:999;
}

.pw-filter-box{
background:white;
padding:25px;
width:280px;
border-radius:10px;
box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

.pw-filter-box label{
font-weight:600;
font-size:13px;
display:block;
margin-bottom:5px;
}

.pw-filter-box input{
width:100%;
padding:10px;
border-radius:6px;
border:1px solid #ddd;
margin-bottom:15px;
}

.pw-filter-actions{
display:flex;
justify-content:space-between;
}

.pw-apply{
background:#3b82f6;
color:white;
border:none;
padding:8px 15px;
border-radius:6px;
cursor:pointer;
}

.pw-reset{
background:#eee;
padding:8px 12px;
border-radius:6px;
text-decoration:none;
}

/* STAT CARD HOVER */

.pw-stat-card{
transition:.2s;
cursor:pointer;
}

.pw-stat-card:hover{
transform:translateY(-3px);
box-shadow:0 8px 20px rgba(0,0,0,0.12);
}

/* DASH BOX HEIGHT */

.pw-dash-box{
max-height:320px;
overflow:auto;
}

/* ENGINEER MINI STATS */

.pw-engineer-table{
font-size:13px;
}

.pw-engineer-table th{
text-align:left;
padding:8px;
}

.pw-engineer-table td{
padding:8px;
}

.pw-badge{
text-align:center;
font-weight:600;
border-radius:6px;
padding:4px 8px;
font-size:12px;
color:white;
}

.pw-badge.blue{
background:#3b82f6;
}

.pw-badge.orange{
background:#f59e0b;
}

.pw-badge.green{
background:#22c55e;
}

/* =========================================
GLOBAL RESPONSIVE SYSTEM
========================================= */

/* DESKTOP (default) */
.pw-container{
max-width:1200px;
margin:auto;
padding:20px;
}

/* TABLET */
@media (max-width:1024px){

.pw-sidebar{
width:200px;
}

.pw-main{
margin-left:200px;
}

.pw-grid-3{
grid-template-columns:repeat(2,1fr);
}

.pw-form-grid{
grid-template-columns:repeat(2,1fr);
}

.pw-stats-grid{
grid-template-columns:repeat(3,1fr);
}

.pw-dashboard-grid{
grid-template-columns:1fr;
}

}

/* MOBILE */
@media (max-width:768px){

/* SIDEBAR */

.pw-sidebar{
position:fixed;
left:-260px;
top:0;
height:100%;
width:260px;
transition:0.3s;
z-index:9999;
}

.pw-sidebar.open{
left:0;
}

/* MAIN AREA */

.pw-main{
margin-left:0;
}

/* HEADER */

.pw-header{
padding:15px;
flex-direction:column;
gap:10px;
align-items:flex-start;
}

/* GRID SYSTEM */

.pw-grid-3{
grid-template-columns:1fr;
}

.pw-form-grid{
grid-template-columns:1fr;
}

.pw-addon-grid{
grid-template-columns:1fr;
}

/* TABLE */

.pw-table{
display:block;
overflow-x:auto;
}

/* STATS */

.pw-stats-grid{
grid-template-columns:repeat(2,1fr);
}

/* DASHBOARD */

.pw-dashboard-grid{
grid-template-columns:1fr;
}

/* VISIT CARDS */

.pw-property-actions{
grid-template-columns:repeat(2,1fr);
}

.pw-visit-cards{
flex-direction:column;
}

}

/* SMALL MOBILE */

@media (max-width:480px){

.pw-stats-grid{
grid-template-columns:1fr;
}

.pw-property-actions{
grid-template-columns:1fr;
}

.pw-auth-card{
padding:35px 20px;
}

}

/* Active / Expired label */

.pw-sub-status{
position:absolute;
top:8px;
left:2px;

font-size:11px;
font-weight:600;

background:none;
border:none;
padding:0;
border-radius:0;

text-transform:uppercase;
letter-spacing:.6px;
}

/* Active */

.pw-sub-active{
color:#15803d;
}

/* Expired */

.pw-sub-expired{
color:#b91c1c;
}

/* Card */

.pw-property-summary-card{
position:relative;
padding-top:28px;
box-shadow:0 8px 20px rgba(0,0,0,0.06);
}

.pw-property-summary-card.pw-sub-active{
border-left:5px solid #22c55e;
}

.pw-property-summary-card.pw-sub-expired{
border-left:5px solid #ef4444;
}/* Active card highlight */

.pw-property-summary-card.pw-sub-active{
background:#ecfdf5;
border:1px solid #bbf7d0;
}

/* Expired card highlight */

.pw-property-summary-card.pw-sub-expired{
background:#fef2f2;
border:1px solid #fecaca;
}

@media(max-width:768px){

.pw-sidebar{
position:fixed;
left:-260px;
top:0;
height:100%;
width:260px;
transition:0.3s;
z-index:9999;
}

/* OPEN STATE */

.pw-sidebar.open{
left:0;
}

/* MAIN */

.pw-main{
margin-left:0 !important;
}

/* MOBILE MENU */

.pw-mobile-menu{
display:block;
}

}

.pw-sidebar nav a{
display:flex;
align-items:center;
gap:12px;
}

.pw-icon{
font-size:18px;
min-width:20px;
text-align:center;
}

.pw-text{
transition:0.3s;
white-space:nowrap;
}

.pw-sidebar.collapsed .pw-text{
display:none;
}

.pw-sidebar.collapsed nav a{
justify-content:center;
}