:root{--navy:#071f4f;--navy2:#0d2f70;--orange:#f59e0b;--ink:#102142;--muted:#64748b;--line:#dbe4ef;--bg:#f3f6fa;--white:#fff;--green:#16a34a;--red:#dc2626}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit}button,.button-link{border:0;background:var(--navy);color:white;font-weight:800;padding:14px 20px;border-radius:10px;cursor:pointer;text-decoration:none;text-align:center}input{width:100%;padding:13px 14px;border:1px solid #cbd5e1;border-radius:9px;font-size:16px;margin-top:7px}label{display:block;font-weight:700;margin:17px 0}form button{width:100%;margin-top:8px}.login-page{min-height:100vh;background:linear-gradient(135deg,#061a43,#0d347c)}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;max-width:1200px;margin:auto;align-items:center;gap:70px;padding:50px}.brand-panel{color:white}.brand-mark,.logo-mini{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:var(--navy);font-weight:900}.brand-mark{width:76px;height:76px;border-radius:20px;font-size:25px}.brand-panel h1{font-size:64px;margin:15px 0}.brand-panel p{font-size:20px;max-width:560px;line-height:1.5}.brand-line{width:90px;height:5px;background:var(--orange);margin:30px 0}.eyebrow{font-size:12px!important;font-weight:900;letter-spacing:.14em;margin:0 0 8px}.orange{color:#d97706}.login-card,.form-card{background:white;border-radius:20px;padding:38px;box-shadow:0 25px 80px #02061755}.login-card h2,.form-card h1{font-size:30px;margin:4px 0 10px}.muted,.help{color:var(--muted);line-height:1.55}.help{font-size:13px;margin-top:20px}.alert{padding:12px 14px;border-radius:9px;margin:18px 0}.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.center-page{min-height:100vh;display:grid;place-items:center;padding:30px}.form-card{width:min(460px,100%)}.form-card.wide{width:min(620px,100%)}.topbar{height:70px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1180px)/2));position:sticky;top:0;z-index:4}.topbar>div{display:flex;align-items:center;gap:12px;font-size:20px}.logo-mini{width:38px;height:38px;border-radius:9px}.topbar nav{display:flex;gap:22px}.topbar nav a{text-decoration:none;font-weight:700}.container{max-width:1180px;margin:auto;padding:42px 24px}.welcome{background:white;border-top:4px solid var(--orange);border-radius:16px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 8px 30px #0f172a0d;margin-bottom:36px}.welcome.compact{margin-bottom:20px}.welcome h1{margin:3px 0 7px;font-size:34px}.welcome p{margin:0;color:var(--muted)}.status-pill,.badge{padding:7px 11px;border-radius:999px;background:#dcfce7;color:#166534;font-size:12px;font-weight:900}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.section-title h2{margin:4px 0 0}.section-title span{color:var(--muted)}.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.app-card{min-height:auto;background:white;border-radius:16px;padding:25px;text-decoration:none;display:flex;gap:18px;align-self:start;border:1px solid var(--line);box-shadow:0 7px 25px #0f172a0a;transition:.2s}.app-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px #0f172a18}.app-card.qc{border-top:5px solid #16a34a}.app-card.ops{border-top:5px solid #2563eb}.app-card.audit{border-top:5px solid #f59e0b}.app-icon{width:48px;height:48px;flex:0 0 48px;border-radius:12px;background:#eff4fb;display:grid;place-items:center;font-weight:900;color:var(--navy)}.app-card h3{margin:3px 0 10px}.app-card p{color:var(--muted);line-height:1.5;min-height:72px}.app-card span{font-weight:800;color:var(--navy2)}.empty{grid-column:1/-1;background:white;padding:32px;border-radius:14px;border:1px dashed #94a3b8}.account-note{margin-top:35px;background:#eaf0f8;padding:18px 22px;border-radius:12px;display:flex;justify-content:space-between}.account-note div{display:flex;gap:12px}.account-note span{color:var(--muted)}.table-wrap{background:white;border-radius:14px;overflow:auto;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;min-width:850px}th{background:var(--navy);color:white;text-align:left;padding:13px}td{padding:12px 13px;border-bottom:1px solid var(--line)}.badge.off{background:#fee2e2;color:#991b1b}.back-link{display:inline-block;margin-top:22px;font-weight:700}.button-link{display:inline-block.app-grid{
    align-items:start;
}

.app-card{
    min-height:0 !important;
    height:fit-content !important;
    align-self:start;
}}@media(max-width:800px){.login-shell{grid-template-columns:1fr;padding:25px;gap:25px}.brand-panel h1{font-size:42px}.brand-panel p{font-size:16px}.app-grid{grid-template-columns:1fr}.welcome{align-items:flex-start;gap:20px}.topbar{padding:0 16px}.topbar nav a:first-child{display:none}.account-note{flex-direction:column;gap:10px}.container{padding:25px 16px}}
@media (max-width: 700px) {

    .login-page {
        min-height: 100vh;
    }

    .login-shell {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 32px 18px 24px;
        box-sizing: border-box;
        justify-content: flex-start;
    }

    .brand-panel {
        width: 100%;
        margin-bottom: 24px;
        text-align: left;
    }

    .brand-mark {
        width: 54px;
        height: 54px;
        border-radius: 14px;
        font-size: 18px;
    }

    .brand-panel h1 {
        font-size: 34px;
        margin: 10px 0 6px;
    }

    .brand-panel p {
        font-size: 15px;
        line-height: 1.5;
        max-width: none;
    }

    .login-card {
        width: 100%;
        max-width: none;
        box-sizing: border-box;
        padding: 24px 20px;
        border-radius: 14px;
    }

    .login-card h2 {
        font-size: 25px;
        margin-top: 4px;
    }

    .login-card input {
        font-size: 16px;
        padding: 14px;
    }

    .login-card button {
        min-height: 48px;
        font-size: 15px;
    }
}
