/*
 * Theme tailieuhop V1.1.04 - CSS Recovery Layer
 * Loaded AFTER module CSS to stabilize the public landing page and workspace.
 */

.tlh-shell {
    width: 100% !important;
    max-width: 1220px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}
.tlh-shell *, .tlh-shell *::before, .tlh-shell *::after { box-sizing: border-box; }

/* Hero */
.tlh-public-hero {
    display: flex !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 34px !important;
    min-height: 390px !important;
    padding: 48px 48px 44px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    background: linear-gradient(118deg,#082d50 0%,#0a4a75 54%,#0b7e8f 100%) !important;
}
.tlh-public-hero .tlh-hero-copy {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 760px !important;
}
.tlh-public-hero h1 {
    max-width: 740px !important;
    margin: 7px 0 12px !important;
    color: #fff !important;
    font-size: 44px !important;
    line-height: 1.14 !important;
    letter-spacing: -.025em !important;
}
.tlh-public-hero p {
    max-width: 720px !important;
    margin: 0 !important;
    color: #d7e8f3 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}
.tlh-public-hero .tlh-hero-actions {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    margin-top: 20px !important;
}
.tlh-public-hero .tlh-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 42px !important;
    padding: 10px 14px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}
.tlh-public-hero .tlh-btn i { margin: 0 !important; }
.tlh-public-hero .tlh-btn-primary {
    background: #fff !important;
    border-color: #fff !important;
    color: #0b416c !important;
}
.tlh-public-hero .tlh-btn:not(.tlh-btn-primary) {
    background: rgba(255,255,255,.10) !important;
    border-color: rgba(255,255,255,.35) !important;
    color: #fff !important;
}
.tlh-public-hero .tlh-hero-trust {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin-top: 20px !important;
    color: #c9e2ef !important;
    font-size: 11px !important;
}
.tlh-public-hero .tlh-hero-trust span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* Search panel */
.tlh-public-hero .tlh-landing-search {
    width: 350px !important;
    flex: 0 0 350px !important;
    align-self: center !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
    padding: 22px !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 17px !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 20px 55px rgba(2,30,52,.24) !important;
}
.tlh-public-hero .tlh-search-art {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 8px !important;
}
.tlh-public-hero .tlh-search-art > span {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 13px !important;
    background: #e8f4fb !important;
    color: #0a6597 !important;
}
.tlh-public-hero .tlh-search-art > div {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}
.tlh-public-hero .tlh-search-art strong {
    display: block !important;
    color: #133b5d !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
}
.tlh-public-hero .tlh-search-art small {
    display: block !important;
    color: #8090a2 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
}
.tlh-public-hero .tlh-search-label {
    display: block !important;
    margin: 0 0 2px !important;
    color: #5a6f82 !important;
    font-size: 11px !important;
    font-weight: 750 !important;
}
.tlh-public-hero .tlh-landing-search input {
    width: 100% !important;
    height: 44px !important;
    padding: 10px 12px !important;
    border: 1px solid #ccd6e4 !important;
    border-radius: 10px !important;
    background: #fff !important;
}
.tlh-public-hero .tlh-landing-search button {
    width: 100% !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(90deg,#0b4f82,#0b7894) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}
.tlh-public-hero .tlh-landing-search > small:last-child {
    display: block !important;
    color: #728397 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

/* Public section heading */
.tlh-public-section { margin: 34px 0 !important; }
.tlh-public-heading {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 30px !important;
    margin-bottom: 18px !important;
}
.tlh-public-heading > div { max-width: 650px !important; }
.tlh-public-heading h2 {
    margin: 5px 0 0 !important;
    color: #173a59 !important;
    font-size: 28px !important;
    line-height: 1.25 !important;
}
.tlh-public-heading > p {
    max-width: 470px !important;
    margin: 0 !important;
    color: #6d8092 !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

/* 4 capability cards */
.tlh-capability-grid {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
}
.tlh-capability-grid > .tlh-capability-card {
    display: block !important;
    position: relative !important;
    min-width: 0 !important;
    min-height: 245px !important;
    padding: 22px 20px 50px !important;
    border: 1px solid #dce7f0 !important;
    border-radius: 18px !important;
    background: #fff !important;
    color: #18344e !important;
    text-decoration: none !important;
    box-shadow: 0 10px 30px rgba(13,49,87,.045) !important;
    overflow: hidden !important;
}
.tlh-capability-grid .tlh-capability-no {
    position: absolute !important;
    top: 16px !important;
    right: 17px !important;
    color: #d9e5ee !important;
    font-size: 19px !important;
    font-weight: 900 !important;
}
.tlh-capability-grid .tlh-capability-icon {
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 15px !important;
    background: linear-gradient(145deg,#edf6fc,#eaf8f5) !important;
    color: #0b7491 !important;
    font-size: 18px !important;
}
.tlh-capability-grid h3 {
    margin: 18px 0 7px !important;
    color: #153d5e !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
}
.tlh-capability-grid p {
    margin: 0 !important;
    color: #6b7e90 !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
}
.tlh-capability-grid .tlh-card-link {
    position: absolute !important;
    left: 20px !important;
    bottom: 18px !important;
    color: #0b6498 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

/* Guide / access / manager sections */
.tlh-guide-section {
    display: block !important;
    margin: 28px 0 30px !important;
    padding: 30px !important;
    border: 1px solid #dce7f0 !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg,#fff,#f8fbfd) !important;
}
.tlh-guide-grid {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 13px !important;
    margin-top: 15px !important;
}
.tlh-guide-grid article {
    position: relative !important;
    min-width: 0 !important;
    padding: 22px !important;
    border: 1px solid #e0e8f0 !important;
    border-radius: 16px !important;
    background: #fff !important;
}
.tlh-access-explainer {
    display: grid !important;
    grid-template-columns: minmax(260px,.9fr) minmax(460px,1.3fr) !important;
    gap: 25px !important;
    align-items: center !important;
    margin: 30px 0 !important;
    padding: 28px !important;
    border: 1px solid #d8e7ef !important;
    border-radius: 20px !important;
    background: linear-gradient(135deg,#f9fcfe,#eef7fb) !important;
}
.tlh-access-levels {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 10px !important;
}
.tlh-manager-flow {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr !important;
    gap: 10px !important;
    align-items: center !important;
}
.tlh-landing-stats {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 12px !important;
}

/* Staff entry */
.tlh-header-workspace {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 38px !important;
    padding: 8px 12px !important;
    border-radius: 11px !important;
    background: #0b5f8f !important;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800 !important;
}

/* Desktop protection against accidental theme/global resets */
@media (min-width: 1051px) {
    .tlh-capability-grid > * { width: auto !important; float: none !important; }
    .tlh-guide-grid > * { width: auto !important; float: none !important; }
}

@media (max-width: 1050px) {
    .tlh-public-hero { padding: 38px 34px !important; }
    .tlh-public-hero h1 { font-size: 38px !important; }
    .tlh-capability-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .tlh-access-explainer { grid-template-columns: 1fr !important; }
    .tlh-manager-flow { grid-template-columns: 1fr 1fr !important; }
    .tlh-manager-flow > i { display: none !important; }
}

@media (max-width: 760px) {
    .tlh-shell { padding: 14px !important; border-radius: 14px !important; }
    .tlh-public-hero {
        min-height: 0 !important;
        padding: 26px 20px !important;
        flex-direction: column !important;
        gap: 22px !important;
    }
    .tlh-public-hero h1 { font-size: 30px !important; }
    .tlh-public-hero .tlh-landing-search {
        width: 100% !important;
        flex: 0 0 auto !important;
        padding: 16px !important;
    }
    .tlh-public-heading {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    .tlh-public-heading h2 { font-size: 23px !important; }
    .tlh-capability-grid { grid-template-columns: 1fr !important; }
    .tlh-capability-grid > .tlh-capability-card { min-height: 205px !important; }
    .tlh-guide-section { padding: 20px 15px !important; }
    .tlh-guide-grid { grid-template-columns: 1fr !important; }
    .tlh-access-levels { grid-template-columns: 1fr !important; }
    .tlh-manager-flow { grid-template-columns: 1fr !important; }
    .tlh-landing-stats { grid-template-columns: 1fr !important; }
}

/* V1.2 activity recovery */
.tlh-recent-activity-panel,.tlh-activity-card,.tlh-activity-filter-card{box-sizing:border-box}.tlh-activity-search>*{min-width:0}.tlh-activity-row,.tlh-recent-activity-row{box-sizing:border-box}
