*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--green: #15341f;--green-light: #1e4a2c;--orange: #c3531c;--orange-light: #d4683a;--orange-pale: #fdf0ea;--bg: #f8f9fa;--card: #ffffff;--text: #1a1a1a;--text-muted: #6b7280;--border: #e5e7eb;--radius: 10px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}.header{background:var(--green);color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #00000026}.header-inner{max-width:900px;margin:0 auto;padding:0 1rem;height:56px;display:flex;align-items:center;justify-content:space-between}.logo{text-decoration:none;color:#fff;font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:2px}.logo-1{color:var(--orange);font-size:1.4rem}.logo-o{color:#fff;font-size:1.4rem}.logo-divider{color:#ffffff4d;margin:0 8px;font-weight:300}.logo-text{font-weight:600;font-size:1.1rem;letter-spacing:-.01em}.nav{display:flex;gap:4px}.nav a{text-decoration:none;color:#ffffffb3;padding:6px 14px;border-radius:6px;font-size:.9rem;font-weight:500;transition:all .15s}.nav a:hover{color:#fff;background:#ffffff1a}.nav a.active{color:#fff;background:var(--orange)}.main{max-width:900px;margin:0 auto;padding:1.5rem 1rem 3rem}.page h1{font-size:1.5rem;font-weight:700;color:var(--green);margin-bottom:1.25rem}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.page-header h1{margin-bottom:0}.log-form{display:flex;flex-direction:column;gap:1.5rem}.form-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.form-section h2{font-size:.95rem;font-weight:600;color:var(--green);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.03em}.subtitle{font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:0}.input{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.95rem;transition:border-color .15s;background:#fff}.input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px #c3531c1a}.user-input{max-width:250px}.dose-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.dose-field label{display:block;font-size:.85rem;font-weight:500;color:var(--text-muted);margin-bottom:.3rem}.dose-input-wrap{display:flex;align-items:center;gap:.4rem}.dose-input-wrap .input{width:auto;flex:1}.dose-unit{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.score-grid{display:flex;flex-direction:column;gap:.6rem}.score-field{display:flex;align-items:center;gap:.75rem}.score-field label{width:110px;font-size:.9rem;font-weight:500;flex-shrink:0}.score-buttons{display:flex;gap:4px}.score-btn{width:38px;height:38px;border:2px solid var(--border);border-radius:8px;background:#fff;font-size:.9rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s}.score-btn:hover{border-color:var(--orange);color:var(--orange)}.score-btn.active{background:var(--orange);border-color:var(--orange);color:#fff}.context-grid{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--orange)}.sleep-field{display:flex;align-items:center;gap:.5rem}.sleep-field label{font-size:.9rem;font-weight:500;white-space:nowrap}.sleep-input{width:80px!important}.textarea{resize:vertical;min-height:70px}.submit-btn{background:var(--orange);color:#fff;border:none;border-radius:8px;padding:.8rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s;align-self:flex-start}.submit-btn:hover:not(:disabled){background:var(--orange-light)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.success-msg{background:var(--green);color:#fff;padding:.75rem 1rem;border-radius:8px;font-weight:500;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.filter-bar{display:flex;gap:.5rem}.filter-select{width:auto;min-width:160px}.loading,.empty{text-align:center;color:var(--text-muted);padding:3rem 1rem}.entries-list{display:flex;flex-direction:column;gap:.75rem}.entry-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.entry-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.entry-user{font-weight:700;color:var(--green);margin-right:.75rem}.entry-date{color:var(--text-muted);font-size:.85rem}.delete-btn{background:none;border:none;font-size:1.3rem;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1}.delete-btn:hover{color:#dc2626}.entry-doses{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.dose-tag{background:var(--orange-pale);color:var(--orange);font-size:.8rem;font-weight:600;padding:3px 10px;border-radius:20px}.entry-scores{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.score-bar-item{display:flex;align-items:center;gap:.5rem}.score-bar-item .score-label{width:100px;font-size:.8rem;color:var(--text-muted);flex-shrink:0}.score-bar{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.score-bar-fill{height:100%;background:var(--orange);border-radius:4px;transition:width .3s ease}.score-bar-item .score-value{width:20px;text-align:right;font-size:.8rem;font-weight:600;color:var(--text)}.entry-context{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.5rem}.context-tag{background:#f0fdf4;color:var(--green);font-size:.8rem;font-weight:500;padding:3px 10px;border-radius:20px}.entry-note{font-size:.9rem;color:var(--text-muted);font-style:italic;border-top:1px solid var(--border);padding-top:.5rem;margin-top:.25rem}.charts{display:flex;flex-direction:column;gap:2rem}.chart-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.chart-section h2{font-size:1rem;font-weight:600;color:var(--green);margin-bottom:1rem}.chart-wrap{width:100%}@media(max-width:600px){.header-inner{padding:0 .75rem}.logo-divider,.logo-text{display:none}.nav a{padding:6px 10px;font-size:.85rem}.dose-grid{grid-template-columns:1fr}.score-field{flex-direction:column;align-items:flex-start;gap:.3rem}.score-field label{width:auto}.score-btn{width:42px;height:42px}.page-header{flex-direction:column;align-items:flex-start}.entry-card{padding:.75rem 1rem}.score-bar-item .score-label{width:80px;font-size:.75rem}.dose-tag{font-size:.7rem}.form-section{padding:1rem}}
