@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&display=swap";*{box-sizing:border-box}:root,[data-theme=dark]{--bg: #0F1410;--surface: #171D18;--surface-2: #1E2520;--border: #2A332B;--text: #ECF1EC;--text-dim: #93A095;--accent: #E8A04C;--accent-ink: #1A1308;--green: #7FB069;--blue: #5EA8C9;--pink: #C97F8E;--error: #E3766B}[data-theme=light]{--bg: #F7F5EF;--surface: #FFFFFF;--surface-2: #F0EDE3;--border: #DDD7C8;--text: #1C211C;--text-dim: #6E7468;--accent: #C2761F;--accent-ink: #FFFFFF;--green: #4F7C3E;--blue: #2E7AA0;--pink: #A85068;--error: #C24A3E}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;-webkit-tap-highlight-color:transparent;transition:background .15s,color .15s}h1,h2{font-family:Space Grotesk,sans-serif;margin:0}input,button{font-family:inherit}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom))}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:32px 28px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{color:var(--accent);font-size:14px}.brand h1{font-size:26px;letter-spacing:-.02em}.auth-sub{color:var(--text-dim);margin:6px 0 28px;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-dim)}.auth-form input{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;color:var(--text);font-size:15px}.auth-form input:focus{outline:2px solid var(--accent);outline-offset:1px}.auth-error{color:var(--error);font-size:13px;margin:0}.auth-info{color:var(--green);font-size:13px;margin:0}.auth-toggle{background:none;border:none;color:var(--text-dim);margin-top:18px;font-size:13px;cursor:pointer;width:100%;text-decoration:underline}.btn-primary{background:var(--accent);color:var(--accent-ink);border:none;border-radius:10px;padding:13px;font-weight:600;font-size:15px;cursor:pointer}.btn-primary:disabled{opacity:.6}.btn-ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border);border-radius:10px;padding:13px;font-size:15px;cursor:pointer}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.dashboard{max-width:480px;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 18px calc(100px + env(safe-area-inset-bottom))}.dash-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.install-banner{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px;font-size:13px;color:var(--text)}.install-banner-actions{display:flex;gap:8px;justify-content:flex-end}.install-banner-actions button{padding:8px 14px;font-size:13px}.ios-share-icon{display:inline-block}.dash-greeting{color:var(--text-dim);font-size:13px;margin:0 0 2px}.dash-header h1{font-size:24px;letter-spacing:-.02em}.dash-header-actions{display:flex;gap:8px}.icon-btn{width:38px;height:38px;border-radius:10px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:16px;cursor:pointer}.settings-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px;margin-bottom:18px;display:flex;flex-direction:column;gap:14px}.settings-panel label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-dim)}.settings-panel input{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text)}.theme-switch{display:flex;flex-direction:column;gap:6px}.settings-label{font-size:13px;color:var(--text-dim)}.theme-options{display:flex;gap:8px}.theme-pill{flex:1;padding:9px 0;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);font-size:13px;cursor:pointer}.theme-pill.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.date-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:22px}.date-nav button{background:var(--surface);border:1px solid var(--border);color:var(--text);width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:16px}.date-nav button:disabled{opacity:.3;cursor:default}.date-nav input[type=date]{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 10px;font-size:14px}.rings-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px}.macro-ring{position:relative;display:flex;flex-direction:column;align-items:center}.macro-ring svg{display:block}.macro-ring-label{position:absolute;top:26px;left:0;right:0;display:flex;flex-direction:column;align-items:center;line-height:1.1}.macro-ring-label strong{font-family:Space Grotesk,sans-serif;font-size:14px}.macro-ring-label span{font-size:9px;color:var(--text-dim)}.macro-ring-name{font-size:11px;color:var(--text-dim);margin-top:6px}.capture-card{margin-bottom:24px}.capture-trigger-row{display:flex;gap:10px}.capture-trigger-row .capture-trigger{flex:1;height:120px}.capture-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:140px;border:1.5px dashed var(--border);border-radius:18px;color:var(--text-dim);cursor:pointer;background:var(--surface);transition:border-color .15s}.capture-trigger:active{border-color:var(--accent)}.capture-icon{font-size:30px;color:var(--accent)}.capture-preview{background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden}.capture-preview img{width:100%;max-height:220px;object-fit:cover;display:block}.capture-status{padding:16px;color:var(--text-dim);font-size:14px;margin:0}.capture-result{padding:16px}.result-name{background:transparent;border:none;color:var(--text);font-family:Space Grotesk,sans-serif;font-size:18px;width:100%;padding:0;margin-bottom:2px}.result-name:focus{outline:none;border-bottom:1px solid var(--accent)}.result-portion{color:var(--text-dim);font-size:12px;margin:0 0 14px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.result-grid label{display:block;font-size:11px;color:var(--text-dim);margin-bottom:4px}.result-grid input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:9px 10px;color:var(--text);font-size:14px}.result-notes{font-size:12px;color:var(--text-dim);font-style:italic;margin:0 0 14px}.result-actions{display:flex;gap:10px}.result-actions button{flex:1}.capture-preview>.btn-ghost{margin:16px;width:calc(100% - 32px)}.log-section h2{font-size:16px;margin-bottom:12px;color:var(--text-dim);font-weight:500}.empty-state{color:var(--text-dim);font-size:14px;text-align:center;padding:30px 0}.day-log{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.day-log-item{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.day-log-main{flex:1;min-width:0}.day-log-name{display:block;font-size:14px;font-weight:500}.day-log-portion{display:block;font-size:12px;color:var(--text-dim)}.day-log-macros{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:11px;color:var(--text-dim);white-space:nowrap}.day-log-macros span:first-child{color:var(--accent);font-weight:600;font-size:13px}.day-log-delete{background:none;border:none;color:var(--text-dim);font-size:20px;cursor:pointer;line-height:1;padding:0 2px}
