@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#163a5f;--navy-deep:#0d2a45;--blue:#2f6b9a;--orange:#f2a33a;--orange-soft:#fff1dc;--surface:#fff;--background:#f6f8fb;--border:#dde5ec;--text:#243647;--muted:#6f8090;--success:#348a62;--shadow:0 24px 70px rgba(15,42,68,.12);--shadow-soft:0 12px 34px rgba(15,42,68,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Manrope",Arial,sans-serif;color:var(--text);background:var(--background);line-height:1.6}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:1000;background:rgba(246,248,251,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(221,229,236,.75)}.site-header.scrolled{background:rgba(255,255,255,.97);box-shadow:0 8px 30px rgba(15,42,68,.08)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:800}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:.72rem}.nav-links{display:flex;align-items:center;gap:22px;font-size:.92rem;font-weight:600}.nav-login{padding-left:18px;border-left:1px solid var(--border)}.menu-toggle{display:none;border:0;background:transparent;font-size:1.6rem;color:var(--navy)}.btn{min-height:48px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid transparent;font-weight:700;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--navy);color:#fff;box-shadow:0 12px 24px rgba(22,58,95,.16)}.btn-primary:hover{background:var(--navy-deep)}.btn-secondary{background:#fff;color:var(--navy);border-color:var(--border)}.btn-light{background:#fff;color:var(--navy)}.btn-nav{min-height:42px;padding-inline:16px}.hero{position:relative;overflow:hidden;padding:92px 0 84px;background:radial-gradient(circle at 85% 15%,rgba(242,163,58,.18),transparent 25%),radial-gradient(circle at 10% 80%,rgba(47,107,154,.12),transparent 28%)}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--blue);font-weight:800}.hero-copy h1{margin:18px 0 22px;font-size:clamp(3rem,6vw,5.5rem);line-height:.98;letter-spacing:-.055em;color:var(--navy-deep)}.hero-copy p{max-width:620px;color:var(--muted);font-size:1.06rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-note{margin-top:24px;display:flex;align-items:center;gap:10px;color:#536779;font-size:.9rem}.dot{width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 6px rgba(52,138,98,.1)}.choice-orbit{min-height:590px;display:grid;place-items:center}.choice-circle{position:relative;width:min(580px,100%);aspect-ratio:1;border-radius:50%;overflow:hidden;background:#fff;box-shadow:var(--shadow);border:1px solid rgba(221,229,236,.9);transform:rotate(-5deg)}.choice-circle:before{content:"";position:absolute;inset:0;border-radius:50%;border:14px solid rgba(255,255,255,.72);pointer-events:none;z-index:5}.choice-half{position:absolute;inset:0;display:flex;transition:transform .35s ease}.choice-search{clip-path:polygon(0 0,52% 0,45% 100%,0 100%);background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(235,243,250,.95));justify-content:flex-start}.choice-offer{clip-path:polygon(52% 0,100% 0,100% 100%,45% 100%);background:linear-gradient(145deg,#f8aa45,#e88b1d);justify-content:flex-end;color:#fff}.choice-half:hover{transform:scale(1.025);z-index:3}.choice-content{width:52%;padding:0 44px;align-self:center;transform:rotate(5deg)}.choice-offer .choice-content{text-align:right}.choice-icon{width:56px;height:56px;display:inline-grid;place-items:center;border-radius:18px;background:rgba(22,58,95,.08);font-size:1.8rem;margin-bottom:18px}.choice-offer .choice-icon{background:rgba(255,255,255,.18)}.choice-content small,.choice-content strong{display:block}.choice-content small{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;opacity:.75}.choice-content strong{margin-top:4px;font-size:1.45rem;line-height:1.1}.choice-content p{font-size:.88rem;color:var(--muted)}.choice-offer .choice-content p{color:rgba(255,255,255,.82)}.choice-link{display:inline-block;margin-top:8px;font-weight:800;font-size:.86rem}.choice-center{position:absolute;z-index:7;width:146px;height:146px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;text-align:center;padding:18px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(5deg);box-shadow:0 12px 30px rgba(13,42,69,.25);border:8px solid rgba(255,255,255,.94);font-size:.88rem;font-weight:800}.stats{margin-top:-18px;position:relative;z-index:10}.stats-grid{background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-soft);display:grid;grid-template-columns:repeat(4,1fr);padding:24px}.stats-grid article{padding:12px 24px;border-right:1px solid var(--border)}.stats-grid article:last-child{border-right:0}.stats-grid strong,.stats-grid span{display:block}.stats-grid strong{color:var(--navy);font-size:1.6rem}.stats-grid span{color:var(--muted);font-size:.83rem}.section{padding:100px 0}.section-soft{background:#fff}.section-heading{max-width:720px;margin-bottom:42px}.section-heading h2{margin:10px 0 12px;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.04em;color:var(--navy-deep)}.section-heading p{color:var(--muted)}.split-heading{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.text-link{color:var(--navy);font-weight:800;font-size:.9rem}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:28px;transition:.25s}.feature-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft)}.feature-number{color:var(--orange);font-size:.78rem;font-weight:800}.feature-card h3{color:var(--navy)}.feature-card p{color:var(--muted);font-size:.9rem}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.category-card{min-height:112px;display:flex;align-items:center;gap:18px;padding:20px;border:1px solid var(--border);border-radius:20px;background:var(--background);transition:.22s}.category-card:hover{transform:translateY(-4px);background:#fff}.category-mark{flex:0 0 48px;width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:.75rem;font-weight:800}.category-card strong,.category-card small{display:block}.category-card small{margin-top:4px;color:var(--muted);font-size:.77rem}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step-card{background:#fff;border-radius:20px;padding:32px;border:1px solid var(--border)}.step-card>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:#fff;background:var(--orange);font-weight:800}.step-card h3{color:var(--navy);font-size:1.35rem}.step-card p{color:var(--muted)}.manifesto{padding-top:30px}.manifesto-box{padding:64px;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;border-radius:32px;background:var(--navy-deep);color:#fff;box-shadow:var(--shadow)}.eyebrow-light{color:#9fc3df}.manifesto h2{margin-top:12px;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.04em;line-height:1.05}.manifesto-copy p{color:rgba(255,255,255,.74)}.site-footer{margin-top:100px;padding:70px 0 26px;background:#0a2238;color:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr 1fr;gap:46px}.brand-footer .brand-mark{background:#fff;color:var(--navy)}.brand-footer small{color:rgba(255,255,255,.55)}.footer-brand p,.footer-note{color:rgba(255,255,255,.6);font-size:.86rem}.site-footer div>a:not(.brand){display:block;margin:10px 0;color:rgba(255,255,255,.72);font-size:.88rem}.footer-bottom{margin-top:44px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.48);font-size:.78rem}.page-hero{padding:90px 0 70px;text-align:center}.page-hero h1{margin:10px auto 14px;max-width:850px;font-size:clamp(2.7rem,6vw,4.8rem);line-height:1;letter-spacing:-.05em;color:var(--navy-deep)}.page-hero p{max-width:720px;margin:auto;color:var(--muted)}.placeholder-box{padding:44px;border-radius:24px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-soft)}.catalog-toolbar{display:grid;grid-template-columns:1fr 220px 160px;gap:12px;margin-bottom:28px}.form-control{width:100%;min-height:50px;border:1px solid var(--border);background:#fff;border-radius:14px;padding:0 16px;outline:none}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.worker-card{background:#fff;border:1px solid var(--border);border-radius:22px;overflow:hidden}.worker-photo{height:220px;background:linear-gradient(135deg,#dfe8f0,#f6f8fb);display:grid;place-items:center;color:var(--navy);font-size:3rem;font-weight:800}.worker-body{padding:22px}.worker-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.82rem}.badge{display:inline-flex;margin:12px 0;padding:6px 10px;border-radius:999px;background:var(--orange-soft);color:#a8600c;font-size:.75rem;font-weight:800}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.policy-card{background:#fff;padding:28px;border:1px solid var(--border);border-radius:20px}.policy-card h3{color:var(--navy)}.policy-card p{color:var(--muted)}.form-shell{max-width:850px;margin:auto;background:#fff;border:1px solid var(--border);border-radius:26px;padding:34px;box-shadow:var(--shadow-soft)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full{grid-column:1/-1}.form-group label{font-weight:700;color:var(--navy);font-size:.88rem}textarea.form-control{min-height:130px;padding-top:14px;resize:vertical}.notice{margin-top:16px;padding:16px;border-radius:16px;background:#f6f8fb;color:var(--muted);font-size:.85rem}@media(max-width:1000px){.hero-grid,.manifesto-box{grid-template-columns:1fr}.choice-orbit{min-height:auto}.feature-grid,.category-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.catalog-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:20px;right:20px;top:68px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-soft);flex-direction:column;align-items:stretch}.nav-links.active{display:flex}.nav-login{padding-left:0;border-left:0}.hero-copy{text-align:center}.hero-actions,.hero-note{justify-content:center}.steps-grid,.content-grid,.catalog-toolbar{grid-template-columns:1fr}.split-heading{align-items:flex-start;flex-direction:column}}@media(max-width:580px){.container{width:min(100% - 28px,1180px)}.hero-copy h1{font-size:3rem}.choice-circle{aspect-ratio:auto;border-radius:28px;transform:none;display:grid;overflow:visible;background:transparent;box-shadow:none;border:0;gap:14px}.choice-circle:before,.choice-center{display:none}.choice-half{position:relative;clip-path:none;border-radius:24px;min-height:230px;box-shadow:var(--shadow-soft)}.choice-content,.choice-offer .choice-content{width:100%;padding:28px;text-align:left;transform:none}.stats-grid,.feature-grid,.category-grid,.catalog-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.manifesto-box{padding:36px 26px;gap:24px}.footer-bottom{flex-direction:column}.section{padding:74px 0}}

/* ==========================================================
   SPRINT 2 - CATÁLOGO
   ========================================================== */

.catalog-hero {
    padding: 94px 0 56px;
    text-align: center;
    background:
        radial-gradient(circle at 20% 20%, rgba(47,107,154,.10), transparent 25%),
        radial-gradient(circle at 80% 5%, rgba(242,163,58,.14), transparent 26%);
}

.catalog-hero h1 {
    margin: 12px auto 16px;
    max-width: 900px;
    font-size: clamp(3rem, 6vw, 5.4rem);
    line-height: .98;
    letter-spacing: -.055em;
    color: var(--navy-deep);
}

.catalog-hero > .container > p {
    max-width: 720px;
    margin: 0 auto;
    color: var(--muted);
}

.catalog-search-box {
    max-width: 980px;
    margin: 38px auto 0;
    display: grid;
    grid-template-columns: 1fr 230px auto;
    gap: 12px;
    padding: 12px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 22px;
    box-shadow: var(--shadow-soft);
}

.catalog-search-field {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 0 18px;
    background: var(--background);
    border-radius: 15px;
}

.search-symbol {
    color: var(--navy);
    font-size: 1.5rem;
}

.catalog-search-field input,
.catalog-search-box select {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text);
}

.catalog-search-box select {
    padding: 0 14px;
    background: var(--background);
    border-radius: 15px;
}

.availability-toggle {
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 16px;
    background: var(--navy);
    color: #fff;
    border-radius: 15px;
    cursor: pointer;
    font-size: .84rem;
    font-weight: 700;
}

.availability-toggle input {
    accent-color: var(--orange);
}

.catalog-section {
    padding-top: 70px;
}

.catalog-heading-row {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 24px;
    margin-bottom: 26px;
}

.catalog-heading-row h2 {
    margin: 8px 0 0;
    color: var(--navy-deep);
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -.04em;
}

.catalog-heading-row > p {
    color: var(--muted);
    font-size: .88rem;
}

.premium-worker-card {
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.premium-worker-card:hover {
    transform: translateY(-7px);
    border-color: #c7d6e3;
    box-shadow: var(--shadow-soft);
}

.worker-cover {
    min-height: 190px;
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        linear-gradient(140deg, #e4edf5, #f8fbfd 56%, #fff0d8);
}

.worker-cover::before,
.worker-cover::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(22,58,95,.09);
}

.worker-cover::before {
    width: 200px;
    height: 200px;
    right: -70px;
    top: -80px;
}

.worker-cover::after {
    width: 130px;
    height: 130px;
    left: -45px;
    bottom: -55px;
}

.worker-avatar {
    position: relative;
    z-index: 2;
    width: 96px;
    height: 96px;
    display: grid;
    place-items: center;
    border-radius: 30px;
    background: var(--navy);
    color: #fff;
    font-size: 2rem;
    font-weight: 800;
    box-shadow: 0 16px 32px rgba(22,58,95,.20);
}

.availability-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
}

.worker-cover > .availability-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 3;
}

.availability-badge > span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
}

.is-available {
    background: #e9f7ef;
    color: #23764f;
}

.is-available > span {
    background: #2c9b68;
}

.is-busy {
    background: #f3f4f6;
    color: #6b7280;
}

.is-busy > span {
    background: #9ca3af;
}

.worker-title-row {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 20px;
}

.worker-category {
    color: var(--orange);
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .09em;
    font-weight: 800;
}

.worker-title-row h3 {
    margin-top: 5px;
    font-size: 1.35rem;
}

.worker-rating {
    text-align: right;
    flex: 0 0 auto;
}

.worker-rating strong,
.worker-rating small {
    display: block;
}

.worker-rating strong {
    color: var(--navy);
}

.worker-rating small {
    color: var(--muted);
    font-size: .72rem;
}

.worker-location {
    margin: 12px 0 8px;
    color: #526779;
    font-size: .82rem;
}

.worker-description {
    min-height: 70px;
    color: var(--muted);
    font-size: .87rem;
}

.worker-actions {
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.worker-actions .btn {
    flex: 1;
}

.save-profile {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--navy);
    font-size: 1.3rem;
    cursor: pointer;
}

.save-profile.saved {
    color: #c74b4b;
    background: #fff5f5;
}

.empty-state {
    margin-top: 30px;
    padding: 60px 30px;
    text-align: center;
    background: #fff;
    border: 1px dashed #c8d4df;
    border-radius: 24px;
}

.empty-state > span {
    font-size: 3rem;
    color: var(--navy);
}

.empty-state h3 {
    margin-bottom: 6px;
    color: var(--navy);
}

.empty-state p {
    color: var(--muted);
}

.catalog-cta {
    padding-top: 20px;
}

.catalog-cta-box {
    padding: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    border-radius: 30px;
    color: #fff;
    background:
        linear-gradient(120deg, var(--navy-deep), var(--navy));
}

.catalog-cta-box h2 {
    margin: 8px 0;
    font-size: clamp(2rem, 4vw, 3.2rem);
    letter-spacing: -.04em;
}

.catalog-cta-box p {
    max-width: 700px;
    color: rgba(255,255,255,.72);
}


/* ==========================================================
   SPRINT 2 - PERFIL
   ========================================================== */

.profile-hero {
    padding: 58px 0 42px;
    background:
        linear-gradient(180deg, #edf3f7 0%, var(--background) 100%);
}

.back-link {
    display: inline-flex;
    margin-bottom: 28px;
    color: var(--navy);
    font-size: .85rem;
    font-weight: 800;
}

.profile-hero-grid {
    display: grid;
    grid-template-columns: 170px 1fr 330px;
    align-items: center;
    gap: 30px;
}

.profile-avatar-large {
    width: 160px;
    height: 160px;
    display: grid;
    place-items: center;
    border-radius: 42px;
    color: #fff;
    background: var(--navy);
    font-size: 3rem;
    font-weight: 800;
    box-shadow: var(--shadow-soft);
}

.profile-status-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.profile-category {
    padding: 7px 11px;
    border-radius: 999px;
    background: var(--orange-soft);
    color: #a8600c;
    font-size: .74rem;
    font-weight: 800;
}

.profile-main-info h1 {
    margin: 10px 0;
    font-size: clamp(2.7rem, 5vw, 4.8rem);
    line-height: 1;
    letter-spacing: -.05em;
    color: var(--navy-deep);
}

.profile-meta,
.profile-rating-line {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    color: var(--muted);
    font-size: .86rem;
}

.profile-rating-line {
    margin-top: 12px;
}

.profile-rating-line strong {
    color: var(--navy);
}

.profile-contact-card {
    padding: 26px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 24px;
    box-shadow: var(--shadow-soft);
}

.profile-contact-card h3 {
    margin: 8px 0 6px;
    color: var(--navy);
}

.profile-contact-card p,
.profile-contact-card small {
    color: var(--muted);
}

.btn-block {
    width: 100%;
    margin: 12px 0;
}

.contact-data {
    padding: 12px;
    margin-bottom: 12px;
    border-radius: 14px;
    background: var(--background);
}

.contact-data a {
    display: block;
    padding: 5px 0;
    color: var(--navy);
    font-size: .86rem;
    font-weight: 700;
}

.profile-section {
    padding-top: 60px;
}

.profile-layout {
    display: grid;
    grid-template-columns: 1fr 330px;
    gap: 30px;
    align-items: start;
}

.profile-content {
    display: grid;
    gap: 24px;
}

.profile-panel {
    padding: 34px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 24px;
}

.profile-panel h2 {
    margin: 8px 0 14px;
    color: var(--navy-deep);
    letter-spacing: -.03em;
}

.profile-panel > p {
    color: var(--muted);
}

.profile-panel-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-bottom: 22px;
}

.portfolio-count {
    color: var(--muted);
    font-size: .78rem;
}

.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.portfolio-item {
    position: relative;
    min-height: 230px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 22px;
    border: 0;
    border-radius: 20px;
    overflow: hidden;
    cursor: pointer;
    text-align: left;
    background:
        linear-gradient(145deg, #dce8f1, #f8fafc 55%, #fde6c4);
    color: var(--navy);
}

.portfolio-item::before {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    border: 1px solid rgba(22,58,95,.09);
    border-radius: 50%;
    right: -60px;
    top: -70px;
}

.portfolio-item span,
.portfolio-item strong {
    position: relative;
    z-index: 2;
}

.portfolio-item span {
    font-size: .76rem;
    opacity: .6;
}

.portfolio-item strong {
    font-size: 1.1rem;
}

.review-summary {
    text-align: right;
}

.review-summary strong,
.review-summary span {
    display: block;
}

.review-summary strong {
    color: var(--navy);
}

.review-summary span {
    color: var(--muted);
    font-size: .75rem;
}

.reviews-list {
    display: grid;
    gap: 12px;
}

.review-card {
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--background);
}

.review-top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.review-top strong,
.review-top span {
    display: block;
}

.review-top span {
    color: var(--muted);
    font-size: .74rem;
}

.review-stars {
    color: var(--orange);
    letter-spacing: .05em;
}

.review-card p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: .88rem;
}

.leave-review-box {
    margin-top: 20px;
    padding: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-radius: 18px;
    background: #f2f6f9;
}

.leave-review-box h3 {
    margin: 0 0 5px;
    color: var(--navy);
}

.leave-review-box p {
    margin: 0;
    color: var(--muted);
    font-size: .84rem;
}

.sticky-panel {
    position: sticky;
    top: 100px;
}

.profile-details {
    margin: 22px 0 0;
}

.profile-details > div {
    padding: 13px 0;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid var(--border);
}

.profile-details dt {
    color: var(--muted);
    font-size: .8rem;
}

.profile-details dd {
    margin: 0;
    color: var(--navy);
    font-size: .84rem;
    font-weight: 800;
}

.status-text {
    color: var(--success) !important;
}

.verification-note {
    margin-top: 22px;
    padding: 18px;
    border-radius: 16px;
    background: #eef6f2;
}

.verification-note strong {
    color: #21694a;
}

.verification-note p {
    margin-bottom: 0;
    color: #5d7569;
    font-size: .78rem;
}

.simple-modal[hidden] {
    display: none;
}

.simple-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: grid;
    place-items: center;
    padding: 20px;
}

.simple-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8,26,42,.72);
    backdrop-filter: blur(5px);
}

.simple-modal-card {
    position: relative;
    z-index: 2;
    width: min(560px, 100%);
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    padding: 30px;
    background: #fff;
    border-radius: 24px;
    box-shadow: var(--shadow);
}

.modal-close {
    position: absolute;
    right: 16px;
    top: 13px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 12px;
    background: var(--background);
    color: var(--navy);
    font-size: 1.4rem;
    cursor: pointer;
}

.modal-work-placeholder {
    height: 260px;
    margin-bottom: 22px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(145deg, #dce8f1, #f8fafc 55%, #fde6c4);
    color: var(--navy);
    font-weight: 800;
}

.simple-modal-card .form-group {
    margin-bottom: 14px;
}

@media (max-width: 1000px) {
    .profile-hero-grid {
        grid-template-columns: 130px 1fr;
    }

    .profile-avatar-large {
        width: 125px;
        height: 125px;
        border-radius: 34px;
    }

    .profile-contact-card {
        grid-column: 1 / -1;
    }

    .profile-layout {
        grid-template-columns: 1fr;
    }

    .sticky-panel {
        position: static;
    }
}

@media (max-width: 800px) {
    .catalog-search-box {
        grid-template-columns: 1fr;
    }

    .catalog-search-box select {
        min-height: 56px;
    }

    .catalog-heading-row,
    .catalog-cta-box,
    .leave-review-box {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 580px) {
    .catalog-hero {
        padding-top: 64px;
    }

    .catalog-hero h1 {
        font-size: 3.2rem;
    }

    .profile-hero-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .profile-avatar-large {
        margin: 0 auto;
    }

    .profile-status-line,
    .profile-meta,
    .profile-rating-line {
        justify-content: center;
    }

    .profile-contact-card {
        text-align: left;
    }

    .profile-panel,
    .catalog-cta-box {
        padding: 26px;
    }

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

    .review-summary {
        text-align: left;
    }

    .portfolio-grid {
        grid-template-columns: 1fr;
    }

    .portfolio-item {
        min-height: 200px;
    }
}


/* ==========================================================
   SPRINT 3 - FORMULARIO DE POSTULACIÓN
   ========================================================== */

.application-hero {
    padding: 90px 0 60px;
    text-align: center;
    background:
        radial-gradient(circle at 15% 15%, rgba(47,107,154,.10), transparent 24%),
        radial-gradient(circle at 82% 8%, rgba(242,163,58,.15), transparent 28%);
}

.application-hero h1 {
    margin: 12px auto 16px;
    max-width: 920px;
    font-size: clamp(3rem, 6vw, 5.2rem);
    line-height: .98;
    letter-spacing: -.055em;
    color: var(--navy-deep);
}

.application-hero p {
    max-width: 700px;
    margin: auto;
    color: var(--muted);
}

.application-section {
    padding-top: 45px;
}

.application-shell {
    display: grid;
    grid-template-columns: 330px 1fr;
    min-height: 760px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 30px;
    background: #fff;
    box-shadow: var(--shadow-soft);
}

.application-sidebar {
    color: #fff;
    background:
        radial-gradient(circle at top right, rgba(242,163,58,.20), transparent 25%),
        linear-gradient(160deg, var(--navy-deep), var(--navy));
}

.application-sidebar-inner {
    position: sticky;
    top: 100px;
    padding: 38px 30px;
}

.application-sidebar h2 {
    margin: 10px 0 12px;
    font-size: 2rem;
    line-height: 1.05;
    letter-spacing: -.04em;
}

.application-sidebar > div > p {
    color: rgba(255,255,255,.66);
    font-size: .9rem;
}

.application-steps {
    display: grid;
    gap: 8px;
    margin-top: 34px;
}

.application-step {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px;
    border: 0;
    border-radius: 16px;
    background: transparent;
    color: rgba(255,255,255,.62);
    text-align: left;
    cursor: default;
}

.application-step span {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.18);
    font-weight: 800;
}

.application-step strong,
.application-step small {
    display: block;
}

.application-step strong {
    color: inherit;
}

.application-step small {
    margin-top: 2px;
    color: inherit;
    opacity: .72;
    font-size: .72rem;
}

.application-step.active {
    color: #fff;
    background: rgba(255,255,255,.10);
}

.application-step.active span {
    background: var(--orange);
    border-color: var(--orange);
    color: var(--navy-deep);
}

.application-step.completed {
    cursor: pointer;
    color: rgba(255,255,255,.86);
}

.application-step.completed span {
    background: rgba(255,255,255,.14);
}

.application-security-note {
    margin-top: 36px;
    padding: 18px;
    border-radius: 16px;
    background: rgba(255,255,255,.08);
}

.application-security-note strong {
    font-size: .85rem;
}

.application-security-note p {
    margin-bottom: 0;
    color: rgba(255,255,255,.60);
    font-size: .75rem;
}

.application-content {
    padding: 38px 42px;
}

.application-progress {
    margin-bottom: 34px;
}

.application-progress > div:first-child {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
}

.application-progress span {
    color: var(--muted);
    font-size: .78rem;
}

.application-progress strong {
    color: var(--navy);
    font-size: .9rem;
}

.progress-track {
    height: 7px;
    margin-top: 12px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf1f5;
}

.progress-track span {
    display: block;
    width: 20%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--navy), var(--orange));
    transition: width .3s ease;
}

.form-step {
    display: none;
}

.form-step.active {
    display: block;
    animation: applicationStepIn .24s ease;
}

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

.form-step-heading {
    margin-bottom: 28px;
}

.form-step-heading h2 {
    margin: 8px 0 8px;
    color: var(--navy-deep);
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -.04em;
}

.form-step-heading p {
    margin: 0;
    color: var(--muted);
}

.field-help {
    color: var(--muted);
    font-size: .75rem;
}

.upload-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.upload-card {
    position: relative;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 24px;
    overflow: hidden;
    border: 1px dashed #bdcad5;
    border-radius: 22px;
    background: #f8fafc;
    text-align: center;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.upload-card:hover {
    transform: translateY(-3px);
    border-color: var(--blue);
    background: #fff;
}

.upload-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.upload-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    background: var(--navy);
    color: #fff;
    font-weight: 800;
}

.upload-card strong {
    color: var(--navy);
}

.upload-card small {
    color: var(--muted);
}

.private-label {
    position: absolute;
    right: 14px;
    top: 14px;
    padding: 5px 8px;
    border-radius: 999px;
    background: #eef3f7;
    color: #607284;
    font-size: .66rem;
    font-weight: 800;
}

.single-preview {
    margin-top: 8px;
}

.single-preview img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 18px;
    border: 3px solid #fff;
    box-shadow: 0 8px 18px rgba(13,42,69,.12);
}

.privacy-callout {
    margin-top: 20px;
    padding: 20px;
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 18px;
    border-radius: 18px;
    background: #eef6f2;
}

.privacy-callout strong {
    color: #246c4d;
}

.privacy-callout p {
    margin: 0;
    color: #5d7569;
    font-size: .82rem;
}

.portfolio-upload-box {
    padding: 26px;
    border: 1px solid var(--border);
    border-radius: 22px;
    background: #f8fafc;
}

.portfolio-upload-trigger {
    width: 100%;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px dashed #b9c7d3;
    border-radius: 18px;
    background: #fff;
    color: var(--navy);
    cursor: pointer;
}

.portfolio-upload-trigger > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: #fff;
    background: var(--navy);
    font-size: 1.4rem;
}

.portfolio-upload-trigger small {
    color: var(--muted);
}

.portfolio-upload-status {
    margin-top: 14px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    color: var(--muted);
    font-size: .76rem;
}

#portfolioRequirement.ready {
    color: var(--success);
    font-weight: 800;
}

.portfolio-preview-grid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}

.portfolio-preview-card {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #fff;
}

.portfolio-preview-card img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
}

.portfolio-preview-card > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
}

.portfolio-preview-card span {
    font-size: .66rem;
    color: var(--muted);
}

.portfolio-preview-card button {
    width: 27px;
    height: 27px;
    border: 0;
    border-radius: 9px;
    background: #fff0f0;
    color: #b14646;
    cursor: pointer;
}

.portfolio-guidelines {
    margin-top: 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.portfolio-guidelines > div {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--border);
}

.portfolio-guidelines strong {
    color: var(--navy);
}

.portfolio-guidelines p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: .78rem;
}

.application-summary {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.application-summary article {
    min-height: 94px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #f8fafc;
}

.application-summary span,
.application-summary strong {
    display: block;
}

.application-summary span {
    color: var(--muted);
    font-size: .72rem;
}

.application-summary strong {
    margin-top: 5px;
    color: var(--navy);
    word-break: break-word;
}

.consent-box {
    display: grid;
    gap: 10px;
    margin-top: 22px;
}

.consent-box label {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: 15px;
    cursor: pointer;
}

.consent-box input {
    margin-top: 4px;
    accent-color: var(--navy);
}

.consent-box span {
    color: #526779;
    font-size: .82rem;
}

.final-notice {
    margin-top: 20px;
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 16px;
    padding: 20px;
    border-radius: 18px;
    background: #eef4f8;
}

.final-notice-icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: var(--navy);
    color: #fff;
    font-weight: 800;
}

.final-notice strong {
    color: var(--navy);
}

.final-notice p {
    margin: 3px 0 0;
    color: var(--muted);
    font-size: .8rem;
}

.form-navigation {
    margin-top: 32px;
    padding-top: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px solid var(--border);
}

.form-navigation-spacer {
    flex: 1;
}

.form-feedback {
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fff2e0;
    color: #925a13;
    font-size: .82rem;
    font-weight: 700;
}

.application-success-modal[hidden] {
    display: none;
}

.application-success-modal {
    position: fixed;
    inset: 0;
    z-index: 4000;
    display: grid;
    place-items: center;
    padding: 20px;
}

.application-success-card {
    position: relative;
    z-index: 2;
    width: min(520px, 100%);
    padding: 38px;
    border-radius: 26px;
    background: #fff;
    text-align: center;
    box-shadow: var(--shadow);
}

.success-mark {
    width: 68px;
    height: 68px;
    margin: 0 auto 16px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    background: #e9f7ef;
    color: #248158;
    font-size: 2rem;
    font-weight: 800;
}

.application-success-card h2 {
    margin: 8px 0;
    color: var(--navy-deep);
    font-size: 2rem;
}

.application-success-card p {
    color: var(--muted);
}

.demo-request-code {
    margin: 20px 0;
    padding: 15px;
    border-radius: 16px;
    background: #f4f7f9;
}

.demo-request-code span,
.demo-request-code strong {
    display: block;
}

.demo-request-code span {
    color: var(--muted);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.demo-request-code strong {
    margin-top: 4px;
    color: var(--navy);
}

@media (max-width: 1000px) {
    .application-shell {
        grid-template-columns: 1fr;
    }

    .application-sidebar-inner {
        position: static;
    }

    .application-steps {
        grid-template-columns: repeat(5, 1fr);
    }

    .application-step {
        justify-content: center;
        padding: 8px;
    }

    .application-step > div {
        display: none;
    }

    .application-security-note {
        display: none;
    }

    .upload-grid {
        grid-template-columns: 1fr 1fr;
    }

    .upload-grid .upload-card:first-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .application-content {
        padding: 28px 22px;
    }

    .application-sidebar-inner {
        padding: 28px 22px;
    }

    .application-sidebar h2,
    .application-sidebar > div > p {
        text-align: center;
    }

    .application-steps {
        margin-top: 24px;
    }

    .upload-grid,
    .portfolio-guidelines,
    .application-summary {
        grid-template-columns: 1fr;
    }

    .upload-grid .upload-card:first-child {
        grid-column: auto;
    }

    .portfolio-preview-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .privacy-callout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .application-hero h1 {
        font-size: 3rem;
    }

    .application-step span {
        width: 34px;
        height: 34px;
    }

    .portfolio-preview-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .portfolio-upload-status {
        flex-direction: column;
        gap: 4px;
    }

    .form-navigation {
        flex-wrap: wrap;
    }

    .form-navigation-spacer {
        display: none;
    }

    .form-navigation .btn {
        width: 100%;
    }
}


/* ==========================================================
   SPRINT 4 - DASHBOARD ADMINISTRADOR
   ========================================================== */

.admin-main {
    background: #f3f6f9;
    min-height: 100vh;
}

.admin-topbar {
    padding: 66px 0 44px;
    background:
        radial-gradient(circle at 85% 10%, rgba(242,163,58,.17), transparent 24%),
        linear-gradient(130deg, #0d2a45, #173f64);
    color: #fff;
}

.admin-topbar-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.admin-topbar h1 {
    margin: 8px 0;
    font-size: clamp(2.4rem, 5vw, 4rem);
    letter-spacing: -.05em;
}

.admin-topbar p {
    margin: 0;
    max-width: 700px;
    color: rgba(255,255,255,.66);
}

.admin-profile-card {
    flex: 0 0 auto;
    min-width: 235px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.08);
}

.admin-avatar {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: var(--orange);
    color: var(--navy-deep);
    font-weight: 800;
}

.admin-profile-card strong,
.admin-profile-card small {
    display: block;
}

.admin-profile-card small {
    color: rgba(255,255,255,.58);
    font-size: .72rem;
}

.admin-section {
    padding: 34px 0 90px;
}

.admin-quick-nav {
    display: flex;
    gap: 6px;
    padding: 6px;
    overflow-x: auto;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(15,42,68,.04);
}

.admin-quick-nav a {
    white-space: nowrap;
    padding: 10px 15px;
    border-radius: 11px;
    color: var(--muted);
    font-size: .82rem;
    font-weight: 700;
}

.admin-quick-nav a.active,
.admin-quick-nav a:hover {
    color: #fff;
    background: var(--navy);
}

.admin-metrics-grid {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.admin-metric-card {
    padding: 23px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15,42,68,.04);
}

.admin-metric-card > span,
.admin-metric-card > strong,
.admin-metric-card > small {
    display: block;
}

.admin-metric-card > span {
    color: var(--muted);
    font-size: .78rem;
}

.admin-metric-card > strong {
    margin: 7px 0 8px;
    color: var(--navy-deep);
    font-size: 2.1rem;
    letter-spacing: -.05em;
}

.admin-metric-card > small {
    font-size: .72rem;
    font-weight: 700;
}

.admin-metric-card .positivo {
    color: var(--success);
}

.admin-metric-card .alerta {
    color: #b9751d;
}

.admin-dashboard-grid {
    margin-top: 20px;
    display: grid;
    grid-template-columns: 1.45fr .75fr;
    gap: 20px;
}

.admin-dashboard-secondary {
    grid-template-columns: 1.25fr .75fr;
}

.admin-panel {
    padding: 26px;
    border: 1px solid var(--border);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15,42,68,.035);
}

.admin-full-panel {
    margin-top: 20px;
}

.admin-panel-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.admin-panel-heading h2 {
    margin: 6px 0 0;
    color: var(--navy-deep);
    font-size: 1.5rem;
    letter-spacing: -.03em;
}

.admin-period,
.admin-counter {
    padding: 7px 10px;
    border-radius: 999px;
    background: #f2f5f8;
    color: var(--muted);
    font-size: .7rem;
    font-weight: 700;
}

.demo-line-chart {
    height: 300px;
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 10px;
}

.chart-y-labels {
    height: 230px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #94a2af;
    font-size: .65rem;
}

.chart-area {
    position: relative;
    height: 260px;
}

.chart-grid-lines {
    position: absolute;
    inset: 0 0 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.chart-grid-lines span {
    height: 1px;
    background: #edf1f4;
}

.chart-area svg {
    position: absolute;
    inset: 0 0 30px;
    width: 100%;
    height: calc(100% - 30px);
    color: var(--blue);
    overflow: visible;
}

.chart-area svg circle {
    fill: #fff;
    stroke: var(--blue);
    stroke-width: 5;
}

.chart-x-labels {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: space-between;
    color: #94a2af;
    font-size: .65rem;
}

.admin-chart-note {
    margin-bottom: 0;
    color: var(--muted);
    font-size: .74rem;
}

.category-ranking {
    display: grid;
    gap: 20px;
}

.ranking-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ranking-title > span {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #eef3f7;
    color: var(--navy);
    font-size: .72rem;
    font-weight: 800;
}

.ranking-title strong,
.ranking-title small {
    display: block;
}

.ranking-title strong {
    color: var(--navy);
    font-size: .84rem;
}

.ranking-title small {
    color: var(--muted);
    font-size: .67rem;
}

.ranking-bar {
    height: 7px;
    margin-top: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf1f4;
}

.ranking-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--navy), var(--blue));
}

.admin-table-wrap {
    overflow-x: auto;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 650px;
}

.admin-table th {
    padding: 11px 13px;
    border-bottom: 1px solid var(--border);
    color: var(--muted);
    text-align: left;
    font-size: .7rem;
    font-weight: 700;
}

.admin-table td {
    padding: 14px 13px;
    border-bottom: 1px solid #edf1f4;
    color: #536779;
    font-size: .78rem;
}

.admin-table tbody tr:last-child td {
    border-bottom: 0;
}

.table-person {
    display: flex;
    align-items: center;
    gap: 10px;
}

.table-person > span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: var(--navy);
    color: #fff;
    font-size: .7rem;
    font-weight: 800;
}

.table-person strong {
    color: var(--navy-deep);
}

.activity-list {
    display: grid;
}

.activity-list article {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid #edf1f4;
}

.activity-list article:last-child {
    border-bottom: 0;
}

.activity-icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #eef3f7;
    color: var(--navy);
    font-size: .68rem;
    font-weight: 800;
}

.activity-list strong,
.activity-list small {
    display: block;
}

.activity-list strong {
    color: #405467;
    font-size: .78rem;
    font-weight: 700;
}

.activity-list small {
    margin-top: 3px;
    color: #98a5b0;
    font-size: .66rem;
}

.request-status {
    display: inline-flex;
    padding: 6px 9px;
    border-radius: 999px;
    background: #fff2de;
    color: #a56414;
    font-size: .66rem;
    font-weight: 800;
}

.request-status.reviewing {
    background: #e8f1f8;
    color: #376f98;
}

.admin-small-button {
    padding: 7px 11px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fff;
    color: var(--navy);
    cursor: pointer;
    font-size: .7rem;
    font-weight: 800;
}

.admin-small-button:hover {
    border-color: var(--navy);
}

.admin-insights-grid {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.admin-insight-card {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #fff;
}

.admin-insight-card > span {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: var(--orange-soft);
    color: #9b5a0d;
    font-size: .7rem;
    font-weight: 800;
}

.admin-insight-card strong {
    color: var(--navy);
}

.admin-insight-card p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: .76rem;
}

.admin-demo-actions {
    display: flex;
    gap: 10px;
    margin-top: 22px;
}

.admin-demo-actions .btn {
    flex: 1;
}

@media (max-width: 1050px) {
    .admin-metrics-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .admin-dashboard-grid,
    .admin-dashboard-secondary {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .admin-topbar-content {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-profile-card {
        width: 100%;
    }

    .admin-metrics-grid,
    .admin-insights-grid {
        grid-template-columns: 1fr;
    }

    .admin-panel {
        padding: 20px;
    }

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


/* SPRINT 5 - AUTENTICACIÓN */
.login-alert,.login-success{
    margin-bottom:18px;
    padding:14px 16px;
    border-radius:14px;
    font-size:.84rem;
    font-weight:700;
}
.login-alert{background:#fff1f1;color:#9f3f3f;border:1px solid #f2d1d1}
.login-success{background:#eaf7ef;color:#286c49;border:1px solid #cfe8d9}


/* SPRINT 8.3 - FOTO DE PERFIL EN REVISIÓN */
.request-profile-summary {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 20px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #f8fafc;
}

.request-profile-photo {
    width: 92px;
    height: 92px;
    flex: 0 0 92px;
    overflow: hidden;
    display: grid;
    place-items: center;
    border-radius: 24px;
    background: #e9eef3;
    color: var(--muted);
    font-size: .72rem;
}

.request-profile-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.request-profile-name strong,
.request-profile-name span {
    display: block;
}

.request-profile-name strong {
    color: var(--navy-deep);
    font-size: 1.12rem;
}

.request-profile-name span {
    margin-top: 4px;
    color: var(--muted);
    font-size: .8rem;
}


/* SPRINT 8.4 - APROBACIÓN / RECHAZO */
.admin-result-message{margin-bottom:20px;padding:15px 18px;border-radius:14px;font-size:.82rem;line-height:1.55}
.admin-result-message.success{border:1px solid #cfe7d8;background:#edf8f1;color:#286b49}
.admin-result-message.error{border:1px solid #f0cccc;background:#fff2f2;color:#9b3c3c}
.decision-block{padding:14px 0}
.decision-block h4{margin:0 0 5px;color:var(--navy-deep);font-size:.9rem}
.decision-block p{margin:0 0 12px;color:var(--muted);font-size:.72rem;line-height:1.5}
.decision-block form{display:grid;gap:10px}
.decision-select,.decision-textarea{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:#fff;color:var(--navy-deep);font:inherit;font-size:.76rem}
.decision-textarea{resize:vertical;min-height:105px}
.decision-separator{height:1px;margin:7px 0;background:var(--border)}
.decision-finished{margin-top:18px;padding:15px;border-radius:13px;background:#f3f6f8;color:var(--navy);font-size:.76rem}
.decision-finished p{margin:8px 0 0;color:var(--muted);line-height:1.55}
