
*{box-sizing:border-box}
:root{
    --brand-black:#111111;
    --brand-gold:#b38b2e;
    --brand-gold-dark:#8f6d1f;
    --brand-gold-soft:#f4ead0;
    --brand-gray-50:#fafafa;
    --brand-gray-100:#f5f5f5;
    --brand-gray-200:#e5e7eb;
    --brand-gray-300:#d1d5db;
    --brand-gray-500:#6b7280;
    --brand-gray-700:#374151;
    --brand-shadow:0 12px 35px rgba(17,17,17,.08);
}
body{
    margin:0;
    font-family:Inter,Segoe UI,Arial,sans-serif;
    background:#ffffff;
    color:#1f2937;
}
.login-body{background:#ffffff;}
.login-page-centered{background:#ffffff;}

a{color:var(--brand-gold-dark);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{
    background:#ffffff;
    color:var(--brand-black);
    padding:16px 28px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-bottom:3px solid var(--brand-gold);
    box-shadow:0 2px 14px rgba(17,17,17,.04);
}
.brand-wrap{display:flex;align-items:center;gap:14px}
.brand-logo-link{text-decoration:none}
.brand-logo{height:62px;width:auto;display:block}
.brand-company{font-size:23px;font-weight:800;line-height:1.1;color:var(--brand-black)}
.brand-system{font-size:13px;color:var(--brand-gray-500);margin-top:4px}
.top-user{display:flex;gap:14px;align-items:center;color:var(--brand-gray-700)}

.nav{
    display:flex;
    gap:24px;
    background:#fff;
    border-bottom:1px solid #ececec;
    padding:12px 28px;
}
.nav a{
    font-weight:700;
    color:#333;
    position:relative;
    padding:6px 0;
}
.nav a:hover{color:var(--brand-gold-dark);text-decoration:none}
.nav a::after{
    content:"";
    position:absolute;
    left:0;bottom:-8px;
    width:0;height:2px;
    background:var(--brand-gold);
    transition:.2s ease;
}
.nav a:hover::after{width:100%}

.container{max-width:1250px;margin:28px auto;padding:0 20px}
.footer{
    text-align:center;
    padding:26px 20px 34px;
    color:#6b7280;
    font-size:13px;
}
.card{
    background:#fff;
    border:1px solid #ece7db;
    border-radius:16px;
    padding:20px;
    box-shadow:var(--brand-shadow);
}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:20px}
.metric{
    border-top:4px solid var(--brand-gold);
}
.metric span{display:block;color:#6b7280;font-size:13px}
.metric strong{display:block;font-size:32px;margin-top:8px;color:var(--brand-black)}
.toolbar{display:flex;align-items:center;justify-content:space-between;margin:26px 0 14px;gap:12px;flex-wrap:wrap}
.toolbar h2{margin:0;color:var(--brand-black)}

.btn{
    display:inline-block;
    border:1px solid #d7d7d7;
    border-radius:10px;
    background:#fff;
    color:#1f2937;
    padding:10px 14px;
    cursor:pointer;
    font-weight:700;
    transition:.2s ease;
}
.btn:hover{text-decoration:none;filter:brightness(.98);transform:translateY(-1px)}
.btn-primary{background:var(--brand-gold);color:#fff;border-color:var(--brand-gold)}
.btn-primary:hover{background:var(--brand-gold-dark);border-color:var(--brand-gold-dark)}
.btn-success{background:#166534;color:#fff;border-color:#166534}
.btn-danger{background:#b42318;color:#fff;border-color:#b42318}
.btn-light{background:#fff;color:var(--brand-black);border-color:#d9d9d9}
.btn-sm{padding:6px 9px;font-size:12px}
.full{width:100%;margin-top:14px}

.table-wrap{overflow:auto;padding:0}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:13px 14px;border-bottom:1px solid #f0eee8;vertical-align:top}
th{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#6b7280;
    background:#fbfaf7;
}

.badge{
    display:inline-block;
    padding:5px 8px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
}
.badge.success{background:#dcfce7;color:#166534}
.badge.warning{background:#fef3c7;color:#92400e}
.badge.danger{background:#fee2e2;color:#991b1b}
.badge.info{background:#e9e4d6;color:#7d5d10}
.badge.purple{background:#ede9fe;color:#5b21b6}
.badge.gray{background:#e5e7eb;color:#374151}

.filters{display:flex;gap:10px;margin-bottom:15px}
.filters input{flex:1}
.filters select{min-width:220px}
label{display:block;font-size:13px;font-weight:700;margin:13px 0 6px;color:#2c2c2c}
input,select,textarea{
    width:100%;
    border:1px solid #d4d4d4;
    border-radius:10px;
    padding:10px 11px;
    font:inherit;
    background:#fff;
}
input:focus,select:focus,textarea:focus{
    outline:none;
    border-color:var(--brand-gold);
    box-shadow:0 0 0 3px rgba(179,139,46,.13);
}
textarea{resize:vertical}
.form-card{max-width:900px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.span-2{grid-column:span 2}
.details{display:grid;grid-template-columns:150px 1fr;gap:10px 15px}
.details dt{color:#6b7280}
.details dd{margin:0}
.action-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}
.timeline{margin-top:10px}
.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #eef2f7}
.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--brand-gold);margin-top:6px}
.small{font-size:12px}
.muted{color:#6b7280}
.alert{
    padding:11px 13px;border-radius:10px;margin:0 0 15px;
    background:#ecfdf3;color:#166534;border:1px solid #ccead7
}
.alert.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.inline{display:inline-flex;gap:6px;align-items:center;margin:2px}
.small-input{width:145px;padding:6px 8px;font-size:12px}
.review-comment{
    background:#f8fafc;
    border-left:4px solid var(--brand-gold);
    padding:14px;border-radius:8px;white-space:normal
}

.quotation-editor input{min-width:80px}
.quotation-summary{
    margin:18px 0 22px auto;
    max-width:420px;
    background:#fcfaf5;
    border:1px solid #eadfbe;
    border-radius:12px;
    padding:14px
}
.quotation-summary>div,.quotation-totals-view>div{
    display:flex;justify-content:space-between;align-items:center;gap:15px;padding:7px 0
}
.quotation-summary input{width:160px}
.quotation-summary .grand-total,.quotation-totals-view .grand-total{
    border-top:2px solid var(--brand-gold);
    margin-top:7px;
    padding-top:12px;
    font-size:18px;
    color:var(--brand-black)
}
.quotation-totals-view{margin:18px 0 20px auto;max-width:420px}




/* LOGIN PAGE */
.login-body{
    min-height:100vh;
    margin:0;
    background:#ececec;
}
.login-page-centered{
    min-height:100vh;
    background:#ececec;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px 16px;
}
.login-centered-wrap{
    position:relative;
    z-index:2;
    width:min(100%, 390px);
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}
.login-centered-logo{
    width:min(340px, 86%);
    height:auto;
    display:block;
    margin:0 auto 18px;
}
.login-card-centered{
    background:rgba(255,255,255,.93);
    padding:26px 20px 18px;
    border:1px solid #e6e6e6;
    box-shadow:0 12px 28px rgba(0,0,0,.08);
    width:100%;
    text-align:left;
}
.login-field{
    margin-bottom:18px;
}
.login-field input{
    width:100%;
    border:0;
    border-radius:0;
    background:#f3f3f3;
    padding:18px 16px;
    font-size:14px;
    color:#374151;
    box-shadow:none;
}
.login-field input:focus{
    outline:none;
    border:1px solid #d0d0d0;
    background:#f7f7f7;
    box-shadow:none;
}
.login-submit-btn{
    width:100%;
    border:0;
    border-radius:0;
    padding:12px 16px;
    background:#3b4350;
    color:#ffffff;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
}
.login-submit-btn:hover{
    background:#2f3641;
}
.login-forgot{
    text-align:center;
    margin-top:8px;
}
.login-forgot a{
    color:#1f2937;
    text-decoration:none;
    font-size:14px;
}
.login-forgot a:hover{
    text-decoration:underline;
}
.login-bg-illustration{
    position:absolute;
    inset:0 0 0 0;
    width:100%;
    height:100%;
    opacity:1;
    background-repeat:no-repeat;
    background-position:center bottom;
    background-size:100% auto;
    pointer-events:none;
    background-image:url('login-bg-qatar-new-bottom.png');
}

@media(max-width:800px){
    .grid-4,.grid-2,.form-grid{grid-template-columns:1fr}
    .span-2{grid-column:auto}
    .topbar{align-items:flex-start;gap:10px;flex-direction:column}
    .filters{flex-direction:column}
    .details{grid-template-columns:1fr}
    .details dd{margin-bottom:8px}
    .brand-wrap{align-items:flex-start}
    .brand-logo{height:50px}
    .brand-company{font-size:19px}
    .login-page-centered{padding:18px 10px}
    .login-centered-logo{width:min(290px, 88%)}
    .login-card-centered{padding:20px 14px 14px}
    .login-bg-illustration{
        width:100%;
        height:100%;
        opacity:1;
        background-size:100% auto;
        background-position:center bottom;
    }
}

/* APP SIDEBAR LAYOUT - STABLE VISIBILITY FIX */
:root{
    --sidebar-bg:#3b4350;
    --sidebar-bg-dark:#303741;
    --sidebar-width:264px;
    --sidebar-collapsed-width:72px;
}
html,body{min-height:100%;}
.app-body{margin:0;background:#ffffff;min-height:100vh;overflow-x:hidden;position:relative;}
.app-body::after{content:"";position:fixed;left:0;right:0;bottom:0;width:100%;height:min(24vw, 380px);min-height:180px;background:url('pages-bg-qatar-bottom.png') center bottom / 100% auto no-repeat;pointer-events:none;z-index:0;opacity:1;}

.app-shell{display:block!important;position:relative!important;min-height:100vh!important;width:100%!important;visibility:visible!important;opacity:1!important;}

.sidebar{
    position:fixed!important;
    top:0!important;bottom:0!important;left:0!important;
    width:var(--sidebar-width)!important;
    background:var(--sidebar-bg)!important;
    color:#fff!important;
    z-index:1000!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    transition:width .24s ease,transform .24s ease!important;
    box-shadow:5px 0 24px rgba(15,23,42,.12)!important;
}
.sidebar-header{
    min-height:82px!important;height:82px!important;flex:0 0 82px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:8px 10px!important;box-sizing:border-box!important;
    background:#fff!important;color:#3b4350!important;border-bottom:1px solid #e6e7e9!important;
}
.sidebar-brand{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;overflow:hidden!important;text-decoration:none!important;}
.sidebar-brand-full{display:block!important;width:190px!important;max-width:100%!important;max-height:66px!important;object-fit:contain!important;}
.sidebar-brand-mark{display:none!important;width:48px!important;height:58px!important;object-fit:contain!important;}
.sidebar-user{display:flex!important;align-items:center!important;gap:12px!important;padding:18px 16px!important;border-bottom:1px solid rgba(255,255,255,.09)!important;flex:0 0 auto!important;visibility:visible!important;}
.sidebar-user-avatar{width:40px!important;height:40px!important;border-radius:50%!important;background:var(--brand-gold)!important;color:#fff!important;font-weight:800!important;display:grid!important;place-items:center!important;flex:0 0 40px!important;}
.sidebar-user-text{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;}
.sidebar-user-text strong,.sidebar-user-text span{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.sidebar-user-text strong{font-size:14px!important;color:#fff!important}.sidebar-user-text span{font-size:12px!important;color:#cbd5e1!important;margin-top:2px!important}
.sidebar-nav{padding:14px 10px!important;display:flex!important;flex-direction:column!important;gap:5px!important;overflow-y:auto!important;overflow-x:hidden!important;flex:1 1 auto!important;min-height:0!important;visibility:visible!important;}
.sidebar-link{display:flex!important;align-items:center!important;gap:13px!important;min-height:46px!important;padding:11px 12px!important;box-sizing:border-box!important;border-radius:9px!important;color:#e6e8eb!important;font-weight:600!important;text-decoration:none!important;white-space:nowrap!important;visibility:visible!important;opacity:1!important;}
.sidebar-link:hover{background:rgba(255,255,255,.10)!important;color:#fff!important;text-decoration:none!important;}
.sidebar-link.active{background:rgba(179,139,46,.95)!important;color:#fff!important;box-shadow:0 5px 14px rgba(0,0,0,.14)!important;}
.sidebar-link svg{display:block!important;width:21px!important;height:21px!important;min-width:21px!important;fill:currentColor!important;flex:0 0 21px!important;visibility:visible!important;opacity:1!important;}
.sidebar-link span{overflow:hidden!important;text-overflow:ellipsis!important;}
.sidebar-footer{display:block!important;padding:12px 10px 18px!important;border-top:1px solid rgba(255,255,255,.09)!important;flex:0 0 auto!important;}
.sidebar-logout{color:#fff!important;background:rgba(0,0,0,.10)!important;}

/* Main application area: always rendered and visible. */
.app-main{
    display:flex!important;
    flex-direction:column!important;
    position:relative!important;
    background:transparent!important;
    z-index:1!important;
    min-height:100vh!important;
    min-width:0!important;
    width:auto!important;
    max-width:none!important;
    margin:0 0 0 var(--sidebar-width)!important;
    padding:0!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    overflow:visible!important;
    transition:margin-left .24s ease!important;
}
.app-topbar{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    width:100%!important;
    min-height:82px!important;
    box-sizing:border-box!important;
    padding:14px 28px!important;
    background:#fff!important;
    border-bottom:1px solid #e6e7e9!important;
    box-shadow:0 2px 10px rgba(15,23,42,.035)!important;
    position:relative!important;
    z-index:50!important;
    visibility:visible!important;
    opacity:1!important;
    flex:0 0 auto!important;
}
.app-topbar-left{display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important;}
.app-topbar-left h1{margin:0!important;font-size:22px!important;line-height:1.2!important;color:#20252c!important;}
.app-topbar-left p{margin:4px 0 0!important;color:#7a8088!important;font-size:12px!important;}
.app-topbar-user{text-align:right!important;flex:0 0 auto!important;}.app-topbar-user strong,.app-topbar-user span{display:block!important}.app-topbar-user strong{font-size:14px!important;color:#30343a!important}.app-topbar-user span{font-size:12px!important;color:#7a8088!important;margin-top:2px!important}
.header-menu-toggle{border:0!important;background:transparent!important;color:#3b4350!important;cursor:pointer!important;display:inline-flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:4px!important;min-width:40px!important;height:40px!important;flex:0 0 40px!important;padding:9px!important;border-radius:8px!important;}
.header-menu-toggle:hover{background:#eef0f3!important}.header-menu-toggle span{display:block!important;width:21px!important;height:2px!important;border-radius:4px!important;background:currentColor!important;}
.app-container{
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:1280px!important;
    min-width:0!important;
    flex:1 0 auto!important;
    margin:26px auto!important;
    padding:0 24px!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    z-index:2!important;
}
.app-footer{display:block!important;visibility:visible!important;opacity:1!important;margin-left:0!important;}
.sidebar-overlay{display:none;}

@media(min-width:901px){
    .app-shell.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width)!important;}
    .app-shell.sidebar-collapsed .app-main{margin-left:var(--sidebar-collapsed-width)!important;}
    .app-shell.sidebar-collapsed .sidebar-brand-full{display:none!important;}
    .app-shell.sidebar-collapsed .sidebar-brand-mark{display:block!important;}
    .app-shell.sidebar-collapsed .sidebar-user{justify-content:center!important;padding-left:10px!important;padding-right:10px!important;}
    .app-shell.sidebar-collapsed .sidebar-user-text{display:none!important;}
    .app-shell.sidebar-collapsed .sidebar-nav{padding-left:8px!important;padding-right:8px!important;}
    .app-shell.sidebar-collapsed .sidebar-link{justify-content:center!important;gap:0!important;padding-left:10px!important;padding-right:10px!important;}
    .app-shell.sidebar-collapsed .sidebar-link > span{display:none!important;}
    .app-shell.sidebar-collapsed .sidebar-link > svg{display:block!important;margin:0 auto!important;}
    .app-shell.sidebar-collapsed .sidebar-management-summary .sidebar-chevron{display:none!important;}
    .app-shell.sidebar-collapsed .sidebar-management .sidebar-submenu{display:none!important;}
}

@media(max-width:900px){
    .app-body::after{height:min(34vw, 260px);min-height:120px;background-size:100% auto;}
    .sidebar,.app-shell.sidebar-collapsed .sidebar{width:264px!important;transform:translateX(-100%)!important;}
    .app-shell.sidebar-open .sidebar{transform:translateX(0)!important;}
    .app-main,.app-shell.sidebar-collapsed .app-main{margin-left:0!important;}
    .app-shell.sidebar-open .sidebar-overlay{display:block!important;position:fixed!important;inset:0!important;background:rgba(17,24,39,.42)!important;z-index:900!important;}
    .sidebar-brand-full{display:block!important;}.sidebar-brand-mark{display:none!important;}
    .app-topbar{padding:12px 16px!important;min-height:72px!important;}
    .app-topbar-left h1{font-size:19px!important;}
    .app-topbar-user{display:none!important;}
    .app-container{padding:0 14px!important;margin-top:20px!important;}
}
@media(max-width:520px){.sidebar{width:min(86vw,300px)!important;}}

/* MANAGEMENT ACCORDION - FIXED */
.sidebar-management{
    display:block;
    width:100%;
    margin:0;
    padding:0;
    border:0;
}
.sidebar-management > summary{
    list-style:none;
}
.sidebar-management > summary::-webkit-details-marker{
    display:none;
}
.sidebar-management-summary{
    width:100%;
    margin:0;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#e6e8eb !important;
    cursor:pointer;
    user-select:none;
}
.sidebar-management-summary:hover{
    background:rgba(255,255,255,.10) !important;
    color:#fff !important;
}
.sidebar-management-summary.active{
    background:rgba(179,139,46,.95) !important;
    color:#fff !important;
}
.sidebar-management[open] .sidebar-management-summary:not(.active){
    background:rgba(255,255,255,.08) !important;
    color:#fff !important;
}
.sidebar-management-summary .sidebar-chevron{
    margin-left:auto;
    width:18px;
    height:18px;
    flex:0 0 auto;
    transition:transform .18s ease;
}
.sidebar-management[open] .sidebar-chevron{
    transform:rotate(180deg);
}

.sidebar-management .sidebar-submenu{
    display:none;
    width:100%;
    margin:4px 0 6px;
    padding:0 8px 0 42px;
    box-sizing:border-box;
    flex-direction:column;
    gap:3px;
    position:relative;
}
.sidebar-management[open] .sidebar-submenu{
    display:flex;
}
.sidebar-management .sidebar-submenu::before{
    content:"";
    position:absolute;
    left:31px;
    top:4px;
    bottom:4px;
    width:2px;
    background:rgba(255,255,255,.12);
    border-radius:2px;
}
.sidebar-sublink{
    display:flex !important;
    align-items:center;
    position:relative;
    width:100%;
    min-height:36px;
    margin:0;
    padding:8px 10px 8px 15px;
    box-sizing:border-box;
    border-radius:8px;
    color:#d9dde2 !important;
    background:transparent;
    font-size:13px;
    font-weight:600;
    line-height:1.2;
    text-decoration:none !important;
    white-space:nowrap;
}
.sidebar-sublink::before{
    content:"";
    width:6px;
    height:6px;
    margin-right:10px;
    border-radius:50%;
    background:#9da4ad;
    flex:0 0 auto;
}
.sidebar-sublink:hover{
    background:rgba(255,255,255,.09);
    color:#fff !important;
}
.sidebar-sublink:hover::before{
    background:#fff;
}
.sidebar-sublink.active{
    background:rgba(179,139,46,.92);
    color:#fff !important;
}
.sidebar-sublink.active::before{
    background:#fff;
}
.app-shell.sidebar-collapsed .sidebar-management .sidebar-submenu{
    display:none !important;
}
.app-shell.sidebar-collapsed .sidebar-management-summary .sidebar-chevron{
    display:none;
}

/* BACKUP / HISTORY */
.backup-info{margin-top:22px;padding:15px;background:#f7f8fa;border:1px solid #e4e6e9;border-radius:10px}
.backup-info p{margin:7px 0 10px;line-height:1.5}
.backup-info code{display:block;white-space:normal;word-break:break-all;background:#303741;color:#fff;padding:11px 12px;border-radius:8px;font-size:12px}
.switch-row{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#f8f8f8;border:1px solid #e4e5e7;border-radius:9px;margin-bottom:14px}
.switch-row input{width:auto;margin-top:3px}
.switch-row strong,.switch-row small{display:block}
.switch-row small{color:#6b7280;margin-top:3px;font-weight:400}
.history-filters input[type="date"]{max-width:170px}


/* TEMPORARY PASSWORD / FORCE CHANGE */
.temp-password-panel{
    display:flex;
    justify-content:space-between;
    gap:22px;
    align-items:center;
    background:#fff8df;
    border:1px solid #ead08a;
    border-left:5px solid var(--brand-gold);
    border-radius:12px;
    padding:18px 20px;
    margin:0 0 20px;
    box-shadow:0 8px 24px rgba(17,17,17,.06);
}
.temp-password-title{font-size:17px;font-weight:800;color:#2b2b2b}
.temp-password-user{font-weight:700;margin:4px 0 6px}
.temp-password-copy-row{display:flex;gap:10px;align-items:center}
.temp-password-copy-row code{
    display:block;
    padding:12px 15px;
    background:#303741;
    color:#fff;
    border-radius:8px;
    font-size:16px;
    font-weight:800;
    letter-spacing:.08em;
    white-space:nowrap;
}
.forced-password-body{
    margin:0;
    min-height:100vh;
    background:#ececec;
}
.forced-password-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:24px;
}
.forced-password-card{
    width:min(460px,94vw);
    background:#fff;
    border:1px solid #e3e3e3;
    box-shadow:0 20px 50px rgba(0,0,0,.10);
    padding:32px;
    text-align:center;
}
.forced-password-logo{
    display:block;
    width:min(300px,82%);
    height:auto;
    margin:0 auto 14px;
}
.forced-password-icon{
    width:52px;
    height:52px;
    margin:8px auto 12px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#f4ead0;
    font-size:24px;
}
.forced-password-card h1{
    margin:0 0 8px;
    color:#252525;
    font-size:26px;
}
.forced-password-card form{text-align:left;margin-top:20px}
.forced-password-logout{
    display:inline-block;
    margin-top:16px;
    font-size:13px;
    color:#4b5563;
}
@media(max-width:700px){
    .temp-password-panel{flex-direction:column;align-items:flex-start}
    .temp-password-copy-row{width:100%;flex-wrap:wrap}
    .temp-password-copy-row code{max-width:100%;overflow:auto}
}


/* PROJECT WORKFLOW TIMELINE */
.project-workflow-card{
    margin:0 0 22px;
    padding:20px 24px 22px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    box-shadow:0 7px 24px rgba(17,24,39,.05);
}
.project-workflow-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:21px;
}
.project-workflow-head > div{
    display:flex;
    align-items:baseline;
    gap:12px;
    min-width:0;
}
.project-workflow-eyebrow{
    font-size:11px;
    line-height:1;
    letter-spacing:.12em;
    font-weight:800;
    color:#87909c;
}
.project-workflow-head strong{
    font-size:14px;
    color:#20262e;
}
.project-workflow-progress{
    flex:0 0 auto;
    padding:5px 10px;
    background:#f2f4f6;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
    color:#68717d;
}

.project-workflow{
    display:flex;
    width:100%;
    align-items:flex-start;
}
.project-workflow-step{
    flex:1 1 0;
    min-width:0;
    text-align:center;
}
.project-workflow-track{
    display:grid;
    grid-template-columns:1fr 38px 1fr;
    align-items:center;
    width:100%;
}
.project-workflow-line{
    height:4px;
    background:#dfe3e7;
}
.project-workflow-step:first-child .project-workflow-line-left,
.project-workflow-step:last-child .project-workflow-line-right{
    visibility:hidden;
}
.project-workflow-step.reached .project-workflow-line-left,
.project-workflow-step.reached:not(.current) .project-workflow-line-right{
    background:#28a745;
}
.project-workflow-node{
    position:relative;
    z-index:2;
    width:36px;
    height:36px;
    margin:auto;
    display:grid;
    place-items:center;
    box-sizing:border-box;
    border:4px solid #dfe3e7;
    border-radius:50%;
    background:#fff;
    color:#9aa2ac;
    font-size:12px;
    font-weight:800;
    transition:.2s ease;
}
.project-workflow-step.reached .project-workflow-node{
    border-color:#28a745;
    background:#28a745;
    color:#fff;
}
.project-workflow-step.current .project-workflow-node{
    box-shadow:0 0 0 5px rgba(40,167,69,.15);
}
.project-workflow-node svg{
    width:19px;
    height:19px;
    fill:currentColor;
}
.project-workflow-label{
    display:flex;
    flex-direction:column;
    gap:3px;
    margin-top:10px;
    padding:0 5px;
}
.project-workflow-label strong{
    color:#7c858f;
    font-size:12px;
    font-weight:800;
    line-height:1.25;
}
.project-workflow-label span{
    color:#a0a7af;
    font-size:10px;
    line-height:1.3;
}
.project-workflow-step.reached .project-workflow-label strong{
    color:#218838;
}
.project-workflow-step.current .project-workflow-label strong{
    color:#17802d;
    font-size:13px;
}
.project-workflow-step.current .project-workflow-label span{
    color:#218838;
    font-weight:700;
}

/* Keep the connecting line green all the way to the current reached step. */
.project-workflow-step.current .project-workflow-line-left{
    background:#28a745;
}

@media(max-width:760px){
    .project-workflow-card{
        padding:18px 15px;
        overflow-x:auto;
    }
    .project-workflow-head{
        min-width:620px;
    }
    .project-workflow{
        min-width:620px;
    }
}

@media(max-width:520px){
    .project-workflow-head > div{
        align-items:flex-start;
        flex-direction:column;
        gap:5px;
    }
}


/* PROJECT TIMELINE FINAL COLOR PRIORITY FIX
   Previous reached steps = green
   Current unfinished step = golden yellow
   Future steps = gray
   Completed current step = green
*/
.project-workflow .project-workflow-step.reached.current.pending-current .project-workflow-node{
    border-color:#d39b16 !important;
    background:#d39b16 !important;
    color:#fff !important;
    box-shadow:0 0 0 5px rgba(211,155,22,.20) !important;
}
.project-workflow .project-workflow-step.reached.current.pending-current .project-workflow-label strong{
    color:#b67f00 !important;
}
.project-workflow .project-workflow-step.reached.current.pending-current .project-workflow-label span{
    color:#b67f00 !important;
    font-weight:700;
}
/* Line arriving from a finished stage remains green. */
.project-workflow .project-workflow-step.reached.current.pending-current .project-workflow-line-left{
    background:#28a745 !important;
}
/* Line going to the future remains gray. */
.project-workflow .project-workflow-step.reached.current.pending-current .project-workflow-line-right{
    background:#dfe3e7 !important;
}


\n/* ROLE WORKFLOW CLIENT/PAGINATION */\n.client-filter-card summary{cursor:pointer}.pagination{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:18px 0}.filters input[list]{min-width:320px}.card a{color:inherit}.table-wrap td a{text-decoration:none}.table-wrap td a:hover{text-decoration:underline}\n

/* QUOTATION TEMPLATE BUILDER */
.template-section-flags{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin-bottom:20px}.template-flag{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dedede;border-radius:8px;background:#fafafa;font-weight:600}.template-flag input{width:auto;margin:0}.quote-item-row{display:grid;grid-template-columns:150px minmax(240px,1fr) 130px auto;gap:8px;align-items:center;margin:8px 0}.quote-item-row input{margin:0}@media(max-width:760px){.quote-item-row{grid-template-columns:1fr}.template-section-flags{grid-template-columns:1fr 1fr}}


/* ADMINISTRATOR QUOTATION EDITOR */
.admin-quotation-note{border-left:5px solid var(--brand-gold);padding:14px 18px;margin-bottom:18px}
.admin-quotation-note strong{display:block;margin-bottom:4px}
.quotation-save-bar{display:flex;gap:10px;align-items:center;justify-content:flex-start;position:sticky;bottom:0;background:#fff;border-top:1px solid #e5e7eb;margin:24px -22px -22px;padding:14px 22px;z-index:20}
#administratorQuotationForm hr{border:0;border-top:1px solid #e7e8eb;margin:26px 0}
#administratorQuotationForm h3{margin-top:25px}
@media(max-width:700px){.quotation-save-bar{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;flex-wrap:wrap}}


/* QUOTATION SIX NUMBERED SECTIONS */
.quotation-six-sections .template-flag span strong{
    display:inline-block;
    min-width:20px;
}


/* V7 OFFICIAL SIX SECTIONS */
.official-six-sections .template-flag{cursor:default}
.official-six-sections .template-flag span{display:block;width:100%}
.official-six-sections .template-flag strong{display:inline-block;min-width:24px}


/* SIDEBAR PARENT MENU GROUPS */
.sidebar-parent-menu > .sidebar-submenu{padding-top:2px}
.sidebar-parent-menu[open] > .sidebar-management-summary .sidebar-chevron{transform:rotate(180deg)}


/* REQUEST + PROJECT SEARCH / FILTER CONTROLS */
.request-controls-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin:0 0 14px;
}
.compact-search-form{
    display:flex;
    align-items:center;
    gap:6px;
    margin:0;
}
.compact-search-input{
    width:190px;
    max-width:42vw;
    height:34px;
    padding:6px 9px;
    font-size:13px;
}
.filter-popover{
    position:relative;
    margin:0;
}
.filter-popover > summary{
    list-style:none;
    cursor:pointer;
    user-select:none;
}
.filter-popover > summary::-webkit-details-marker{display:none}
.filter-popover-panel{
    position:absolute;
    right:0;
    top:42px;
    z-index:60;
    width:min(720px,calc(100vw - 36px));
    margin:0;
    box-shadow:0 14px 34px rgba(0,0,0,.16);
}
.filter-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(180px,1fr));
    gap:12px 14px;
    align-items:end;
}
.filter-grid label{
    display:block;
    margin-bottom:5px;
    font-weight:700;
}
.filter-grid select{
    width:100%;
}
.filter-actions{
    display:flex;
    gap:8px;
    align-items:center;
    grid-column:1/-1;
}
@media(max-width:700px){
    .request-controls-row{align-items:stretch}
    .compact-search-input{width:150px;max-width:46vw}
    .filter-grid{grid-template-columns:1fr}
}

/* LARGER SIDEBAR MENU + SUBMENU TEXT */
.sidebar-link span{
    font-size:15px;
}
.sidebar-sublink{
    font-size:14px;
    line-height:1.35;
}
.sidebar-user-text strong{font-size:14px}
.sidebar-user-text span{font-size:12.5px}


/* REMOVE DUPLICATE PAGE TITLES INSIDE BODY
   The page title remains in the top header only. */
main.app-container > .toolbar:first-of-type h2,
main.app-container > .card:first-of-type > h2:first-child,
main.app-container > .card:first-of-type > .toolbar:first-child h2{
    display:none!important;
}

/* MARKETER MENU / WORKFLOW */
.sidebar-link span{font-size:15.5px}
.sidebar-sublink{font-size:14.5px}
.btn-danger{background:#b42318!important;color:#fff!important;border-color:#b42318!important}
.inline-status-update{position:relative;display:inline-block;margin-left:5px}
.inline-status-update > summary{list-style:none;cursor:pointer}
.inline-status-update > summary::-webkit-details-marker{display:none}
.inline-status-update > form{
    position:absolute;right:0;top:34px;z-index:80;background:#fff;
    box-shadow:0 12px 32px rgba(0,0,0,.16)
}


/* LOGIN PAGE PURE WHITE BACKGROUND OVERRIDE */
html:has(body.login-body),
body.login-body,
.login-page-centered{
    background:#ffffff!important;
    background-color:#ffffff!important;
}
body.login-body{
    min-height:100vh!important;
}
.login-page-centered{
    min-height:100vh!important;
}

/* Rich quotation editor */
.rich-editor-block{margin:12px 0 16px}
.rich-editor-block .rich-help{margin:-2px 0 6px}
.rich-editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 10px;border:1px solid #d9dee6;border-bottom:0;background:#f8fafc;border-radius:10px 10px 0 0}
.rich-editor-toolbar select,.rich-editor-toolbar input,.rich-editor-toolbar button{font-size:13px;padding:6px 8px;border:1px solid #cfd6e0;border-radius:7px;background:#fff;color:#1f2937}
.rich-editor{border:1px solid #d9dee6;border-radius:0 0 10px 10px;padding:12px 14px;background:#fff;outline:none}
.rich-editor:focus{border-color:#bd8b22;box-shadow:0 0 0 3px rgba(189,139,34,.12)}
.rich-editor p,.rich-editor div{margin:0 0 5pt}
.rich-editor ul,.rich-editor ol{margin:8px 0 10px 24px}
.rich-editor ul[data-bullet]{list-style:none;padding-left:24px}
.rich-editor ul[data-bullet]>li{position:relative}
.rich-editor ul[data-bullet]>li::before{position:absolute;left:-22px;top:0;font-weight:700}
.rich-editor ul[data-bullet="dash"]>li::before{content:"-"}
.rich-editor ul[data-bullet="diamond"]>li::before{content:"❖"}
.rich-editor ul[data-bullet="arrow"]>li::before{content:"➢"}
.rich-editor ul[data-bullet="check"]>li::before{content:"✓"}


/* Quotation editor reliability + optional items */
.rich-editor{font-family:"DIN Next LT Arabic",Arial,sans-serif;font-size:12pt;line-height:1.38;color:#111}
.rich-editor-toolbar{position:sticky;top:0;z-index:3}
.rich-editor-toolbar button{cursor:pointer;min-width:34px}
.rich-editor-toolbar button:active{transform:translateY(1px)}
.optional-item-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;gap:10px;margin:12px 0 20px}
.optional-item-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #dde2e8;border-radius:9px;background:#fff}
.single-include-control{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-weight:600;color:#4b5563;white-space:nowrap}
.single-include-control input{position:absolute;opacity:0;pointer-events:none}
.single-include-control span{width:18px;height:18px;border:2px solid #9ca3af;border-radius:50%;background:#fff;box-sizing:border-box;box-shadow:inset 0 0 0 3px #fff;transition:.15s ease}
.single-include-control input:checked+span{background:var(--brand-gold,#b38b2e);border-color:var(--brand-gold,#b38b2e)}
.single-include-control input:focus-visible+span{outline:3px solid rgba(179,139,46,.25);outline-offset:2px}
.single-include-control em{font-style:normal}
.radio-choice{display:flex;gap:12px;white-space:nowrap}.radio-choice label{display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:13px}.radio-choice input{accent-color:#bd8b22}
@media(max-width:1050px){.optional-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.optional-item-grid{grid-template-columns:1fr}.optional-item-row{align-items:flex-start;flex-direction:column}}


/* Quotation editor full-width + selection-aware toolbar */
#administratorQuotationForm.quotation-admin-form{
    max-width:none!important;
    width:100%!important;
    box-sizing:border-box;
}
#administratorQuotationForm .form-grid{
    width:100%;
}
.rich-editor-toolbar button.is-active{
    background:var(--brand-gold,#b38b2e)!important;
    border-color:var(--brand-gold,#b38b2e)!important;
    color:#fff!important;
    box-shadow:0 0 0 2px rgba(179,139,46,.12);
}
.rich-editor-toolbar button[aria-pressed="true"]{
    font-weight:800;
}
.rich-editor-toolbar select{
    width:auto;
    min-width:92px;
}
.rich-editor-toolbar .js-font-name{min-width:170px}
.rich-editor-toolbar .js-font-size{width:68px;min-width:68px}
.editor-color-control{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#4b5563;white-space:nowrap}
.rich-editor-toolbar .js-font-color{width:42px;min-width:42px;height:30px;min-height:30px;padding:2px!important;cursor:pointer}
.rich-editor-toolbar .js-line-height{width:68px;min-width:68px}
.editor-number-control{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#4b5563;white-space:nowrap}
.current-editor-style{margin-left:auto;padding:5px 8px;border-radius:6px;background:#eef2f7;color:#374151;font-size:12px;line-height:1.25;white-space:normal}
.single-include-control{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-weight:600;color:#4b5563;white-space:nowrap}
.single-include-control input{position:absolute;opacity:0;pointer-events:none}
.single-include-control span{display:block;width:23px;height:23px;border:2px solid #9ca3af;border-radius:50%;background:#fff;box-sizing:border-box;position:relative}
.single-include-control input:checked + span{border-color:#bd8b22;background:#bd8b22}
.single-include-control input:checked + span::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.single-include-control input:focus-visible + span{outline:3px solid rgba(189,139,34,.24);outline-offset:2px}
@media(max-width:760px){.current-editor-style{width:100%;margin-left:0}.editor-number-control{flex:1 1 140px}}

/* Compact rectangular controls throughout the system */
input:not([type="checkbox"]):not([type="radio"]),select,textarea{
    border-radius:0!important;
    padding:7px 9px!important;
    min-height:34px;
}
.btn,button{
    border-radius:0!important;
    padding:7px 11px!important;
    min-height:34px;
}
.btn-sm{
    padding:4px 8px!important;
    min-height:28px;
}
.rich-editor-toolbar{
    border-radius:0!important;
    padding:6px 8px;
}
.rich-editor-toolbar select,.rich-editor-toolbar input,.rich-editor-toolbar button{
    border-radius:0!important;
    padding:4px 6px!important;
    min-height:30px;
}
.rich-editor{
    border-radius:0!important;
    padding:10px 12px;
}
.optional-item-row,.current-editor-style{
    border-radius:0!important;
}

/* Per-section quotation editors */
.quotation-section-card{
    margin:14px 0;
    padding:14px;
    border:1px solid #d9dee6;
    background:#fff;
}
.quotation-template-form-card{max-width:none;width:100%}
.quotation-group-title-card{background:#fbfaf7}
.quotation-section-controls{
    display:grid;
    grid-template-columns:minmax(260px,1fr) auto;
    gap:12px;
    align-items:end;
    margin-bottom:10px;
}
.quotation-title-field label,.quotation-subtitle-field label{margin-top:0}
.quotation-title-field input,.quotation-subtitle-field input{font-weight:700}
.quotation-subtitle-field{margin:14px 0 6px}
.quotation-stage-section-controls{margin-top:14px;margin-bottom:6px}
.quotation-stage-section-controls .quotation-subtitle-field{margin:0}
.section-enabled-control{
    display:flex;
    align-items:center;
    gap:7px;
    min-height:34px;
    margin:0 0 1px;
    padding:6px 9px;
    border:1px solid #d4d4d4;
    background:#fafafa;
    white-space:nowrap;
    cursor:pointer;
}
.section-enabled-control input{
    width:18px;
    height:18px;
    margin:0;
    accent-color:var(--brand-gold);
}
.rich-editor-toolbar .js-list-style{min-width:165px}
@media(max-width:760px){
    .quotation-section-controls{grid-template-columns:1fr}
    .section-enabled-control{justify-content:flex-start}
}

/* Structured Time Frame editor */
.time-frame-builder{margin:12px 0 16px}
.time-frame-builder-head{
    display:grid;
    grid-template-columns:180px minmax(280px,1fr) minmax(180px,.42fr) 110px;
    gap:8px;
    padding:8px;
    border:1px solid #cfd6e0;
    background:#e5e5e5;
    font-weight:700;
    text-align:center;
}
.time-stage-editor{
    padding:10px;
    border:1px solid #cfd6e0;
    border-top:0;
    background:#fff;
}
.time-stage-controls{
    display:grid;
    grid-template-columns:180px auto 110px;
    gap:8px;
    align-items:center;
    margin-bottom:8px;
}
.time-stage-controls .js-time-stage-name{font-weight:700;text-align:center}
.time-stage-enabled{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin:0;
    padding:6px 9px;
    border:1px solid #d4d4d4;
    background:#fafafa;
    cursor:pointer;
}
.time-stage-enabled input{width:18px;height:18px;margin:0;accent-color:var(--brand-gold)}
.time-stage-row{
    display:grid;
    grid-template-columns:minmax(280px,1fr) minmax(180px,.42fr) 110px;
    gap:8px;
    align-items:stretch;
    margin:8px 0;
}
.time-stage-row textarea{min-height:64px;resize:vertical}
.time-stage-row .btn{align-self:center}
.time-stage-editor>.js-add-time-row{margin-left:188px}
.time-frame-builder>.js-add-time-stage{margin-top:9px}
.financial-stage-builder-head{grid-template-columns:180px minmax(280px,1fr) minmax(150px,.35fr) 110px}
.financial-stage-row{grid-template-columns:minmax(280px,1fr) minmax(150px,.35fr) 110px}
.financial-stage-row .js-financial-fee{align-self:center;margin:0}
.financial-stage-editor>.js-add-financial-row{margin-left:188px}
.financial-stage-builder>.js-add-financial-stage{margin-top:9px}
@media(max-width:850px){
    .time-frame-builder-head{display:none}
    .time-stage-controls,.time-stage-row,.financial-stage-row{grid-template-columns:1fr}
    .time-stage-editor>.js-add-time-row,.financial-stage-editor>.js-add-financial-row{margin-left:0}
}

/* Editable quotation footer typography */
.footer-typography-editor{
    margin:14px 0;
    padding:12px;
    border:1px solid #d9dee6;
    background:#fbfaf7;
}
.footer-typography-editor h4{margin:0 0 8px}
.footer-typography-grid{
    display:grid;
    grid-template-columns:minmax(190px,1.4fr) repeat(4,minmax(110px,.65fr));
    gap:10px;
    align-items:end;
}
.footer-typography-grid label{margin-top:0}
.footer-text-style-preview{
    margin-top:12px;
    padding:10px;
    border:1px solid #d4d4d4;
    background:#fff;
    color:#222;
}
@media(max-width:900px){.footer-typography-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.footer-typography-grid{grid-template-columns:1fr}}

/* User management list, profile and protected actions */
.sr-only{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
.user-management-toolbar{margin-bottom:14px}
.user-toolbar-actions{margin-top:0}
.user-search-card{padding:14px;margin-bottom:16px}
.user-search-row{
    display:grid;
    grid-template-columns:minmax(260px,33.333%) auto auto;
    gap:8px;
    align-items:center;
    justify-content:start;
}
.user-filter-panel{
    display:grid;
    grid-template-columns:minmax(220px,300px) minmax(180px,240px) auto;
    gap:12px;
    align-items:end;
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid #ece7db;
}
.user-filter-panel[hidden]{display:none!important}
.user-filter-panel label{margin-top:0}
.user-filter-actions{display:flex;gap:8px;align-items:center;padding-bottom:1px}
.user-list-card{margin-bottom:18px}
.user-list-table td{vertical-align:middle}
.user-name-link{font-weight:800;text-decoration:underline;text-underline-offset:3px}
.user-type-readonly{font-weight:700;color:#374151}
.user-row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.user-row-actions .inline{margin:0}
.empty-table-message{text-align:center;color:#6b7280;padding:28px 14px}
.user-form-card{max-width:850px}
.user-checkbox-row{
    display:flex;
    align-items:center;
    gap:9px;
    font-weight:700;
    cursor:pointer;
}
.user-checkbox-row input[type="checkbox"]{width:18px;height:18px;margin:0;accent-color:var(--brand-gold)}
.user-profile-card{max-width:850px}
.user-profile-heading{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid #ece7db;margin-bottom:18px}
.user-profile-heading h3{margin:0 0 4px}
.user-profile-avatar{
    display:flex;
    align-items:center;
    justify-content:center;
    width:54px;
    height:54px;
    background:var(--brand-gold-soft);
    color:var(--brand-gold-dark);
    border:1px solid #d9c58d;
    font-size:23px;
    font-weight:800;
}
.user-profile-details{grid-template-columns:220px 1fr;max-width:760px}
.user-account-actions-card{max-width:850px;margin-top:16px}
.user-account-actions-card h3{margin-top:0}
.delete-checkpoint-card{max-width:720px}
.delete-confirmation-row{margin:18px 0}
@media(max-width:900px){
    .user-list-table{min-width:1050px}
}
@media(max-width:650px){
    .user-search-row{grid-template-columns:1fr 1fr}
    .user-search-row input{grid-column:1/-1}
    .user-filter-panel{grid-template-columns:1fr}
    .user-filter-actions{padding-bottom:0}
    .user-profile-details{grid-template-columns:1fr;gap:4px}
    .user-profile-details dd{margin-bottom:12px}
}

/* Optional user signatures */
.user-signature-field{margin-top:5px}
.user-signature-current{
    display:flex;
    align-items:center;
    gap:18px;
    margin-top:10px;
    padding:10px;
    border:1px solid #d9dee6;
    background:#fbfaf7;
}
.user-signature-current img,.user-profile-signature{
    display:block;
    max-width:240px;
    max-height:90px;
    object-fit:contain;
    background:#fff;
}
.user-signature-current .user-checkbox-row{margin:0}

/* Stamp management */
.stamp-search-card{padding:14px;margin-bottom:16px}
.stamp-search-row{display:grid;grid-template-columns:minmax(260px,33.333%) auto auto;gap:8px;justify-content:start;align-items:center}
.stamp-list-table td{vertical-align:middle}
.stamp-list-image{display:block;width:70px;height:70px;object-fit:contain;background:#fff}
.stamp-form-card{max-width:850px}
.stamp-current-preview{margin-top:8px;padding:12px;border:1px solid #d9dee6;background:#fbfaf7}
.stamp-current-preview span{display:block;margin-bottom:8px}
.stamp-current-preview img{display:block;max-width:220px;max-height:150px;object-fit:contain;background:#fff}
.stamp-view-card{max-width:850px;display:grid;grid-template-columns:280px 1fr;gap:24px}
.stamp-view-image-wrap{display:flex;align-items:center;justify-content:center;min-height:240px;border:1px solid #d9dee6;background:#fbfaf7;padding:15px}
.stamp-view-image-wrap img{display:block;max-width:100%;max-height:230px;object-fit:contain}
.stamp-view-details{align-content:start}

/* Signing parties in the quotation maker */
.signatory-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.signatory-party-card{border:1px solid #d9dee6;background:#fbfaf7;padding:13px}
.signatory-party-card h4{margin:0 0 10px;color:var(--brand-black)}
.signatory-second-party-note{margin-top:16px;padding:10px;border-left:3px solid var(--brand-gold);background:#fff}
.signatory-image-preview{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.signatory-image-preview>div{min-height:88px;border:1px solid #d9dee6;background:#fff;padding:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:start}
.signatory-image-preview>div:first-child{min-height:68px}
.signatory-image-preview span{align-self:flex-start;font-size:11px;font-weight:800;text-transform:uppercase;color:#6b7280;margin-bottom:6px}
.signatory-image-preview img{display:block;max-width:100%;max-height:58px;object-fit:contain}
.signatory-image-preview>div:first-child img{max-width:82%;max-height:36px}
.signatory-image-preview [hidden]{display:none!important}
.signatory-image-preview em{font-size:12px;color:#6b7280;font-style:normal;text-align:center}

@media(max-width:760px){
    .user-signature-current{align-items:flex-start;flex-direction:column}
    .stamp-search-row,.signatory-form-grid,.stamp-view-card{grid-template-columns:1fr}
    .stamp-view-image-wrap{min-height:180px}
}
