:root{--bg: #ddd;--WD: #1f3a6a;--card: #ffffff;--border: #000;--text: #000;--muted: #6e7380;--primary: #7c3190;--danger: #e74c3c}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}.app-shell{max-width:550px;margin:2px auto;padding:10px}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:16px}.app-header h1{margin:0;flex-shrink:0;font-size:1.7rem;color:#7c3190}.header-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.header-button{padding:8px 12px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s ease}.header-button:focus-visible{outline:5px solid #41d010}.header-button:hover{background:#c8bcd6;color:#000}.header-button:active{background:#49f972;color:#000}.page-counter{font-weight:700;color:var(--WD);font-size:.95rem;min-width:60px;text-align:right}.page-title{margin:0;font-size:2.75rem}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}button{border:1px solid var(--border);background:none;color:var(--text);padding:4px;border-radius:0;font-weight:400;cursor:pointer}button:hover{background:var(--WD);color:#fff}.button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.card{background:var(--card);border:1px solid var(--border);box-shadow:0 3px 8px #1f7cff14;margin-bottom:16px;padding:14px}.card .row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.card .row input,.card .row select,.card .row textarea{border:1px solid var(--border);padding:8px;font:inherit}.card .row input:focus,.card .row select:focus,.card .row textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #1f7cff33}.date-cards{background:var(--card);border:1px solid var(--border);box-shadow:0 3px 8px #1f7cff14;margin-bottom:16px;padding:14px}.date-cards .entry-header input:first-child{border:none}.date-cards h2{margin-top:0;margin-bottom:8px;font-size:1.18rem;color:var(--text)}.date-cards h3{margin-top:16px;margin-bottom:8px;font-size:1rem;color:var(--text)}.date-cards input[type=text]{border:1px solid var(--border);padding:8px;font:inherit;margin-bottom:2px}.date-cards input[type=date]:focus,.date-cards input[type=text]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #1f7cff33}.date-cards .exercise-entry{border:1px solid var(--border);border-radius:6px;padding:12px;margin-top:8px;background:#f3f3f3}.date-cards .exercise-entry .entry-header{display:flex;gap:8px;align-items:center;margin-bottom:10px}.date-cards .exercise-entry input[type=text]{flex:1;min-width:100px}.date-cards .exercise-entry button{padding:4px 8px;font-size:.875rem}.date-cards .weight-rep-row{display:flex;gap:8px;align-items:center;margin-top:4px}.date-cards .weight-rep-row input{flex:1;min-width:60px;border:1px solid var(--border);min-height:32px;font-size:1.1rem;color:var(--text);padding:0 0 0 10px;align-self:flex-start}.date-cards .weight-rep-row button{padding:4px;font-size:.8rem}.date-cards .exercise-entry .entry-header{margin-bottom:0;font-size:1.2rem;font-weight:600}#date-controls{display:flex;justify-content:space-between;align-items:center;margin:0}#date-controls button:first-child{margin-right:8px}#save-message{display:inline-block;margin-left:8px;padding:4px 8px;border-radius:4px;font-weight:500}#save-message[data-status=saving]{background:var(--primary);color:#fff}#save-message[data-status=saved]{background:#28a745;color:#fff}#save-message[data-status=error]{background:var(--danger);color:#fff}.navigation{display:flex;justify-content:center;align-items:center;gap:12px;padding-top:13px}.navigation button{padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s ease}.navigation button:visited{background:var(--primary);color:#000}.navigation button:focus-visible{outline:5px solid #41d010}.navigation button:active{background:#49f972;color:#000}.navigation button:disabled{background:var(--muted);cursor:not-allowed}.save-container{display:flex;justify-content:center;margin-top:16px}.save-button{padding:10px 24px;background:#28a745;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s ease}.save-button:active{background:#49f972;color:#000}.save-button:disabled{background:var(--muted);cursor:not-allowed}.no-data{margin-top:20px;color:var(--muted);text-align:center;font-style:italic}.card .label{font-size:.9rem;color:var(--muted)}.date-cards{margin:0;padding:8px;border:1px solid var(--border)}.field-group{margin-top:12px}.field-group strong{display:block;margin-bottom:6px}h1,h2,h3{margin:0}h1{font-size:1.25rem;font-weight:600}h2{font-size:1.1rem;font-weight:500}h3{font-size:.9rem;font-weight:600}input{border:0;outline:0;padding:3px}input[type=date]{background-color:transparent;font-family:Arial,Helvetica,sans-serif;font-size:1rem;width:131px;border:#000 solid 1px;padding:2px}input:focus{border:1px solid var(--border)!important}#saved-message{font-size:.5rem;font-weight:600}.small-text{color:var(--muted);font-size:.85rem}#title-input{font-size:1.25rem;font-weight:700;background-color:transparent;border:none;padding:0 8px 3px 0;margin-top:8px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;max-width:400px;width:90%;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content{padding:20px;text-align:center}.modal-content.modal-success{border-top:4px solid #28a745}.modal-content.modal-error{border-top:4px solid var(--danger)}.modal-icon{font-size:2rem;font-weight:700;margin-bottom:9px;line-height:1}.modal-content.modal-success .modal-icon{color:#28a745}.modal-content.modal-error .modal-icon{color:var(--danger)}.modal-content p{margin:0 0 12px;font-size:1.2rem;color:var(--text);line-height:1.5}.modal-content button{padding:10px 24px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s ease}.modal-content button:hover{background:#0056b3}
