:root{
    --navy:#0f172a;
    --navy-soft:#1e293b;
    --teal:#0f766e;
    --teal-soft:#14b8a6;
    --gold:#f59e0b;
    --bg:#f4f7fb;
    --card:#ffffff;
    --muted:#64748b;
    --text:#111827;
    --line:#e5e7eb;
    --danger:#dc2626;
    --purple:#7c3aed;
    --blue:#2563eb;
}

*{box-sizing:border-box}

body{
    margin:0;
    font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}

a{text-decoration:none}

.paten-shell{
    min-height:100vh;
    background:
        radial-gradient(circle at 10% 10%, rgba(20,184,166,.16), transparent 28%),
        radial-gradient(circle at 90% 0%, rgba(245,158,11,.13), transparent 25%),
        linear-gradient(180deg,#f8fafc 0%,#eef4f8 100%);
}

.paten-container{
    max-width:1180px;
    margin:0 auto;
    padding:0 22px;
}

.paten-nav{
    position:sticky;
    top:0;
    z-index:30;
    background:rgba(255,255,255,.86);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(226,232,240,.8);
}

.paten-nav-inner{
    height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.paten-brand{
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--navy);
}

.paten-brand img{
    width:46px;
    height:46px;
    border-radius:14px;
    box-shadow:0 10px 22px rgba(15,23,42,.16);
}

.paten-brand-title{
    font-weight:900;
    font-size:17px;
    line-height:1.15;
}

.paten-brand-sub{
    color:var(--muted);
    font-size:12px;
    margin-top:3px;
}

.paten-nav-links{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.paten-link{
    color:#334155;
    font-weight:750;
    font-size:14px;
    padding:10px 12px;
    border-radius:999px;
}

.paten-link:hover{
    background:#f1f5f9;
    color:var(--navy);
}

.paten-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:999px;
    padding:12px 18px;
    font-weight:850;
    border:1px solid transparent;
    cursor:pointer;
    transition:.2s ease;
    font-size:14px;
}

.paten-btn-primary{
    background:var(--teal);
    color:#fff;
    box-shadow:0 14px 28px rgba(15,118,110,.25);
}

.paten-btn-primary:hover{
    transform:translateY(-1px);
    background:#0d655f;
}

.paten-btn-light{
    background:#fff;
    color:var(--navy);
    border-color:#e2e8f0;
}

.paten-btn-light:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(15,23,42,.08);
}

.paten-btn-gold{
    background:var(--gold);
    color:#fff;
    box-shadow:0 14px 28px rgba(245,158,11,.24);
}

.paten-hero{
    padding:78px 0 46px;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    align-items:center;
    gap:44px;
}

.paten-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 13px;
    border-radius:999px;
    background:#ecfeff;
    color:#155e75;
    border:1px solid #a5f3fc;
    font-weight:850;
    font-size:13px;
}

.paten-hero h1{
    margin:18px 0 0;
    font-size:52px;
    line-height:1.03;
    letter-spacing:-1.7px;
    color:var(--navy);
    font-weight:950;
}

.paten-hero p{
    color:#475569;
    line-height:1.85;
    font-size:17px;
    margin:20px 0 0;
    max-width:650px;
}

.paten-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:28px;
}

.paten-hero-note{
    margin-top:22px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    color:#64748b;
    font-size:13px;
}

.paten-hero-note span{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:999px;
    padding:8px 11px;
}

.paten-visual{
    position:relative;
    min-height:490px;
}

.paten-orbit{
    position:absolute;
    inset:24px;
    border-radius:36px;
    background:
        linear-gradient(145deg,rgba(15,23,42,.95),rgba(15,118,110,.92)),
        radial-gradient(circle at top right,rgba(245,158,11,.45),transparent 38%);
    box-shadow:0 30px 70px rgba(15,23,42,.28);
    overflow:hidden;
}

.paten-orbit:before{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.16);
    right:-90px;
    top:-80px;
}

.paten-orbit:after{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    left:-80px;
    bottom:-90px;
}

.float-card{
    position:absolute;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(255,255,255,.75);
    border-radius:22px;
    padding:18px;
    box-shadow:0 18px 40px rgba(15,23,42,.2);
    animation:floaty 5.8s ease-in-out infinite;
    z-index:3;
}

.float-card strong{
    display:block;
    color:var(--navy);
    font-size:16px;
    margin-bottom:5px;
}

.float-card span{
    color:#64748b;
    font-size:13px;
    line-height:1.5;
}

.float-1{left:0;top:40px;width:255px}
.float-2{right:6px;top:138px;width:250px;animation-delay:.8s}
.float-3{left:72px;bottom:58px;width:295px;animation-delay:1.4s}

.risk-score{
    position:absolute;
    right:70px;
    bottom:72px;
    width:132px;
    height:132px;
    border-radius:50%;
    background:conic-gradient(var(--gold) 0 84%,rgba(255,255,255,.16) 84% 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:4;
    animation:pulseSoft 2.4s ease-in-out infinite;
}

.risk-score div{
    width:98px;
    height:98px;
    border-radius:50%;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    color:var(--navy);
    font-weight:950;
}

.risk-score b{font-size:28px}
.risk-score small{color:#64748b;font-size:11px}

@keyframes floaty{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-13px)}
}

@keyframes pulseSoft{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.04)}
}

.paten-section{
    padding:50px 0;
}

.paten-section-head{
    text-align:center;
    max-width:760px;
    margin:0 auto 28px;
}

.paten-section-head h2{
    margin:0;
    color:var(--navy);
    font-size:34px;
    letter-spacing:-.7px;
    font-weight:950;
}

.paten-section-head p{
    color:#64748b;
    line-height:1.8;
    margin-top:12px;
}

.paten-grid-3{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.paten-card{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:24px;
    padding:24px;
    box-shadow:0 14px 32px rgba(15,23,42,.06);
    transition:.2s ease;
}

.paten-card:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 42px rgba(15,23,42,.1);
}

.paten-card-icon{
    width:48px;
    height:48px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ecfeff;
    color:#0f766e;
    font-size:22px;
    margin-bottom:16px;
}

.paten-card h3{
    margin:0;
    color:var(--navy);
    font-size:18px;
    font-weight:920;
}

.paten-card p{
    color:#64748b;
    line-height:1.75;
    margin:9px 0 0;
    font-size:14px;
}

.paten-flow{
    background:#0f172a;
    border-radius:34px;
    padding:34px;
    color:#fff;
    overflow:hidden;
    position:relative;
}

.paten-flow:before{
    content:"";
    position:absolute;
    width:380px;
    height:380px;
    border-radius:999px;
    right:-150px;
    top:-160px;
    background:rgba(20,184,166,.18);
}

.flow-grid{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    z-index:2;
}

.flow-item{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:20px;
    padding:18px;
}

.flow-num{
    width:32px;
    height:32px;
    border-radius:999px;
    background:var(--gold);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:950;
    margin-bottom:12px;
}

.flow-item strong{
    display:block;
    font-size:15px;
    margin-bottom:6px;
}

.flow-item span{
    color:#cbd5e1;
    font-size:13px;
    line-height:1.6;
}

.paten-footer{
    margin-top:42px;
    background:#0f172a;
    color:#cbd5e1;
    padding:36px 0;
}

.paten-footer-inner{
    display:flex;
    justify-content:space-between;
    gap:24px;
    flex-wrap:wrap;
}

.paten-footer strong{
    color:#fff;
}

.paten-auth-page{
    min-height:100vh;
    display:grid;
    grid-template-columns:1fr 500px;
    background:
        radial-gradient(circle at 8% 12%, rgba(20,184,166,.2), transparent 25%),
        radial-gradient(circle at 76% 0%, rgba(245,158,11,.16), transparent 25%),
        linear-gradient(135deg,#f8fafc,#edf7f6);
}

.auth-side{
    padding:58px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.auth-side h1{
    color:var(--navy);
    font-size:46px;
    line-height:1.05;
    letter-spacing:-1.3px;
    margin:30px 0 0;
    font-weight:950;
}

.auth-side p{
    color:#475569;
    line-height:1.85;
    max-width:650px;
}

.auth-panel{
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(14px);
    border-left:1px solid #e2e8f0;
    padding:48px;
    display:flex;
    align-items:center;
}

.auth-card{
    width:100%;
}

.auth-card h2{
    color:var(--navy);
    font-size:30px;
    font-weight:950;
    margin:0 0 8px;
}

.auth-card .subtitle{
    color:#64748b;
    line-height:1.7;
    margin-bottom:24px;
}

.auth-field{
    margin-bottom:16px;
}

.auth-label{
    display:block;
    color:#334155;
    font-weight:850;
    font-size:13px;
    margin-bottom:7px;
}

.auth-input{
    width:100%;
    border:1px solid #cbd5e1;
    background:#fff;
    color:#111827;
    border-radius:14px;
    padding:13px 14px;
    outline:none;
}

.auth-input:focus{
    border-color:#0f766e;
    box-shadow:0 0 0 4px rgba(15,118,110,.11);
}

.auth-demo{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:18px;
    padding:16px;
    color:#475569;
    font-size:13px;
    line-height:1.7;
    margin-bottom:20px;
}

.auth-demo strong{color:#0f172a}

.dashboard-wrap{
    padding:30px 18px;
    background:var(--bg);
    min-height:80vh;
}

.dashboard-container{
    max-width:1250px;
    margin:0 auto;
}

.dash-hero{
    background:
        linear-gradient(135deg,rgba(15,23,42,.97),rgba(15,118,110,.92)),
        radial-gradient(circle at 90% 0%,rgba(245,158,11,.38),transparent 36%);
    color:#fff;
    border-radius:28px;
    padding:30px;
    margin-bottom:22px;
    box-shadow:0 22px 55px rgba(15,23,42,.18);
    position:relative;
    overflow:hidden;
}

.dash-hero:after{
    content:"";
    position:absolute;
    right:-70px;
    top:-90px;
    width:260px;
    height:260px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
}

.dash-hero h1{
    margin:0;
    font-size:30px;
    font-weight:950;
}

.dash-hero p{
    color:#dbeafe;
    line-height:1.75;
    margin:8px 0 0;
    max-width:850px;
}

.dash-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:20px;
    position:relative;
    z-index:2;
}

.stat-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin-bottom:22px;
}

.stat-card{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:22px;
    padding:22px;
    box-shadow:0 12px 30px rgba(15,23,42,.06);
}

.stat-label{
    color:#64748b;
    font-size:13px;
    font-weight:750;
}

.stat-value{
    margin-top:7px;
    font-size:34px;
    font-weight:950;
    color:#0f172a;
}

.panel-card{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(15,23,42,.06);
}

.panel-head{
    padding:20px 24px;
    border-bottom:1px solid #e2e8f0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.panel-head h3{
    margin:0;
    color:#0f172a;
    font-size:19px;
    font-weight:950;
}

.clean-table{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
}

.clean-table th{
    text-align:left;
    color:#64748b;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.4px;
    background:#f8fafc;
    padding:13px 16px;
    border-bottom:1px solid #e2e8f0;
}

.clean-table td{
    padding:15px 16px;
    border-bottom:1px solid #eef2f7;
    vertical-align:top;
}

.status-pill{
    display:inline-flex;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:850;
    background:#f1f5f9;
    color:#334155;
}

@media(max-width:980px){
    .paten-hero{grid-template-columns:1fr;padding-top:46px}
    .paten-visual{min-height:430px}
    .paten-grid-3,.flow-grid,.stat-grid{grid-template-columns:1fr 1fr}
    .paten-auth-page{grid-template-columns:1fr}
    .auth-panel{border-left:0}
}

@media(max-width:640px){
    .paten-nav-inner{height:auto;padding:14px 0;align-items:flex-start;flex-direction:column}
    .paten-hero h1{font-size:38px}
    .paten-grid-3,.flow-grid,.stat-grid{grid-template-columns:1fr}
    .paten-visual{display:none}
    .auth-side{padding:30px}
    .auth-panel{padding:30px}
}

/* FIX AUTH PAGE - agar login/register tidak kepotong oleh layout kecil */
.paten-auth-page{
    width:100%;
    min-height:100vh;
    display:grid;
    grid-template-columns:minmax(420px, 1.05fr) minmax(540px, .95fr);
    overflow-x:hidden;
}

.auth-side{
    min-width:0;
    padding:58px 6vw;
}

.auth-panel{
    min-width:0;
    padding:52px 6vw;
    justify-content:center;
}

.auth-card{
    width:100%;
    max-width:560px;
}

.auth-card h2{
    white-space:normal;
}

.auth-input{
    min-height:52px;
}

.auth-demo{
    width:100%;
    overflow-wrap:anywhere;
}

@media(max-width:1050px){
    .paten-auth-page{
        grid-template-columns:1fr;
    }

    .auth-side{
        padding:34px 26px 18px;
    }

    .auth-side h1{
        font-size:34px;
        max-width:720px;
    }

    .auth-panel{
        padding:22px 26px 42px;
        border-left:0;
    }

    .auth-card{
        max-width:720px;
        margin:0 auto;
    }
}

@media(max-width:640px){
    .auth-side h1{
        font-size:30px;
    }

    .auth-panel{
        padding:18px 18px 36px;
    }

    .auth-side{
        padding:24px 18px 12px;
    }
}

/* =========================================================
   APP LAYOUT GLOBAL - SEMUA ROLE
========================================================= */

.paten-app-shell{
    min-height:100vh;
    background:
        radial-gradient(circle at 8% 5%, rgba(20,184,166,.12), transparent 26%),
        radial-gradient(circle at 94% 0%, rgba(245,158,11,.10), transparent 24%),
        linear-gradient(180deg,#f8fafc 0%,#eef4f8 100%);
    display:flex;
    flex-direction:column;
}

.paten-app-container{
    max-width:1260px;
    margin:0 auto;
    padding:0 22px;
    width:100%;
}

.paten-app-nav{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(255,255,255,.90);
    backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(226,232,240,.85);
}

.paten-app-nav-inner{
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.paten-app-brand{
    display:flex;
    align-items:center;
    gap:12px;
    color:#0f172a;
    min-width:230px;
}

.paten-app-brand img{
    width:44px;
    height:44px;
    border-radius:14px;
    box-shadow:0 10px 22px rgba(15,23,42,.16);
}

.paten-app-brand strong{
    display:block;
    font-size:15px;
    font-weight:950;
    line-height:1.1;
}

.paten-app-brand span{
    display:block;
    color:#64748b;
    font-size:11px;
    margin-top:3px;
}

.paten-app-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    flex:1;
    flex-wrap:wrap;
}

.paten-app-menu a{
    color:#475569;
    padding:9px 11px;
    border-radius:999px;
    font-size:13px;
    font-weight:850;
    transition:.2s ease;
}

.paten-app-menu a:hover{
    background:#f1f5f9;
    color:#0f172a;
}

.paten-app-menu a.active{
    background:#0f766e;
    color:#ffffff;
    box-shadow:0 10px 22px rgba(15,118,110,.18);
}

.paten-user-box{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:210px;
    justify-content:flex-end;
}

.paten-user-info{
    text-align:right;
    line-height:1.15;
}

.paten-user-info strong{
    display:block;
    color:#0f172a;
    font-size:13px;
    font-weight:900;
    max-width:135px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.paten-user-info span{
    color:#64748b;
    font-size:11px;
    font-weight:850;
}

.paten-user-box button{
    border:0;
    background:#fee2e2;
    color:#991b1b;
    padding:9px 13px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
}

.paten-user-box button:hover{
    background:#fecaca;
}

.paten-page-header{
    padding:28px 0 0;
}

.paten-page-header .paten-app-container{
    background:
        linear-gradient(135deg,rgba(15,23,42,.98),rgba(15,118,110,.93)),
        radial-gradient(circle at 90% 0%,rgba(245,158,11,.34),transparent 34%);
    color:#ffffff;
    border-radius:28px;
    padding:28px 32px;
    box-shadow:0 22px 55px rgba(15,23,42,.16);
    position:relative;
    overflow:hidden;
}

.paten-page-header .paten-app-container:after{
    content:"";
    position:absolute;
    right:-60px;
    top:-90px;
    width:260px;
    height:260px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
}

.paten-page-header h2,
.paten-page-header h1{
    color:#ffffff !important;
    position:relative;
    z-index:2;
}

.paten-page-header p{
    color:#dbeafe !important;
    position:relative;
    z-index:2;
}

.paten-app-main{
    flex:1;
    padding-bottom:38px;
}

.paten-app-footer{
    background:#0f172a;
    color:#cbd5e1;
    padding:28px 0;
    margin-top:auto;
}

.paten-footer-grid{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:22px;
    flex-wrap:wrap;
}

.footer-brand{
    display:flex;
    align-items:center;
    gap:12px;
}

.footer-brand img{
    width:42px;
    height:42px;
    border-radius:14px;
    background:#ffffff;
}

.footer-brand strong{
    display:block;
    color:#ffffff;
    font-size:15px;
    font-weight:950;
}

.footer-brand span{
    display:block;
    color:#cbd5e1;
    font-size:12px;
    margin-top:3px;
}

.footer-meta{
    text-align:right;
    color:#cbd5e1;
    font-size:12px;
    line-height:1.7;
}

.footer-meta strong{
    color:#ffffff;
}

/* supaya halaman lama tidak terlalu kelihatan kaku */
.paten-app-main > div[style*="background:#f1f5f9"],
.paten-app-main > div[style*="background: #f1f5f9"]{
    background:transparent !important;
}

.paten-app-main .bg-gray-100,
.paten-app-main .bg-gray-50{
    background:transparent !important;
}

@media(max-width:1100px){
    .paten-app-nav-inner{
        align-items:flex-start;
        flex-direction:column;
        padding:14px 22px;
    }

    .paten-app-brand,
    .paten-user-box{
        min-width:0;
    }

    .paten-app-menu{
        justify-content:flex-start;
        width:100%;
    }

    .paten-user-box{
        width:100%;
        justify-content:space-between;
    }

    .paten-user-info{
        text-align:left;
    }
}

@media(max-width:720px){
    .paten-page-header{
        padding:18px 0 0;
    }

    .paten-page-header .paten-app-container{
        border-radius:22px;
        padding:22px;
    }

    .paten-app-container{
        padding:0 14px;
    }

    .paten-footer-grid{
        align-items:flex-start;
    }

    .footer-meta{
        text-align:left;
    }
}

/* =========================================================
   FINAL POLISH
========================================================= */

.clean-table tr:hover td{
    background:#fbfdff;
}

.clean-table td,
.clean-table th{
    white-space:normal;
}

.status-risk-low{
    background:#dcfce7 !important;
    color:#166534 !important;
}

.status-risk-medium{
    background:#fef3c7 !important;
    color:#92400e !important;
}

.status-risk-high{
    background:#fee2e2 !important;
    color:#991b1b !important;
}

.status-risk-info{
    background:#dbeafe !important;
    color:#1e40af !important;
}

.paten-btn,
button,
a{
    -webkit-tap-highlight-color:transparent;
}

.paten-btn:focus,
.auth-input:focus,
button:focus,
a:focus{
    outline:3px solid rgba(15,118,110,.18);
    outline-offset:2px;
}

.panel-card,
.stat-card,
.dash-hero,
.paten-card{
    animation:softRise .28s ease both;
}

@keyframes softRise{
    from{
        opacity:0;
        transform:translateY(8px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@media(max-width:900px){
    form[style*="grid-template-columns:1.4fr .7fr auto"],
    form[style*="grid-template-columns:1.4fr .7fr"],
    div[style*="grid-template-columns:.9fr 1.25fr"],
    div[style*="grid-template-columns:.8fr 1.25fr"],
    div[style*="grid-template-columns:.85fr 1.25fr"],
    div[style*="grid-template-columns:1fr 1fr"],
    div[style*="grid-template-columns:1.35fr .9fr"],
    div[style*="grid-template-columns:1.3fr .9fr"]{
        grid-template-columns:1fr !important;
    }
}

@media(max-width:760px){
    .dashboard-wrap{
        padding:18px 12px;
    }

    .dash-hero{
        border-radius:22px;
        padding:22px;
    }

    .dash-hero h1{
        font-size:24px;
    }

    .panel-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .clean-table{
        font-size:13px;
    }

    .clean-table th,
    .clean-table td{
        padding:11px;
    }

    .paten-app-menu{
        max-height:170px;
        overflow:auto;
        padding-bottom:4px;
    }
}

@media print{
    .paten-app-nav,
    .paten-app-footer,
    .paten-page-header{
        display:none !important;
    }

    .paten-app-main{
        padding:0 !important;
    }

    .dashboard-wrap{
        background:#ffffff !important;
        padding:0 !important;
    }

    .panel-card,
    .stat-card{
        box-shadow:none !important;
    }
}

/* =========================================================
   AUTO TABLE NUMBERING
========================================================= */

.clean-table .auto-no-col{
    width:64px;
    min-width:54px;
    text-align:center;
    color:#64748b;
    font-weight:900;
    white-space:nowrap;
}

.clean-table th.auto-no-col{
    background:#f8fafc;
    color:#0f172a;
}

.clean-table td.auto-no-col{
    background:#ffffff;
}

.clean-table tr:hover td.auto-no-col{
    background:#fbfdff;
}

@media(max-width:760px){
    .clean-table .auto-no-col{
        width:48px;
        min-width:42px;
        font-size:12px;
    }
}

/* =========================================================
   FINAL TABLE WIDE MODE - NO INNER TABLE SCROLL
========================================================= */

.paten-app-container,
.dashboard-container{
    max-width:1680px !important;
    width:min(1680px, calc(100vw - 28px)) !important;
}

.dashboard-wrap{
    padding-left:14px !important;
    padding-right:14px !important;
}

.panel-card{
    overflow:visible !important;
}

.panel-card > div[style*="overflow-x:auto"]{
    overflow-x:visible !important;
}

.clean-table{
    width:100% !important;
    min-width:0 !important;
    table-layout:auto !important;
}

.clean-table th,
.clean-table td{
    padding:11px 9px !important;
    vertical-align:middle !important;
    line-height:1.45 !important;
}

.clean-table th:last-child,
.clean-table td:last-child{
    min-width:230px !important;
    white-space:normal !important;
}

.clean-table td:last-child > div{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    align-items:center !important;
}

.clean-table td:last-child form{
    display:inline-flex !important;
    margin:0 !important;
}

.clean-table td:last-child .paten-btn,
.clean-table td:last-child button,
.clean-table td:last-child a{
    white-space:nowrap !important;
    padding:8px 11px !important;
    font-size:12px !important;
}

.clean-table .auto-no-col{
    width:44px !important;
    min-width:38px !important;
    padding-left:6px !important;
    padding-right:6px !important;
}

@media(max-width:1280px){
    .paten-app-container,
    .dashboard-container{
        width:calc(100vw - 18px) !important;
    }

    .clean-table{
        font-size:12.5px !important;
    }

    .clean-table th,
    .clean-table td{
        padding:9px 7px !important;
    }

    .clean-table td:last-child .paten-btn,
    .clean-table td:last-child button,
    .clean-table td:last-child a{
        padding:7px 9px !important;
        font-size:11.5px !important;
    }
}

@media(max-width:900px){
    .panel-card > div[style*="overflow-x:auto"]{
        overflow-x:auto !important;
    }

    .clean-table{
        min-width:900px !important;
    }
}

/* =========================================================
   FIX MENU HOVER / ACTIVE VISIBILITY
========================================================= */

.paten-app-menu a{
    color:#334155 !important;
    background:transparent !important;
    border:1px solid transparent !important;
}

.paten-app-menu a:hover,
.paten-app-menu a.active,
.paten-app-menu a:focus{
    color:#ffffff !important;
    background:var(--paten-primary, #0f766e) !important;
    border-color:var(--paten-primary, #0f766e) !important;
}

.paten-app-menu a:visited{
    color:#334155 !important;
}

.paten-app-menu a.active:visited,
.paten-app-menu a:hover:visited{
    color:#ffffff !important;
}

.paten-brand,
.paten-brand:hover,
.paten-brand:visited{
    color:inherit !important;
    background:transparent !important;
}

.paten-brand-title{
    color:var(--paten-primary, #0f766e) !important;
}

.paten-brand-sub{
    color:#64748b !important;
}


/* =========================================================
   GLOBAL FOOTER - ALL PAGES
========================================================= */

.global-footer{
    width:100%;
    margin-top:42px;
    background:#ffffff;
    border-top:1px solid #e2e8f0;
    color:#334155;
}

.global-footer-inner{
    max-width:1280px;
    margin:0 auto;
    padding:30px 24px;
    display:grid;
    grid-template-columns:1.4fr .9fr;
    gap:28px;
    align-items:center;
}

.global-footer-brand{
    display:flex;
    align-items:center;
    gap:14px;
}

.global-footer-logo{
    width:52px;
    height:52px;
    border-radius:16px;
    object-fit:contain;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    padding:7px;
}

.global-footer-logo-fallback{
    width:52px;
    height:52px;
    border-radius:16px;
    background:var(--paten-primary, #0f766e);
    color:#ffffff;
    display:none;
    align-items:center;
    justify-content:center;
    font-size:18px;
    font-weight:950;
}

.global-footer-title{
    color:#0f172a;
    font-size:17px;
    font-weight:950;
    line-height:1.3;
}

.global-footer-subtitle{
    color:#64748b;
    font-size:13px;
    font-weight:700;
    line-height:1.5;
    margin-top:2px;
}

.global-footer-desc{
    margin:14px 0 0;
    max-width:760px;
    color:#64748b;
    font-size:13px;
    line-height:1.8;
}

.global-footer-info{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.global-footer-box{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:18px;
    padding:16px;
}

.global-footer-label{
    display:block;
    color:#64748b;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.5px;
    margin-bottom:6px;
}

.global-footer-box strong{
    display:block;
    color:#0f172a;
    font-size:13px;
    line-height:1.5;
}

.global-footer-bottom{
    border-top:1px solid #e2e8f0;
    max-width:1280px;
    margin:0 auto;
    padding:14px 24px 18px;
    display:flex;
    justify-content:space-between;
    gap:16px;
    color:#64748b;
    font-size:12px;
    line-height:1.6;
}

.auth-page .global-footer{
    max-width:980px;
    margin-top:18px;
    border:1px solid #e2e8f0;
    border-radius:22px;
    box-shadow:0 14px 40px rgba(15,23,42,.08);
    overflow:hidden;
}

.auth-page .global-footer-inner{
    padding:20px 22px;
    grid-template-columns:1fr;
    gap:14px;
}

.auth-page .global-footer-desc,
.auth-page .global-footer-info{
    display:none;
}

.auth-page .global-footer-bottom{
    padding:12px 22px 14px;
}

@media(max-width:900px){
    .global-footer-inner{
        grid-template-columns:1fr;
    }

    .global-footer-info{
        grid-template-columns:1fr;
    }

    .global-footer-bottom{
        flex-direction:column;
    }
}


/* =========================================================
   FIX AUTH FOOTER POSITION
   Login / Register / Forgot Password
========================================================= */

.auth-page{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
}

.auth-page .auth-shell{
    width:100% !important;
    max-width:980px !important;
    flex:none !important;
}

.auth-page > .global-footer{
    width:100% !important;
    max-width:980px !important;
    flex:none !important;
    display:block !important;
    clear:both !important;
    margin-top:0 !important;
}

.auth-page > .global-footer .global-footer-inner{
    grid-template-columns:1fr 1fr !important;
}

@media(max-width:640px){
    .auth-page > .global-footer .global-footer-inner{
        grid-template-columns:1fr !important;
    }
}


/* =========================================================
   FULL NAVIGATION FIX
========================================================= */

.paten-nav{
    width:100%;
    background:#ffffff;
    border-bottom:1px solid #e2e8f0;
    position:sticky;
    top:0;
    z-index:50;
}

.paten-nav-inner{
    max-width:1680px;
    margin:0 auto;
    padding:14px 22px;
    display:flex;
    align-items:center;
    gap:18px;
}

.paten-brand{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none !important;
    color:inherit !important;
    flex:none;
    min-width:240px;
}

.paten-brand-logo{
    width:46px;
    height:46px;
    border-radius:14px;
    object-fit:contain;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    padding:6px;
}

.paten-brand-logo-fallback{
    width:46px;
    height:46px;
    border-radius:14px;
    background:var(--paten-primary, #0f766e);
    color:#ffffff;
    display:none;
    align-items:center;
    justify-content:center;
    font-weight:950;
}

.paten-brand-title{
    display:block;
    color:var(--paten-primary, #0f766e) !important;
    font-weight:950;
    line-height:1.2;
    font-size:15px;
}

.paten-brand-sub{
    display:block;
    color:#64748b !important;
    font-size:11px;
    line-height:1.4;
    margin-top:2px;
}

.paten-app-menu{
    display:flex;
    align-items:center;
    gap:6px;
    flex:1;
    flex-wrap:wrap;
}

.paten-app-menu a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:38px;
    padding:9px 12px !important;
    border-radius:12px !important;
    color:#334155 !important;
    background:transparent !important;
    border:1px solid transparent !important;
    text-decoration:none !important;
    font-size:13px !important;
    font-weight:850 !important;
    line-height:1.2 !important;
    white-space:nowrap;
}

.paten-app-menu a:hover,
.paten-app-menu a.active{
    color:#ffffff !important;
    background:var(--paten-primary, #0f766e) !important;
    border-color:var(--paten-primary, #0f766e) !important;
}

.paten-user-box{
    display:flex;
    align-items:center;
    gap:10px;
    flex:none;
}

.paten-user-info{
    text-align:right;
    line-height:1.25;
}

.paten-user-info strong{
    display:block;
    color:#0f172a;
    font-size:13px;
    font-weight:950;
}

.paten-user-info span{
    display:block;
    color:#64748b;
    font-size:11px;
    font-weight:850;
}

.paten-logout-btn{
    border:0;
    border-radius:12px;
    padding:10px 13px;
    background:#fef2f2;
    color:#991b1b;
    font-weight:900;
    cursor:pointer;
}

.paten-logout-btn:hover{
    background:#fee2e2;
}

@media(max-width:1100px){
    .paten-nav-inner{
        align-items:flex-start;
        flex-direction:column;
    }

    .paten-brand{
        min-width:0;
    }

    .paten-user-box{
        width:100%;
        justify-content:space-between;
    }
}

