:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#f5f7fa}#root{max-width:100%;margin:0 auto}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a73e8;color:#fff;cursor:pointer;transition:all .25s}button:hover{background-color:#1557b0}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}button{background-color:#f9f9f9}}.app{min-height:100vh;background-color:#f5f7fa}.app-header{background:linear-gradient(135deg,#1a73e8 0%,#0d47a1 100%);color:#fff;padding:1rem;text-align:center;box-shadow:0 2px 4px rgba(0,0,0,.1)}.app-header h1{font-size:1.5rem;font-weight:600;margin:0}.main-content{padding:1rem;max-width:1200px;margin:0 auto}@media (min-width:768px){.app-header h1{font-size:2rem}.main-content{padding:2rem}}.dashboard{padding:0}.dashboard-header{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.08);text-align:center}.balance-container h2{font-size:.9rem;color:#666;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.balance-value{font-size:3rem;font-weight:700;margin:.5rem 0}.balance-value.positive{color:#34a853}.balance-value.negative{color:#ea4335}.balance-value.neutral{color:#5f6368}.balance-label{font-size:.85rem;color:#999;margin-top:.25rem}.readings-count{font-size:.9rem;color:#666;margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.readings-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:768px){.readings-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.readings-grid{grid-template-columns:repeat(3,1fr)}}.section-title{font-size:1.1rem;color:#333;margin:2rem 0 1rem;font-weight:600}.empty-state{text-align:center;padding:3rem 1rem;color:#999}.empty-state-icon{font-size:4rem;margin-bottom:1rem}.fab{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;background:#1a73e8;color:#fff;border:none;font-size:1.5rem;box-shadow:0 4px 12px rgba(26,115,232,.4);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:100}.fab:hover{transform:scale(1.1);background:#1557b0;box-shadow:0 6px 16px rgba(26,115,232,.6)}.fab:active{transform:scale(.95)}.reading-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:all .3s ease;cursor:pointer;position:relative;border-left:4px solid transparent}.reading-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12)}.reading-card.ahead{border-left-color:#34a853}.reading-card.behind{border-left-color:#ea4335}.reading-card.on-track{border-left-color:#fbbc04}.reading-card.completed{border-left-color:#9e9e9e;opacity:.8}.reading-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.reading-card-title{font-size:1.1rem;font-weight:600;color:#202124;margin:0;line-height:1.4}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-badge.ahead{background:#e6f4ea;color:#137333}.status-badge.behind{background:#fce8e6;color:#c5221f}.status-badge.on-track{background:#fef7e0;color:#ea8600}.status-badge.completed{background:#e8eaed;color:#5f6368}.progress-section{margin:1rem 0}.progress-bar{width:100%;height:8px;background:#e8eaed;border-radius:4px;overflow:hidden;margin:.5rem 0}.progress-fill{height:100%;background:linear-gradient(90deg,#1a73e8,#4285f4);border-radius:4px;transition:width .3s ease}.progress-fill.completed{background:linear-gradient(90deg,#34a853,#5bb974)}.progress-text{font-size:.85rem;color:#5f6368;display:flex;justify-content:space-between;margin-top:.5rem}.reading-card-details{display:flex;flex-direction:column;gap:.5rem;color:#5f6368;font-size:.9rem}.detail-row{display:flex;justify-content:space-between;align-items:center}.detail-label{color:#999}.detail-value{font-weight:500;color:#202124}.detail-value.warning{color:#ea8600}.detail-value.danger{color:#ea4335}.daily-goal{background:#f8f9fa;border-radius:8px;padding:.75rem;margin-top:1rem;text-align:center;font-weight:600;color:#1a73e8}.daily-goal-value{font-size:1.3rem;color:#1a73e8}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease;box-shadow:0 8px 32px rgba(0,0,0,.2)}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:1.5rem;border-bottom:1px solid #e8eaed;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.5rem;color:#202124}.close-button{background:none;border:none;font-size:1.5rem;color:#5f6368;cursor:pointer;padding:.5rem;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-button:hover{background:#f1f3f4;color:#202124}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#5f6368;font-weight:500;font-size:.9rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #dadce0;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 3px rgba(26,115,232,.1)}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.calculated-meta{background:#e8f0fe;border-radius:8px;padding:1rem;margin:1rem 0;text-align:center}.calculated-meta-label{font-size:.85rem;color:#1967d2;margin-bottom:.25rem}.calculated-meta-value{font-size:1.5rem;font-weight:700;color:#1a73e8}.modal-actions{padding:1.5rem;border-top:1px solid #e8eaed;display:flex;gap:1rem;justify-content:flex-end}.modal-actions button{min-width:100px}.btn-secondary{background:#f1f3f4;color:#202124}.btn-secondary:hover{background:#e8eaed}.btn-primary{background:#1a73e8;color:#fff}.btn-primary:hover{background:#1557b0}.btn-primary:disabled{background:#dadce0;color:#9aa0a6;cursor:not-allowed}.detail-modal .modal-content{max-width:600px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{background:#f8f9fa;border-radius:8px;padding:1rem;text-align:center}.stat-label{font-size:.8rem;color:#5f6368;margin-bottom:.25rem}.stat-value{font-size:1.5rem;font-weight:700;color:#202124}.progress-input-section{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.progress-input-section h3{font-size:1rem;margin-bottom:1rem;color:#202124}.progress-form{display:flex;gap:.75rem;align-items:flex-end}.progress-form .form-group{flex:1;margin-bottom:0}.progress-form button{padding:.75rem 1.5rem;white-space:nowrap}.history-section h3{font-size:1rem;margin-bottom:1rem;color:#202124}.history-list{max-height:300px;overflow-y:auto}.history-item{display:flex;justify-content:space-between;padding:.75rem;border-bottom:1px solid #e8eaed}.history-item:last-child{border-bottom:none}.history-date{color:#5f6368;font-size:.9rem}.history-pages{font-weight:600;color:#1a73e8}.empty-history{text-align:center;padding:2rem;color:#9aa0a6}.action-buttons{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid #e8eaed}.action-buttons button{flex:1}.btn-danger{background:#ea4335;color:#fff}.btn-danger:hover{background:#d33b2c}