:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--color-primary: #c36c3a;--color-primary-dark: #7a3d1f;--color-primary-soft: #f3ded1;--color-surface-warm: #fbf4ef;--color-track-warm: #f0e1d7;color:#20221f;background:var(--color-surface-warm);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#ffffffb8,#fbf4efeb),var(--color-surface-warm)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{max-width:720px;min-height:100vh;margin:0 auto;padding-bottom:86px}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:18px 18px 12px;background:#fbf4efeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(32,34,31,.08)}h1,h2,h3,p{margin:0}h1{font-size:22px;line-height:1.2}h2{font-size:20px}h3{font-size:16px}.content{padding:14px}.panel,.auth-card,.modal,.form-card{border:1px solid rgba(32,34,31,.1);background:#ffffffe0;border-radius:8px;box-shadow:0 12px 32px #20221f0f}.panel,.auth-card{display:flex;flex-direction:column;gap:14px;padding:16px}.form-card{display:flex;flex-direction:column;gap:12px;padding:14px}.title-row,.modal-head,.day-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-title-row{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:8px}.list-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:12px}.list-card>div:first-child{flex:1 1 auto;min-width:0}.list-card.expandable{cursor:pointer}.result-card-main{min-width:0}.list-card .log-list{grid-column:1 / -1;cursor:default}.activity-actions{display:flex;align-items:center;gap:8px}.activity-edit-panel{display:flex;grid-column:1 / -1;flex-direction:column;gap:10px;padding-top:6px}.activity-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.activity-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.title-inline{display:flex;align-items:center;gap:8px;min-width:0}label{display:flex;flex-direction:column;gap:7px;color:#5d625b;font-size:13px}input,select{width:100%;min-height:44px;padding:10px 12px;color:#20221f;background:#fff;border:1px solid rgba(32,34,31,.16);border-radius:8px;outline:none}input:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #c36c3a29}input:disabled,select:disabled{color:#8d928b;cursor:not-allowed;background:#efefed;border-color:#20221f14}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary,.secondary,.danger,.ghost,.icon-button,.segmented button,.bottom-nav button,.month-cell,.day-row{min-height:44px;border-radius:8px;border:1px solid transparent}.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;font-weight:700}.primary{color:#fff;background:var(--color-primary)}.primary:disabled{cursor:not-allowed;opacity:.45}.secondary{color:var(--color-primary-dark);background:var(--color-primary-soft)}.danger{color:#8e2525;background:#f7dddd}.ghost{padding:9px 12px;color:var(--color-primary);background:transparent}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;flex:0 0 44px;color:#20221f;background:#fff;border-color:#20221f1f}.top-actions{display:flex;align-items:center;gap:10px}.language-switch{display:inline-flex;width:44px;min-height:44px;height:44px;align-items:center;justify-content:center;color:#20221f;background:#efefed;border:1px solid transparent;border-radius:50%}.top-actions .icon-button{border-radius:50%;background:#efefed;border-color:transparent}.settings-entry-button.hint-target{color:#fff;background:var(--color-primary);box-shadow:0 0 0 5px #c36c3a29}.empty-activity-bubble{position:fixed;top:72px;right:max(18px,calc((100vw - 720px)/2 + 18px));z-index:25;max-width:min(260px,calc(100vw - 36px));min-height:0;padding:11px 14px;color:#fff;background:var(--color-primary);border:0;border-radius:8px;box-shadow:0 12px 28px #20221f2e;font-size:14px;font-weight:700;line-height:1.35;text-align:left}.empty-activity-bubble:before{position:absolute;top:-8px;right:18px;width:0;height:0;border-right:8px solid transparent;border-bottom:8px solid var(--color-primary);border-left:8px solid transparent;content:""}.mini-icon-button{display:inline-flex;width:36px;min-height:36px;align-items:center;justify-content:center;flex:0 0 36px;color:var(--color-primary-dark);background:var(--color-primary-soft);border:1px solid transparent;border-radius:50%}.mini-icon-button:disabled{color:#b9bdb6;cursor:not-allowed;background:#f1f0ec}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:var(--color-track-warm);border-radius:8px}.segmented button{background:transparent;color:#5d625b}.segmented button.active{color:#20221f;background:#fff;box-shadow:0 3px 10px #20221f14}.segmented button.disabled-tab,.disabled-action{color:#a6aaa4;cursor:not-allowed;background:#e8e7e3;opacity:.7}.list-card,.day-row{width:100%;padding:12px;background:#fff;border:1px solid rgba(32,34,31,.1);border-radius:8px;text-align:left}.recent-day-card{display:flex;width:100%;flex-direction:column;gap:7px;padding:12px;background:#fff;border:1px solid rgba(32,34,31,.1);border-radius:8px;text-align:left}.recent-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.recent-day-head span{display:inline-flex;align-items:center;gap:8px;font-weight:700}.recent-day-head strong{color:var(--color-primary-dark);font-size:13px}.recent-records{color:#6c7069;font-size:13px;line-height:1.4}.list-card p,.hint,small{color:#6c7069;font-size:13px}.log-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.compact-empty{padding:9px 10px;font-size:12px}.inline-entry{display:flex;flex-direction:column;gap:10px;padding:10px;background:#ffffffd1;border:1px dashed rgba(32,34,31,.16);border-radius:8px}.inline-entry:has(input:disabled){opacity:.58}.inline-entry-value input{min-height:40px}.compact-segmented button{min-height:38px}.inline-entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inline-entry-actions .primary,.inline-entry-actions .secondary{min-height:40px;padding:9px 12px}.swipe-log-shell{position:relative;overflow:hidden;border-radius:8px;touch-action:pan-y}.swipe-trash{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;color:#8e2525;background:#f7dddd;opacity:0;pointer-events:none;transition:opacity .16s ease}.drag-left .swipe-trash{justify-content:flex-end;padding-right:12px;opacity:1}.drag-right .swipe-trash{justify-content:flex-start;padding-left:12px;opacity:1}.log-row{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;padding:8px;background:var(--color-surface-warm);border-radius:8px;transition:transform .12s ease;-webkit-user-select:none;user-select:none}.log-row span{color:#6c7069;font-size:12px}.log-row strong{color:#20221f;font-size:13px}.log-row em{grid-column:1 / -1;color:#6c7069;font-size:12px;font-style:normal}.table-icon-button{display:inline-flex;width:32px;min-height:32px;align-items:center;justify-content:center;color:#8e2525;background:#f7dddd;border:1px solid transparent;border-radius:8px}.table-icon-button:disabled{color:#b9bdb6;cursor:not-allowed;background:#f1f0ec}.result-list{display:flex;flex-direction:column;gap:8px}.dashboard-date-field{position:relative;display:flex;align-items:center;justify-content:center;width:100%;padding:4px 0 2px;color:#20221f;font-size:24px;font-weight:800;text-align:center}.dashboard-date-title{font-size:24px;font-weight:800;text-align:center}.dashboard-date-green{color:#2f9b63}.dashboard-date-yellow{color:#d6a625}.dashboard-date-red{color:#d34c4c}.dashboard-date-missing{color:#a6aaa4}.dashboard-date-future{color:#b9bdb6}.dashboard-date-picker{height:1px;margin-top:-14px;padding:0;overflow:hidden}.dashboard-date-field input{position:absolute;top:0;right:0;bottom:0;left:0;min-height:100%;padding:0;cursor:pointer;opacity:0}.record-datetime-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.compact-picker{position:relative;min-width:0;padding:10px 12px;background:#fff;border:1px solid rgba(32,34,31,.16);border-radius:8px;cursor:pointer}.compact-picker input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;min-height:100%;padding:0;cursor:pointer;opacity:0}.compact-picker strong{overflow:hidden;color:#20221f;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.status-dot{display:inline-flex;width:18px;height:18px;flex:0 0 18px;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff8c}.status-green{background:#2f9b63}.status-yellow{background:#d6a625}.status-red{background:#d34c4c}.status-missing{background:#a6aaa4}.status-future{background:transparent;border:2px solid #b9bdb6;box-shadow:none}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:720px;margin:0 auto;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fffffff0;border-top:1px solid rgba(32,34,31,.12);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav button{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 3px;color:#6c7069;background:transparent}.bottom-nav button.active{color:var(--color-primary);background:transparent}.bottom-nav svg{stroke:currentColor}.bottom-nav button.active svg:not(.record-nav-icon){fill:currentColor}.bottom-nav button.active svg:not(.record-nav-icon) *{fill:currentColor}.bottom-nav span{max-width:100%;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.record-nav-icon{width:24px;height:24px;fill:none}.record-nav-ring{fill:none;stroke:currentColor;stroke-width:2}.record-nav-dot{fill:currentColor;opacity:0}.bottom-nav button.active .record-nav-ring,.bottom-nav button.active .record-nav-dot{fill:currentColor;opacity:1;stroke:currentColor}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:flex-end;padding:14px;background:#20221f47}.modal{width:min(100%,720px);max-height:78vh;margin:0 auto;padding:16px;overflow:auto}.unmet-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.modal-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:14px}.modal-right-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.confirm-modal{display:flex;flex-direction:column;gap:10px}.confirm-modal p{margin:0;color:#6c7069;font-size:14px;line-height:1.45}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.inline-check{display:inline-flex;flex-direction:row;align-items:center;gap:6px;color:#5d625b;white-space:nowrap}.inline-check input{width:18px;min-height:18px;padding:0}.table-scroll{overflow-x:auto}.calendar-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px}.calendar-header h2{text-align:center}table{width:100%;min-width:560px;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}th,td{padding:10px;border-bottom:1px solid rgba(32,34,31,.08);text-align:left;font-size:13px;white-space:nowrap}th{color:#5d625b;background:var(--color-track-warm)}.week-table{width:100%;min-width:100%;table-layout:fixed}.week-table th,.week-table td{max-width:48px;padding:6px 2px;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.week-table th,.week-table td{font-size:11px}.week-table th:first-child,.week-table td:first-child{width:28px;max-width:28px}.week-table th:nth-last-child(2),.week-table td:nth-last-child(2){width:34px;max-width:34px}.week-table th:last-child,.week-table td:last-child{width:32px;max-width:32px}.week-table .table-icon-button{width:28px;min-height:28px;border-radius:8px}.week-result-text{font-weight:700;background:transparent}.week-result-text.status-green{color:#2f9b63;background:transparent}.week-result-text.status-yellow{color:#b58012;background:transparent}.week-result-text.status-red{color:#c93f3f;background:transparent}.week-result-text.status-missing,.week-result-text.status-future{color:#5d625b;background:transparent}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.month-cell{display:flex;min-width:0;min-height:56px;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#fff;border-color:#20221f1a}.month-cell.muted{opacity:.42}.month-cell:disabled{cursor:not-allowed}.message,.loading,.empty,.hint,.membership-row{padding:12px;background:#ffffffbd;border:1px solid rgba(32,34,31,.1);border-radius:8px}.help-panel{gap:12px}.help-section{padding:12px;background:#fff;border:1px solid rgba(32,34,31,.1);border-radius:8px}.help-section h3{margin-bottom:8px}.help-section ul{margin:0;padding-left:18px}.help-section li{margin:6px 0;color:#5d625b;font-size:14px;line-height:1.45}.target-hint{padding:10px 12px;color:var(--color-primary-dark);background:var(--color-primary-soft);border-radius:8px;font-size:13px;font-weight:700}.membership-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.membership-row span{color:#6c7069;font-size:13px}.membership-row strong{color:var(--color-primary-dark)}.profile-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;background:#fff;border:1px solid rgba(32,34,31,.1);border-radius:8px}.profile-summary div{display:flex;min-width:0;flex-direction:column;gap:4px}.profile-summary span{color:#6c7069;font-size:12px}.profile-summary strong{overflow:hidden;color:#20221f;text-overflow:ellipsis;white-space:nowrap}.settings-menu{display:flex;flex-direction:column;gap:8px}.settings-menu button{min-height:48px;padding:12px;color:#20221f;background:#fff;border:1px solid rgba(32,34,31,.1);border-radius:8px;text-align:left}.settings-menu .settings-check{display:flex;min-height:48px;flex-direction:row;align-items:center;gap:10px;padding:12px;color:#20221f;background:#fff;border:1px solid rgba(32,34,31,.1);border-radius:8px;font-size:16px}.settings-check input{width:18px;min-height:18px;padding:0}.settings-menu button.active{color:var(--color-primary-dark);background:var(--color-primary-soft)}.settings-menu button:disabled{color:#9b9f98;cursor:not-allowed;background:#f4f3ef}.settings-menu .danger-text{color:#8e2525}.pill{padding:5px 9px;color:var(--color-primary-dark);background:var(--color-primary-soft);border-radius:999px;font-size:12px;font-weight:700}@media(min-width:700px){.content{padding:22px}.modal-backdrop{align-items:center}}
