/* Coffee Timer Pro - Unified Desktop Styles */

@media screen and (min-width: 768px) {
    /* Desktop Layout Base */
    body {
        background: #000000;
        overflow: hidden;
    }

    .mobile-app {
        width: 100%;
        height: 100vh;
        display: flex;
        flex-direction: row;
        background: #000000;
        position: relative;
        overflow: hidden;
    }

    /* Desktop Sidebar */
    .desktop-sidebar {
        width: 260px;
        height: 100vh;
        background: rgba(5, 5, 5, 0.98);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border-right: 1px solid rgba(255, 255, 255, 0.06);
        display: flex !important;
        flex-direction: column;
        position: relative;
        flex-shrink: 0;
        z-index: 100;
    }

    /* Sidebar Header */
    .sidebar-header {
        padding: 24px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }

    .sidebar-logo {
        display: flex;
        align-items: center;
        gap: 12px;
        font-size: 22px;
        font-weight: 600;
        color: white;
    }

    .sidebar-logo .logo-icon {
        font-size: 28px;
        filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
    }

    .sidebar-logo .logo-text {
        background: linear-gradient(135deg, #FF6B35, #F7931E);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        letter-spacing: -0.5px;
    }

    /* Sidebar Navigation */
    .sidebar-nav {
        flex: 1;
        padding: 24px 0;
        overflow-y: auto;
        overflow-x: hidden;
    }

    .sidebar-nav::-webkit-scrollbar {
        width: 4px;
    }

    .sidebar-nav::-webkit-scrollbar-track {
        background: transparent;
    }

    .sidebar-nav::-webkit-scrollbar-thumb {
        background: rgba(255, 255, 255, 0.1);
        border-radius: 2px;
    }

    .sidebar-item {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 12px 24px;
        margin: 2px 12px;
        border-radius: 8px;
        color: rgba(255, 255, 255, 0.6);
        text-decoration: none;
        transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        position: relative;
        cursor: pointer;
        border: none;
        background: none;
        width: calc(100% - 24px);
        text-align: left;
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 0;
    }

    .sidebar-item:hover {
        background: rgba(255, 255, 255, 0.03);
        color: rgba(255, 255, 255, 0.9);
    }

    .sidebar-item.active {
        background: rgba(255, 107, 53, 0.1);
        color: #FF6B35;
        font-weight: 500;
    }

    .sidebar-item.active::before {
        content: '';
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 3px;
        height: 20px;
        background: #FF6B35;
        border-radius: 0 2px 2px 0;
    }

    .sidebar-icon {
        font-size: 20px;
        min-width: 20px;
    }

    .sidebar-label {
        font-size: 14px;
    }

    .sidebar-separator {
        height: 1px;
        background: rgba(255, 255, 255, 0.06);
        margin: 16px 24px;
    }

    /* Sidebar Footer */
    .sidebar-footer {
        padding: 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.06);
    }

    .sidebar-actions {
        display: flex;
        gap: 8px;
    }

    .sidebar-action-btn {
        flex: 1;
        padding: 10px;
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 8px;
        color: rgba(255, 255, 255, 0.7);
        font-size: 13px;
        cursor: pointer;
        transition: all 0.2s;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
    }

    .sidebar-action-btn:hover {
        background: rgba(255, 255, 255, 0.08);
        color: white;
    }

    /* Main Content Wrapper */
    .main-content-wrapper {
        flex: 1;
        display: flex;
        flex-direction: column;
        height: 100vh;
        overflow: hidden;
        position: relative;
    }

    /* App Header */
    .app-header {
        height: 64px;
        padding: 0 32px;
        background: rgba(10, 10, 10, 0.98);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: relative;
        flex-shrink: 0;
    }

    .header-title {
        font-size: 20px;
        font-weight: 500;
        letter-spacing: 0;
        color: rgba(255, 255, 255, 0.9);
    }

    .header-actions {
        display: flex;
        gap: 12px;
    }

    .header-btn {
        width: 36px;
        height: 36px;
        font-size: 18px;
        transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        background: rgba(255, 255, 255, 0.05);
        border-radius: 8px;
    }

    .header-btn:hover {
        transform: translateY(-1px);
        background: rgba(255, 255, 255, 0.1);
    }

    /* Main Content Area */
    .app-content {
        flex: 1;
        overflow-y: auto;
        overflow-x: hidden;
        background: linear-gradient(135deg, rgba(10, 10, 10, 1) 0%, rgba(20, 15, 12, 1) 100%);
        position: relative;
    }

    .app-content::-webkit-scrollbar {
        width: 12px;
    }

    .app-content::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0.3);
    }

    .app-content::-webkit-scrollbar-thumb {
        background: rgba(255, 107, 53, 0.3);
        border-radius: 6px;
    }

    .app-content::-webkit-scrollbar-thumb:hover {
        background: rgba(255, 107, 53, 0.5);
    }

    /* Views Container */
    .views-container {
        display: flex;
        height: 100%;
        width: 100%;
        transition: transform 0.3s ease;
        position: relative;
    }

    .views-container .view {
        width: 100%;
        flex-shrink: 0;
        padding: 40px;
        max-width: 1400px;
        margin: 0 auto;
        min-height: 100%;
    }

    /* Hide Mobile Elements */
    .status-bar,
    .floating-timer,
    .bottom-nav,
    .fab-menu,
    .pull-to-refresh {
        display: none !important;
    }

    /* Timer View */
    .timer-view {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 60px;
    }

    .timer-circle {
        width: 320px;
        height: 320px;
        box-shadow: 
            0 30px 60px rgba(255, 107, 53, 0.2),
            0 0 100px rgba(255, 107, 53, 0.08);
        margin-bottom: 48px;
    }

    .timer-display {
        font-size: 64px;
        font-weight: 300;
        letter-spacing: -2px;
    }

    .timer-ms {
        font-size: 32px;
        font-weight: 300;
        opacity: 0.7;
    }

    .timer-status {
        font-size: 14px;
        letter-spacing: 2px;
        font-weight: 500;
        opacity: 0.9;
    }

    /* Control Buttons */
    .timer-controls {
        gap: 16px;
        margin-bottom: 48px;
    }

    .control-btn {
        width: 140px;
        height: 52px;
        font-size: 15px;
        font-weight: 500;
        border-radius: 26px;
        cursor: pointer;
        letter-spacing: 0.3px;
    }

    .control-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    }

    .btn-start {
        box-shadow: 0 4px 16px rgba(0, 212, 106, 0.2);
    }

    .btn-start:hover {
        box-shadow: 0 8px 24px rgba(0, 212, 106, 0.3);
    }

    .btn-reset {
        background: rgba(255, 255, 255, 0.06);
    }

    .btn-reset:hover {
        background: rgba(255, 255, 255, 0.09);
    }

    /* Milestone Cards */
    .milestones-container {
        width: 100%;
        max-width: 800px;
        margin: 0 auto;
        padding: 0;
    }

    .milestones-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
    }

    .milestone-card {
        padding: 20px 16px;
        background: rgba(255, 255, 255, 0.02);
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
        border: 1px solid rgba(255, 255, 255, 0.05);
        border-radius: 16px;
        transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        cursor: pointer;
    }

    .milestone-card:hover {
        transform: translateY(-2px);
        background: rgba(255, 255, 255, 0.04);
        border-color: rgba(255, 107, 53, 0.3);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    }

    .milestone-card.active {
        background: rgba(255, 107, 53, 0.1);
        border-color: rgba(255, 107, 53, 0.5);
    }

    .milestone-card.recorded {
        background: rgba(0, 212, 106, 0.08);
        border-color: rgba(0, 212, 106, 0.4);
    }

    .milestone-icon {
        font-size: 32px;
        margin-bottom: 12px;
    }

    .milestone-name {
        font-size: 13px;
        font-weight: 500;
        opacity: 0.8;
        margin-bottom: 8px;
        letter-spacing: 0.3px;
    }

    .milestone-time {
        font-size: 20px;
        font-weight: 600;
        letter-spacing: -0.5px;
    }

    /* Temperature Display */
    .temp-display-widget {
        max-width: 500px;
        margin: 0 auto 32px;
        border-radius: 20px;
        padding: 32px;
        box-shadow: 0 12px 40px rgba(255, 59, 48, 0.2);
    }

    .temp-current {
        font-size: 72px;
        font-weight: 300;
        letter-spacing: -2px;
    }

    .temp-ror {
        font-size: 20px;
        margin-top: 12px;
        opacity: 0.9;
    }

    /* Charts */
    .chart-container, .mobile-chart {
        border-radius: 16px;
        padding: 24px;
        background: rgba(255, 255, 255, 0.02);
        border: 1px solid rgba(255, 255, 255, 0.05);
        height: 350px;
        margin-top: 20px;
    }

    /* Data Cards */
    .data-card {
        background: rgba(255, 255, 255, 0.03);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border: 1px solid rgba(255, 255, 255, 0.06);
        border-radius: 20px;
        padding: 28px;
        margin-bottom: 24px;
    }

    .data-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
    }

    /* Form Inputs */
    .data-input, .temp-input, 
    input[type="text"], input[type="number"], 
    input[type="email"], input[type="password"], 
    select, textarea {
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 12px;
        padding: 14px 18px;
        font-size: 15px;
        transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        color: rgba(255, 255, 255, 0.9);
    }

    .data-input:hover, .temp-input:hover, 
    input:hover, select:hover, textarea:hover {
        background: rgba(255, 255, 255, 0.06);
        border-color: rgba(255, 255, 255, 0.12);
    }

    .data-input:focus, .temp-input:focus, 
    input:focus, select:focus, textarea:focus {
        background: rgba(255, 255, 255, 0.07);
        border-color: rgba(255, 107, 53, 0.4);
        box-shadow: 0 0 0 4px rgba(255, 107, 53, 0.08);
        outline: none;
    }

    /* Buttons */
    button {
        cursor: pointer;
        transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    }

    button:hover {
        transform: translateY(-1px);
    }

    /* Toast */
    .toast {
        max-width: 400px;
        left: auto;
        right: 20px;
    }

    /* Modals */
    .modal, .popup {
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 2000;
    }

    .modal-content, .popup-content {
        max-width: 600px;
        margin: 40px auto;
        border-radius: 20px;
        background: rgba(20, 20, 20, 0.95);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border: 1px solid rgba(255, 255, 255, 0.1);
    }
}

/* Larger Screens */
@media screen and (min-width: 1440px) {
    .timer-circle {
        width: 360px;
        height: 360px;
    }

    .timer-display {
        font-size: 72px;
    }

    .control-btn {
        width: 150px;
        height: 56px;
    }

    .milestones-grid {
        max-width: 900px;
        margin: 0 auto;
    }
}

@media screen and (min-width: 1920px) {
    .timer-circle {
        width: 400px;
        height: 400px;
    }

    .timer-display {
        font-size: 80px;
    }
    
    .view {
        max-width: 1600px;
    }
    
    /* Hide mobile-only elements */
    .bottom-nav,
    .fab-menu {
        display: none !important;
    }
}
