:root  {
    --bg:#f5f7fb;
    --ink:#111827;
    --muted:#64748b;
    --card:#ffffff;
    --orange:#ff9500;
    --dark:#0f172a;
    --line:#e5e7eb;
    --green:#16a34a;
    --red:#dc2626;
    --shadow:0 20px 45px rgba(15,
    23,
    42,
    .09)
}
*  {
    box-sizing:border-box
}
body.premium-body  {
    margin:0;
    font-family:Inter,Segoe UI,Arial,sans-serif;
    background:radial-gradient(circle at top left,
    #fff4df 0,
    #f5f7fb 34%,
    #eef2ff 100%);
    color:var(--ink)
}
a  {
    text-decoration:none
}
.premium-shell  {
    display:flex;
    min-height:100vh
}
.premium-sidebar  {
    width:285px;
    position:fixed;
    inset:0 auto 0 0;
    background:linear-gradient(180deg,
    #101827,
    #050816);
    color:white;
    padding:22px;
    z-index:20;
    overflow:auto
}
.brand-block  {
    display:flex;
    gap:12px;
    align-items:center;
    margin-bottom:24px
}
.brand-block img  {
    width:46px;
    height:46px;
    border-radius:15px;
    background:white;
    object-fit:contain
}
.brand-block h2  {
    font-size:16px;
    margin:0
}
.brand-block p  {
    font-size:12px;
    margin:4px 0 0;
    color:#cbd5e1
}
.premium-nav a  {
    display:flex;
    align-items:center;
    gap:10px;
    color:#dbe4ff;
    padding:13px 14px;
    border-radius:15px;
    margin:5px 0;
    font-weight:700;
    font-size:14px
}
.premium-nav a:hover,
.premium-nav a.active  {
    background:rgba(255,149,0,.16);
    color:white
}
.premium-main  {
    margin-left:285px;
    width:calc(100% - 285px);
    padding:24px
}
.premium-top  {
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    background:rgba(255,
    255,
    255,
    .8);
    backdrop-filter:blur(14px);
    border:1px solid rgba(255,
    255,
    255,
    .8);
    border-radius:24px;
    padding:18px 20px;
    box-shadow:var(--shadow);
    position:sticky;
    top:16px;
    z-index:10
}
.premium-top h1  {
    font-size:24px;
    margin:0
}
.premium-top p  {
    margin:5px 0 0;
    color:var(--muted)
}
.mobile-toggle  {
    display:none;
    border:0;
    background:#101827;
    color:white;
    border-radius:14px;
    padding:11px 13px
}
.btn  {
    display:inline-flex;
    align-items:center;
    gap:8px;
    border:0;
    border-radius:14px;
    padding:11px 15px;
    font-weight:800;
    cursor:pointer
}
.btn-primary  {
    background:linear-gradient(135deg,var(--orange),#ffb84d);
    color:#111827
}
.btn-dark  {
    background:#111827;
    color:white
}
.btn-soft  {
    background:#eef2ff;
    color:#1e293b
}
.grid  {
    display:grid;
    gap:18px
}
.stats  {
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin-top:22px
}
.card  {
    background:rgba(255,255,255,.92);
    border:1px solid rgba(226,232,240,.9);
    border-radius:24px;
    padding:20px;
    box-shadow:var(--shadow)
}
.stat-card  {
    position:relative;
    overflow:hidden
}
.stat-card:after  {
    content:"";
    position:absolute;
    width:90px;
    height:90px;
    border-radius:50%;
    background:rgba(255,
    149,
    0,
    .12);
    right:-25px;
    top:-25px
}
.stat-card span  {
    color:var(--muted);
    font-size:13px;
    font-weight:700
}
.stat-card h3  {
    font-size:34px;
    margin:8px 0
}
.stat-card p  {
    color:var(--muted);
    margin:0
}
.two-col  {
    grid-template-columns:1.4fr .8fr;
    margin-top:18px
}
.section-title  {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:14px
}
.section-title h2  {
    margin:0;
    font-size:18px
}
.pill  {
    display:inline-flex;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    background:#f1f5f9;
    color:#334155
}
.pill.green  {
    background:#dcfce7;
    color:#166534
}
.pill.orange  {
    background:#ffedd5;
    color:#9a3412
}
.pill.red  {
    background:#fee2e2;
    color:#991b1b
}
.table-wrap  {
    overflow:auto
}
table.premium-table  {
    width:100%;
    border-collapse:collapse
}
table.premium-table th  {
    text-align:left;
    color:#64748b;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
    padding:12px;
    border-bottom:1px solid var(--line)
}
table.premium-table td  {
    padding:14px 12px;
    border-bottom:1px solid #f1f5f9;
    vertical-align:top
}
.feature-list  {
    display:grid;
    gap:12px
}
.feature-item  {
    display:flex;
    gap:12px;
    padding:14px;
    border-radius:18px;
    background:#f8fafc;
    border:1px solid #edf2f7
}
.feature-item i  {
    color:var(--orange);
    font-size:18px;
    margin-top:2px
}
.form-grid  {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px
}
.field label  {
    font-weight:800;
    font-size:13px;
    color:#334155
}
.field input,.field select,.field textarea  {
    width:100%;
    margin-top:7px;
    padding:12px 13px;
    border:1px solid #dbe3ef;
    border-radius:14px;
    background:white
}
.field textarea  {
    min-height:95px
}
.notice  {
    padding:14px 16px;
    border-radius:18px;
    margin:14px 0;
    font-weight:700
}
.notice.success  {
    background:#dcfce7;
    color:#166534
}
.notice.error  {
    background:#fee2e2;
    color:#991b1b
}
.login-premium  {
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:22px;
    background:radial-gradient(circle at 25% 10%,
    rgba(255,
    149,
    0,
    .2),
    transparent 24%),
    linear-gradient(135deg,
    #0f172a,
    #111827 50%,
    #1f2937)
}
.login-card  {
    width:min(980px,100%);
    display:grid;
    grid-template-columns:1fr 1fr;
    background:white;
    border-radius:30px;
    overflow:hidden;
    box-shadow:0 30px 80px rgba(0,
    0,
    0,
    .35)
}
.login-visual  {
    background:linear-gradient(135deg,#111827,#ff9500);
    padding:44px;
    color:white;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:560px
}
.login-visual img  {
    width:82px;
    background:white;
    border-radius:22px;
    padding:10px
}
.login-visual h1  {
    font-size:42px;
    line-height:1.05;
    margin:30px 0 10px
}
.login-form-premium  {
    padding:44px
}
.login-form-premium h2  {
    margin:0 0 8px;
    font-size:28px
}
.login-form-premium p  {
    color:var(--muted)
}
.login-form-premium input,.login-form-premium select  {
    width:100%;
    padding:14px;
    border:1px solid #dbe3ef;
    border-radius:16px;
    margin:8px 0 16px
}
.login-form-premium button  {
    width:100%;
    padding:14px;
    border:0;
    border-radius:16px;
    background:#111827;
    color:white;
    font-weight:900
}
.muted  {
    color:var(--muted)
}
@media(max-width:900px)  {
    .premium-sidebar  {
        transform:translateX(-105%);
        transition:.25s
    }
    .premium-sidebar.open  {
        transform:translateX(0)
    }
    .premium-main  {
        margin-left:0;
        width:100%;
        padding:14px
    }
    .mobile-toggle  {
        display:inline-flex
    }
    .stats,.two-col,.form-grid  {
        grid-template-columns:1fr
    }
    .premium-top  {
        top:8px;
        border-radius:18px
    }
    .login-card  {
        grid-template-columns:1fr
    }
    .login-visual  {
        min-height:auto
    }
    .login-visual h1  {
        font-size:30px
    }
    .login-form-premium  {
        padding:28px
    }
}
/* 2026 mobile + premium table upgrades */
.table-wrap  {
    max-height:70vh;
    overflow:auto;
    border-radius:18px;
    border:1px solid #eef2f7
}
.premium-table thead th  {
    position:sticky;
    top:0;
    background:#fff;
    z-index:2
}
.premium-table th:first-child,
.premium-table td:first-child  {
    position:sticky;
    left:0;
    background:#fff;
    z-index:1
}
.premium-table thead th:first-child  {
    z-index:3
}
.premium-top  {
    border-top:4px solid var(--orange)
}
.premium-sidebar  {
    border-right:4px solid rgba(255,149,0,.75)
}
.field input:focus,.field select:focus,
.field textarea:focus,
.login-form-premium input:focus  {
    outline:none;
    border-color:var(--orange);
    box-shadow:0 0 0 4px rgba(255,149,0,.12)
}
@media(max-width:680px)  {
    .premium-top  {
        align-items:flex-start;
        flex-direction:column
    }
    .premium-top h1  {
        font-size:20px
    }
    .btn  {
        width:100%;
        justify-content:center
    }
    .section-title  {
        align-items:flex-start;
        flex-direction:column;
        gap:10px
    }
    .table-wrap  {
        max-height:65vh
    }
    .card  {
        padding:16px;
        border-radius:18px
    }
}
/* TTG 2026 Premium EMS additions */
body  {
    font-family:Inter,Segoe UI,Arial,sans-serif
}
.danger,.btn-danger  {
    background:#dc2626!important;
    color:#fff!important
}
.orange-line  {
    height:4px;
    background:linear-gradient(90deg,#ff9500,#111827);
    border-radius:999px;
    margin:14px 0
}
.mini-grid  {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px
}
.badge  {
    display:inline-flex;
    align-items:center;
    gap:6px;
    border-radius:999px;
    padding:6px 10px;
    font-size:12px;
    font-weight:900;
    background:#111827;
    color:#fff
}
.badge.orange  {
    background:#ff9500;
    color:#111827
}
.badge.white  {
    background:#fff;
    color:#111827;
    border:1px solid #e5e7eb
}
.project-card  {
    border:1px solid #e5e7eb;
    border-radius:22px;
    padding:16px;
    background:#fff;
    box-shadow:0 14px 30px rgba(15,
    23,
    42,
    .06)
}
.progress-wrap  {
    height:10px;
    border-radius:999px;
    background:#e5e7eb;
    overflow:hidden
}
.progress-bar  {
    height:10px;
    border-radius:999px;
    background:linear-gradient(90deg,#ff9500,#111827)
}
.chat-box  {
    height:430px;
    overflow:auto;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:20px;
    padding:16px
}
.message-bubble  {
    max-width:78%;
    padding:12px 14px;
    border-radius:18px;
    margin:9px 0;
    background:#fff;
    border:1px solid #e5e7eb
}
.message-bubble.mine  {
    margin-left:auto;
    background:#111827;
    color:#fff
}
.floating-logo  {
    animation:floatLogo 3.5s ease-in-out infinite;
    filter:drop-shadow(0 18px 28px rgba(0,
    0,
    0,
    .25))
}
.login-card  {
    position:relative
}
.login-card:before,.login-card:after  {
    content:"";
    position:absolute;
    width:140px;
    height:140px;
    border-radius:999px;
    background:rgba(255,
    149,
    0,
    .18);
    filter:blur(3px);
    animation:orb 8s linear infinite;
    z-index:0
}
.login-card:before  {
    left:-40px;
    top:-35px
}
.login-card:after  {
    right:-50px;
    bottom:-40px;
    animation-delay:2s
}
.login-visual,.login-form-premium  {
    position:relative;
    z-index:1
}
.login-form-premium button,.btn  {
    transition:.22s
}
.login-form-premium button:hover,.btn:hover  {
    transform:translateY(-2px);
    box-shadow:0 12px 25px rgba(255,149,0,.22)
}
@keyframes floatLogo  {
    0%,100%  {
        transform:translateY(0) rotate(-1deg)
    }
    50%  {
        transform:translateY(-12px) rotate(2deg)
    }
}
@keyframes orb  {
    0%,100%  {
        transform:scale(1) translate(0,0)
    }
    50%  {
        transform:scale(1.15) translate(16px,-12px)
    }
}
@media(max-width:900px)  {
    .mini-grid  {
        grid-template-columns:1fr
    }
    .message-bubble  {
        max-width:95%
    }
}
/* Strict TTG corporate palette: black, orange, white. Red remains only for critical/resigned actions. */
.pill.green,
.notice.success  {
    background:#fff4df!important;
    color:#111827!important;
    border:1px solid rgba(255,
    149,
    0,
    .35)
}
/* TTG extreme login/register refresh */
.login-premium  {
    background:#050505!important;
    position:relative;
    overflow:hidden;
    isolation:isolate;
}
.login-premium:before  {
    content:"";
    position:absolute;
    inset:-20%;
    background:radial-gradient(circle at 18% 20%,
    rgba(255,
    149,
    0,
    .42),
    transparent 24%),
    radial-gradient(circle at 90% 14%,
    rgba(255,
    149,
    0,
    .22),
    transparent 20%),
    linear-gradient(135deg,
    #050505 0%,
    #111 58%,
    #ff9500 160%);
    z-index:-2;
    animation:bgMove 10s ease-in-out infinite alternate;
}
.login-premium:after  {
    content:"";
    position:absolute;
    inset:0;
    background-image:linear-gradient(rgba(255,
    255,
    255,
    .04) 1px,
    transparent 1px),
    linear-gradient(90deg,
    rgba(255,
    255,
    255,
    .04) 1px,
    transparent 1px);
    background-size:34px 34px;
    mask-image:linear-gradient(to bottom,
    rgba(0,
    0,
    0,
    .8),
    transparent);
    z-index:-1;
}
.login-card  {
    width:min(1120px,100%)!important;
    background:rgba(10,10,10,.72)!important;
    border:0!important;
    border-radius:34px!important;
    box-shadow:0 38px 110px rgba(0,
    0,
    0,
    .6),
    0 0 0 1px rgba(255,
    149,
    0,
    .18)!important;
    backdrop-filter:blur(20px);
}
.login-visual  {
    background:linear-gradient(145deg,#050505 0%,#111 52%,#ff9500 190%)!important;
    min-height:640px!important;
    padding:30px!important;
    align-items:center;
    text-align:center;
    justify-content:center!important;
}
.login-visual img  {
    width:min(440px,90%)!important;
    height:auto!important;
    background:transparent!important;
    border-radius:0!important;
    padding:0!important;
    object-fit:contain!important;
    filter:drop-shadow(0 28px 45px rgba(255,
    149,
    0,
    .28)) drop-shadow(0 10px 30px rgba(0,
    0,
    0,
    .45));
}
.login-visual h1  {
    font-size:34px!important;
    margin:18px 0 8px!important;
    color:#fff!important;
}
.login-visual p  {
    max-width:420px;
    margin:6px auto!important;
    color:rgba(255,255,255,.78)!important;
}
.login-visual .tiny-copy  {
    font-size:13px!important;
    color:rgba(255,255,255,.55)!important;
}
.login-form-premium  {
    background:rgba(255,255,255,.98)!important;
    border-radius:30px!important;
    margin:18px!important;
    padding:48px!important;
    box-shadow:inset 0 0 0 1px rgba(255,
    149,
    0,
    .12),
    0 24px 60px rgba(0,
    0,
    0,
    .22);
}
.login-form-premium input,
.login-form-premium select  {
    border:0!important;
    background:#f4f4f5!important;
    border-radius:18px!important;
    padding:16px 16px!important;
    box-shadow:inset 0 0 0 1px rgba(17,
    17,
    17,
    .08);
}
.login-form-premium input:focus,
.login-form-premium select:focus  {
    box-shadow:0 0 0 4px rgba(255,149,0,.16),inset 0 0 0 1px #ff9500!important;
}
.login-form-premium button  {
    background:linear-gradient(135deg,#ff9500,#111)!important;
    color:#fff!important;
    border-radius:18px!important;
    letter-spacing:.02em;
}
.auth-links  {
    display:flex;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-top:18px
}
.auth-links a  {
    font-weight:900;
    color:#111
}
.auth-links a:hover  {
    color:#ff9500
}
.brand-chip  {
    display:inline-flex;
    gap:8px;
    align-items:center;
    padding:8px 12px;
    border-radius:999px;
    background:#111;
    color:#fff;
    font-size:12px;
    font-weight:900;
    margin-bottom:14px
}
.brand-chip:before  {
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:#ff9500;
    box-shadow:0 0 20px #ff9500;
}
@keyframes bgMove  {
    from  {
        transform:scale(1) rotate(0deg)
    }
    to  {
        transform:scale(1.06) rotate(1deg)
    }
}
.chat-layout  {
    display:grid;
    grid-template-columns:320px 1fr;
    gap:18px
}
.chat-list  {
    background:#fff;
    border-radius:24px;
    padding:12px;
    box-shadow:var(--shadow);
    max-height:620px;
    overflow:auto
}
.chat-contact  {
    display:flex;
    gap:12px;
    align-items:center;
    padding:13px;
    border-radius:18px;
    color:#111;
    margin-bottom:6px
}
.chat-contact:hover,
.chat-contact.active  {
    background:#fff4df
}
.avatar-dot  {
    width:42px;
    height:42px;
    border-radius:50%;
    background:linear-gradient(135deg,#ff9500,
    #111);
    color:#fff;
    display:grid;
    place-items:center;
    font-weight:900
}
.chat-panel  {
    background:#fff;
    border-radius:24px;
    box-shadow:var(--shadow);
    overflow:hidden
}
.chat-header  {
    padding:16px 18px;
    border-bottom:1px solid #eee;
    display:flex;
    align-items:center;
    gap:12px
}
.chat-thread  {
    height:460px;
    overflow:auto;
    background:#f6f6f6;
    padding:18px
}
.chat-compose  {
    display:flex;
    gap:10px;
    padding:14px;
    border-top:1px solid #eee
}
.chat-compose textarea  {
    flex:1;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:12px;
    min-height:52px
}
.leave-balance-grid  {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:12px
}
.leave-card  {
    background:#fff;
    border-radius:20px;
    padding:15px;
    border:1px solid rgba(255,149,
    0,
    .24)
}
.leave-card h3  {
    margin:0;
    font-size:26px
}
.leave-card span  {
    color:#64748b;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase
}
@media(max-width:900px)  {
    .chat-layout  {
        grid-template-columns:1fr
    }
    .leave-balance-grid  {
        grid-template-columns:repeat(2,1fr)
    }
    .login-visual  {
        min-height:320px!important
    }
    .login-form-premium  {
        padding:30px!important;
        margin:12px!important
    }
}
/* TTG V5 corporate polish */
.premium-sidebar  {
    background:#050505!important;
    border-right:4px solid #ff9500!important;
    box-shadow:18px 0 45px rgba(0,
    0,
    0,
    .22)
}
.premium-nav a i  {
    color:#ff9500!important;
    min-width:20px;
    text-align:center
}
.premium-nav a:hover i,
.premium-nav a.active i  {
    color:#fff!important
}
.brand-block h2  {
    color:#fff
}
.brand-block p  {
    color:#ffcf93
}
.premium-top  {
    border-top:4px solid #ff9500!important
}
.premium-body  {
    background:radial-gradient(circle at 0 0,rgba(255,149,0,.14),transparent 28%),#f5f5f5!important
}
.event-desc  {
    white-space:pre-line;
    color:#334155
}
.print-actions  {
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:14px
}
@media print  {
    .premium-sidebar,.premium-top,.print-actions  {
        display:none!important
    }
    .premium-main  {
        margin:0!important;
        width:100%!important
    }
    .card  {
        box-shadow:none!important;
        border:1px solid #ddd!important
    }
}
/* Full-screen borderless auth pages - TTG premium */
html,
body  {
    min-height:100%;
}
body:has(.login-premium)  {
    margin:0!important;
    overflow-x:hidden;
}
.login-premium  {
    min-height:100vh!important;
    width:100vw!important;
    padding:0!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:stretch!important;
}
.login-card  {
    width:100vw!important;
    min-height:100vh!important;
    border-radius:0!important;
    box-shadow:none!important;
    grid-template-columns:1.05fr .95fr!important;
}
.login-form-premium  {
    margin:0!important;
    border-radius:0!important;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.login-visual  {
    min-height:100vh!important;
    border-radius:0!important;
}
@media(max-width:900px)  {
    .login-card  {
        grid-template-columns:1fr!important
    }
    .login-visual  {
        min-height:38vh!important
    }
    .login-form-premium  {
        min-height:62vh!important
    }
}
.mini-form  {
    display:grid;
    gap:10px;
    min-width:260px
}
.mini-form select[multiple]  {
    min-height:110px
}
.btn-danger  {
    background:#dc2626!important;
    color:#fff!important
}
.premium-table input,.premium-table select,
.premium-table textarea  {
    border:1px solid #dbe3ef;
    border-radius:10px;
    padding:8px;
    margin:3px 0;
    max-width:100%
}
/* =========================================================
TTG ULTRA PREMIUM AUTH UI - LOGIN / REGISTER
========================================================= */
.ttg-auth-page  {
    min-height:100vh;
    width:100vw;
    overflow:hidden;
    position:relative;
    background:#030303;
    color:#fff;
    font-family:Inter,
    Segoe UI,
    Arial,
    sans-serif;
    display:flex;
    align-items:stretch;
    justify-content:stretch;
    isolation:isolate
}
.ttg-auth-page:before  {
    content:"";
    position:absolute;
    inset:-40%;
    background:radial-gradient(circle at 18% 18%,
    rgba(255,
    149,
    0,
    .55),
    transparent 18%),
    radial-gradient(circle at 80% 22%,
    rgba(255,
    255,
    255,
    .14),
    transparent 15%),
    radial-gradient(circle at 70% 88%,
    rgba(255,
    149,
    0,
    .34),
    transparent 22%),
    linear-gradient(135deg,
    #030303 0%,
    #090909 48%,
    #1f1405 100%);
    animation:ttgAuthAura 12s ease-in-out infinite alternate;
    z-index:-3
}
.ttg-auth-page:after  {
    content:"";
    position:absolute;
    inset:0;
    background-image:linear-gradient(rgba(255,
    255,
    255,
    .045) 1px,
    transparent 1px),
    linear-gradient(90deg,
    rgba(255,
    255,
    255,
    .045) 1px,
    transparent 1px);
    background-size:38px 38px;
    mask-image:radial-gradient(circle at center,
    #000 0%,
    transparent 76%);
    z-index:-2
}
.auth-orb  {
    position:absolute;
    border-radius:999px;
    filter:blur(10px);
    opacity:.8;
    z-index:-1
}
.auth-orb-one  {
    width:260px;
    height:260px;
    left:8%;
    top:12%;
    background:rgba(255,149,0,.28);
    animation:ttgFloat 7s ease-in-out infinite
}
.auth-orb-two  {
    width:360px;
    height:360px;
    right:5%;
    bottom:8%;
    background:rgba(255,149,0,.18);
    animation:ttgFloat 9s ease-in-out infinite reverse
}
.ttg-auth-shell  {
    width:100vw;
    min-height:100vh;
    display:grid;
    grid-template-columns:1.08fr .92fr
}
.register-shell  {
    grid-template-columns:.94fr 1.06fr
}
.ttg-auth-hero  {
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:7vw;
    overflow:hidden
}
.ttg-auth-hero:before  {
    content:"";
    position:absolute;
    inset:8% 8% auto auto;
    width:150px;
    height:150px;
    border:1px solid rgba(255,
    149,
    0,
    .28);
    border-radius:38px;
    transform:rotate(18deg);
    animation:ttgSpinFloat 13s linear infinite
}
.auth-topline  {
    display:inline-flex;
    align-items:center;
    gap:10px;
    align-self:flex-start;
    border:1px solid rgba(255,
    149,
    0,
    .35);
    background:rgba(255,
    149,
    0,
    .08);
    padding:10px 14px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#ffcf93
}
.auth-topline span  {
    width:9px;
    height:9px;
    border-radius:50%;
    background:#ff9500;
    box-shadow:0 0 28px #ff9500
}
.auth-logo-premium  {
    width:min(420px,70%);
    height:auto;
    margin:38px 0 28px;
    filter:drop-shadow(0 35px 60px rgba(255,
    149,
    0,
    .32)) drop-shadow(0 18px 34px rgba(0,
    0,
    0,
    .65));
    animation:ttgLogoFloat 4.8s ease-in-out infinite
}
.ttg-auth-hero h1  {
    max-width:760px;
    font-size:clamp(38px,5.4vw,84px);
    line-height:.95;
    margin:0 0 22px;
    font-weight:900;
    letter-spacing:-.07em;
    background:linear-gradient(120deg,
    #fff 0%,
    #fff7ed 40%,
    #ffb84d 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent
}
.ttg-auth-hero p  {
    max-width:640px;
    color:rgba(255,255,255,.72);
    font-size:18px;
    line-height:1.7;
    margin:0
}
.auth-metric-row  {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    max-width:680px;
    margin-top:34px
}
.auth-metric-row div  {
    padding:16px 18px;
    border-radius:22px;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,
    255,
    255,
    .13);
    backdrop-filter:blur(18px);
    box-shadow:0 18px 45px rgba(0,
    0,
    0,
    .2);
    transition:.3s
}
.auth-metric-row div:hover  {
    transform:translateY(-5px);
    border-color:rgba(255,149,0,.55)
}
.auth-metric-row b  {
    display:block;
    font-size:22px;
    color:#fff
}
.auth-metric-row small  {
    display:block;
    color:rgba(255,255,255,.6);
    margin-top:3px
}
.ttg-auth-panel  {
    display:flex;
    align-items:center;
    justify-content:center;
    padding:5vw;
    background:linear-gradient(90deg,
    rgba(255,
    255,
    255,
    .02),
    rgba(255,
    255,
    255,
    .08));
    backdrop-filter:blur(5px)
}
.auth-glass-card  {
    width:min(520px,100%);
    background:rgba(255,255,255,.96);
    color:#111827;
    border-radius:34px;
    padding:46px;
    box-shadow:0 50px 120px rgba(0,
    0,
    0,
    .52),
    0 0 0 1px rgba(255,
    255,
    255,
    .45),
    inset 0 0 0 1px rgba(255,
    149,
    0,
    .12);
    position:relative;
    overflow:hidden;
    animation:ttgCardIn .75s cubic-bezier(.16,
    1,
    .3,
    1) both
}
.auth-glass-card:before  {
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:6px;
    background:linear-gradient(90deg,
    #ff9500,
    #111,
    #ff9500);
    background-size:200% 100%;
    animation:ttgShine 3s linear infinite
}
.auth-glass-card h2  {
    font-size:38px;
    letter-spacing:-.04em;
    margin:6px 0 8px;
    font-weight:900
}
.auth-subtitle  {
    color:#64748b;
    margin:0 0 22px;
    line-height:1.6
}
.auth-form label  {
    display:block;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:900;
    color:#334155;
    margin:16px 0 8px
}
.auth-input-wrap  {
    display:flex;
    align-items:center;
    gap:10px;
    background:#f4f4f5;
    border-radius:18px;
    border:1px solid rgba(17,
    24,
    39,
    .08);
    padding:0 14px;
    transition:.22s
}
.auth-input-wrap:focus-within  {
    border-color:#ff9500;
    box-shadow:0 0 0 5px rgba(255,149,0,.14),0 18px 36px rgba(255,
    149,
    0,
    .08);
    transform:translateY(-1px)
}
.auth-input-wrap span  {
    font-weight:900;
    color:#ff9500;
    min-width:20px;
    text-align:center
}
.auth-input-wrap input,
.auth-input-wrap select  {
    width:100%;
    border:0!important;
    background:transparent!important;
    padding:17px 0!important;
    margin:0!important;
    box-shadow:none!important;
    font-size:15px;
    color:#111827
}
.auth-input-wrap input:focus,
.auth-input-wrap select:focus  {
    outline:none!important;
    box-shadow:none!important
}
.auth-primary-btn  {
    width:100%;
    margin-top:22px;
    border:0;
    border-radius:18px;
    padding:17px 18px;
    background:linear-gradient(135deg,
    #ff9500 0%,
    #f97316 38%,
    #111827 100%);
    color:#fff;
    font-weight:900;
    font-size:15px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    box-shadow:0 24px 50px rgba(255,
    149,
    0,
    .28);
    transition:.28s;
    position:relative;
    overflow:hidden
}
.auth-primary-btn:before  {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(110deg,transparent 0%,
    rgba(255,
    255,
    255,
    .28) 45%,
    transparent 60%);
    transform:translateX(-120%);
    transition:.6s
}
.auth-primary-btn:hover  {
    transform:translateY(-3px) scale(1.01);
    box-shadow:0 32px 65px rgba(255,149,0,.38)
}
.auth-primary-btn:hover:before  {
    transform:translateX(120%)
}
.auth-primary-btn span  {
    font-size:20px
}
.premium-links a  {
    color:#111827!important;
    font-weight:900
}
.premium-links a:hover  {
    color:#ff9500!important
}
.register-card-premium  {
    width:min(720px,100%)
}
.auth-register-grid  {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 16px
}
.auth-register-grid .auth-primary-btn  {
    grid-column:1/-1
}
.register-mode .auth-logo-premium  {
    width:min(350px,68%)
}
@keyframes ttgAuthAura  {
    0%  {
        transform:scale(1) rotate(0deg)
    }
    100%  {
        transform:scale(1.08) rotate(1.5deg)
    }
}
@keyframes ttgFloat  {
    0%,100%  {
        transform:translate3d(0,0,0) scale(1)
    }
    50%  {
        transform:translate3d(28px,-24px,0) scale(1.08)
    }
}
@keyframes ttgLogoFloat  {
    0%,100%  {
        transform:translateY(0) rotate(-1deg)
    }
    50%  {
        transform:translateY(-16px) rotate(1.2deg)
    }
}
@keyframes ttgSpinFloat  {
    0%  {
        transform:rotate(18deg) translateY(0)
    }
    50%  {
        transform:rotate(38deg) translateY(-18px)
    }
    100%  {
        transform:rotate(378deg) translateY(0)
    }
}
@keyframes ttgCardIn  {
    from  {
        opacity:0;
        transform:translateY(26px) scale(.96)
    }
    to  {
        opacity:1;
        transform:translateY(0) scale(1)
    }
}
@keyframes ttgShine  {
    to  {
        background-position:200% 0
    }
}
@media(max-width:980px)  {
    .ttg-auth-shell,.register-shell  {
        grid-template-columns:1fr
    }
    .ttg-auth-hero  {
        min-height:45vh;
        padding:36px;
        text-align:center;
        align-items:center
    }
    .auth-topline  {
        align-self:center
    }
    .auth-logo-premium  {
        width:min(260px,70%);
        margin:24px 0
    }
    .ttg-auth-hero p  {
        font-size:15px
    }
    .auth-metric-row  {
        grid-template-columns:1fr;
        max-width:400px;
        width:100%
    }
    .ttg-auth-panel  {
        padding:24px
    }
    .auth-glass-card  {
        width:100%;
        padding:30px;
        border-radius:28px
    }
    .auth-register-grid  {
        grid-template-columns:1fr
    }
    .ttg-auth-hero h1  {
        font-size:40px;
        letter-spacing:-.04em
    }
}
@media(max-width:540px)  {
    .ttg-auth-hero h1  {
        font-size:32px
    }
    .auth-glass-card h2  {
        font-size:30px
    }
    .ttg-auth-panel  {
        padding:14px
    }
    .auth-glass-card  {
        padding:24px
    }
    .auth-metric-row  {
        display:none
    }
}
/* EMS346: cleaner premium auth + dashboard logo visibility */
.brand-block  {
    gap:14px!important;
    align-items:center!important;
}
.brand-block .floating-logo  {
    width:58px!important;
    height:58px!important;
    object-fit:contain!important;
    border-radius:50%!important;
    background:linear-gradient(145deg,
    #ffffff,
    #fff3df)!important;
    padding:8px!important;
    box-shadow:0 14px 30px rgba(255,
    149,
    0,
    .26),
    inset 0 0 0 2px rgba(255,
    149,
    0,
    .2)!important;
    filter:none!important;
}
.ttg-auth-clean  {
    min-height:100vh;
    width:100vw;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
    background:#050505;
    color:#111;
    font-family:Inter,
    Segoe UI,
    Arial,
    sans-serif;
    position:relative;
    overflow:hidden;
}
.auth-clean-bg  {
    position:absolute;
    inset:-20%;
    background:radial-gradient(circle at 20% 20%,rgba(255,
    149,
    0,
    .34),
    transparent 20%),
    radial-gradient(circle at 80% 70%,
    rgba(255,
    149,
    0,
    .22),
    transparent 25%),
    linear-gradient(135deg,
    #040404,
    #111 55%,
    #241504);
    animation:ttgAuthAura 11s ease-in-out infinite alternate;
}
.ttg-auth-clean:after  {
    content:"";
    position:absolute;
    inset:0;
    background-image:linear-gradient(rgba(255,
    255,
    255,
    .045) 1px,
    transparent 1px),
    linear-gradient(90deg,
    rgba(255,
    255,
    255,
    .045) 1px,
    transparent 1px);
    background-size:44px 44px;
    mask-image:radial-gradient(circle at center,
    #000 0%,
    transparent 76%);
}
.auth-clean-card  {
    position:relative;
    z-index:2;
    width:min(430px,94vw);
    background:rgba(255,255,255,
    .97);
    border:1px solid rgba(255,
    255,
    255,
    .72);
    border-radius:30px;
    padding:34px;
    box-shadow:0 45px 110px rgba(0,
    0,
    0,
    .55),
    0 0 0 1px rgba(255,
    149,
    0,
    .12);
    animation:ttgCardIn .7s cubic-bezier(.16,
    1,
    .3,
    1) both;
    text-align:left;
}
.register-clean-card  {
    width:min(680px,94vw);
}
.auth-logo-circle  {
    width:86px;
    height:86px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,
    #fff7ed,
    #fff);
    box-shadow:0 18px 48px rgba(255,
    149,
    0,
    .28),
    inset 0 0 0 1px rgba(255,
    149,
    0,
    .18);
    margin:-4px auto 18px;
    animation:ttgLogoFloat 5s ease-in-out infinite;
}
.auth-logo-circle img  {
    width:66px;
    height:66px;
    object-fit:contain;
}
.auth-clean-chip  {
    display:flex;
    width:max-content;
    margin:0 auto 12px;
    padding:8px 12px;
    border-radius:999px;
    background:#111;
    color:#fff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.04em;
}
.auth-clean-card h1  {
    text-align:center;
    font-size:34px;
    line-height:1;
    margin:0 0 8px;
    font-weight:900;
    letter-spacing:-.04em;
    color:#101010;
}
.auth-clean-card>p  {
    text-align:center;
    color:#64748b;
    margin:0 0 18px;
}
.clean-register-grid  {
    grid-template-columns:1fr 1fr;
    gap:0 14px;
}
.clean-register-grid .auth-primary-btn  {
    grid-column:1/-1;
}
@media(max-width:680px)  {
    .auth-clean-card  {
        padding:26px;
        border-radius:24px
    }
    .clean-register-grid  {
        grid-template-columns:1fr
    }
    .register-clean-card  {
        width:min(430px,94vw)
    }
    .auth-logo-circle  {
        width:74px;
        height:74px
    }
    .auth-logo-circle img  {
        width:56px;
        height:56px
    }
}
/* EMS347 touch-up: full-screen minimal premium login/register */
html,
body  {
    min-height:100%;
}
body:has(.ttg-auth-clean)  {
    margin:0;
    overflow-x:hidden;
}
.ttg-auth-clean  {
    min-height:100vh!important;
    width:100%!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    background:#050505!important;
}
.auth-clean-bg  {
    position:fixed!important;
    inset:0!important;
    background:
    radial-gradient(circle at 16% 22%,
    rgba(255,
    149,
    0,
    .38),
    transparent 24%),
    radial-gradient(circle at 82% 78%,
    rgba(255,
    149,
    0,
    .20),
    transparent 28%),
    linear-gradient(135deg,
    #040404 0%,
    #101010 55%,
    #1f1203 100%)!important;
    animation:ttgAuthAura 12s ease-in-out infinite alternate!important;
}
.ttg-auth-clean::before  {
    content:"";
    position:fixed;
    inset:0;
    background-image:linear-gradient(rgba(255,
    255,
    255,
    .035) 1px,
    transparent 1px),
    linear-gradient(90deg,
    rgba(255,
    255,
    255,
    .035) 1px,
    transparent 1px);
    background-size:42px 42px;
    opacity:.65;
    pointer-events:none;
}
.auth-clean-card  {
    width:min(420px, calc(100vw - 32px))!important;
    padding:30px!important;
    border-radius:28px!important;
    background:rgba(255,
    255,
    255,
    .97)!important;
    box-shadow:0 42px 100px rgba(0,
    0,
    0,
    .58),
    0 0 0 1px rgba(255,
    149,
    0,
    .16)!important;
}
.register-clean-card  {
    width:min(560px, calc(100vw - 32px))!important;
}
.auth-logo-circle  {
    width:76px!important;
    height:76px!important;
    margin:0 auto 14px!important;
}
.auth-logo-circle img  {
    width:58px!important;
    height:58px!important;
}
.auth-clean-chip  {
    font-size:11px!important;
    padding:7px 11px!important;
    margin-bottom:12px!important;
}
.auth-clean-card h1  {
    font-size:30px!important;
    margin-bottom:6px!important;
}
.auth-clean-card>p  {
    font-size:14px!important;
    margin-bottom:16px!important;
}
.auth-form label  {
    margin:13px 0 7px!important;
    font-size:11px!important;
}
.auth-input-wrap  {
    border-radius:16px!important;
    background:#f7f7f8!important;
}
.auth-input-wrap input,
.auth-input-wrap select  {
    padding:14px 0!important;
    font-size:14px!important;
}
.auth-primary-btn  {
    padding:15px 16px!important;
    border-radius:16px!important;
    margin-top:18px!important;
}
.auth-links  {
    display:flex;
    justify-content:center;
    gap:18px;
    margin-top:16px;
    font-size:13px;
}
.clean-register-grid  {
    grid-template-columns:1fr 1fr!important;
    gap:0 12px!important;
}
@media(max-width:620px)  {
    .auth-clean-card  {
        padding:24px!important;
    }
    .clean-register-grid  {
        grid-template-columns:1fr!important;
    }
    .register-clean-card  {
        width:min(420px, calc(100vw - 26px))!important;
    }
}
/* EMS348 final polish: premium auth, form structure and action controls */
.inline-checks  {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:10px;
}
.form-actions  {
    grid-column:1/-1;
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
.btn-danger  {
    background:linear-gradient(135deg,#ef4444,#991b1b);
    color:#fff;
}
.mini-form  {
    display:grid;
    gap:8px;
    min-width:220px;
}
.mini-form select,
.mini-form input  {
    width:100%;
    padding:9px 10px;
    border:1px solid #dbe3ef;
    border-radius:12px;
}
.leave-balance-grid  {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:14px;
    margin-top:14px;
}
.leave-card  {
    border-radius:20px;
    padding:16px;
    background:linear-gradient(135deg,#fff7ed,#ffffff);
    border:1px solid rgba(255,
    149,
    0,
    .18);
    box-shadow:0 15px 35px rgba(15,
    23,
    42,
    .06);
}
.leave-card span  {
    color:#9a3412;
    font-weight:900;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.leave-card h3  {
    font-size:32px;
    margin:8px 0 2px;
}
.ttg-auth-clean  {
    background:#050505!important;
}
.auth-clean-bg  {
    background:
    radial-gradient(circle at 15% 15%, rgba(255,149,0,.45), transparent 26%),
    radial-gradient(circle at 82% 78%,
    rgba(255,
    255,
    255,
    .12),
    transparent 22%),
    linear-gradient(135deg,
    #030303 0%,
    #111827 58%,
    #2a1600 100%)!important;
}
.ttg-auth-clean::after  {
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background:
    linear-gradient(rgba(255,
    255,
    255,
    .04) 1px,
    transparent 1px),
    linear-gradient(90deg,
    rgba(255,
    255,
    255,
    .04) 1px,
    transparent 1px);
    background-size:42px 42px;
    opacity:.6;
}
.auth-clean-card  {
    border:1px solid rgba(255,255,255,.8)!important;
    box-shadow:
    0 45px 130px rgba(0,
    0,
    0,
    .65),
    0 0 0 1px rgba(255,
    149,
    0,
    .18),
    inset 0 1px 0 rgba(255,
    255,
    255,
    .9)!important;
}
.auth-clean-card::before  {
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:5px;
    background:linear-gradient(90deg,
    #ff9500,
    #111827,
    #ff9500);
}
.auth-clean-chip  {
    background:linear-gradient(135deg,#111827,#ff9500)!important;
}
.unread-notice  {
    background:linear-gradient(135deg,#fff7ed,#ffffff)!important;
    border-color:rgba(255,
    149,
    0,
    .28)!important;
}
/* EMS349: active navigation, premium minimal auth and contract controls */
.premium-nav a.active,
.premium-nav a:hover  {
    background:linear-gradient(135deg,#ff9500,#ffb347)!important;
    color:#111827!important;
    box-shadow:0 12px 28px rgba(255,
    149,
    0,
    .28)!important;
    transform:translateX(4px);
}
.premium-nav a.active i,
.premium-nav a:hover i  {
    color:#111827!important;
}
.brand-block h2  {
    font-size:17px!important;
    line-height:1.05!important;
    margin:0!important;
}
.brand-block p  {
    font-size:12px!important;
    color:#ffb347!important;
    font-weight:800!important;
    margin-top:4px!important;
}
.auth-v2  {
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:24px;
    font-family:Inter,
    Segoe UI,
    Arial,
    sans-serif;
    background:
    radial-gradient(circle at 18% 20%,
    rgba(255,
    149,
    0,
    .34),
    transparent 24%),
    radial-gradient(circle at 84% 78%,
    rgba(255,
    255,
    255,
    .10),
    transparent 22%),
    linear-gradient(135deg,
    #050505 0%,
    #111827 58%,
    #2a1600 100%);
    position:relative;
    overflow:hidden;
}
.auth-v2:before  {
    content:"";
    position:absolute;
    inset:0;
    background-image:
    linear-gradient(rgba(255,
    255,
    255,
    .04) 1px,
    transparent 1px),
    linear-gradient(90deg,
    rgba(255,
    255,
    255,
    .04) 1px,
    transparent 1px);
    background-size:44px 44px;
    opacity:.7;
}
.auth-v2-card  {
    position:relative;
    z-index:2;
    width:min(420px,100%);
    background:rgba(255,255,
    255,
    .98);
    border:1px solid rgba(255,
    255,
    255,
    .74);
    border-radius:30px;
    padding:34px;
    box-shadow:0 45px 120px rgba(0,
    0,
    0,
    .58),
    0 0 0 1px rgba(255,
    149,
    0,
    .18);
    overflow:hidden;
}
.auth-v2-card:before  {
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:6px;
    background:linear-gradient(90deg,
    #ff9500,
    #111827,
    #ff9500);
}
.auth-v2-register  {
    width:min(620px,100%);
}
.auth-v2-logo  {
    width:76px;
    height:76px;
    margin:0 auto 14px;
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,
    #fff7ed,
    #ffffff);
    border-radius:24px;
    box-shadow:0 18px 42px rgba(255,
    149,
    0,
    .28);
}
.auth-v2-logo img  {
    width:60px;
    height:60px;
    object-fit:contain;
}
.auth-v2-kicker  {
    text-align:center;
    color:#ff9500;
    text-transform:uppercase;
    font-weight:900;
    letter-spacing:.08em;
    font-size:12px;
    margin:0 0 8px;
}
.auth-v2 h1  {
    text-align:center;
    font-size:30px;
    line-height:1.08;
    margin:0;
    color:#111827;
    letter-spacing:-.04em;
}
.auth-v2-copy  {
    text-align:center;
    margin:10px 0 18px;
    color:#64748b;
    font-size:14px;
}
.auth-v2-form  {
    display:grid;
    gap:10px;
}
.auth-v2-grid  {
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.auth-v2-form label  {
    font-size:12px;
    font-weight:900;
    color:#111827;
}
.auth-v2-form input,
.auth-v2-form select  {
    width:100%;
    border:1px solid #e5e7eb;
    background:#f8fafc;
    border-radius:16px;
    padding:14px 14px;
    outline:none;
    font-size:14px;
    transition:.2s;
}
.auth-v2-form input:focus,
.auth-v2-form select:focus  {
    border-color:#ff9500;
    box-shadow:0 0 0 4px rgba(255,149,0,.14);
    background:#fff;
}
.auth-v2-form button  {
    grid-column:1/-1;
    border:0;
    border-radius:16px;
    padding:15px 18px;
    margin-top:8px;
    background:linear-gradient(135deg,
    #ff9500,
    #ffb347);
    color:#111827;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 18px 38px rgba(255,
    149,
    0,
    .30);
}
.auth-v2-links  {
    display:flex;
    justify-content:center;
    gap:18px;
    margin-top:16px;
    font-size:13px;
    font-weight:800;
}
.auth-v2-links a  {
    color:#111827;
    text-decoration:none;
}
.auth-v2-links a:hover  {
    color:#ff9500;
}
.permanent-toggle  {
    display:flex!important;
    align-items:center;
    gap:10px;
    padding:13px 14px;
    border:1px solid rgba(255,
    149,
    0,
    .24);
    border-radius:16px;
    background:#fff7ed;
    color:#111827;
    font-weight:800;
    cursor:pointer;
}
.permanent-toggle input  {
    width:auto!important;
}
.contract-end-field.is-disabled  {
    opacity:.55;
}
.contract-end-field.is-disabled input  {
    background:#f1f5f9;
    pointer-events:none;
}
@media(max-width:680px)  {
    .auth-v2-card  {
        padding:26px;
        border-radius:24px;
    }
    .auth-v2-grid  {
        grid-template-columns:1fr;
    }
}
/* TTG V6 dashboard banner, leave cards and notification polish */
.ttg-dashboard-banner  {
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:22px;
    align-items:center;
    margin:22px 0;
    padding:30px;
    border-radius:30px;
    color:#fff;
    background:
    radial-gradient(circle at 88% 18%,
    rgba(255,
    149,
    0,
    .45),
    transparent 24%),
    linear-gradient(135deg,
    #050505 0%,
    #111827 55%,
    #ff9500 170%);
    box-shadow:0 26px 70px rgba(15,
    23,
    42,
    .25);
}
.ttg-dashboard-banner:before  {
    content:"";
    position:absolute;
    inset:0;
    background-image:linear-gradient(rgba(255,
    255,
    255,
    .06) 1px,
    transparent 1px),
    linear-gradient(90deg,
    rgba(255,
    255,
    255,
    .06) 1px,
    transparent 1px);
    background-size:38px 38px;
    opacity:.6;
}
.ttg-dashboard-banner>*  {
    position:relative;
    z-index:1
}
.ttg-banner-copy h1  {
    font-size:42px;
    line-height:1;
    margin:0 0 8px;
    font-weight:950;
    letter-spacing:-.05em
}
.ttg-banner-copy h1 span  {
    display:block;
    color:#ffb347
}
.ttg-banner-copy p  {
    color:#e5e7eb;
    font-size:16px;
    line-height:1.6;
    max-width:720px;
    margin:0 0 18px
}
.ttg-banner-tags  {
    display:flex;
    gap:10px;
    flex-wrap:wrap
}
.ttg-banner-tags span  {
    padding:8px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,
    255,
    255,
    .22);
    font-size:12px;
    font-weight:900
}
.ttg-banner-panel  {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px
}
.ttg-banner-tile  {
    padding:18px;
    border-radius:22px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,
    255,
    255,
    .18);
    backdrop-filter:blur(10px)
}
.ttg-banner-tile b  {
    display:block;
    font-size:22px;
    color:#ffb347
}
.ttg-banner-tile small  {
    color:#f8fafc;
    font-weight:800
}
.premium-nav a.active,.premium-nav a:hover  {
    background:linear-gradient(135deg,#ff9500,#ffb347)!important;
    color:#111827!important;
    box-shadow:0 12px 28px rgba(255,
    149,
    0,
    .32)!important
}
.leave-card small  {
    display:block;
    color:#64748b;
    margin-top:3px
}
.leave-card .leave-note  {
    font-size:11px;
    color:#9a3412;
    font-weight:800;
    margin-top:6px
}
.brand-block .floating-logo  {
    background:#fff!important;
    border-radius:18px!important;
    padding:7px!important
}
.premium-top h1  {
    line-height:1.1
}
@media(max-width:900px)  {
    .ttg-dashboard-banner  {
        grid-template-columns:1fr;
        padding:24px
    }
    .ttg-banner-copy h1  {
        font-size:34px
    }
    .ttg-banner-panel  {
        grid-template-columns:1fr
    }
}
/* TTG EMS352: robust hosted desktop auth fixes */
*  {
    box-sizing:border-box;
}
html,body  {
    width:100%;
    min-height:100%;
}
body:has(.auth-v2)  {
    margin:0;
    background:#050505;
}
.auth-v2  {
    width:100%;
    min-height:100svh;
    isolation:isolate;
}
.auth-v2-card  {
    max-width:calc(100vw - 32px);
}
.auth-v2-register  {
    max-width:780px;
}
.auth-v2-form input,.auth-v2-form select  {
    min-width:0;
    display:block;
}
@media (min-width:681px)  {
    .auth-v2-grid>button  {
        grid-column:1/-1;
    }
    .auth-v2-card  {
        transform:translateZ(0);
    }
}
@media (max-width:680px)  {
    .auth-v2  {
        padding:16px
    }
    .auth-v2-card  {
        width:100%;
    }
}
/* TTG visible end-user error messages */
.ttg-visible-error, .notice.error  {
    background: #fff1f2 !important;
    color: #b91c1c !important;
    border: 1px solid #fecdd3 !important;
    border-left: 5px solid #dc2626 !important;
    font-weight: 700;
}
