@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');

/* =========================================================
   KHAMMA GHANI TAILORING SOFTWARE
   COMMON GLOBAL CSS
========================================================= */

:root {
    --primary:#1F3C35;
    --primary-dark:#16302A;
    --primary-light:#2C5148;
    --gold:#D9B332;
    --gold-dark:#C5A127;
    --gold-light:#E8CF67;

    --bg:#F7F9F5;
    --bg-gradient:linear-gradient(135deg,#F7F9F5,#E2EFE0);

    --white:#fff;
    --surface:#fff;
    --surface-soft:#F1F5F0;

    --text:#101615;
    --text-secondary:#66736E;
    --text-light:#8B9691;
    --border:#DCE5DF;

    --success:#2E8B62;
    --warning:#D9A441;
    --danger:#C95B55;
    --info:#477A8A;

    --radius-sm:8px;
    --radius-md:12px;
    --radius-lg:18px;
    --radius-xl:24px;

    --shadow-sm:0 2px 8px rgba(31,60,53,.06);
    --shadow-md:0 8px 25px rgba(31,60,53,.08);
    --shadow-lg:0 15px 40px rgba(31,60,53,.12);

    --sidebar-width:260px;
}

/* =========================================================
   RESET / GLOBAL
========================================================= */

* {
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-size:17px !important;
}

html { scroll-behavior:smooth; }

body {
    font-family:"Inter",sans-serif;
    background:var(--bg-gradient);
    color:var(--text);
    min-height:100vh;
}

a {
    text-decoration:none;
    color:inherit;
}

button,
input,
select,
textarea {
    font-family:inherit;
}

button { cursor:pointer; }

img {
    max-width:100%;
    display:block;
}

/* =========================================================
   APP / MAIN
========================================================= */

.app {
    display:flex;
    min-height:100vh;
}

.main {
    margin-left:var(--sidebar-width);
    width:calc(100% - var(--sidebar-width));
    min-height:100vh;
    padding:28px 32px;
}

/* =========================================================
   SIDEBAR
========================================================= */

.sidebar {
    width:var(--sidebar-width);
    height:100vh;
    position:fixed;
    left:0;
    top:0;
    z-index:1000;
    padding:22px 15px;
    display:flex;
    flex-direction:column;
    background:var(--primary);
    color:#fff;
}

.brand { padding:5px 12px 25px; }

.brand h2 {
    font-family:"Plus Jakarta Sans",sans-serif;
    font-size:20px;
    font-weight:700;
    letter-spacing:-.5px;
}

.brand p {
    margin-top:5px;
    color:rgba(255,255,255,.6);
    font-size:11px;
}

.sidebar-nav {
    flex:1;
    overflow-y:auto;
}

.nav-section { margin-bottom:20px; }

.nav-title {
    padding:0 12px 8px;
    color:rgba(255,255,255,.4);
    font-size:10px;
    font-weight:700;
    letter-spacing:1.2px;
}

.nav-item {
    display:flex;
    align-items:center;
    gap:12px;
    padding:11px 12px;
    margin-bottom:3px;
    border-radius:var(--radius-sm);
    color:rgba(255,255,255,.75);
    font-size:13px;
    font-weight:500;
    transition:.2s ease;
}

.nav-item:hover {
    background:rgba(255,255,255,.08);
    color:#fff;
}

.nav-item.active {
    background:var(--gold);
    color:#17231F;
    font-weight:600;
}

.nav-icon {
    width:19px;
    height:19px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
}

.sidebar-bottom {
    padding-top:15px;
    border-top:1px solid rgba(255,255,255,.1);
}

.user-box {
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px;
}

.user-avatar {
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--gold);
    color:var(--primary);
    font-weight:700;
}

.user-info strong {
    display:block;
    font-size:12px;
}

.user-info span {
    color:rgba(255,255,255,.5);
    font-size:10px;
}

/* =========================================================
   PAGE HEADER
========================================================= */

.page-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:25px;
}

.page-title h1 {
    font-family:"Plus Jakarta Sans",sans-serif;
    font-size:26px;
    font-weight:700;
    letter-spacing:-.8px;
}

.page-title p {
    margin-top:5px;
    color:var(--text-secondary);
    font-size:13px;
}

/* =========================================================
   BUTTONS
========================================================= */

.btn {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 16px;
    border:0;
    border-radius:var(--radius-sm);
    font-size:13px;
    font-weight:600;
    transition:.2s ease;
}

.btn-primary {
    background:var(--primary);
    color:#fff;
}

.btn-primary:hover { background:var(--primary-dark); }

.btn-gold {
    background:var(--gold);
    color:var(--primary-dark);
}

.btn-gold:hover { background:var(--gold-dark); }

.btn-outline {
    background:transparent;
    border:1px solid var(--border);
    color:var(--text);
}

.btn-outline:hover { background:var(--surface-soft); }

/* =========================================================
   CARDS
========================================================= */

.card {
    padding:20px;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(220,229,223,.8);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-sm);
}

.card:hover { box-shadow:var(--shadow-md); }

.card-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
}

.card-title {
    font-family:"Plus Jakarta Sans",sans-serif;
    font-size:15px;
    font-weight:700;
}

.card-link {
    color:var(--gold-dark);
    font-size:11px;
    font-weight:600;
}

/* =========================================================
   STATS
========================================================= */

.stats-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin-bottom:22px;
}

.stat-card {
    padding:20px;
    background:var(--white);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-sm);
}

.stat-top {
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.stat-label {
    color:var(--text-secondary);
    font-size:12px;
    font-weight:500;
}

.stat-icon {
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:var(--surface-soft);
    color:var(--primary);
}

.stat-value {
    margin-top:14px;
    font-family:"Plus Jakarta Sans",sans-serif;
    font-size:27px;
    font-weight:700;
}

.stat-change {
    margin-top:5px;
    font-size:11px;
}

.stat-change.success { color:var(--success); }
.stat-change.warning { color:var(--warning); }
.stat-change.danger { color:var(--danger); }

.dashboard-grid {
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:20px;
}

/* =========================================================
   TABLE
========================================================= */

.table-wrapper {
    width:100%;
    overflow-x:auto;
}

table {
    width:100%;
    border-collapse:collapse;
}

th {
    padding:11px 10px;
    text-align:left;
    border-bottom:1px solid var(--border);
    color:var(--text-light);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.5px;
}

td {
    padding:13px 10px;
    border-bottom:1px solid #EDF1ED;
    font-size:12px;
}

tr:last-child td { border-bottom:0; }

/* =========================================================
   STATUS
========================================================= */

.status {
    display:inline-flex;
    padding:5px 9px;
    border-radius:30px;
    font-size:10px;
    font-weight:600;
}

.status-success { background:#E4F3EA;color:#287650; }
.status-warning { background:#FFF2D7;color:#9A6B16; }
.status-danger { background:#FBE7E5;color:#A84640; }
.status-info { background:#E6F0F3;color:#3C6C7A; }
.status-dark { background:#E4ECE9;color:var(--primary); }

/* =========================================================
   FORMS
========================================================= */

.form-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}

.form-group {
    display:flex;
    flex-direction:column;
    gap:7px;
}

.form-group.full { grid-column:1/-1; }

.form-label {
    font-size:12px;
    font-weight:600;
}

.form-control {
    width:100%;
    padding:11px 13px;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    background:#fff;
    color:var(--text);
    font-size:12px;
    outline:0;
    transition:.2s;
}

.form-control:focus {
    border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(217,179,50,.12);
}

textarea.form-control {
    min-height:100px;
    resize:vertical;
}

/* =========================================================
   PRODUCTION
========================================================= */

.production-board {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:12px;
}

.production-column {
    min-height:300px;
    padding:12px;
    background:rgba(255,255,255,.55);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
}

.production-column-title {
    display:flex;
    justify-content:space-between;
    margin-bottom:12px;
    font-size:11px;
    font-weight:700;
}

.production-item {
    margin-bottom:8px;
    padding:12px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:10px;
    box-shadow:var(--shadow-sm);
}

.production-item strong {
    display:block;
    margin-bottom:5px;
    font-size:11px;
}

.production-item span {
    color:var(--text-secondary);
    font-size:10px;
}

/* =========================================================
   EMPTY STATE
========================================================= */

.empty-state {
    padding:45px 20px;
    text-align:center;
    color:var(--text-secondary);
}

.empty-icon {
    margin-bottom:10px;
    font-size:32px;
}

.empty-state h3 {
    color:var(--text);
    font-size:14px;
}

.empty-state p {
    margin-top:5px;
    font-size:11px;
}

/* =========================================================
   ORDER PAGE
========================================================= */

.measurement-box,
.cart-item {
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fff;
}

.measurement-box {
    padding:20px;
}

.measurement-title {
    margin-bottom:20px;
    font-weight:700;
}

.option-group {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.option-btn {
    padding:8px 14px;
    border:1px solid #dee2e6;
    border-radius:8px;
    background:#fff;
    cursor:pointer;
    transition:.2s;
}

.option-btn:hover,
.option-btn.active {
    border-color:#212529;
}

.option-btn.active {
    background:#212529;
    color:#fff;
}

.color-options {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.color-item {
    cursor:pointer;
    text-align:center;
}

.color-circle {
    width:38px;
    height:38px;
    margin:auto;
    border:3px solid #fff;
    outline:2px solid #ddd;
    border-radius:50%;
}

.color-item.active .color-circle {
    outline:3px solid #111;
}

.color-name {
    margin-top:5px;
    font-size:11px;
}

.cuff-card {
    width:105px;
    padding:8px;
    border:1px solid #ddd;
    border-radius:10px;
    text-align:center;
    cursor:pointer;
}

.cuff-card:hover { border-color:#111; }

.cuff-card.active { border:2px solid #111; }

.cuff-visual {
    height:55px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:6px;
    border-radius:6px;
    background:#f1f1f1;
}

.summary-box {
    min-height:90px;
    resize:vertical;
}

.cart-item {
    padding:15px;
    margin-bottom:12px;
}

.cart-total {
    font-size:18px;
    font-weight:700;
}

/* =========================================================
   IMAGE OPTION CARDS
   Shared structure for Collar / Suit / Jodhpuri / Cuff
========================================================= */

.collar-options,
.suit-type-options,
.jodhpuri-type-options,
.cuff-options {
    display:grid;
    gap:15px;
}

.collar-options { grid-template-columns:repeat(4,1fr); }
.suit-type-options,
.cuff-options { grid-template-columns:repeat(3,1fr); }
.jodhpuri-type-options { grid-template-columns:repeat(2,1fr); }

.collar-option,
.suit-type-option,
.jodhpuri-type-option,
.cuff-image-option {
    position:relative;
    padding:8px;
    border:2px solid #e5e7eb;
    border-radius:12px;
    background:#fff;
    cursor:pointer;
    user-select:none;
    transition:.2s ease;
}

.collar-option:hover,
.suit-type-option:hover,
.jodhpuri-type-option:hover,
.cuff-image-option:hover,
.collar-option.selected,
.suit-type-option.selected,
.jodhpuri-type-option.selected,
.cuff-image-option.selected {
    border-color:#198754;
}

.collar-option:hover,
.suit-type-option:hover,
.cuff-image-option:hover {
    transform:translateY(-2px);
}

.collar-option.selected,
.suit-type-option.selected,
.jodhpuri-type-option.selected,
.cuff-image-option.selected {
    box-shadow:0 0 0 2px rgba(25,135,84,.15);
}

.collar-image-wrapper,
.suit-type-image-wrapper,
.jodhpuri-image-wrapper,
.cuff-image-wrapper {
    position:relative;
    width:100%;
    overflow:hidden;
    border-radius:8px;
    background:#f8f9fa;
}

.collar-image-wrapper { height:120px; }
.suit-type-image-wrapper { height:180px; }
.jodhpuri-image-wrapper { height:230px; }
.cuff-image-wrapper { height:180px; }

.collar-image,
.suit-type-image,
.jodhpuri-image,
.cuff-image {
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
}

.collar-check,
.suit-type-check,
.jodhpuri-check,
.cuff-check {
    position:absolute;
    top:8px;
    right:8px;
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#198754;
    color:#fff;
    font-weight:700;
    opacity:0;
    transform:scale(.5);
    transition:.2s ease;
}

.jodhpuri-check,
.cuff-check {
    width:32px;
    height:32px;
    top:10px;
    right:10px;
    font-size:19px;
}

.collar-check { top:7px;right:7px; }

.collar-option.selected .collar-check,
.suit-type-option.selected .suit-type-check,
.jodhpuri-type-option.selected .jodhpuri-check,
.cuff-image-option.selected .cuff-check {
    opacity:1;
    transform:scale(1);
}

.collar-name,
.suit-type-name,
.jodhpuri-type-name,
.cuff-name {
    padding-bottom:3px;
    margin-top:8px;
    text-align:center;
    font-size:14px;
    font-weight:600;
    color:#212529;
}

.collar-name { font-size:13px; }

/* =========================================================
   LOGIN / SIGNUP
========================================================= */

.login-page {
    min-height:100vh;
    padding:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--primary);
    font-family:"Inter",sans-serif;
}

.login-page .login-wrapper {
    width:100%;
    max-width:1280px;
    min-height:700px;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);
    overflow:hidden;
    border-radius:28px;
    background:#fff;
    box-shadow:0 25px 70px rgba(0,0,0,.15);
}

.login-page .login-visual {
    position:relative;
    min-height:700px;
    display:flex;
    align-items:flex-end;
    padding:55px;
    background:
        linear-gradient(90deg,rgba(20,20,20,.58),rgba(20,20,20,.15)),
        url("https://images.pexels.com/photos/33078826/pexels-photo-33078826.jpeg")
        center/cover;
}

.login-page .login-visual-content {
    position:relative;
    z-index:2;
    max-width:520px;
    color:#fff;
}

.login-page .brand-logo {
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:55px;
    font-size:22px !important;
    font-weight:800;
    letter-spacing:.3px;
}

.login-page .brand-mark {
    width:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:var(--gold);
    color:var(--primary);
    font-size:20px !important;
}

.login-page .visual-title {
    margin:0 0 18px;
    font-family:"Plus Jakarta Sans",sans-serif;
    font-size:clamp(42px,5vw,68px) !important;
    line-height:.98;
    font-weight:800;
    letter-spacing:-2px;
}

.login-page .visual-title span { color:var(--gold-light); }

.login-page .visual-text {
    max-width:440px;
    margin:0;
    color:rgba(255,255,255,.88);
    font-size:17px !important;
    line-height:1.6;
}

.login-page .visual-badge {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:28px;
    padding:10px 15px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:50px;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(8px);
    font-size:13px !important;
}

.login-page .login-form-area {
    display:flex;
    align-items:center;
    padding:55px;
    background:linear-gradient(180deg,#fffaf5,#fff6ed);
}

.login-page .auth-box {
    width:100%;
    max-width:440px;
    margin:auto;
}

.login-page .mobile-brand { display:none; }

.login-page .auth-heading {
    margin-bottom:8px;
    color:var(--text);
    font-family:"Plus Jakarta Sans",sans-serif;
    font-size:31px !important;
    font-weight:700;
    letter-spacing:-.8px;
}

.login-page .auth-subtitle {
    margin-bottom:28px;
    color:var(--text-secondary);
    font-size:14px !important;
}

.login-page .auth-tabs {
    display:flex;
    gap:8px;
    padding:5px;
    margin-bottom:28px;
    border-radius:13px;
    background:#ecebe8;
}

.login-page .auth-tabs .nav-link {
    width:100%;
    padding:11px 15px;
    border:0;
    border-radius:9px;
    color:#777;
    font-size:14px !important;
    font-weight:600;
}

.login-page .auth-tabs .nav-link:hover { color:var(--primary); }

.login-page .auth-tabs .nav-link.active {
    background:var(--primary);
    color:#fff;
    box-shadow:0 5px 14px rgba(31,60,53,.25);
}

.login-page .form-label {
    margin-bottom:7px;
    color:#444;
    font-size:13px !important;
    font-weight:600;
}

.login-page .input-group-custom { position:relative; }

.login-page .input-icon {
    position:absolute;
    left:15px;
    top:50%;
    z-index:5;
    transform:translateY(-50%);
    color:#999;
    font-size:17px !important;
}

.login-page .kg-input {
    min-height:50px;
    padding-left:45px;
    border:1px solid #e6e0d9;
    border-radius:12px;
    background:#fff;
    color:var(--text);
    font-size:14px !important;
}

.login-page .kg-input:focus {
    border-color:var(--gold);
    box-shadow:0 0 0 .2rem rgba(217,179,50,.12);
}

.login-page .password-input { padding-right:48px; }

.login-page .password-toggle {
    position:absolute;
    right:13px;
    top:50%;
    z-index:5;
    transform:translateY(-50%);
    padding:4px;
    border:0;
    background:transparent;
    color:#888;
}

.login-page .password-toggle:hover { color:var(--primary); }

.login-page .password-toggle i { font-size:17px !important; }

.login-page .kg-btn {
    min-height:51px;
    border:0;
    border-radius:12px;
    background:var(--primary);
    color:#fff;
    font-size:14px !important;
    font-weight:700;
    box-shadow:0 7px 18px rgba(31,60,53,.2);
    transition:.2s ease;
}

.login-page .kg-btn:hover {
    background:var(--primary-dark);
    color:#fff;
    transform:translateY(-1px);
}

.login-page .kg-alert,
.login-page .signup-info {
    border:0;
    border-radius:12px;
    font-size:13px !important;
}

.login-page .signup-info {
    background:rgba(31,60,53,.08);
    color:var(--primary);
}

.login-page .kg-alert i,
.login-page .signup-info i {
    font-size:14px !important;
}

.login-page .login-footer {
    margin-top:24px;
    color:#999;
    text-align:center;
    font-size:12px !important;
}

.login-page .login-footer strong {
    color:var(--primary);
    font-size:12px !important;
}

.login-page .login-footer i { font-size:13px !important; }

.login-page .mobile-brand .fw-bold { font-size:20px !important; }

.login-page .mobile-brand .badge {
    background:var(--primary) !important;
}

.login-page .mobile-brand .badge i { font-size:16px !important; }

/* =========================================================
   WORKER SIDEBAR
========================================================= */

.worker-sidebar {
    width:260px;
    height:100vh;
    position:fixed;
    top:0;
    left:0;
    z-index:1000;
    display:flex;
    flex-direction:column;
    background:var(--primary);
    color:#fff;
    box-shadow:4px 0 20px rgba(0,0,0,.08);
}

.worker-brand {
    height:78px;
    padding:0 22px;
    display:flex;
    align-items:center;
    gap:12px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.worker-brand-icon,
.worker-avatar {
    display:flex;
    align-items:center;
    justify-content:center;
    background:#bde85a;
    color:var(--primary);
}

.worker-brand-icon {
    width:42px;
    height:42px;
    border-radius:12px;
    font-size:20px;
    font-weight:700;
}

.worker-brand-text h5 {
    margin:0;
    font-size:16px;
    font-weight:700;
}

.worker-brand-text span {
    color:rgba(255,255,255,.65);
    font-size:11px;
}

.worker-profile {
    margin:18px 16px;
    padding:14px;
    display:flex;
    align-items:center;
    gap:11px;
    border-radius:14px;
    background:rgba(255,255,255,.07);
}

.worker-avatar {
    width:42px;
    height:42px;
    border-radius:50%;
    font-size:19px;
}

.worker-profile-info { min-width:0; }

.worker-profile-info strong {
    display:block;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:14px;
}

.worker-profile-info small {
    color:rgba(255,255,255,.6);
    font-size:11px;
}

.worker-menu {
    flex:1;
    padding:0 14px;
    overflow-y:auto;
}

.worker-menu-title {
    margin:12px 10px 8px;
    color:rgba(255,255,255,.45);
    font-size:10px;
    font-weight:700;
    letter-spacing:1px;
}

.worker-menu-link {
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 13px;
    margin-bottom:5px;
    border-radius:10px;
    color:rgba(255,255,255,.78);
    font-size:13px;
    transition:.2s ease;
}

.worker-menu-link i {
    width:20px;
    text-align:center;
    font-size:16px;
}

.worker-menu-link:hover {
    background:rgba(255,255,255,.08);
    color:#fff;
}

.worker-menu-link.active {
    background:#bde85a;
    color:var(--primary);
    font-weight:700;
}

.worker-logout {
    color:#ffb4b4 !important;
}

.worker-logout:hover {
    background:rgba(255,80,80,.1) !important;
    color:#ffcccc !important;
}

.worker-sidebar-footer {
    padding:16px 20px;
    border-top:1px solid rgba(255,255,255,.08);
    color:rgba(255,255,255,.45);
    font-size:10px;
}

.worker-mobile-header { display:none; }

.worker-menu-button {
    border:0;
    background:transparent;
    color:#fff;
    font-size:22px;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:1100px) {
    .stats-grid { grid-template-columns:repeat(2,1fr); }
    .dashboard-grid { grid-template-columns:1fr; }
    .production-board { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:991.98px) {
    .login-page { padding:0; }

    .login-page .login-wrapper {
        min-height:100vh;
        grid-template-columns:1fr;
        border-radius:0;
    }

    .login-page .login-visual {
        min-height:330px;
        padding:35px;
    }

    .login-page .login-visual-content { max-width:600px; }

    .login-page .brand-logo { margin-bottom:45px; }

    .login-page .visual-title { font-size:48px !important; }

    .login-page .login-form-area { padding:45px 30px; }

    .worker-sidebar {
        width:250px;
        transform:translateX(-100%);
        transition:.3s ease;
    }

    .worker-sidebar.show { transform:translateX(0); }

    .worker-mobile-header {
        display:flex;
        height:60px;
        align-items:center;
        padding:0 16px;
        background:var(--primary);
        color:#fff;
    }
}

@media (max-width:768px) {
    :root { --sidebar-width:0; }

    .sidebar { display:none; }

    .main {
        width:100%;
        margin-left:0;
        padding:20px;
    }

    .stats-grid,
    .form-grid {
        grid-template-columns:1fr;
    }

    .production-board {
        grid-template-columns:1fr;
    }

    .page-header {
        align-items:flex-start;
        flex-direction:column;
        gap:15px;
    }

    .collar-options {
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }

    .collar-image-wrapper { height:100px; }

    .suit-type-options {
        grid-template-columns:repeat(2,1fr);
    }

    .suit-type-image-wrapper { height:140px; }

    .cuff-options {
        grid-template-columns:repeat(2,1fr);
        gap:10px;
    }

    .cuff-image-wrapper { height:150px; }
}

@media (max-width:600px) {
    .jodhpuri-type-options { gap:10px; }
    .jodhpuri-image-wrapper { height:170px; }
}

@media (max-width:575.98px) {
    .login-page .login-visual {
        min-height:270px;
        padding:28px 24px;
        background-position:center;
    }

    .login-page .brand-logo {
        margin-bottom:35px;
        font-size:19px !important;
    }

    .login-page .brand-mark {
        width:35px;
        height:35px;
    }

    .login-page .visual-title {
        font-size:38px !important;
        letter-spacing:-1px;
    }

    .login-page .visual-text { font-size:14px !important; }

    .login-page .visual-badge { display:none; }

    .login-page .login-form-area { padding:35px 22px; }

    .login-page .auth-heading { font-size:27px !important; }
}

@media (max-width:450px) {
    .suit-type-options {
        grid-template-columns:repeat(2,1fr);
        gap:10px;
    }

    .suit-type-image-wrapper { height:110px; }

    .suit-type-name { font-size:12px; }
}

@media (max-width:400px) {
    .collar-options {
        grid-template-columns:repeat(2,1fr);
        gap:8px;
    }

    .collar-image-wrapper { height:85px; }

    .collar-name { font-size:12px; }
}