﻿.ib-phase27-submission,.ib-phase27-dashboard{margin:28px 0;padding:26px;border:1px solid #e2e8f0;border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.06)}
.ib-phase27-submission>header,.ib-phase27-dashboard>header,.ib-phase27-review>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}
.ib-phase27-submission header span,.ib-phase27-dashboard header span,.ib-phase27-admin header span,.ib-phase27-review header span{color:#c8902f;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.ib-phase27-submission h2,.ib-phase27-dashboard h2{margin:4px 0;font-size:clamp(1.25rem,2vw,1.75rem)}
.ib-phase27-submission label,.ib-phase27-decision label{display:grid;gap:8px;font-weight:700}
.ib-phase27-submission textarea,.ib-phase27-submission input,.ib-phase27-decision textarea,.ib-phase27-decision input,.ib-phase27-decision select,.ib-phase27-filters input,.ib-phase27-filters select{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:12px;background:#fff;font:inherit}
.ib-phase27-fields,.ib-phase27-actions,.ib-phase27-filters{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.ib-phase27-actions{display:flex;justify-content:flex-end}.ib-phase27-actions button,.ib-phase27-button,.ib-phase27-decision button,.ib-phase27-filters button{border:0;border-radius:12px;padding:11px 18px;background:#e2e8f0;color:#0f172a;font:inherit;font-weight:800;cursor:pointer}
.ib-phase27-actions .ib-phase27-button,.ib-phase27-button,.ib-phase27-decision button{background:#0c2745;color:#fff}
.ib-phase27-result{padding:18px;border-radius:16px;background:#f8fafc}.ib-phase27-result small{display:block;margin-top:10px;color:#64748b}
.ib-phase27-history{margin-top:24px;border-top:1px solid #e2e8f0;padding-top:18px}.ib-phase27-history article{display:grid;grid-template-columns:14px 1fr;gap:12px;padding:10px 0}.ib-phase27-history i{width:10px;height:10px;margin-top:6px;border-radius:50%;background:#c8902f}.ib-phase27-history small{display:block;color:#64748b}
.ib-phase27-dashboard>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ib-phase27-dashboard a{padding:18px;border-radius:16px;background:#f8fafc;color:inherit;text-decoration:none}.ib-phase27-dashboard small{color:#c8902f;font-weight:800}
.ib-phase27-admin table{width:100%;border-collapse:collapse;background:#fff}.ib-phase27-admin th,.ib-phase27-admin td{padding:14px;border-bottom:1px solid #e2e8f0;text-align:right}.ib-phase27-admin td small{display:block;color:#64748b}.ib-phase27-filters{grid-template-columns:2fr 1fr 1.5fr auto;margin:18px 0}
.status,.ib-phase27-submission>header>strong{display:inline-flex;padding:6px 11px;border-radius:99px;background:#e2e8f0;font-size:.8rem}.is-approved{background:#dcfce7!important;color:#166534}.is-revision_requested{background:#fef3c7!important;color:#92400e}.is-rejected{background:#fee2e2!important;color:#991b1b}.is-under_review,.is-submitted{background:#dbeafe!important;color:#1e40af}
.ib-phase27-review-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px}.ib-phase27-review-grid main>section,.ib-phase27-review-grid aside,.ib-phase27-decision{padding:22px;border-radius:18px;background:#fff;border:1px solid #e2e8f0}.ib-phase27-decision{display:grid;gap:14px;margin-top:18px}.ib-phase27-review-grid aside article{padding:12px 0;border-bottom:1px solid #e2e8f0}.ib-phase27-review-grid aside small{display:block;color:#64748b}
.ib-phase27-error{display:block;color:#b91c1c;margin-top:8px}
@media(max-width:820px){.ib-phase27-fields,.ib-phase27-dashboard>div,.ib-phase27-review-grid,.ib-phase27-filters{grid-template-columns:1fr}.ib-phase27-submission,.ib-phase27-dashboard{padding:18px}.ib-phase27-submission>header,.ib-phase27-review>header{align-items:flex-start;flex-direction:column}.table-responsive{overflow-x:auto}}

/* ACADEMY PRACTICE SUBMISSION POLISH */
.ib-phase27-submission {
    position: relative;
    overflow: hidden;
    padding: clamp(20px, 3vw, 32px);
    border-color: #dce4ec;
    box-shadow: 0 20px 55px rgba(12, 39, 69, .07);
}

.ib-phase27-submission::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #0c2745, #c8902f);
}

.ib-phase27-submission > header {
    align-items: flex-start;
    margin-bottom: 24px;
}

.ib-phase27-submission > header > div {
    max-width: 760px;
}

.ib-phase27-submission header span {
    display: block;
    margin-bottom: 6px;
    color: #b47b1e;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: none;
}

.ib-phase27-submission h2 {
    margin: 0;
    color: #0c2745;
    line-height: 1.6;
}

.ib-phase27-intro {
    margin: 8px 0 0;
    color: #64748b;
    line-height: 1.9;
}

.ib-phase27-form {
    display: grid;
    gap: 18px;
}

.ib-phase27-field {
    display: grid;
    align-content: start;
    gap: 8px;
    min-width: 0;
}

.ib-phase27-field > span {
    color: #1e293b;
    font-weight: 850;
}

.ib-phase27-field > small {
    color: #64748b;
    font-size: .82rem;
    font-weight: 500;
    line-height: 1.8;
}

.ib-phase27-submission textarea,
.ib-phase27-submission input[type="url"],
.ib-phase27-submission input[type="file"] {
    min-height: 48px;
    border: 1px solid #cbd5e1;
    border-radius: 14px;
    background: #fbfdff;
    color: #0f172a;
    outline: none;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}

.ib-phase27-submission textarea {
    min-height: 142px;
    resize: vertical;
    line-height: 1.9;
}

.ib-phase27-submission textarea:focus,
.ib-phase27-submission input:focus {
    border-color: #c8902f;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(200, 144, 47, .12);
}

.ib-phase27-submission input[type="url"] {
    direction: ltr;
    text-align: left;
}

.ib-phase27-submission input[type="file"] {
    overflow: hidden;
    padding: 6px;
    cursor: pointer;
}

.ib-phase27-submission input[type="file"]::file-selector-button {
    min-height: 36px;
    margin-inline-end: 10px;
    padding: 7px 14px;
    border: 0;
    border-radius: 10px;
    background: #e9eef4;
    color: #0c2745;
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}

.ib-phase27-fields {
    align-items: stretch;
    margin-top: 0;
}

.ib-phase27-fields > .ib-phase27-field {
    padding: 16px;
    border: 1px solid #e2e8f0;
    border-radius: 17px;
    background: #f8fafc;
}

.ib-phase27-submit-note {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-inline-start: 4px solid #c8902f;
    border-radius: 12px;
    background: #fff9ed;
}

.ib-phase27-submit-note strong {
    color: #7c5415;
}

.ib-phase27-submit-note p {
    margin: 0;
    color: #725b34;
    font-size: .88rem;
    line-height: 1.8;
}

.ib-phase27-actions {
    justify-content: flex-start;
    gap: 10px;
    margin-top: 0;
    padding-top: 2px;
}

.ib-phase27-actions button {
    min-height: 46px;
    padding: 11px 22px;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}

.ib-phase27-actions button:hover {
    transform: translateY(-1px);
}

.ib-phase27-actions .ib-phase27-button {
    box-shadow: 0 10px 24px rgba(12, 39, 69, .16);
}

.ib-phase27-draft-button {
    border: 1px solid #cbd5e1 !important;
    background: #fff !important;
    color: #0c2745 !important;
}

.ib-phase27-guest {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 18px;
    border-radius: 17px;
    background: #f8fafc;
}

.ib-phase27-guest strong {
    color: #0c2745;
}

.ib-phase27-guest p {
    max-width: 720px;
    margin: 5px 0 0;
    color: #64748b;
    line-height: 1.8;
}

.ib-phase27-result-label {
    display: block;
    margin-bottom: 8px;
    color: #b47b1e;
    font-size: .78rem;
    font-weight: 900;
}

.ib-phase27-error {
    padding: 9px 12px;
    border-radius: 10px;
    background: #fef2f2;
    color: #b91c1c;
}

@media (max-width: 820px) {
    .ib-phase27-submission > header,
    .ib-phase27-guest {
        align-items: stretch;
        flex-direction: column;
    }

    .ib-phase27-fields {
        grid-template-columns: 1fr;
    }

    .ib-phase27-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ib-phase27-actions button,
    .ib-phase27-guest .ib-phase27-button {
        width: 100%;
        text-align: center;
    }
}

/* ACADEMY PRACTICE FINAL POLISH */
.ib-academy-practice-show-phase22__layout {
    align-items: start;
}

.ib-academy-practice-show-phase22__content,
.ib-academy-practice-show-phase22__sidebar {
    align-self: start;
}

.ib-phase27-file-picker {
    position: relative;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 12px !important;
    min-height: 50px;
    overflow: hidden;
    padding: 6px;
    border: 1px solid #cbd5e1;
    border-radius: 14px;
    background: #fbfdff;
    cursor: pointer;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}

.ib-phase27-file-picker:hover,
.ib-phase27-file-picker:focus-within {
    border-color: #c8902f;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(200, 144, 47, .12);
}

.ib-phase27-file-picker input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    opacity: 0;
    pointer-events: none;
}

.ib-phase27-file-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    margin: 0 !important;
    padding: 7px 15px;
    border-radius: 10px;
    background: #e9eef4;
    color: #0c2745 !important;
    font-size: .84rem !important;
    font-weight: 850 !important;
    white-space: nowrap;
}

.ib-phase27-file-picker b {
    min-width: 0;
    overflow: hidden;
    color: #64748b;
    font-size: .82rem;
    font-weight: 600;
    direction: rtl;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ib-academy-practice-show-phase22__layout + .ib-phase27-submission {
    margin-top: 24px;
}

@media (max-width: 560px) {
    .ib-phase27-file-picker {
        grid-template-columns: 1fr;
    }

    .ib-phase27-file-picker b {
        padding: 2px 7px 5px;
        text-align: center;
    }
}
