

@media print {
/*    body .container {
        max-width: 1200px;
    }*/

    div.mud-main-content > div  {
        font-size: 11px;
        margin: 30pt;
        color: #000;
        background-color: #fff;
    }

    .no-print {
        display: none !important;
    }

    .print-only {
        display: block !important;
    }

    .mud-overlay,
    .mud-dialog-container,
    .mud-overlay-dialog {
        display: none !important;
    }

    .nobrk {
        break-inside: avoid;
    }

    .pagebreak {
        page-break-after: always;
    }

    .markdown-content,
    .markdown-content h1,
    .markdown-content h2,
    .markdown-content h3,
    .markdown-content p,
    .markdown-content li,
    .markdown-content td,
    .markdown-content th {
        color: #000;
        background-color: transparent;
    }

    .markdown-content h1,
    .markdown-content h2 {
        border-bottom-color: #ccc;
    }

    .markdown-content table th,
    .markdown-content table td {
        border-color: #000;
    }

    .markdown-content table th {
        background-color: #eee;
    }

    .markdown-content a {
        color: #000;
        text-decoration: underline;
    }

    .note-print-page,
    .note-print-page .markdown-content {
        font-size: var(--print-font-size, 12pt);
    }

    .print-answer-space {
        height: calc(var(--print-answer-lines, 3) * 1.35em);
        background-image: repeating-linear-gradient(
            to bottom,
            transparent,
            transparent 1.35em,
            #999 1.35em,
            #999 calc(1.35em + 1px)
        );
    }
}

:root {
    --event-rank-1: #dd7e6b;
    --event-rank-2: #e8a07a;
    --event-rank-3: #f4c38a;
    --event-rank-4: #ffe599;
    --event-rank-5: #ffe9aa;
    --event-rank-6: #ffeebb;
    --event-rank-7: #fff2cc;
    --event-rank-8: #fff6dd;
    --event-rank-9: #fffbee;
    --event-rank-10: #ffffff;
}

.event-rank-1 { background-color: var(--event-rank-1); }
.event-rank-2 { background-color: var(--event-rank-2); }
.event-rank-3 { background-color: var(--event-rank-3); }
.event-rank-4 { background-color: var(--event-rank-4); }
.event-rank-5 { background-color: var(--event-rank-5); }
.event-rank-6 { background-color: var(--event-rank-6); }
.event-rank-7 { background-color: var(--event-rank-7); }
.event-rank-8 { background-color: var(--event-rank-8); }
.event-rank-9 { background-color: var(--event-rank-9); }
.event-rank-10 { background-color: var(--event-rank-10); }

.event-attr-chip {
    background-color: rgba(255, 255, 255, 0.92) !important;
}

.app-dark .event-attr-chip {
    background-color: rgba(33, 37, 41, 0.82) !important;
}

.event-rank-attrs {
    background-color: rgba(255, 255, 255, 0.55) !important;
}

.app-dark .event-rank-attrs {
    background-color: rgba(33, 37, 41, 0.55) !important;
}

@media print {
    .event-attr-chip,
    .event-rank-attrs {
        background-color: rgba(255, 255, 255, 0.92) !important;
    }

    .event-attr-mark {
        filter: brightness(0.62) saturate(1.15);
    }
}

.event-attr-mark {
    filter: brightness(0.62) saturate(1.15);
}

.app-dark .event-attr-mark {
    filter: brightness(1.55) saturate(1.2);
}

.app-dark .event-attr-mark-effort {
    filter: none;
    color: #f2f2f2 !important;
}

.event-attr-inline {
    font-family: monospace;
    white-space: pre;
}

.event-attr-compact {
    white-space: normal;
}

.event-rank-swatch {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.event-rank-swatch-lg {
    width: 12px;
    height: 12px;
    margin-right: 6px;
}

.event-rank-swatch-preview {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    min-height: 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 4px;
    border: 1px solid var(--mud-palette-lines-default);
    font-size: 0.8rem;
    font-weight: 600;
}

.rank-preset-card {
    cursor: pointer;
    height: 100%;
}

.rank-preset-card-selected {
    border-color: var(--mud-palette-primary);
    border-width: 2px;
}

.rank-preset-strip {
    display: flex;
    width: 100%;
    overflow: hidden;
    border-radius: 4px;
    border: 1px solid var(--mud-palette-lines-default);
}

.rank-preset-strip-cell {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 2.25rem;
    font-size: 0.75rem;
    font-weight: 600;
}


.pre-wrap-text {
    white-space: pre-wrap;
}

.state-schedule-table {
    width: 100%;
}

.state-schedule-table th,
.state-schedule-table td,
.state-schedule-table table th,
.state-schedule-table table td {
    vertical-align: top !important;
}

.combined-sub-event {
    padding-left: 1.5rem !important;
}

@media print {
    .state-schedule-handout {
        margin-left: -30pt !important;
        margin-right: -12pt !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: calc(100% + 42pt) !important;
        max-width: none !important;
    }

    .state-schedule-handout .mud-paper,
    .state-schedule-handout .mud-table-container,
    .state-schedule-handout .mud-table {
        box-shadow: none !important;
    }

    .state-schedule-table,
    .state-schedule-table table {
        width: 100%;
        border-collapse: collapse;
    }

    .state-schedule-table th,
    .state-schedule-table td,
    .state-schedule-table table th,
    .state-schedule-table table td {
        vertical-align: top;
        padding: 4px 8px;
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        border-bottom: none !important;
    }

    .state-schedule-table thead th,
    .state-schedule-table table thead th {
        border-bottom: 2px solid #000 !important;
    }

    .state-schedule-table tbody td,
    .state-schedule-table table tbody td {
        border-bottom: 1px solid #000 !important;
    }

    .state-schedule-table tbody tr:last-child td,
    .state-schedule-table table tbody tr:last-child td {
        border-bottom: none !important;
    }

    .state-schedule-table .combined-sub-event,
    .state-schedule-table table .combined-sub-event {
        padding-left: 1.5rem !important;
    }
}

.page-header {
    margin-bottom: 1.5rem;
}

.page-header-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}

@media (max-width: 600px) {
    .page-header-actions {
        justify-content: flex-end;
        margin-top: 0.5rem;
        margin-left: auto;
    }
    
    /* Hide button text on small screens by setting font-size to 0 */
    .page-header-actions .mud-button {
        min-width: auto;
        padding-left: 12px;
        padding-right: 12px;
        font-size: 0;
    }
    
    /* Restore icon size - MudBlazor uses material-icons font */
    .page-header-actions .mud-button .mud-icon-root {
        font-size: 1.5rem !important;
        display: inline-flex !important;
    }
    
    .page-header-actions .mud-button .mud-icon-root .mud-icon,
    .page-header-actions .mud-button .mud-icon-root .material-icons {
        font-size: 1.5rem !important;
        width: 1.5rem !important;
        height: 1.5rem !important;
        line-height: 1.5rem !important;
    }
    
    .page-header > div > div:first-of-type {
        flex-direction: column;
        align-items: flex-start !important;
    }
}

.form-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}

@media (max-width: 600px) {
    .form-actions {
        flex-direction: column;
        width: 100%;
    }
    
    .form-actions > * {
        width: 100%;
    }
}

.icon-button-hover-error:hover {
    color: var(--mud-palette-error) !important;
}

/* Micro-interactions: Table row transitions */
.mud-table-row {
    transition: background-color 0.2s ease;
}

/* Micro-interactions: Page transitions */
.page-enter {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Toolbar title responsive styling */
.appbar-title {
    max-width: calc(100vw - 150px);
}

@media (max-width: 600px) {
    .appbar-title {
        font-size: 0.875rem;
        max-width: calc(100vw - 120px);
    }
    
    /* Reduce base font size on mobile */
    body {
        font-size: 0.875rem;
    }
}

/* Markdown content styling */
.markdown-content {
    line-height: 1.6;
}

.markdown-content h1,
.markdown-content h2,
.markdown-content h3,
.markdown-content h4,
.markdown-content h5,
.markdown-content h6 {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    font-weight: 600;
}

.markdown-content h1 {
    font-size: 2em;
    border-bottom: 1px solid var(--mud-palette-divider);
    padding-bottom: 0.3em;
}

.markdown-content h2 {
    font-size: 1.5em;
    border-bottom: 1px solid var(--mud-palette-divider);
    padding-bottom: 0.3em;
}

.markdown-content p {
    margin: 1em 0;
}

.markdown-content ul,
.markdown-content ol {
    margin: 1em 0;
    padding-left: 2em;
}

.markdown-content li {
    margin: 0.5em 0;
}

.markdown-content a {
    color: var(--mud-palette-primary);
    text-decoration: none;
}

.markdown-content a:hover {
    text-decoration: underline;
}

.markdown-content code {
    background-color: var(--mud-palette-background-grey);
    padding: 0.2em 0.4em;
    border-radius: 3px;
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
}

.markdown-content pre {
    background-color: var(--mud-palette-background-grey);
    padding: 1em;
    border-radius: 4px;
    overflow-x: auto;
}

.markdown-content pre code {
    background-color: transparent;
    padding: 0;
}

.markdown-content blockquote {
    border-left: 4px solid var(--mud-palette-primary);
    padding-left: 1em;
    margin: 1em 0;
    color: var(--mud-palette-text-secondary);
}

.markdown-content table {
    border-collapse: collapse;
    width: 100%;
    margin: 1em 0;
}

.markdown-content table th,
.markdown-content table td {
    border: 1px solid var(--mud-palette-divider);
    padding: 0.5em;
    text-align: left;
}

.markdown-content table th {
    background-color: var(--mud-palette-background-grey);
    font-weight: 600;
}

.markdown-content img {
    max-width: 100%;
    height: auto;
}

.print-only {
    display: none;
}

#page-printer-editor .EasyMDEContainer .CodeMirror {
    min-height: 16rem;
}

.note-print-page {
    --print-font-size: 12pt;
    --print-answer-lines: 3;
}

.note-print-page .markdown-content {
    font-size: var(--print-font-size, 12pt);
    line-height: 1.35;
}

.note-print-page .markdown-content h1 {
    font-size: 1.3em;
    margin-top: 0;
}

.note-print-page .markdown-content table {
    margin: 0.5em 0 1em;
    font-size: 0.85em;
}

.print-rank-badges {
    margin: 0.2em 0 0.5em;
    line-height: 1.6;
}

.print-rank-badge {
    display: inline-block;
    white-space: nowrap;
    line-height: 1.2;
}

.print-rank-dot {
    display: inline-block;
    width: 0.65em;
    height: 0.65em;
    border-radius: 50%;
    flex-shrink: 0;
    background: #ddd;
}

.print-event-attrs {
    font-family: monospace;
    white-space: pre;
}

.print-badge-legend {
    margin: 0.4em 0 0.9em;
    font-size: 0.85em;
}

.print-attr-legend {
    margin-top: 0.25em;
    line-height: 1.6;
}

.print-legend-mark {
    display: inline-block;
    white-space: nowrap;
}

.print-answer-space {
    display: block;
    height: calc(var(--print-answer-lines, 3) * 1.35em);
    overflow: hidden;
    margin: 0.35em 0 0.75em;
    box-sizing: content-box;
    background-image: repeating-linear-gradient(
        to bottom,
        transparent,
        transparent 1.35em,
        #bbb 1.35em,
        #bbb calc(1.35em + 1px)
    );
}

/* Note color classes - pastel background colors */
.note-color-0 {
    background-color: #e3f2fd;
}

.note-color-1 {
    background-color: #fff9e6;
}

.note-color-2 {
    background-color: #f3e5f5;
}

/* Calendar event item styling */
.calendar-event-item {
    background-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.875rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    box-sizing: border-box;
    text-align: center;
}

/* Ensure tooltip wrapper doesn't constrain width or height and adds spacing */
.event-calendar .mud-tooltip-root {
    width: 100%;
    height: 100%;
    display: block;
    padding: 2px;
    box-sizing: border-box;
}

.calendar-event-item:hover {
    background-color: var(--mud-palette-primary-darken);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
}

.calendar-event-item:active {
    background-color: var(--mud-palette-primary-darken);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.event-rank-ok {
    display: flex;
    align-items: center;
    gap: 0.5em;
    margin-top: 0.35em;
}

.event-rank-ok-box {
    display: inline-block;
    width: 1.4em;
    height: 1.4em;
    min-width: 1.4em;
    min-height: 1.4em;
    border: 2px solid #111;
    flex-shrink: 0;
    box-sizing: border-box;
    line-height: 1;
    background: #fff;
}

.event-rank-turn-in {
    margin-top: 0.45em;
    margin-bottom: 0.15em;
}

.event-rank-header {
    display: block;
    white-space: nowrap;
}

.event-rank-meta {
    font-size: 0.85em;
    font-weight: 400;
    margin-left: 0.85rem;
}

.event-rank-rewrite {
    display: flex;
    align-items: flex-end;
    gap: 0.4em;
    margin-top: 0.85rem;
    max-width: 100%;
}

.event-rank-rewrite-line {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 1.35em;
    border-bottom: 1px solid #111;
}

.event-rank-description {
    margin-top: 0.15rem;
}

.event-rank-theme {
    margin-top: 0.1rem;
}

.event-rank-sign-prompt {
    margin-top: 1.25rem;
}

.event-rank-sign-line {
    margin-top: 0.35rem;
    min-height: 2.25rem;
    border-bottom: 1px solid #111;
}

.assignment-page {
    padding-bottom: 9rem;
}

.assignment-result-table .mud-table-head {
    display: none;
}

.assignment-result-table .mud-table-cell {
    border-bottom: none;
    text-align: left;
    padding-left: 0;
    padding-right: 0;
}

.assignment-result-card {
    text-align: left;
    vertical-align: top;
}

.assignment-team-header {
    flex-wrap: nowrap;
}

.assignment-team-header-main {
    flex: 1 1 auto;
    min-width: 0;
}

.assignment-team-header-meta {
    flex: 0 0 auto;
    white-space: nowrap;
}

.assignment-compact-toggle {
    height: 1.15rem;
    min-height: 1.15rem;
}

.assignment-compact-toggle .mud-toggle-item {
    min-width: 1.15rem;
    min-height: 1.15rem;
    padding: 0 0.25rem;
    font-size: 0.7rem;
    line-height: 1.15rem;
}

.assignment-compact-toggle .mud-toggle-item > .mud-button-label {
    min-height: 0;
    line-height: 1.15rem;
}

.assignment-team-count {
    margin-left: 0.5rem;
}

.assignment-team-size .mud-icon-button {
    width: 1.15rem;
    height: 1.15rem;
    padding: 0;
}

.assignment-team-size .mud-icon-button .mud-icon-root {
    font-size: 0.85rem;
}

.assignment-student-capacity {
    margin-right: 0.4rem;
}

.assignment-student-warnings {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
}

.interactive-chip-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
}

.interactive-chip-controls {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    white-space: nowrap;
}

.interactive-chip-wrapper:not(.interactive-chip-always-controls) .interactive-chip-controls {
    display: none;
}

.interactive-chip-wrapper:not(.interactive-chip-always-controls):hover,
.interactive-chip-wrapper:not(.interactive-chip-always-controls):focus-within,
.interactive-chip-wrapper.interactive-chip-open {
    z-index: 3;
}

.interactive-chip-wrapper:not(.interactive-chip-always-controls):hover .interactive-chip-controls,
.interactive-chip-wrapper:not(.interactive-chip-always-controls):focus-within .interactive-chip-controls,
.interactive-chip-wrapper.interactive-chip-open .interactive-chip-controls,
.interactive-chip-wrapper.interactive-chip-always-controls .interactive-chip-controls {
    display: inline-flex;
}

@media (max-width: 959px) {
    .assignment-thumb-btn {
        width: 40px;
        height: 40px;
        min-width: 40px;
    }
}

.assignment-sticky-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 8;
    border-top: 1px solid var(--mud-palette-divider);
}

.assignment-sticky-quality {
    flex-wrap: nowrap;
}

.assignment-sticky-chips {
    flex: 1 1 auto;
    min-width: 0;
}

.assignment-sticky-commit {
    flex-shrink: 0;
}

.assignment-save-popover {
    position: relative;
    display: inline-flex;
}

.assignment-save-popover-panel {
    min-width: 16rem;
    max-width: 22rem;
}

@media (min-width: 960px) {
    .mud-drawer-open-responsive-md-left .assignment-sticky-bar,
    .mud-drawer-open-md-left .assignment-sticky-bar {
        left: var(--mud-drawer-width-left);
    }
}

.fourtype-after-name {
    margin-left: 0.4rem;
}

.captain-star.mud-icon-root,
.mud-chip .captain-star {
    color: #d4a017;
    fill: currentColor;
}

.app-dark .captain-star.mud-icon-root,
.app-dark .mud-chip .captain-star {
    color: #f0c94d;
    fill: currentColor;
}

@media print {
    .captain-star.mud-icon-root,
    .mud-chip .captain-star {
        color: #000;
        fill: currentColor;
    }
}

.fourtype-chip {
    display: inline-block;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.28);
    vertical-align: middle;
    flex-shrink: 0;
    background-color: var(--ft-primary);
}

.fourtype-chip-blend {
    background: conic-gradient(from -90deg, var(--ft-primary) 0 180deg, var(--ft-secondary) 180deg 360deg);
}

.fourtype-chip-dominant {
    background: conic-gradient(from -90deg, var(--ft-primary) 0 270deg, var(--ft-secondary) 270deg 360deg);
}

.fourtype-choleric {
    background-color: #E53935;
}

.fourtype-sanguine {
    background-color: #FDD835;
}

.fourtype-melancholic {
    background-color: #1E88E5;
}

.fourtype-phlegmatic {
    background-color: #43A047;
}
