/* -------------------------------------------------------------
   GLOBAL RESET & VARIABLE SYSTEM
   ------------------------------------------------------------- */
:root {
    /* Theme Colors (Slate Dark Dashboard Interface) */
    --bg-app: #0f172a;          /* Slate 900 */
    --bg-sidebar: #1e293b;      /* Slate 800 */
    --bg-card: #1e293b;         /* Slate 800 */
    --bg-card-alt: #334155;     /* Slate 700 */
    --text-main: #f8fafc;       /* Slate 50 */
    --text-muted: #94a3b8;      /* Slate 400 */
    
    --primary: #3b82f6;         /* Blue 500 */
    --primary-hover: #2563eb;   /* Blue 600 */
    --accent: #ec4899;          /* Pink 500 */
    --accent-hover: #db2777;    /* Pink 600 */
    --success: #10b981;         /* Emerald 500 */
    --border-color: #334155;    /* Slate 700 */
    --input-bg: #0f172a;        /* Slate 900 */
    
    /* Font Families */
    --font-ui: 'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-serif: 'Georgia', serif;
    --font-handwriting: 'Times New Roman', Times, serif; /* Styled as italic in CSS */
    
    /* Layout Variables */
    --sidebar-width: 260px;
    --header-height: 80px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

body {
    font-family: var(--font-ui);
    background-color: var(--bg-app);
    color: var(--text-main);
    overflow: hidden;
    height: 100vh;
}

/* Scrollbars styling */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: var(--bg-app);
}
::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

/* -------------------------------------------------------------
   APP LAYOUT CONTAINER
   ------------------------------------------------------------- */
.app-container {
    display: flex;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

/* Sidebar styling */
.app-sidebar {
    width: var(--sidebar-width);
    background-color: var(--bg-sidebar);
    border-right: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 100;
}

.sidebar-header {
    height: var(--header-height);
    display: flex;
    align-items: center;
    padding: 0 24px;
    border-bottom: 1px solid var(--border-color);
}

.logo-area {
    display: flex;
    align-items: center;
    gap: 12px;
}

.logo-icon {
    font-size: 2.2rem;
    color: var(--primary);
}

.logo-text h2 {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: var(--text-main);
}

.logo-text span {
    font-size: 0.75rem;
    color: var(--text-muted);
}

.sidebar-nav {
    flex: 1;
    padding: 24px 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow-y: auto;
}

.nav-item {
    background: none;
    border: none;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 16px;
    border-radius: 8px;
    color: var(--text-muted);
    font-family: var(--font-ui);
    font-size: 0.95rem;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease;
}

.nav-item:hover {
    background-color: var(--border-color);
    color: var(--text-main);
}

.nav-item.active {
    background-color: var(--primary);
    color: var(--text-main);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25);
}

.sidebar-footer {
    padding: 16px;
    border-top: 1px solid var(--border-color);
}

.mobile-host-info {
    background-color: var(--input-bg);
    border-radius: 8px;
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px dashed var(--border-color);
}

.host-details h4 {
    font-size: 0.8rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.host-details p {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--primary);
    margin-top: 2px;
    word-break: break-all;
}

.qr-trigger {
    background-color: var(--border-color);
    width: 36px;
    height: 36px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--text-main);
    transition: background-color 0.2s;
}

.qr-trigger:hover {
    background-color: var(--primary);
}

/* Content Area */
.app-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.app-header {
    height: var(--header-height);
    background-color: var(--bg-sidebar);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 32px;
    flex-shrink: 0;
}

.header-left {
    display: flex;
    align-items: center;
}

.menu-toggle-btn {
    display: none !important; /* Hidden on desktop */
}

.close-sidebar-btn {
    display: none !important; /* Hidden on desktop */
}

.header-left h1 {
    font-size: 1.5rem;
    font-weight: 700;
}

.header-left .subtitle {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-top: 2px;
}

.toggle-preview-btn {
    display: none; /* Desktop default hidden */
}

/* Dashboard Grid Layout */
.dashboard-grid {
    display: flex;
    flex: 1;
    overflow: hidden;
}

.editor-pane {
    flex: 1.1;
    overflow-y: auto;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%;
}

.preview-pane {
    flex: 0.9;
    background-color: #0b0f19;
    border-left: 1px solid var(--border-color);
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* -------------------------------------------------------------
   CARDS & FORMS STYLING
   ------------------------------------------------------------- */
.card {
    background-color: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.card-header {
    padding: 16px 20px;
    border-bottom: 1px solid var(--border-color);
    background-color: rgba(255, 255, 255, 0.02);
}

.card-header h3 {
    font-size: 1.05rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.card-header.space-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.card-body {
    padding: 20px;
}

.card-body.grid-1 {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.card-body.grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.grid-span-2 {
    grid-column: span 2;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-muted);
}

.form-input {
    background-color: var(--input-bg);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 10px 14px;
    color: var(--text-main);
    font-family: var(--font-ui);
    font-size: 0.95rem;
    outline: none;
    transition: border-color 0.2s;
    width: 100%;
}

.form-input:focus {
    border-color: var(--primary);
}

.row-layout {
    display: flex;
    gap: 12px;
    align-items: flex-end;
}

.flex-1 {
    flex: 1;
}

.gap-15 {
    gap: 15px;
}

/* Buttons */
.btn {
    background: none;
    border: none;
    font-family: var(--font-ui);
    font-size: 0.9rem;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s ease;
    text-decoration: none;
}

.btn-primary {
    background-color: var(--primary);
    color: var(--text-main);
}
.btn-primary:hover {
    background-color: var(--primary-hover);
}

.btn-secondary {
    background-color: var(--bg-card-alt);
    color: var(--text-main);
    border: 1px solid var(--border-color);
}
.btn-secondary:hover {
    background-color: var(--border-color);
}

.btn-accent {
    background-color: var(--accent);
    color: var(--text-main);
}
.btn-accent:hover {
    background-color: var(--accent-hover);
}

.btn-large {
    padding: 14px 28px;
    font-size: 1rem;
    width: 100%;
}

.btn-full {
    width: 100%;
}

.btn-sm {
    padding: 6px 12px;
    font-size: 0.8rem;
    border-radius: 6px;
}

.btn-icon-only {
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 8px;
}

.button-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Badge */
.badge {
    background-color: var(--border-color);
    color: var(--text-main);
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
}

/* -------------------------------------------------------------
   EXCEL IMPORT SPECIFIC STYLING
   ------------------------------------------------------------- */
.drop-zone {
    border: 2px dashed var(--border-color);
    border-radius: 8px;
    padding: 30px;
    text-align: center;
    cursor: pointer;
    background-color: rgba(255, 255, 255, 0.01);
    transition: all 0.2s ease;
}

.drop-zone.hover {
    border-color: var(--primary);
    background-color: rgba(59, 130, 246, 0.05);
}

.drop-icon {
    font-size: 2.8rem;
    color: var(--text-muted);
    margin-bottom: 8px;
}

.drop-text {
    font-size: 0.95rem;
    font-weight: 500;
}

.drop-or {
    margin: 8px 0;
    font-size: 0.8rem;
    color: var(--text-muted);
    text-transform: uppercase;
}

.import-actions {
    margin-top: 16px;
    display: flex;
    justify-content: flex-end;
}

.import-status-bar {
    margin-top: 16px;
    padding: 12px;
    border-radius: 8px;
    background-color: var(--input-bg);
    display: flex;
    align-items: center;
    gap: 10px;
    border-left: 4px solid var(--text-muted);
}

.import-status-bar.success {
    border-left-color: var(--success);
}

.import-status-bar.warning {
    border-left-color: var(--accent);
}

.status-indicator {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--text-muted);
}

.import-status-bar.success .status-indicator {
    background-color: var(--success);
}

.status-text {
    font-size: 0.85rem;
    color: var(--text-muted);
    line-height: 1.4;
}

.import-status-bar.success .status-text {
    color: var(--text-main);
}

/* Student List Table */
.table-container {
    max-height: 280px;
    overflow-y: auto;
}

.student-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    text-align: left;
}

.student-table th {
    background-color: rgba(255, 255, 255, 0.02);
    padding: 12px 16px;
    font-weight: 600;
    color: var(--text-muted);
    border-bottom: 1px solid var(--border-color);
    position: sticky;
    top: 0;
    z-index: 5;
}

.student-table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-main);
}

.student-table tbody tr {
    cursor: pointer;
    transition: background-color 0.15s;
}

.student-table tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.03);
}

.student-table tbody tr.selected {
    background-color: rgba(59, 130, 246, 0.1);
    color: var(--primary);
}

.student-table tbody tr.selected td {
    color: var(--primary);
    font-weight: 600;
}

.text-center { text-align: center; }
.text-muted { color: var(--text-muted); }

.bulk-actions-area {
    margin-top: 10px;
}

/* -------------------------------------------------------------
   SUBJECT MARKS GRID STYLING
   ------------------------------------------------------------- */
.subjects-grid-header {
    display: grid;
    grid-template-columns: 2.2fr 1.2fr 1.2fr 1.2fr 1fr 0.6fr;
    padding: 10px 0;
    border-bottom: 1px solid var(--border-color);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--text-muted);
    text-align: center;
}

.subjects-grid-header .hdr-name {
    text-align: left;
    padding-left: 8px;
}

.subjects-list-container {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 8px 0;
    max-height: 350px;
    overflow-y: auto;
}

.subject-row {
    display: grid;
    grid-template-columns: 2.2fr 1.2fr 1.2fr 1.2fr 1fr 0.6fr;
    align-items: center;
    gap: 8px;
}

.sub-input {
    background-color: var(--input-bg);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    padding: 8px 10px;
    color: var(--text-main);
    font-family: var(--font-ui);
    font-size: 0.9rem;
    outline: none;
    text-align: center;
}

.sub-input.sub-name {
    text-align: left;
}

.sub-input:focus {
    border-color: var(--primary);
}

.sub-input:disabled {
    opacity: 0.6;
    background-color: rgba(255, 255, 255, 0.02);
    cursor: not-allowed;
}

.exclude-checkbox-wrapper {
    display: flex;
    justify-content: center;
}

.exclude-checkbox {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: var(--accent);
}

.btn-delete-row {
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4px;
    border-radius: 4px;
    transition: all 0.2s;
}

.btn-delete-row:hover {
    color: var(--accent);
    background-color: rgba(236, 72, 153, 0.1);
}

.grid-actions {
    margin-top: 12px;
    display: flex;
    justify-content: flex-start;
}

.quick-nav-card {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}

/* Tab display toggles */
.tab-pane {
    display: none;
}

.tab-pane.active {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Color Picker */
.color-picker-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.color-btn {
    border: none;
    padding: 8px 16px;
    border-radius: 20px;
    cursor: pointer;
    font-family: var(--font-ui);
    font-weight: 600;
    font-size: 0.8rem;
    color: #334155;
    transition: transform 0.15s;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.color-btn:hover {
    transform: translateY(-2px);
}

.color-btn.active {
    outline: 3px solid var(--primary);
}

/* -------------------------------------------------------------
   A4 LIVE PREVIEW CONTAINER STYLING
   ------------------------------------------------------------- */
.preview-sticky {
    position: sticky;
    top: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 24px;
}

.preview-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 16px;
    flex-shrink: 0;
}

.preview-controls h3 {
    font-size: 1.05rem;
    font-weight: 600;
}

.preview-control-buttons {
    display: flex;
    gap: 8px;
}

.a4-scrollbox {
    flex: 1;
    overflow: auto;
    display: flex;
    justify-content: center;
    padding: 10px;
    background-color: #0b0f19;
    border-radius: 8px;
}

/* -------------------------------------------------------------
   THE A4 PAPER LAYOUT (EXACTLY MATCHING PIL GRAPHICS)
   ------------------------------------------------------------- */
.marksheet-a4-page {
    width: 520px;
    height: 735px;
    background-color: #FF9EBA; /* pink default, overridden dynamically */
    padding: 20px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
    position: relative;
    box-sizing: border-box;
    flex-shrink: 0;
    color: #000000;
    user-select: none;
}

.marksheet-double-border {
    width: 100%;
    height: 100%;
    border: 1.5px solid #000000;
    padding: 2px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    position: relative;
}

.watermark-logo {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 280px;
    height: 280px;
    background-image: url('data:image/png;base64,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');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.055; /* Subtle watermark opacity */
    pointer-events: none;
    z-index: 0;
}

.marksheet-double-border::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    right: 2px;
    bottom: 2px;
    border: 0.5px solid #000000;
    pointer-events: none;
}

/* School info header metadata */
.header-metadata {
    display: flex;
    justify-content: space-between;
    padding: 8px 10px 0 10px;
    font-family: var(--font-serif);
    font-size: 8px;
    font-weight: bold;
    color: #000000;
}

.marksheet-main-header {
    display: flex;
    padding: 2px 10px;
    align-items: center;
}

.crest-logo-container {
    width: 50px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    flex-shrink: 0;
}

.crest-logo-container img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.header-text-block {
    flex: 1;
    text-align: center;
    padding-right: 20px; /* Offset since logo is on the left to keep text centered */
}

.school-title-text {
    font-family: var(--font-serif);
    font-size: 13.2px;
    font-weight: bold;
    line-height: 1.2;
    text-transform: uppercase;
}

.school-address-text {
    font-family: var(--font-serif);
    font-size: 7.8px;
    font-weight: bold;
    margin-top: 1px;
}

.school-phone-text {
    font-family: var(--font-serif);
    font-size: 7.8px;
    font-weight: bold;
}

/* Double lines under header */
.marksheet-double-line {
    height: 5px;
    position: relative;
    margin: 4px 10px;
}

.marksheet-double-line::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1.5px;
    background-color: #000000;
}

.marksheet-double-line::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 0;
    right: 0;
    height: 0.5px;
    background-color: #000000;
}

.report-headings {
    text-align: center;
    margin-top: 2px;
}

.report-headings h2 {
    font-family: var(--font-serif);
    font-size: 11px;
    font-weight: bold;
    margin-bottom: 2px;
}

.report-headings h2.underline {
    font-size: 12px;
    text-decoration: underline;
    margin-bottom: 4px;
}

/* Student details card inside marksheet */
.student-details-card {
    padding: 4px 12px;
    font-family: var(--font-serif);
    font-size: 9.5px;
    font-style: italic;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 6px;
}

.detail-row {
    display: flex;
    align-items: center;
}

.detail-label {
    white-space: nowrap;
}

.detail-value {
    font-family: var(--font-handwriting);
    font-size: 11px;
    font-weight: bold;
    margin-left: 8px;
    border-bottom: 1px dotted transparent; /* just alignment */
}

/* Autofit rules in CSS */
.detail-value.text-fit {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 320px;
}

.detail-horizontal-row {
    display: flex;
    justify-content: space-between;
    margin-top: 2px;
}

.horizontal-item {
    display: flex;
    align-items: center;
}

.horizontal-item:nth-child(2) {
    margin-left: -20px; /* shift middle sections */
}

/* Marks Table Layout */
.marks-table-container {
    padding: 0 10px;
    margin-bottom: 4px;
}

.marksheet-table {
    width: 100%;
    border-collapse: collapse;
    border: 1.2px solid #000000;
}

.marksheet-table th, 
.marksheet-table td {
    border: 1px solid #000000;
    padding: 4px 6px;
    text-align: center;
    font-family: var(--font-serif);
    font-size: 9px;
    box-sizing: border-box;
}

.marksheet-table th {
    font-weight: bold;
    height: 32px;
    vertical-align: middle;
    line-height: 1.1;
}

.marksheet-table td {
    height: 24px;
}

.marksheet-table tbody td:first-child {
    text-align: left;
    font-style: italic;
    padding-left: 8px;
}

.marksheet-table tbody td:not(:first-child) {
    font-family: var(--font-handwriting);
    font-size: 10.5px;
    font-weight: bold;
}

.total-row {
    border-top: 1.2px solid #000000;
    font-weight: bold;
}

.total-row td {
    font-weight: bold;
}

.total-row td:first-child {
    text-align: left;
    font-style: normal;
    padding-left: 8px;
}

.total-row td:nth-child(2),
.total-row td:nth-child(3) {
    font-family: var(--font-handwriting);
    font-size: 10.5px;
    font-weight: bold;
}

.marksheet-footnote {
    font-family: var(--font-serif);
    font-size: 9px;
    font-weight: bold;
    font-style: italic;
    padding: 0 12px;
    margin-top: 4px;
    text-align: left;
}

/* Signatures structure */
.marksheet-signatures {
    display: flex;
    justify-content: space-between;
    padding: 0 12px;
    margin-top: auto; /* Push to bottom of double border block */
    margin-bottom: 12px;
}

.sig-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 120px;
    position: relative;
}

.sig-line {
    width: 100px;
    height: 20px;
    border-bottom: 1px solid #000000;
    margin-bottom: 4px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.sig-text {
    font-family: var(--font-serif);
    font-size: 8px;
    font-weight: bold;
    text-align: center;
    line-height: 1.1;
}

.principal-sig-svg {
    width: 80px;
    height: 25px;
    position: absolute;
    bottom: -2px;
    opacity: 0.85;
}

/* -------------------------------------------------------------
   MODAL PANEL & OVERLAY STYLING
   ------------------------------------------------------------- */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(15, 23, 42, 0.75);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 500;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.modal-overlay.active {
    opacity: 1;
    pointer-events: all;
}

.modal-card {
    background-color: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    width: 90%;
    max-width: 400px;
    overflow: hidden;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.2);
    transform: translateY(20px);
    transition: transform 0.25s ease;
}

.modal-overlay.active .modal-card {
    transform: translateY(0);
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border-color);
}

.modal-header h3 {
    font-size: 1.05rem;
    font-weight: 600;
}

.modal-close {
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
}

.modal-close:hover {
    color: var(--text-main);
}

.modal-body {
    padding: 24px;
}

.modal-help {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: 16px;
}

.qr-canvas-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
    background-color: white;
    padding: 12px;
    border-radius: 8px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.qr-url-box {
    display: flex;
    align-items: center;
    background-color: var(--input-bg);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 6px 12px;
    justify-content: space-between;
}

.qr-url-box span {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 280px;
}

/* Loading Modal */
.loading-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px;
    text-align: center;
}

.spinner {
    width: 48px;
    height: 48px;
    border: 4px solid var(--border-color);
    border-top-color: var(--primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 20px;
}

.progress-bar-container {
    width: 100%;
    height: 6px;
    background-color: var(--border-color);
    border-radius: 3px;
    margin-top: 16px;
    overflow: hidden;
}

.progress-bar-fill {
    height: 100%;
    background-color: var(--primary);
    transition: width 0.1s linear;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Hide mobile bottom nav by default on desktop */
.mobile-bottom-nav {
    display: none;
}

/* -------------------------------------------------------------
   RESPONSIVE DESIGN (MOBILE ADAPTATION)
   ------------------------------------------------------------- */
@media (max-width: 1024px) {
    .app-sidebar {
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        transform: translateX(-100%);
        z-index: 450; /* Above mobile preview pane (z-index 400) */
    }
    
    .app-sidebar.active {
        transform: translateX(0);
    }

    .close-sidebar-btn {
        display: inline-flex !important;
        background: none !important;
        border: none !important;
        color: var(--text-muted) !important;
        margin-left: auto;
    }
    
    .menu-toggle-btn {
        display: inline-flex !important;
        margin-right: 12px;
        background-color: var(--bg-card-alt) !important;
        border: 1px solid var(--border-color) !important;
        color: var(--text-main) !important;
    }
    
    .app-header {
        padding: 0 16px;
    }
    
    .toggle-preview-btn {
        display: inline-flex; /* visible on mobile */
    }
    
    .dashboard-grid {
        position: relative;
    }
    
    .editor-pane {
        flex: 1;
        padding: 16px 16px 90px 16px !important; /* Added 90px bottom padding to prevent overlap with bottom nav */
        max-width: 100vw;
    }
    
    /* Sliding A4 preview pane on mobile */
    .preview-pane {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        z-index: 400;
        border-left: none;
        transform: translateX(100%);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        pointer-events: none; /* Allow clicks to pass through when off-screen */
    }
    
    .preview-pane.active {
        transform: translateX(0);
        pointer-events: auto; /* Enable clicks when preview is active */
    }
    
    .hide-preview-btn {
        display: flex !important;
    }
    
    .card-body.grid-2 {
        grid-template-columns: 1fr;
    }
    
    .grid-span-2 {
        grid-column: span 1;
    }
    
    .subjects-grid-header {
        grid-template-columns: 2fr 1fr 1fr 1fr 0.5fr; /* hide exclude, shrink margins */
    }
    
    .subjects-grid-header .hdr-exclude {
        display: none;
    }
    
    .subject-row {
        grid-template-columns: 2fr 1fr 1fr 1fr 0.5fr;
    }
    
    .subject-row .exclude-checkbox-wrapper {
        display: none; /* hide checkboxes on small layouts, or adjust */
    }

    /* Mobile Bottom Navigation Bar styling */
    .mobile-bottom-nav {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 65px;
        background-color: var(--bg-sidebar); /* Slate 800 */
        border-top: 1px solid var(--border-color);
        justify-content: space-around;
        align-items: center;
        z-index: 500;
        box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.35);
        padding: 4px 0;
    }
    
    .bottom-nav-item {
        background: none;
        border: none;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: var(--text-muted);
        font-family: var(--font-ui);
        font-size: 0.72rem;
        font-weight: 500;
        cursor: pointer;
        gap: 3px;
        flex: 1;
        transition: all 0.2s ease;
    }
    
    .bottom-nav-item .material-icons-round {
        font-size: 1.45rem;
        color: var(--text-muted);
        transition: transform 0.2s ease, color 0.2s ease;
    }
    
    .bottom-nav-item:hover, 
    .bottom-nav-item.active {
        color: var(--primary);
    }
    
    .bottom-nav-item.active .material-icons-round {
        transform: scale(1.15);
        color: var(--primary);
    }
}

/* For extreme small screens */
@media (max-width: 600px) {
    .subjects-grid-header {
        font-size: 0.75rem;
    }
    .sub-input {
        padding: 6px 4px;
        font-size: 0.8rem;
    }
    .row-layout {
        flex-direction: column;
        align-items: stretch;
    }
}

/* -------------------------------------------------------------
   BROWSER NATIVE PRINT STYLESHEET
   ------------------------------------------------------------- */
@media print {
    /* Hide all UI components that shouldn't be printed */
    .app-sidebar,
    .app-header,
    .editor-pane,
    .preview-controls,
    .modal-overlay,
    .sidebar-nav,
    .sidebar-footer {
        display: none !important;
    }

    /* Reset container layouts to allow natural layout flow for print */
    body,
    .app-container,
    .app-content,
    .dashboard-grid {
        background: none !important;
        color: #000000 !important;
        box-shadow: none !important;
        overflow: visible !important;
        height: auto !important;
        width: auto !important;
        display: block !important;
        position: static !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Size the preview pane as an A4 page and center the marksheet inside it using flexbox */
    .preview-pane {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 210mm !important;
        height: 297mm !important;
        position: absolute !important; /* Force absolute placement to bypass parent offsets */
        top: 0 !important;
        left: 0 !important;
        transform: none !important; /* Reset any mobile translation (translateX) during print */
        overflow: hidden !important;
        background: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Ensure parent elements of the marksheet center the marksheet and cover full A4 area */
    .preview-sticky,
    .a4-scrollbox {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        height: 100% !important;
        position: static !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        background: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    /* Scale the marksheet to fill the A4 canvas proportionally with virtually no extra margin */
    .marksheet-a4-page {
        position: relative !important;
        width: 520px !important; /* Keep exact screen layout width */
        height: 735px !important; /* Keep exact screen layout height */
        transform: scale(1.52) !important; /* Scale up proportionally to cover full A4 page */
        transform-origin: center center !important;
        margin: 0 !important;
        padding: 20px !important;
        box-shadow: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        page-break-after: always;
        page-break-inside: avoid;
    }

    /* Document/Page printing rules */
    @page {
        size: A4;
        margin: 0;
    }
}
