/* Placement: due today, shortlists and resumes. One line per row. */
/* The section, laid out as the Moodle section (chat.css #materialsContainer); the theme tokens give light and dark. */
#placementContainer {
    display: flex;
    flex: 1;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    overflow: auto;
    padding: 20px 24px calc(20px + var(--safe-bottom));
    background: var(--color-bg);
}
#placementContainer > * { width: 100%; max-width: 760px; }
@media (max-width: 720px) {
    #placementContainer { padding: 14px 16px calc(14px + var(--safe-bottom)); }
}
.placement-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4px 12px;
    padding: 0 2px;
    margin: 0 0 12px;
}
.placement-title { margin: 0; font-size: 1.35rem; font-weight: 750; letter-spacing: -.01em; color: var(--color-text); }
.placement-fresh { margin: 0; color: var(--color-text-muted); font-size: .78rem; white-space: nowrap; }
.placement-note, .placement-resume { margin: 0; color: var(--color-text-muted); }
.placement-block {
    margin: 0 0 16px;
    padding: 16px 18px 6px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface-raised);
    box-shadow: var(--shadow-raised);
}
.placement-block-title {
    margin: 0 0 6px;
    color: var(--color-text-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.placement-list { margin: 0; padding: 0; list-style: none; }
.placement-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    min-height: var(--touch-target);
    margin: 0 -8px;
    padding: 6px 8px;
    border-top: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text);
    font-size: .9rem;
    transition: background var(--transition);
}
.placement-list > li:first-child > .placement-row { border-top-color: transparent; }
.placement-row:hover { background: var(--color-surface-hover); }
.placement-short-row { padding-top: 8px; padding-bottom: 8px; }
.placement-time {
    flex: none;
    min-width: 44px;
    color: var(--color-text-muted);
    font-size: .8rem;
    font-variant-numeric: tabular-nums;
}
.placement-row-text { flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.placement-company { font-weight: 650; }
.placement-meta { color: var(--color-text-muted); }
.placement-short-row .placement-row-text { display: flex; flex-direction: column; gap: 2px; }
.placement-short-row .placement-company, .placement-role {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.placement-role { color: var(--color-text-muted); font-size: .8rem; font-style: italic; }
.placement-state { flex: none; color: var(--color-text-muted); font-size: .8rem; }
.placement-state.is-todo { color: var(--color-accent); font-weight: 650; }
.placement-link {
    padding: 0;
    border: 0;
    background: none;
    color: var(--color-accent);
    font: inherit;
    cursor: pointer;
    text-decoration: none;
}
.placement-link:hover, .placement-link:focus-visible { text-decoration: underline; }
.placement-resume-name {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    font-size: .82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.placement-short-row > .placement-resume-name { flex: none; max-width: 150px; }
.placement-default {
    flex: none;
    padding: 1px 8px;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    background: var(--color-surface);
    color: var(--color-text-muted);
    font-size: .7rem;
    font-weight: 700;
}
.placement-short-row .placement-resume-name + .placement-default { margin-left: -4px; }
.placement-hint { margin: 8px 0 10px; color: var(--color-text-muted); font-size: .78rem; }
.placement-hint .placement-link { font-size: inherit; }
.placement-empty {
    margin: 4px 0 12px;
    padding: 12px;
    border-radius: var(--radius-md);
    background: var(--color-surface);
    color: var(--color-text-muted);
    font-size: .8rem;
}
@media (max-width: 720px) {
    .placement-fresh { white-space: normal; }
    .placement-short-row > .placement-resume-name { max-width: 100%; flex: 0 1 auto; }
    .placement-row-text { flex-basis: 100%; white-space: normal; }
    .placement-time + .placement-row-text { flex-basis: 0; }
    .placement-short-row .placement-company, .placement-role { white-space: normal; }
    .placement-row { padding: 8px; }
}
.practice-apps { display: inline-flex; flex: none; gap: 6px; }
.practice-btn {
    display: inline-flex;
    align-items: center;
    flex: none;
    gap: 6px;
    height: 30px;
    padding: 0 12px;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    background: var(--color-surface);
    color: var(--color-text);
    font: inherit;
    font-size: .8rem;
    font-weight: 700;
    cursor: pointer;
    transition: border-color var(--transition), background var(--transition), transform var(--transition);
}
.practice-btn:hover { border-color: var(--color-accent); transform: translateY(-1px); }
.practice-mark {
    display: inline-block;
    width: 14px;
    height: 14px;
    background-repeat: no-repeat;
    background-size: contain;
    flex: none;
}
.practice-mark[data-app="claude"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E\
%3Cg stroke='%23d97757' stroke-width='2.4' stroke-linecap='round'%3E\
%3Cpath d='M12 3v18M3 12h18M5.6 5.6l12.8 12.8M18.4 5.6 5.6 18.4'/%3E%3C/g%3E%3C/svg%3E");
}
.practice-mark[data-app="chatgpt"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E\
%3Cg fill='none' stroke='%2310a37f' stroke-width='1.8'%3E\
%3Cellipse cx='12' cy='12' rx='8.5' ry='4'/%3E\
%3Cellipse cx='12' cy='12' rx='8.5' ry='4' transform='rotate(60 12 12)'/%3E\
%3Cellipse cx='12' cy='12' rx='8.5' ry='4' transform='rotate(120 12 12)'/%3E%3C/g%3E%3C/svg%3E");
}
