/* --- style.css --- */
/* --- propertyQuest v0.12.2 --- */

/* --- Font Import --- */
@font-face {
    font-family: 'Press Start 2P';
    src: url('../fonts/PressStart2P-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* --- Base Styles --- */
body {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
    font-size: 0.95rem;
    color: #f8f9fa;
    line-height: 1.5;
}
button, .nes-btn, .nes-badge span, .nes-container>.title, .company-header,
.nes-field > label, .stats-grid > div, h1, h2, h3, h4, h5, h6 {
    font-family: 'Press Start 2P', cursive !important;
    line-height: 1.2;
}
.nes-text { font-family: 'Press Start 2P', cursive !important; }
input, select, textarea, .nes-input, .nes-select, .nes-textarea {
     font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;
     font-size: 0.9em;
}
html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }
html, body { height: 100%; margin: 0; overflow: hidden; background-color: #212529; image-rendering: pixelated; }
body.nes-container.is-dark { border: none; padding: 0; font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; }

/* --- Login Screen --- */
#login-screen { position: fixed; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 2000; padding: 2rem; background-color: #212529; }
#login-screen .login-title { font-family: 'Press Start 2P', cursive !important; font-size: 1.3em; margin-bottom: 1.5rem; color: #f7d51d; }
#login-screen .nes-field { margin-bottom: 1rem; max-width: 300px; width: 100%; }
#login-screen .nes-field label { font-family: 'Press Start 2P', cursive !important; font-size: 0.9em !important; color: #f8f9fa; }
#login-screen input.nes-input { color: #f8f9fa; }
#login-screen button#login-button { margin-top: 1rem; min-width: 150px; }

/* --- Main App Wrapper --- */
#main-app { display: none; height: 100vh; width: 100vw; padding-top: 40px; box-sizing: border-box; }

/* --- Header --- */
.company-header { position: fixed; top: 0; left: 0; width: 100%; background-color: #e9ecef; color: #212529; padding: 0 12px; z-index: 1001; border-bottom: 3px solid #212529; height: 40px; display: flex; align-items: center; gap: 10px; font-family: 'Press Start 2P', cursive !important; font-size: 0.8rem; }
.company-header .nes-icon { color: #212529; }
.company-header .menu-toggle { display: none; padding: 0.2rem 0.4rem !important; min-width: auto; min-height: auto; line-height: 1; flex-shrink: 0; align-items: center; justify-content: center; gap: 5px; }
.menu-toggle .nes-icon { position: relative; top: 1px; }
.menu-toggle .mobile-menu-text { display: none; }
.header-nav { display: flex; align-items: center; flex-grow: 1; }
.header-nav ul.list-inline, #mobile-menu-overlay ul.list-inline { list-style: none; padding: 0; margin: 0; display: flex; gap: 6px; }
.header-nav .menu-item { font-size: 0.7em !important; padding: 0.2rem 0.4rem !important; min-height: 26px; border: none !important; background: none !important; color: #212529; border-image-source: none; box-shadow: none; display: inline-flex; align-items: center; border-image-slice: 0 !important; border-style: solid !important; border-width: 2px !important; border-color: transparent !important; }
.header-nav .menu-item i { color: #212529; }
.header-nav .menu-item.is-primary { color: #f7d51d !important; text-decoration: none; background-color: transparent !important; }
.header-nav .menu-item:hover { color: #007bff !important; text-decoration: underline; }
.header-user-status { display: flex; align-items: center; gap: 8px; margin-left: auto; flex-shrink: 0; color: #212529; }
.header-user-status .user-info { display: flex; align-items: center; gap: 4px; font-size: 0.85em; }
.header-user-status i.nes-icon { color: #212529; }
.header-xp-bar { width: 70px; height: 8px; margin: 0; }
.company-name { flex-shrink: 0; display: flex; align-items: center; gap: 4px; color: #212529; }
.company-name i.nes-icon { color: #212529; }

/* --- Mobile Menu Overlay --- */
#mobile-menu-overlay { position: fixed; inset: 0; background-color: rgba(33, 37, 41, 0.95); z-index: 1002; display: none; flex-direction: column; align-items: center; justify-content: flex-start; padding: 50px 15px 15px 15px; overflow-y: auto; }
.mobile-menu-close { position: absolute; top: 10px; right: 10px; padding: 0.3rem 0.5rem !important; }
#mobile-menu-overlay .mobile-nav-links { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: 280px; }
#mobile-menu-overlay ul.list-inline { flex-direction: column; width: 100%; }
#mobile-menu-overlay .menu-item { width: 100%; margin-bottom: 0.8rem; font-size: 0.9rem !important; text-align: center; justify-content: center; }

/* --- App Container & Main Content --- */
.app-container { display: flex; height: calc(100vh - 40px); width: 100%; position: relative; }
.main-content { flex-grow: 1; height: 100%; overflow-y: auto; padding: 0.6rem; min-width: 0; }
.tab-content { display: none; width: 100%; }
.tab-content.is-active { display: block; }

/* --- Containers & Titles --- */
.nes-container { margin-bottom: 0.8rem; padding: 0.5rem; }
.nes-container.with-title { position: relative; padding-top: 1.2rem; margin-top: 1.2rem; }
.nes-container.with-title>.title { position: absolute; top: -1.0rem; left: 0.6rem; padding: 0.15rem 0.5rem; margin: 0; color: #212529 !important; background-color: #fff !important; font-size: 0.85rem !important; z-index: 1; border: 3px solid #212529; }
.nes-container p, .nes-container li { font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 0.9em; color: inherit; }
.nes-container label { font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 0.8em; margin-bottom: 0.1rem; display: block; color: inherit; }
.nes-container .nes-field > label, #settings label:not(.nes-label) {
    font-family: 'Press Start 2P', cursive !important;
    font-size: 0.75em !important;
    color: #f8f9fa;
    margin-bottom: 0.3rem;
}
#settings .nes-label {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;
    font-size: 0.9em !important;
    color: #f8f9fa !important;
    margin-bottom: 0.5rem;
    display: block;
}
#settings .nes-label span {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;
    font-size: 1em !important;
    color: #f8f9fa !important;
    vertical-align: middle;
}
.tab-content > .subtitle { margin-top: 0rem; margin-bottom: 0.8rem; font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; color: #adb5bd; }

/* --- Dashboard Styles --- */
#dashboard .dashboard-activity-feed-container { margin-top: 0.5rem; max-height: 180px; overflow-y: auto; margin-bottom: 1rem; }
#dashboard .dashboard-welcome-message { margin-top: 0; margin-bottom: 0.5rem; font-size: 1.1em; }
#dashboard .dashboard-quick-stats { margin-bottom: 1.2rem; padding: 0.6rem; background-color: #495057 !important; border: 3px solid #f8f9fa !important; }
#dashboard .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 0.2rem 0.5rem; padding: 0.2rem; }
#dashboard .stats-grid > div { display: flex; align-items: center; gap: 4px; font-size: 0.75em !important; color: #f8f9fa; }
#dashboard .stats-grid > div .nes-icon { color: #f8f9fa; }
#dashboard .stat-high-priority { grid-column: 1 / -1; justify-content: center; margin-top: 0.2rem; }
#dashboard .dashboard-columns-new { display: grid; gap: 1rem; }
@media (min-width: 992px) { #dashboard .dashboard-columns-new { grid-template-columns: 1fr 1fr; } }
@media (max-width: 991px) { #dashboard .dashboard-columns-new { grid-template-columns: 1fr; } }
#dashboard .dash-column-left, #dashboard .dash-column-right { display: flex; flex-direction: column; gap: 0.8rem; }
#dashboard .recent-items-stack { display: flex; flex-direction: column; gap: 0.8rem; }
#dashboard .recent-items-stack > div > p:first-child { color: #6c757d; font-size: 0.8em; text-align: center; padding: 0.5rem; }
#dashboard .recent-items-stack .item-card { margin-bottom: 0 !important; }
#dashboard .recent-items-stack .item-card .title.card-title { font-size: 0.75em !important; top: -0.85rem; }
#dashboard .recent-items-stack .item-card .card-details p { font-size: 0.8em !important; line-height: 1.2; margin-bottom: 0.1rem;}
/* Removed alert-grid styles */
#dashboard .nes-progress { margin-bottom: 0.5rem; height: 12px; }
#dashboard .dash-column-right .nes-container label { font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; font-size: 0.8em !important; color: #f8f9fa; }
#dashboard-activity-feed { padding: 0 0.6rem; margin: 0; list-style-position: inside; }
#dashboard-activity-feed li { font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 0.85em; margin-bottom: 0.2rem; line-height: 1.4; color: #adb5bd; }
#dashboard-activity-feed li .nes-icon, #dashboard-activity-feed li .nes-text { font-family: 'Press Start 2P', cursive !important; vertical-align: middle; }
#dashboard-activity-feed li .nes-text.is-error { color: #e76e55 !important; }
#dashboard-activity-feed li .nes-text.is-warning { color: #f7d51d !important; }
#dashboard-activity-feed li .nes-text.is-disabled { color: #6c757d !important; }
/* New Alert List Styles */
#dashboard-alerts-list {
    list-style: none; /* Remove nes-list disc */
    padding: 0 0.4rem; margin: 0;
    max-height: 120px; /* Limit height */
    overflow-y: auto;
}
#dashboard-alerts-list li {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
    font-size: 0.85em;
    margin-bottom: 0.3rem;
    line-height: 1.3;
    color: #f8f9fa; /* Default light text */
    display: flex;
    align-items: center;
    gap: 6px;
}
#dashboard-alerts-list li .nes-icon {
    flex-shrink: 0; /* Prevent icon squishing */
}
/* New Achievement List Styles */
#dashboard-achievements-list {
    list-style: none; /* Remove nes-list disc */
    padding: 0 0.4rem; margin: 0;
    max-height: 120px; /* Limit height */
    overflow-y: auto;
}
#dashboard-achievements-list li {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
    font-size: 0.9em;
    margin-bottom: 0.3rem;
    line-height: 1.3;
    color: #adb5bd; /* Slightly dimmer text */
    display: flex;
    align-items: center;
    gap: 6px;
}
#dashboard-achievements-list li .nes-icon {
    flex-shrink: 0;
    color: #f7d51d; /* Default achievement icon color (e.g., trophy) */
}


/* --- Search & Add Bar --- */
.search-add-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 0.8rem; margin-top: 0.3rem; }
.search-add-bar .nes-field { margin-bottom: 0; flex-grow: 1; min-width: 180px; }
.search-add-bar .nes-field label { margin-right: 0.4rem; font-size: 0.75em !important; color: #f8f9fa; }
.search-add-bar .nes-input { font-size: 0.9em; }
.search-add-bar .nes-btn { flex-shrink: 0; min-height: 32px; }

/* --- Card Layout --- */
.cards-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 0.8rem; }
.item-card.nes-container { padding: 0.6rem; margin-bottom: 0.8rem; padding-top: 1rem; display: flex; flex-direction: column; background-color: #fff !important; color: #212529 !important; border: 3px solid #212529 !important; border-radius: 0 !important; }
.item-card .title.card-title { font-size: 0.8em !important; left: 0.5rem; top: -0.9rem; padding: 0.1rem 0.4rem; background-color: #fff !important; color: #212529 !important; border: 3px solid #212529; }
.item-card .card-content { display: flex; gap: 0.6rem; align-items: flex-start; margin-top: 0.3rem; }
.item-card .card-avatar { flex-shrink: 0; }
.item-card .card-avatar .nes-icon { color: #6c757d; }
.item-card .card-details { flex-grow: 1; min-width: 0; }
.item-card .card-details p { margin-bottom: 0.15rem; font-size: 0.8em; line-height: 1.25; white-space: normal; word-break: break-word; color: #212529; }
.item-card .card-details p strong { font-family: 'Press Start 2P', cursive !important; color: #495057; margin-right: 0.4em; font-size: 0.9em; font-weight: normal; }
.item-card .card-details .nes-icon { vertical-align: middle; color: #212529; }
.item-card .card-details .status-operational,
.item-card .card-details .status-needs-repair,
.item-card .card-details .status-vacant,
.item-card .card-details .status-overdue,
.item-card .card-details .status-current,
.item-card .card-details .status-moving-out,
.item-card .card-details .status-open,
.item-card .card-details .status-in-progress,
.item-card .card-details .status-resolved { font-family: 'Press Start 2P', cursive !important; color: #212529; }

/* --- Clickable Card Feedback --- */
.clickable-cards .item-card { cursor: pointer; transition: transform 0.1s ease-in-out, box-shadow 0.1s ease-in-out; }
.clickable-cards .item-card:hover { transform: translateY(-3px); box-shadow: 0 4px 8px rgba(255, 255, 255, 0.2); }

/* --- Task Card Styles --- */
.cards-container.single-column { grid-template-columns: 1fr; gap: 0.6rem; }
.item-card.task-card { padding: 0.5rem; padding-top: 0.5rem; margin-bottom: 0.8rem; background-color: #f8f9fa !important; color: #212529 !important; border: 3px solid #212529 !important; }
.task-card-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px dotted #6c757d; padding-bottom: 0.4rem; margin-bottom: 0.4rem; font-size: 0.8em; color: #212529; }
.task-card-header .task-id { font-family: 'Press Start 2P', cursive !important; font-weight: bold; color: #212529;}
.task-card-header .task-priority, .task-card-header .task-status { display: inline-flex; align-items: center; gap: 3px; font-family: 'Press Start 2P', cursive !important; color: #212529; }
.task-card-header .nes-text.is-error { color: #e76e55 !important; }
.task-card-header .nes-text.is-warning { color: #f7d51d !important; }
.task-card-header .nes-text.is-disabled { color: #6c757d !important; }
.task-card-header .task-priority .nes-icon, .task-card-header .task-status .nes-icon { color: inherit !important; }
.task-card-body { margin-bottom: 0.4rem; }
.task-card-body .task-description { font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 0.9em; line-height: 1.4; white-space: normal; margin: 0; color: #212529; }
.task-card-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem; font-size: 0.75em; color: #6c757d; padding-top: 0.4rem; border-top: 1px solid #dee2e6; }
.task-card-footer span { display: inline-flex; align-items: center; gap: 3px; font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; }
.task-card-footer .nes-icon { color: #6c757d; }

/* --- General Components --- */
.nes-btn { min-height: 32px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 0.2rem 0.6rem; font-size: 0.8em !important; border-image-source: none !important; border-image-slice: 0 !important; border-style: solid !important; border-width: 3px !important; }
.nes-progress { height: 12px; border-image-source: none !important; border-image-slice: 0 !important; border-style: solid !important; border-width: 2px !important; border-color: #fff; }
.status-operational, .status-current { color: #92cc41; } .status-needs-repair, .status-moving-out, .status-in-progress { color: #f7d51d; } .status-vacant, .status-resolved { color: #aaaaaa; } .status-overdue, .priority-high { color: #e76e55; } .status-open { color: #209cee; } .priority-medium { color: #f7d51d; } .priority-low { color: #aaaaaa; }
ul.list-inline { list-style: none; padding: 0; margin: 0; }

/* --- Settings Page Styles --- */
#settings .settings-section { margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 2px dotted #6c757d; }
#settings .settings-section:last-child { border-bottom: none; }
#settings .settings-section h4 { margin-bottom: 1rem; color: #f7d51d; display: flex; align-items: center; gap: 8px; }
#settings .logout-section { margin-top: 1.5rem; text-align: center; }

/* --- Custom NES Icons --- */
.nes-icon.building, .nes-icon.list, .nes-icon.tool, .nes-icon.wifi,
.nes-icon.gear, .nes-icon.cancel, .nes-icon.error, .nes-icon.brush,
.nes-icon.key, .nes-icon.calendar, .nes-icon.user, .nes-icon.mail, .nes-icon.phone {
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    image-rendering: pixelated;
    vertical-align: middle;
    width: 16px;
    height: 16px;
}
.nes-icon.building { background-image: url('/img/icons/icon-building.png'); }
.nes-icon.list { background-image: url('/img/icons/icon-list.png'); }
.nes-icon.tool { background-image: url('/img/icons/icon-tool.png'); }
.nes-icon.wifi { background-image: url('/img/icons/icon-wifi.png'); }
.nes-icon.gear { background-image: url('/img/icons/icon-gear.png'); }
.nes-icon.cancel { background-image: url('/img/icons/icon-cancel.png'); }
.nes-icon.error { background-image: url('/img/icons/icon-error-alt.png'); }
.nes-icon.brush { background-image: url('/img/icons/icon-brush.png'); }
.nes-icon.key { background-image: url('/img/icons/icon-key.png'); }
.nes-icon.user { background-image: url('/img/icons/icon-user.png'); }
.nes-icon.mail { background-image: url('/img/icons/icon-mail.png'); }
.nes-icon.phone { background-image: url('/img/icons/icon-phone.png'); }
.nes-icon.calendar { background-image: url('/img/icons/icon-calendar.png'); }
.nes-icon.building.is-small, .nes-icon.list.is-small, .nes-icon.tool.is-small, .nes-icon.wifi.is-small,
.nes-icon.gear.is-small, .nes-icon.cancel.is-small, .nes-icon.error.is-small, .nes-icon.brush.is-small,
.nes-icon.key.is-small, .nes-icon.calendar.is-small, .nes-icon.user.is-small, .nes-mail.user.is-small .nes-mail.phone.is-small { width: 16px; height: 16px; }
.nes-icon.building.is-medium, .nes-icon.list.is-medium, .nes-icon.tool.is-medium, .nes-icon.wifi.is-medium,
.nes-icon.gear.is-medium, .nes-icon.cancel.is-medium, .nes-icon.error.is-medium, .nes-icon.brush.is-medium,
.nes-icon.key.is-medium, .nes-icon.calendar.is-medium, .nes-icon.user.is-medium, .nes-icon.mail.is-medium .nes-icon.phone.is-medium { width: 24px; height: 24px; }
.nes-icon.building.is-large, .nes-icon.list.is-large, .nes-icon.tool.is-large, .nes-icon.wifi.is-large,
.nes-icon.gear.is-large, .nes-icon.cancel.is-large, .nes-icon.error.is-large, .nes-icon.brush.is-large,
.nes-icon.key.is-large, .nes-icon.calendar.is-large, .nes-icon.user.is-large, .nes-icon.mail.is-large .nes-icon.phone.is-large { width: 32px; height: 32px; }
.nes-btn > .nes-icon { position: relative; top: -1px; }

/* --- Modal Styles --- */
#modal-overlay { position: fixed; inset: 0; background-color: rgba(33, 37, 41, 0.85); z-index: 1050; display: none; align-items: center; justify-content: center; padding: 1rem; }
#modal-content { position: relative; background-color: #f8f9fa !important; color: #212529 !important; padding: 1rem 1.5rem; padding-top: 2.5rem; max-width: 700px; width: 100%; max-height: 85vh; overflow-y: auto; z-index: 1051; border: 4px solid #212529 !important; }
#modal-content p, #modal-content li, #modal-content label, #modal-content span, #modal-content div { color: #212529 !important; font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; }
#modal-content h4, #modal-content h5 { font-family: 'Press Start 2P', cursive !important; color: #212529 !important; margin-bottom: 0.8rem; margin-top: 0.5rem; border-bottom: 2px dotted #6c757d; padding-bottom: 0.3rem; font-size: 1em; display: flex; align-items: center; gap: 8px;}
#modal-content strong { font-family: 'Press Start 2P', cursive !important; color: #495057 !important; margin-right: 0.5em; font-size: 0.9em; font-weight: normal; }
#modal-content .nes-textarea { font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; color: #212529 !important; background-color: #e9ecef !important; border-color: #6c757d !important; }
#modal-content .nes-list li { color: #495057 !important; font-size: 0.85em; margin-bottom: 0.15rem; padding-left: 1.5em; }
#modal-content #modal-close-btn { position: absolute; top: 3px; right: 3px; padding: 0.2rem 0.4rem !important; min-width: auto; min-height: auto; line-height: 1; border-width: 2px !important; z-index: 1052; }

/* --- Responsive Adjustments --- */
@media (max-width: 991px) { /* Tablet */
    body { font-size: 0.9rem; }
    #main-app { padding-top: 40px; }
    .main-content { padding: 0.5rem; }
    .nes-container.with-title>.title { font-size: 0.75em !important; left: 0.5rem; }
    .cards-container { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0.6rem;}
    .item-card .card-details p { font-size: 0.75em; }
    .header-nav { gap: 3px; }
    .header-nav .menu-item { font-size: 0.65em !important; padding: 0.1rem 0.2rem !important; }
    .header-user-status { gap: 5px; }
    .task-card-header { font-size: 0.75em;}
    .task-card-footer { font-size: 0.7em;}
    #dashboard .dashboard-columns-new { grid-template-columns: 1fr; }
}

@media (max-width: 767px) { /* Mobile */
    body { font-size: 13px; }
    button, .nes-btn, .nes-badge span, .nes-container>.title, .company-header, .nes-field > label, .stats-grid > div, h1, h2, h3, h4, h5, h6 { font-size: 0.85rem !important; }
    .company-header { height: 36px; padding: 4px 6px; justify-content: flex-start; }
    #main-app { padding-top: 36px; }
    .app-container { height: calc(100vh - 36px); }
    .company-header .menu-toggle { display: inline-flex; }
    .menu-toggle .mobile-menu-text { display: inline; font-size: 0.8em !important; }
    .header-nav { display: none; }
    .header-user-status { margin-left: auto; gap: 4px;}
    .header-user-status .user-info { font-size: 0.75em; }
    .header-xp-bar { width: 40px; height: 6px; }
    .company-name { display: none; }
    .main-content { padding: 0.4rem; }
    .nes-container { margin-bottom: 0.6rem; padding: 0.4rem; }
    .nes-container.with-title { padding-top: 1rem; margin-top: 1rem; }
    .nes-container.with-title>.title { font-size: 0.7em !important; top: -0.8rem; left: 0.3rem; padding: 0.1rem 0.3rem; border-width: 2px; }
    .search-add-bar { flex-direction: column; align-items: stretch; gap: 0.4rem; margin-bottom: 0.6rem; }
    .search-add-bar .nes-field { min-width: auto; }
    .search-add-bar .nes-btn { width: 100%; }
    .cards-container { grid-template-columns: 1fr; gap: 0.5rem;}
    .item-card.nes-container { padding: 0.4rem; padding-top: 0.7rem;}
    .item-card .title.card-title { font-size: 0.75em !important; left: 0.3rem; top: -0.8rem; }
    .item-card .card-content { gap: 0.4rem; margin-top: 0.2rem;}
    .item-card .card-details p { font-size: 0.85em; line-height: 1.2;}
    .item-card .card-details p strong { font-size: 0.85em !important; }
    .task-card-header { font-size: 0.7em; padding-bottom: 0.3rem; margin-bottom: 0.3rem;}
    .task-card-body .task-description { font-size: 0.85em;}
    .task-card-footer { font-size: 0.7em; gap: 0.3rem; padding-top: 0.3rem;}
    #dashboard .dashboard-activity-feed-container { max-height: 150px; font-size: 0.8em; }
    #dashboard .dashboard-welcome-message { font-size: 1em; }
    #dashboard .stats-grid > div { font-size: 0.7em !important;}
    #dashboard .recent-items-stack .item-card .card-details p { font-size: 0.8em !important;}
    #modal-content { max-height: 90vh; padding: 0.8rem 1rem; padding-top: 2.2rem; }
    #modal-content h4, #modal-content h5 { font-size: 0.9em; }
    #modal-content .nes-textarea { font-size: 0.85em; }
    #login-screen .login-title { font-size: 1.1em; }
    #login-screen .nes-field { max-width: 90%; }
    #settings .settings-section h4 {font-size: 1em;}
}
