.spinner-wrap{display:inline-flex;align-items:center;justify-content:center}.spinner-wrap--small{--spinner-size: 20px}.spinner-wrap--medium{--spinner-size: 40px}.spinner-wrap--large{--spinner-size: 56px}.spinner{width:var(--spinner-size, 40px);height:var(--spinner-size, 40px);border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.create-page .page-heading{margin-bottom:6px}.create-desc{color:var(--color-text-muted);font-size:.9375rem;margin:0 0 24px;line-height:1.5}.create-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.create-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#ffffffe6;z-index:1000}.create-loading-text{margin:0;font-size:.9375rem;color:var(--color-text-muted)}.create-page .create-cards{display:grid;gap:16px}.create-page .create-card{display:flex;align-items:flex-start;gap:16px;padding:20px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);text-decoration:none;color:inherit;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition);box-shadow:var(--shadow-sm);text-align:left;width:100%;cursor:pointer;font:inherit}.create-page .create-card:disabled{opacity:.7;cursor:not-allowed}.create-page .create-card:hover{border-color:transparent;box-shadow:var(--shadow-md);transform:translateY(-2px)}.create-page .create-card--ocr{border-left:4px solid #64748b}.create-page .create-card--ocr:hover:not(:disabled){box-shadow:0 6px 20px #64748b26}.create-page .create-card--voice{border-left:4px solid #8b5cf6}.create-page .create-card--voice:hover:not(:disabled){box-shadow:0 6px 20px #8b5cf626}.create-page .create-card--goal{border-left:4px solid var(--color-primary)}.create-page .create-card--goal:hover{box-shadow:0 6px 20px var(--color-primary-light)}.create-page .create-card--todo{border-left:4px solid var(--color-primary)}.create-page .create-card--todo:hover{box-shadow:0 6px 20px #2563eb1f}.create-page .create-card--habit{border-left:4px solid #10b981}.create-page .create-card--habit:hover{box-shadow:0 6px 20px #10b9811f}.create-page .create-card--quicknote{border-left:4px solid var(--color-accent)}.create-page .create-card--quicknote:hover{box-shadow:0 6px 20px #0596691f}.create-page .create-card--finance{border-left:4px solid #16a34a}.create-page .create-card--finance:hover{box-shadow:0 6px 20px #16a34a1f}.create-page .create-card--contact{border-left:4px solid #7c3aed}.create-page .create-card--contact:hover{box-shadow:0 6px 20px #7c3aed1f}.create-page .create-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border-radius:var(--radius);flex-shrink:0}.create-page .create-card--todo .create-card-icon{background:var(--color-primary-light)}.create-page .create-card--habit .create-card-icon{background:#10b9811f}.create-page .create-card--ocr .create-card-icon{background:#64748b1f}.create-page .create-card--voice .create-card-icon{background:#8b5cf61f}.create-page .create-card--goal .create-card-icon{background:var(--color-primary-light)}.create-page .create-card--quicknote .create-card-icon{background:var(--color-accent-light)}.create-page .create-card--finance .create-card-icon{background:#16a34a1f}.create-page .create-card--contact .create-card-icon{background:#7c3aed1f}.create-page .create-card-body{flex:1;min-width:0}.create-page .create-card-label{font-weight:600;font-size:1.125rem;display:block;margin-bottom:6px;letter-spacing:-.01em}.create-page .create-card-hint{font-size:.8125rem;color:var(--color-text-muted);display:block;line-height:1.45}.tag-input-wrap{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 10px;background:var(--color-surface);min-height:42px}.tag-input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.tag-input-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--color-primary);color:#fff;border-radius:6px;font-size:.8125rem}.tag-chip-remove{padding:0 2px;color:inherit;opacity:.9;font-size:1rem;line-height:1}.tag-chip-remove:hover{opacity:1}.tag-input-field{flex:1;min-width:120px;border:none;background:transparent;padding:4px 0;font:inherit;outline:none}.attachment-field{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px;background:var(--color-surface)}.attachment-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.attachment-item{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--color-bg);border-radius:6px;font-size:.8125rem}.attachment-thumb{width:36px;height:36px;object-fit:cover;border-radius:4px}.attachment-icon{font-size:1.25rem}.attachment-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-cover-btn{padding:2px 8px;font-size:.75rem;border-radius:4px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition)}.attachment-cover-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.attachment-cover-btn.is-cover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.attachment-remove{margin-left:4px}.attachment-add{display:inline-block;padding:6px 12px;color:var(--color-primary);font-size:.875rem;cursor:pointer;border-radius:6px}.attachment-add:hover{background:var(--color-primary-light)}.subtask-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));box-sizing:border-box}.subtask-modal{background:#fff!important;border-radius:var(--radius);box-shadow:var(--shadow);max-width:520px;width:100%;max-height:min(85vh,80dvh);overflow:hidden;display:flex;flex-direction:column}@media (max-width: 480px){.subtask-modal-backdrop{padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}}.subtask-modal-title{margin:0;padding:20px 20px 12px;font-size:1.125rem;font-weight:600;color:var(--color-text)}.subtask-modal-list{padding:12px 20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:12px}.subtask-modal-row{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--color-bg);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.subtask-modal-row-top{display:flex;align-items:center;gap:8px}.subtask-modal-row .subtask-input{flex:1;min-width:0;padding:10px 12px;font-size:.9375rem}.subtask-modal-row .subtask-ddl{width:100%;min-width:0;padding:10px 12px;font-size:1rem;min-height:44px;box-sizing:border-box}.subtask-modal-row .subtask-clear-ddl{width:100%;justify-content:center;padding:8px 12px;font-size:.875rem}.subtask-modal-row-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.subtask-modal-row .subtask-done{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--color-text-muted);white-space:nowrap}.subtask-modal-row .subtask-done input{width:18px;height:18px;flex-shrink:0}.subtask-modal-row .subtask-remove{flex-shrink:0;padding:6px 10px;min-width:36px}.subtask-modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:16px 20px 20px;border-top:1px solid var(--color-border)}.create-todo-page .form-block{display:flex;flex-direction:column;gap:18px}.field{display:flex;flex-direction:column;gap:6px}.field-row{flex-direction:row;align-items:center}.field-row .field-label{margin:0}.field-label{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.textarea{resize:vertical;min-height:88px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--color-border);transition:border-color var(--transition),box-shadow var(--transition)}.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.sub-hint{font-size:.8125rem;color:var(--color-text-muted);margin-top:2px}.create-todo-ddl-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.create-todo-ddl-date{flex:1 1 160px;min-width:0}.create-todo-ddl-time-toggle{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.create-todo-ddl-time-toggle input{width:18px;height:18px}.create-todo-ddl-time{margin-top:8px;max-width:140px}.create-todo-ddl-hint{margin-top:6px}.btn-subtask-trigger{width:100%;text-align:left}.subtasks-list{display:flex;flex-direction:column;gap:10px}.subtask-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.subtask-row .subtask-input{flex:1;min-width:120px}.subtask-row .subtask-ddl{flex:0 0 auto;min-width:160px}.subtask-done{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--color-text-muted);white-space:nowrap}.subtask-done input{width:18px;height:18px}.btn-sm{padding:4px 10px;font-size:1.1rem;line-height:1;min-width:auto}.btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover{background:var(--color-border)}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px}.reminder-todo-options{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.reminder-todo-btn{background:var(--color-surface-solid);border:1px solid var(--color-border);color:var(--color-text);padding:8px 14px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500}.reminder-todo-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.reminder-todo-btn.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.reminder-todo-custom-block{margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px}.reminder-todo-custom-label{font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.reminder-todo-custom{display:flex;align-items:center;gap:8px}.reminder-todo-custom-input{width:72px;min-width:0}.reminder-todo-custom-unit{width:auto;min-width:64px}.reminder-todo-custom-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.reminder-todo-custom-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--color-bg);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--color-text-muted)}.reminder-todo-custom-remove{padding:0 2px;font-size:1rem;line-height:1;color:var(--color-text-muted);background:none;border:none;cursor:pointer}.reminder-todo-custom-remove:hover{color:var(--color-text)}.create-habit-page .form-block{display:flex;flex-direction:column;gap:18px}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.habit-reminders{display:flex;flex-direction:column;gap:10px}.habit-reminder-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm)}.habit-repeat,.habit-time{min-width:0}.habit-weekdays{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px solid var(--color-border)}.habit-weekday{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:.8125rem;cursor:pointer;-webkit-user-select:none;user-select:none}.habit-weekday input{width:16px;height:16px}.habit-weekday.active{background:#10b9811f;border-color:#10b98159;color:#047857}@media (max-width: 520px){.habit-reminder-row{grid-template-columns:1fr 1fr}.habit-reminder-row>.btn{grid-column:1 / -1;justify-self:end}}.create-finance-page .form-block{display:flex;flex-direction:column;gap:18px}.finance-type-toggle{display:flex;gap:12px}.finance-type-toggle button{flex:1;padding:14px;border-radius:var(--radius);font-size:1rem;font-weight:600;border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);transition:all var(--transition)}.finance-type-toggle button.income.active{border-color:#16a34a;background:#16a34a1a;color:#16a34a}.finance-type-toggle button.expense.active{border-color:#dc2626;background:#dc26261a;color:#dc2626}.input-amount{font-size:1.5rem;font-weight:600;text-align:center;letter-spacing:.02em}.create-finance-page .field-label{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.field-rate-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.field-rate-row .input{flex:1;min-width:120px}.btn-fetch-rate{white-space:nowrap}.field-error{display:block;font-size:.8125rem;color:#dc2626;margin-top:4px}.create-finance-page .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px}.create-contact-page .form-block{display:flex;flex-direction:column;gap:18px}.contact-avatar-field{display:flex;align-items:center;gap:12px}.contact-avatar-preview{width:56px;height:56px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;overflow:hidden;flex-shrink:0}.contact-avatar-preview img{width:100%;height:100%;border-radius:50%;object-fit:cover}.contact-avatar-upload{display:inline-flex;align-items:center;gap:6px}.contact-events-block{margin-top:8px}.contact-events-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.contact-event-card{background:var(--color-bg);border-radius:var(--radius);padding:14px;margin-bottom:14px;border:1px solid var(--color-border)}.contact-event-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.contact-event-card .field{margin-bottom:12px}.contact-event-card .field:last-child{margin-bottom:0}.create-contact-page .btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.create-contact-page .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px}.reflection-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:20px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));box-sizing:border-box}.reflection-modal{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);max-width:480px;width:100%;max-height:min(85vh,80dvh);overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}@media (max-width: 480px){.reflection-modal-backdrop{padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}.reflection-modal{padding:16px}}.reflection-modal-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text)}.reflection-modal-subtitle{margin:0;font-size:.875rem;color:var(--color-text-muted)}.reflection-modal-textarea{width:100%;min-height:120px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--color-border);font:inherit;resize:vertical}.reflection-modal-textarea:focus,.reflection-modal-textarea:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.reflection-modal-actions{display:flex;gap:10px;justify-content:flex-end}.item-detail .detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.item-detail .detail-header .btn{padding:8px 14px;border-radius:var(--radius-sm);font-size:.875rem;color:var(--color-text-muted);transition:color var(--transition),background var(--transition)}.item-detail .detail-header .btn:hover{color:var(--color-primary);background:var(--color-primary-light)}.detail-type{font-size:.75rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg);padding:6px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}.detail-badge{font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:6px}.detail-badge--completed{background:var(--color-primary-light);color:var(--color-primary)}.detail-subtask-progress{margin:-8px 0 16px;font-size:.875rem;color:var(--color-text-muted)}.detail-subtasks{list-style:none;margin:0;padding:0}.detail-subtask{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--color-bg);margin-bottom:6px;font-size:.9375rem}.detail-subtask--done{opacity:.8}.detail-subtask--done .detail-subtask-title{text-decoration:line-through;color:var(--color-text-muted)}.detail-subtask-title{flex:1;min-width:0}.detail-subtask-ddl{font-size:.8125rem;color:var(--color-text-muted)}.detail-subtask-status{flex-shrink:0;font-size:1.1rem;color:var(--color-text-muted)}.detail-subtask--done .detail-subtask-status{color:var(--color-primary)}.detail-reflection{margin:0;white-space:pre-wrap;line-height:1.6;font-size:.9375rem;color:var(--color-text)}.detail-title{margin:0 0 20px;font-size:1.375rem;font-weight:700;letter-spacing:-.02em;line-height:1.35}.detail-source{margin:0 0 14px;font-size:.9375rem;color:var(--color-text-muted)}.detail-content{white-space:pre-wrap;margin-bottom:20px;line-height:1.65;font-size:.9375rem}.detail-meta{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0 0 24px;font-size:.9375rem;padding:16px;background:var(--color-bg);border-radius:var(--radius)}.detail-meta dt{color:var(--color-text-muted);margin:0;font-weight:500}.detail-meta dd{margin:0}.detail-meta .detail-link{word-break:break-all;color:var(--color-primary, #0a7ea4)}.detail-block{margin-bottom:24px}.detail-block h3{font-size:.875rem;font-weight:600;margin:0 0 10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.detail-description{white-space:pre-wrap;margin:0;line-height:1.65;font-size:.9375rem}.sublist{margin:0;padding-left:20px;line-height:1.6}.detail-attachments{display:flex;flex-wrap:wrap;gap:12px}.detail-attach-img{max-width:140px;max-height:140px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.detail-attach-file{padding:8px 14px;background:var(--color-bg);border-radius:var(--radius-sm);font-size:.875rem;color:var(--color-primary);text-decoration:none;border:1px solid var(--color-border);transition:background var(--transition),border-color var(--transition)}.detail-attach-file:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--color-border)}.detail-actions .btn.danger{color:#dc2626;padding:10px 18px;border-radius:var(--radius-sm);font-weight:500}.detail-actions .btn.danger:hover{background:#dc26261a}.todos-page-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.todos-page-heading-row .page-heading{margin:0;flex:1;min-width:0}.todos-share-today{flex-shrink:0;white-space:nowrap}.todos-hide-completed{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:.875rem;color:var(--color-text-muted);cursor:pointer}.todos-hide-completed input{width:18px;height:18px}.todos-item-wrap{--card-urgency: 0;display:flex;align-items:center;gap:10px;background:var(--color-surface);background:color-mix(in srgb,var(--color-surface) 94%,var(--color-primary) calc(var(--card-urgency) * 16%));border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid transparent;border-left:4px solid var(--color-primary);border-left-color:color-mix(in srgb,var(--color-primary) 75%,var(--color-primary-hover) calc(var(--card-urgency) * 100%));overflow:hidden}.todos-item-wrap--habit{background:color-mix(in srgb,var(--color-surface) 92%,#10b981 8%);border-left-color:#10b981}.todos-item-wrap--carry{background:color-mix(in srgb,var(--color-surface) 90%,#f59e0b 10%);border-left-color:#f59e0b}.todos-item--habit .todos-item-importance{display:none}.todos-calendar-week-event.todos-calendar-week-event--habit{background:#10b9811f;border-left-color:#10b981}.todos-calendar-week-event.todos-calendar-week-event--carry{background:#f59e0b1f;border-left-color:#f59e0b}.todos-calendar-event.todos-calendar-event--habit{background:#10b981}.todos-calendar-event.todos-calendar-event--carry{background:#f59e0b}.todos-item-wrap.todos-item--completed{opacity:.75;background:var(--color-surface);border-left-color:var(--color-text-muted)}.todos-item-wrap.todos-item--completed .todos-item-title,.todos-item-wrap.todos-item--completed .todos-item-meta{text-decoration:line-through;color:var(--color-text-muted)}.todos-item-wrap .todos-item,.todos-item-wrap .todos-axis-event{flex:1;min-width:0;border:none;border-left:none;box-shadow:none}.todos-item-wrap .todos-item:hover,.todos-item-wrap .todos-axis-event:hover{box-shadow:none}.todos-item-right{flex-shrink:0;padding-right:12px;display:flex;align-items:center}.todos-item-percent{font-size:.8125rem;color:var(--color-text-muted);font-weight:500}.todos-item-check{width:28px;height:28px;border-radius:50%;border:2px solid var(--color-border);background:transparent;font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-muted);transition:border-color var(--transition),background var(--transition),color var(--transition)}.todos-item-check:hover{border-color:var(--color-primary);color:var(--color-primary)}.todos-item-wrap.todos-item--completed .todos-item-check{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.todos-mode-toggle{display:flex;gap:8px;margin-bottom:20px}.todos-mode-toggle button{padding:10px 18px;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:500;background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border);transition:background var(--transition),color var(--transition),border-color var(--transition)}.todos-mode-toggle button:hover{color:var(--color-text);background:var(--color-surface)}.todos-mode-toggle button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.todos-goals-wrap{margin-top:4px}.todos-goals-actions{margin-bottom:16px}.todos-goals-sections{display:flex;flex-direction:column;gap:20px}.todos-goals-section-title{font-size:.875rem;font-weight:600;color:var(--color-text-muted);margin:0 0 10px;letter-spacing:.02em}.todos-goals-block{margin-bottom:16px;padding:14px;background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.todos-goals-block-title{font-size:.9375rem;font-weight:600;margin:0 0 10px;color:var(--color-text)}.todos-goals-empty{font-size:.8125rem;color:var(--color-text-muted);margin:0}.todos-today-wrap{margin-top:8px}.todos-today-progress{margin-bottom:16px;display:flex;flex-direction:column;gap:14px}.todos-today-progress-block{min-width:0}.todos-today-progress-bar{height:10px;border-radius:999px;background:var(--color-border);overflow:hidden;margin-bottom:8px}.todos-today-progress-bar--habit{background:color-mix(in srgb,var(--color-border) 88%,#10b981 12%)}.todos-today-progress-fill{height:100%;border-radius:999px;background:var(--color-primary);transition:width .25s ease}.todos-today-progress-fill--habit{background:linear-gradient(90deg,#059669,#10b981)}.todos-today-progress-text{font-size:.875rem;color:var(--color-text-muted);margin:0;font-weight:500}.todos-tags-layout{display:flex;gap:20px;align-items:flex-start}.todos-sidebar{flex-shrink:0;display:flex;flex-direction:column;gap:8px;min-width:100px}.todos-tag-btn{padding:10px 14px;text-align:left;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);transition:border-color var(--transition),background var(--transition),color var(--transition);box-shadow:var(--shadow-sm)}.todos-tag-btn:hover{background:var(--color-bg)}.todos-tag-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.todos-tags-empty{font-size:.8125rem;color:var(--color-text-muted);padding:8px 0}.todos-main{flex:1;min-width:0}.todos-list{list-style:none;margin:0;padding:0}.todos-list li{margin-bottom:10px}.todos-item-block{display:flex;flex-direction:column;gap:0}.todos-item-block:has(.todos-sublist) .todos-item-wrap .todos-item{border-radius:var(--radius) var(--radius) 0 0}.todos-sublist{list-style:none;margin:0;padding:8px 16px 12px;background:var(--color-surface-solid, #fff);border-radius:0 0 var(--radius) var(--radius);border:1px solid var(--color-border);border-top:none;display:flex;flex-direction:column;gap:6px}.todos-subitem{display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--color-text);padding:4px 0}.todos-subitem .todos-subitem-check{margin-left:auto}.todos-subitem--done .todos-subitem-title{text-decoration:line-through;color:var(--color-text-muted)}.todos-subitem-check{flex-shrink:0;width:22px;height:22px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);font-size:.75rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.todos-subitem-check:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.todos-subitem-title{flex:1;min-width:0}.todos-subitem-ddl{flex-shrink:0;font-size:.75rem;color:var(--color-text-muted)}.todos-item{display:block;padding:14px 16px;background:var(--color-surface-solid, #fff);border-radius:var(--radius);text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);transition:border-color var(--transition),box-shadow var(--transition)}.todos-item:hover{border-color:var(--color-border);box-shadow:var(--shadow)}.todos-item-title{display:block;font-weight:500;margin-bottom:6px;font-size:.9375rem}.todos-item-meta{font-size:.8125rem;color:var(--color-text-muted)}.todos-item-importance{margin-right:6px;color:var(--color-primary);font-weight:600;letter-spacing:.02em}.todos-timeline-list{list-style:none;margin:0;padding:0}.todos-timeline-item{margin-bottom:10px}.todos-timeline-inner{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--color-surface);border-radius:var(--radius);text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);border:1px solid transparent;border-left:4px solid var(--color-primary);flex-wrap:wrap;transition:border-color var(--transition),box-shadow var(--transition)}.todos-timeline-inner:hover{border-color:var(--color-border);box-shadow:var(--shadow)}.todos-timeline-time{flex-shrink:0;font-size:.8125rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.todos-timeline-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.todos-timeline-day{flex-shrink:0;font-size:.75rem;color:var(--color-text-muted);width:100%;margin-top:2px}.todos-timeline-sub-toggle{display:flex;gap:8px;margin-bottom:20px}.todos-timeline-sub-toggle button{padding:8px 16px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border);transition:background var(--transition),color var(--transition),border-color var(--transition)}.todos-timeline-sub-toggle button:hover{color:var(--color-text);background:var(--color-surface)}.todos-timeline-sub-toggle button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.todos-axis-wrap{position:relative;padding-left:24px}.todos-axis-line{position:absolute;left:7px;top:12px;bottom:12px;width:2px;background:linear-gradient(to bottom,var(--color-primary),var(--color-border));border-radius:1px}.todos-axis-content{position:relative;z-index:1}.todos-axis-day{position:relative;display:flex;gap:16px;margin-bottom:24px;align-items:flex-start}.todos-axis-day:last-child{margin-bottom:0}.todos-axis-dot{position:absolute;left:-23px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--color-primary);border:3px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-primary);flex-shrink:0}.todos-axis-day-body{flex:1;min-width:0}.todos-axis-day-title{font-size:.875rem;font-weight:600;color:var(--color-text-muted);margin:0 0 10px;letter-spacing:.02em}.todos-axis-event-list{list-style:none;margin:0;padding:0}.todos-axis-event-list li{margin-bottom:8px}.todos-axis-event-list li:last-child{margin-bottom:0}.todos-axis-event{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--color-surface);border-radius:var(--radius-sm);text-decoration:none;color:inherit;border-left:4px solid var(--color-primary);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),border-color var(--transition)}.todos-axis-event:hover{box-shadow:var(--shadow);border-left-color:var(--color-primary-hover)}.todos-axis-event-importance{flex-shrink:0;font-size:.75rem;color:var(--color-primary);font-weight:600;margin-right:4px}.todos-axis-event-time{flex-shrink:0;font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.todos-axis-event-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.todos-calendar-wrap{margin-top:4px}.todos-calendar-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:12px;flex-wrap:wrap}.todos-calendar-breadcrumb button{padding:6px 12px;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);transition:color var(--transition),background var(--transition),border-color var(--transition)}.todos-calendar-breadcrumb button:hover{color:var(--color-text);background:var(--color-surface)}.todos-calendar-breadcrumb button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.todos-calendar-breadcrumb-sep{width:1px;height:14px;background:var(--color-border)}.todos-calendar-back{margin-left:auto;font-size:.8125rem;color:var(--color-primary)}.todos-calendar-back:hover{text-decoration:underline}.todos-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.todos-calendar-month-title,.todos-calendar-week-title{flex:1;text-align:center;font-size:1rem;font-weight:600;color:var(--color-text)}.todos-calendar-nav{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:1.25rem;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);transition:color var(--transition),background var(--transition)}.todos-calendar-nav:hover{color:var(--color-primary);background:var(--color-primary-light)}.todos-calendar-date{flex:1;font-size:1rem;font-weight:600;color:var(--color-text);padding:10px 16px;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;gap:8px;transition:border-color var(--transition),background var(--transition)}.todos-calendar-date:hover,.todos-calendar-date.today{border-color:var(--color-primary);background:var(--color-primary-light)}.todos-calendar-today-badge{font-size:.75rem;font-weight:500;color:var(--color-primary);background:var(--color-surface);padding:2px 8px;border-radius:6px}.todos-calendar-body{position:relative;display:flex;border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface)}.todos-calendar-ruler{flex-shrink:0;width:48px;padding-top:2px;background:var(--color-bg);border-right:1px solid var(--color-border);font-size:.6875rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums;text-align:right;padding-right:6px}.todos-calendar-ruler-slot{display:flex;align-items:flex-start;justify-content:flex-end;padding-top:2px;line-height:1}.todos-calendar-grid{flex:1;position:relative;min-height:200px;background:repeating-linear-gradient(to bottom,transparent,transparent 43px,var(--color-border) 43px,var(--color-border) 44px)}.todos-calendar-event{position:absolute;left:6px;right:6px;display:flex;align-items:center;gap:8px;padding:0 10px;background:var(--color-primary);color:#fff;border-radius:6px;text-decoration:none;font-size:.8125rem;box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition);overflow:hidden}.todos-calendar-event:hover{transform:scale(1.01);box-shadow:var(--shadow)}.todos-calendar-event-importance{flex-shrink:0;font-size:.7rem;color:inherit;opacity:.9;font-weight:600;margin-right:2px}.todos-calendar-event-time{flex-shrink:0;font-variant-numeric:tabular-nums;opacity:.95}.todos-calendar-event-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.todos-calendar-empty{text-align:center;color:var(--color-text-muted);font-size:.875rem;margin-top:16px}.todos-calendar-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;padding:2px}.todos-calendar-weekday-head{background:var(--color-bg);padding:8px 4px;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-align:center}.todos-calendar-day-cell{position:relative;aspect-ratio:1;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--color-surface);border:none;border-radius:6px;cursor:pointer;font:inherit;transition:background var(--transition),color var(--transition);overflow:hidden}.todos-calendar-day-cell-bg{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,#fff 0%,var(--color-primary) 100%);opacity:calc(var(--day-intensity, 0) * .72);pointer-events:none}.todos-calendar-day-cell .todos-calendar-day-num,.todos-calendar-day-cell .todos-calendar-day-dots{position:relative;z-index:1}.todos-calendar-day-percent{position:absolute;top:6px;right:6px;z-index:2;font-size:.6875rem;font-weight:600;color:var(--color-primary);background:#ffffffe6;border:1px solid var(--color-border);padding:2px 6px;border-radius:999px;line-height:1.2;white-space:nowrap}.todos-calendar-day-cell:hover:not(.empty) .todos-calendar-day-cell-bg{opacity:calc(var(--day-intensity, 0) * .72 + .15)}.todos-calendar-day-cell.empty{background:var(--color-bg-solid);cursor:default;opacity:.85}.todos-calendar-day-cell.empty .todos-calendar-day-cell-bg{display:none}.todos-calendar-day-cell.today .todos-calendar-day-num{color:var(--color-primary);font-weight:600}.todos-calendar-day-num{font-size:.9375rem}.todos-calendar-day-dots{display:flex;gap:2px;align-items:center;justify-content:center}.todos-calendar-day-dot{width:4px;height:4px;border-radius:50%;background:var(--color-primary)}.todos-calendar-day-cell.today .todos-calendar-day-dot{background:var(--color-primary)}.todos-calendar-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:16px}.todos-calendar-week-day{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:var(--color-surface)}.todos-calendar-week-day-head{padding:10px 8px;text-align:center;border-bottom:1px solid var(--color-border);background:var(--color-bg);width:100%;border:none;cursor:pointer;font:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;transition:background var(--transition)}.todos-calendar-week-day-head:hover{background:var(--color-primary-light)}.todos-calendar-week-day-head.today{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.todos-calendar-week-day-num{font-size:1.125rem}.todos-calendar-week-day-weekday{font-size:.6875rem;color:var(--color-text-muted)}.todos-calendar-week-events{list-style:none;margin:0;padding:6px;min-height:60px}.todos-calendar-week-events li{margin-bottom:6px}.todos-calendar-week-events li:last-child{margin-bottom:0}.todos-calendar-week-event{display:block;padding:6px 8px;border-radius:6px;text-decoration:none;color:inherit;font-size:.75rem;background:var(--color-primary-light);border-left:3px solid var(--color-primary);transition:background var(--transition)}.todos-calendar-week-event:hover{background:#2563eb26}.todos-calendar-week-event-importance{font-size:.7rem;color:var(--color-primary);font-weight:600;margin-right:4px}.todos-calendar-week-event-time{display:block;font-variant-numeric:tabular-nums;color:var(--color-text-muted);margin-bottom:2px}.todos-calendar-week-event-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.todos-calendar-birthday .todos-calendar-week-event-title{font-size:.8125rem}.todos-calendar-day-birthdays{padding:10px 12px;margin-bottom:12px;background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.todos-calendar-day-birthdays-label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-muted);margin-bottom:8px}.todos-calendar-day-birthdays-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.todos-calendar-day-birthdays-list a{color:var(--color-primary);text-decoration:none;font-size:.9375rem}.todos-calendar-day-birthdays-list a:hover{text-decoration:underline}@media (max-width: 768px){.todos-tags-layout{flex-direction:column;width:100%}.todos-sidebar{flex-direction:row;flex-wrap:wrap;min-width:0;width:100%}.todos-main{width:100%;min-width:0}.todos-list,.todos-list li{width:100%}.todos-item-wrap{width:100%;box-sizing:border-box}}@media (max-width: 500px){.todos-calendar-week-grid{grid-template-columns:repeat(7,minmax(72px,1fr));overflow-x:auto;padding-bottom:8px}.todos-calendar-breadcrumb .todos-calendar-back{margin-left:0;width:100%}}.notes-desc{color:var(--color-text-muted);font-size:.9375rem;margin:0 0 18px;line-height:1.5}.notes-axis-wrap{position:relative;padding-left:24px}.notes-axis-line{position:absolute;left:7px;top:12px;bottom:12px;width:2px;background:var(--color-border);border-radius:1px}.notes-axis-content{position:relative;z-index:1}.notes-axis-day{position:relative;display:flex;gap:16px;margin-bottom:20px}.notes-axis-day:last-child{margin-bottom:0}.notes-axis-dot{position:absolute;left:-23px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-bg);box-sizing:border-box}.notes-axis-day-body{flex:1;min-width:0}.notes-axis-day-title{font-size:.875rem;font-weight:600;color:var(--color-text-muted);margin:0 0 10px;letter-spacing:.02em}.notes-axis-event-list{list-style:none;margin:0;padding:0}.notes-axis-event-list li{margin-bottom:8px}.notes-axis-event-list li:last-child{margin-bottom:0}.notes-axis-event{display:flex;align-items:stretch;gap:0;padding:0;background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid transparent;border-left:4px solid var(--color-accent);text-decoration:none;color:inherit;overflow:hidden;transition:border-color var(--transition),box-shadow var(--transition)}.notes-axis-event:hover{box-shadow:var(--shadow);border-left-color:var(--color-accent)}.notes-axis-event-cover{flex-shrink:0;width:120px;min-width:120px;height:88px;background:var(--color-bg);overflow:hidden;display:flex;align-items:center;justify-content:center}.notes-axis-event-cover img{width:100%;height:100%;object-fit:cover}.notes-axis-event-cover-placeholder{display:block;width:100%;height:100%;background:var(--color-bg);opacity:.6}.notes-axis-event-body{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 14px}.notes-axis-event-time{flex-shrink:0;font-size:.8125rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.notes-axis-event-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem}.finance-page .page-heading{margin-bottom:16px}.finance-empty{color:var(--color-text-muted);font-size:.9375rem}.finance-display-currency{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-bottom:16px;padding:12px;background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.finance-display-currency-label,.finance-display-currency-rate{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--color-text-muted)}.finance-display-currency-label span,.finance-display-currency-rate span{white-space:nowrap}.finance-display-currency-select{width:auto;min-width:140px}.finance-display-currency-rate .input{width:100px}.finance-fetch-rate-btn{white-space:nowrap}.finance-display-currency-error{font-size:.8125rem;color:#dc2626;width:100%}.finance-period{margin-bottom:16px}.finance-period-label{display:block;font-size:.75rem;color:var(--color-text-muted);margin-bottom:6px}.finance-period-nav{display:flex;align-items:center;gap:12px}.finance-period-btn{width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:1.25rem;color:var(--color-text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition),border-color var(--transition)}.finance-period-btn:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.finance-period-btn:disabled{opacity:.5;cursor:not-allowed}.finance-period-value{flex:1;font-size:1.0625rem;font-weight:600;text-align:center}.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.finance-summary-item{background:var(--color-surface);border-radius:var(--radius);padding:14px;text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.finance-summary-label{display:block;font-size:.75rem;color:var(--color-text-muted);margin-bottom:4px}.finance-summary-value{font-size:1.125rem;font-weight:600}.finance-summary-item.income .finance-summary-value{color:#16a34a}.finance-summary-item.expense .finance-summary-value{color:#dc2626}.finance-summary-item.balance .finance-summary-value{color:var(--color-primary)}.finance-chart-block{margin-bottom:24px;padding:16px;background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.finance-chart-title{font-size:.875rem;font-weight:600;color:var(--color-text-muted);margin:0 0 14px}.finance-chart-row{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.finance-pie{width:140px;height:140px;border-radius:50%;flex-shrink:0}.finance-category-list{list-style:none;margin:0;padding:0;flex:1;min-width:180px}.finance-category-item{margin-bottom:12px;display:grid;grid-template-columns:10px 1fr auto auto;grid-template-rows:auto auto;gap:4px 10px;align-items:center}.finance-category-dot{width:8px;height:8px;border-radius:50%;grid-row:span 2;align-self:center}.finance-category-name{font-size:.9375rem;font-weight:500}.finance-category-amount{font-size:.875rem;font-weight:600;color:var(--color-text)}.finance-category-percent{font-size:.75rem;color:var(--color-text-muted)}.finance-category-bar-wrap{grid-column:2 / -1;height:6px;background:var(--color-bg);border-radius:3px;overflow:hidden}.finance-category-bar{height:100%;border-radius:3px;min-width:2px;transition:width var(--transition)}.finance-no-expense{font-size:.875rem;color:var(--color-text-muted);margin:0 0 20px}.finance-month{margin-bottom:24px}.finance-month-title{font-size:.875rem;font-weight:600;color:var(--color-text-muted);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.finance-month-empty{font-size:.875rem;color:var(--color-text-muted);margin:0}.finance-entries{list-style:none;margin:0;padding:0}.finance-entry{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--color-surface);border-radius:var(--radius-sm);margin-bottom:8px;border-left:4px solid var(--color-border)}.finance-entry--income{border-left-color:#16a34a}.finance-entry--expense{border-left-color:#dc2626}.finance-entry-type{font-size:1.1rem;font-weight:600;width:24px;text-align:center}.finance-entry--income .finance-entry-type{color:#16a34a}.finance-entry--expense .finance-entry-type{color:#dc2626}.finance-entry-amount{font-weight:600;min-width:72px}.finance-entry-category{flex:1;font-size:.9375rem;color:var(--color-text)}.finance-entry-note{font-size:.8125rem;color:var(--color-text-muted);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-entry-date{font-size:.8125rem;color:var(--color-text-muted)}.finance-entry-edit{margin-left:auto;padding:6px 12px;font-size:.8125rem;flex-shrink:0}.contacts-page .page-heading{margin-bottom:16px}.contacts-empty{color:var(--color-text-muted);font-size:.9375rem}.contacts-cards{display:flex;flex-direction:column;gap:20px}.contacts-block{display:flex;flex-direction:column;gap:12px}.contacts-namecard{display:block;padding:18px 20px;background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);text-decoration:none;color:inherit;transition:box-shadow var(--transition),border-color var(--transition),transform var(--transition)}.contacts-namecard:hover{box-shadow:var(--shadow);border-color:#fffc}.contacts-namecard-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.contacts-namecard-avatar{width:52px;height:52px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:1.35rem;font-weight:600;flex-shrink:0;overflow:hidden}.contacts-namecard-avatar img{width:100%;height:100%;object-fit:cover}.contacts-namecard-title{flex:1;min-width:0}.contacts-namecard-name{display:block;font-size:1.125rem;font-weight:700;letter-spacing:-.02em;margin-bottom:2px}.contacts-namecard-company{display:block;font-size:.875rem;color:var(--color-text-muted);font-weight:500}.contacts-namecard-meta{display:flex;flex-direction:column;gap:6px}.contacts-namecard-row{display:flex;align-items:baseline;gap:10px;font-size:.875rem}.contacts-namecard-label{flex-shrink:0;color:var(--color-text-muted);min-width:3em}.contacts-namecard-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contacts-namecard-note{white-space:normal}.contacts-events-wrap{padding-left:16px;border-left:3px solid var(--color-primary)}.contacts-events-title{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.04em;margin-bottom:10px}.contacts-event-cards{display:flex;flex-direction:column;gap:10px}.contacts-event-card{display:flex;align-items:stretch;gap:0;padding:0;background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);text-decoration:none;color:inherit;overflow:hidden;transition:box-shadow var(--transition),border-color var(--transition)}.contacts-event-card:hover{box-shadow:var(--shadow)}.contacts-event-card-thumb{flex-shrink:0;width:72px;min-width:72px;height:72px;background:var(--color-bg);overflow:hidden}.contacts-event-card-thumb img{width:100%;height:100%;object-fit:cover}.contacts-event-card-body{flex:1;min-width:0;padding:12px 14px;display:flex;flex-direction:column;gap:4px;justify-content:center}.contacts-event-card-desc{margin:0;font-size:.9375rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.contacts-event-card-meta{font-size:.8125rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.contact-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.contact-detail-hero{text-align:center;margin-bottom:24px}.contact-detail-avatar{width:72px;height:72px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;margin-bottom:12px}.contact-detail-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.contact-detail-name{margin:0;font-size:1.5rem;font-weight:700}.contact-detail-meta{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0 0 24px;padding:16px;background:var(--color-bg);border-radius:var(--radius);font-size:.9375rem}.contact-detail-meta dt{color:var(--color-text-muted);margin:0}.contact-detail-meta dd{margin:0}.contact-detail-events-title{font-size:.9375rem;font-weight:600;margin:0 0 12px;color:var(--color-text-muted)}.contact-events-list{list-style:none;margin:0;padding:0}.contact-event-detail{background:var(--color-surface);border-radius:var(--radius);padding:14px;margin-bottom:12px;border:1px solid var(--color-border)}.contact-event-desc{margin:0 0 8px;font-size:.9375rem}.contact-event-meta{margin:0 0 4px;font-size:.8125rem;color:var(--color-text-muted)}.contact-event-photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.contact-event-photo{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-sm)}.contact-event-file{font-size:.875rem;color:var(--color-primary)}.landing-page .page-heading{margin-bottom:8px}.landing-desc{margin:0 0 24px;color:var(--color-text-muted);font-size:.9375rem;line-height:1.5}.landing-grid{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 640px){.landing-grid{grid-template-columns:1fr 1fr;align-items:stretch}}.landing-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:22px 20px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition)}.landing-card:hover{border-color:transparent;box-shadow:var(--shadow-md)}.landing-card--assistant{border-left:4px solid var(--color-primary)}.landing-card--assistant:hover{box-shadow:0 12px 40px var(--color-primary-light)}.landing-card--gown{border-left:4px solid #0f766e}.landing-card--gown:hover{box-shadow:0 12px 40px #0f766e1f}.landing-card-title{margin:0;font-size:1.125rem;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--color-text)}.landing-card-subtitle{margin:0;flex:1;font-size:.875rem;color:var(--color-text-muted);line-height:1.55}.landing-card-cta{margin-top:8px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.landing-card-cta:focus-visible{outline-offset:2px}.gown-rental-main-title{margin-bottom:8px}.gown-rental-intro{margin:0 0 22px;color:var(--color-text-muted);font-size:.9375rem;line-height:1.55}.gown-block{margin-bottom:18px;padding:16px 18px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.gown-block--rules{border-left:4px solid #0f766e}.gown-block-title{margin:0 0 10px;font-size:1rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text)}.gown-list{margin:0;padding-left:1.25rem;color:var(--color-text-muted);font-size:.9375rem;line-height:1.55}.gown-list li+li{margin-top:6px}.gown-actions{display:flex;flex-direction:column;gap:10px;margin:24px 0 16px}.gown-action-btn{width:100%;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center}.gown-rental-footer-nav{padding-top:4px}.gown-rental-back{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.gown-rental-footer-nav .gown-rental-back{width:100%}.gown-rental-sub .gown-rental-sub-nav{display:flex;flex-direction:column;gap:10px;margin-top:8px}.gown-book-warning{margin:0 0 16px;font-size:.9375rem;color:#b45309}.gown-rental-sub .gown-rental-back{width:100%}@media (min-width: 480px){.gown-actions{max-width:360px}.gown-rental-footer-nav .gown-rental-back{width:auto}.gown-rental-sub .gown-rental-sub-nav{flex-direction:row;flex-wrap:wrap;max-width:420px}.gown-rental-sub .gown-rental-back{width:auto;flex:1;min-width:140px}}.gown-cal-page .page-heading{margin-bottom:8px}.gown-cal-sample-note{margin:0 0 16px;font-size:.8125rem;color:var(--color-text-muted);line-height:1.45}.gown-cal-legend{margin-bottom:18px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.gown-cal-legend-title{margin:0 0 10px;font-size:.875rem;font-weight:700;color:var(--color-text)}.gown-cal-legend-list{margin:0;padding-left:0;list-style:none;font-size:.8125rem;color:var(--color-text-muted);line-height:1.45}.gown-cal-legend-list li{display:flex;align-items:flex-start;gap:8px;margin-top:6px}.gown-cal-legend-list li:first-child{margin-top:0}.gown-cal-legend-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0;margin-top:4px}.gown-cal-legend-dot--green{background:#10b981}.gown-cal-legend-dot--yellow{background:#f59e0b}.gown-cal-legend-dot--red{background:#ef4444}.gown-cal-legend-dot--grey{background:#94a3b8}.gown-cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.gown-cal-nav-btn{flex-shrink:0;padding:8px 12px;font-size:.8125rem}.gown-cal-month-label{font-weight:700;font-size:.9375rem;text-align:center;flex:1;min-width:0}.gown-cal-grid-wrap{margin-bottom:18px}.gown-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:6px}.gown-cal-wd{text-align:center;font-size:.6875rem;font-weight:600;color:var(--color-text-muted)}.gown-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.gown-cal-cell{min-height:76px;padding:6px 4px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-solid);cursor:pointer;display:flex;flex-direction:column;align-items:stretch;text-align:left;font:inherit;color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition),transform .08s ease}.gown-cal-cell:active:not(:disabled){transform:scale(.98)}.gown-cal-cell--pad{visibility:hidden;pointer-events:none;min-height:0!important;padding:0!important;border:none!important;background:transparent!important;box-shadow:none!important}.gown-cal-cell-daynum{font-weight:700;font-size:.8125rem;margin-bottom:4px}.gown-cal-cell-body{display:flex;flex-direction:column;gap:2px;flex:1}.gown-cal-cell-line{font-size:.625rem;line-height:1.25;color:var(--color-text-muted);word-break:break-word}@media (min-width: 400px){.gown-cal-cell-line{font-size:.6875rem}}.gown-cal-cell-muted{font-size:.6875rem;color:var(--color-text-muted);opacity:.75}.gown-cal-cell--green{background:#10b98124;border-color:#10b98159}.gown-cal-cell--yellow{background:#f59e0b29;border-color:#f59e0b66}.gown-cal-cell--red{background:#ef44441f;border-color:#ef444461}.gown-cal-cell--grey{background:#94a3b824;border-color:#94a3b859;cursor:default;opacity:.92}.gown-cal-cell--selected{box-shadow:0 0 0 2px var(--color-primary)}.gown-cal-panel{padding:16px 18px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);margin-bottom:20px}.gown-cal-panel-hint{margin:0;font-size:.9375rem;color:var(--color-text-muted)}.gown-cal-panel-heading{margin:0 0 6px;font-size:1rem;font-weight:700}.gown-cal-panel-date{margin:0 0 12px;font-size:.9375rem;font-weight:600;color:var(--color-text)}.gown-cal-panel-stats{margin:0 0 14px;padding-left:1.15rem;font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}.gown-cal-panel-msg{margin:0;font-size:.9375rem;color:var(--color-text-muted)}.gown-cal-book-btn{display:inline-flex;justify-content:center;text-decoration:none;width:100%}@media (min-width: 480px){.gown-cal-book-btn{width:auto;min-width:200px}}.gown-cal-footer-links{display:flex;flex-direction:column;gap:10px}.gown-cal-footer-link{width:100%;text-decoration:none;display:inline-flex;justify-content:center}@media (min-width: 480px){.gown-cal-footer-links{flex-direction:row;flex-wrap:wrap}.gown-cal-footer-link{width:auto;flex:1;min-width:140px}}.gown-book-page .page-heading{margin-bottom:8px}.gown-book-intro{margin:0 0 16px;color:var(--color-text-muted);font-size:.9375rem;line-height:1.55}.gown-book-banner{margin:0 0 16px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid rgba(245,158,11,.45);background:#f59e0b1a;font-size:.875rem;color:var(--color-text);line-height:1.45}.gown-book-errors{margin:0 0 16px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.35);background:#ef444414}.gown-book-errors-title{margin:0 0 8px;font-size:.875rem;font-weight:700;color:#b91c1c}.gown-book-errors ul{margin:0;padding-left:1.15rem;font-size:.875rem;color:var(--color-text);line-height:1.45}.gown-book-errors li+li{margin-top:4px}.gown-book-fieldset{margin:0 0 18px;padding:16px 18px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.gown-book-legend{margin:0 0 12px;padding:0;font-size:1rem;font-weight:700;color:var(--color-text)}.gown-book-options{display:flex;flex-direction:column;gap:10px}.gown-book-radio,.gown-book-check{display:flex;align-items:flex-start;gap:10px;font-size:.9375rem;color:var(--color-text);line-height:1.45;cursor:pointer}.gown-book-radio input,.gown-book-check input{margin-top:4px;accent-color:var(--color-primary);flex-shrink:0}.gown-book-inline-dates{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width: 520px){.gown-book-inline-dates{grid-template-columns:1fr 1fr}}.gown-book-actions{margin-top:8px}.gown-book-submit{width:100%}@media (min-width: 480px){.gown-book-submit{width:auto;min-width:200px}}.gown-book-footer-nav{display:flex;flex-direction:column;gap:10px;margin-top:20px}.gown-book-footer-nav .btn{width:100%;text-decoration:none;display:inline-flex;justify-content:center}@media (min-width: 480px){.gown-book-footer-nav{flex-direction:row;flex-wrap:wrap}.gown-book-footer-nav .btn{width:auto;flex:1;min-width:140px}}.gown-success-page .page-heading{margin-bottom:8px}.gown-success-lead{margin:0 0 18px;color:var(--color-text-muted);font-size:.9375rem}.gown-success-code-wrap{margin:0 0 20px;padding:16px 18px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface-solid);box-shadow:var(--shadow-sm)}.gown-success-code-label{margin:0 0 6px;font-size:.8125rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.gown-success-code{margin:0;font-size:1.35rem;font-weight:800;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--color-primary)}.gown-success-summary-title{margin:0 0 10px;font-size:1rem;font-weight:700}.gown-success-dl{margin:0;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface)}.gown-success-dl>div{display:grid;grid-template-columns:minmax(0,38%) 1fr;gap:8px 12px;font-size:.875rem;line-height:1.45}.gown-success-dl>div+div{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border)}.gown-success-dt{margin:0;color:var(--color-text-muted);font-weight:500}.gown-success-dd{margin:0;color:var(--color-text);word-break:break-word}.gown-success-nav{display:flex;flex-direction:column;gap:10px;margin-top:22px}.gown-success-nav .btn{width:100%;text-decoration:none;display:inline-flex;justify-content:center}@media (min-width: 480px){.gown-success-nav{flex-direction:row;flex-wrap:wrap}.gown-success-nav .btn{width:auto;flex:1;min-width:140px}}.gown-success-empty{margin:0 0 16px;color:var(--color-text-muted);font-size:.9375rem}.admin-gown-page .page-heading{margin-bottom:12px}.admin-gown-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}@media (min-width: 720px){.admin-gown-toolbar{flex-direction:row;flex-wrap:wrap;align-items:flex-end}}.admin-gown-toolbar-field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:140px}.admin-gown-toolbar-field label{font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.admin-gown-toolbar-actions{display:flex;gap:10px;flex-shrink:0}.admin-gown-search{min-width:200px;flex:2}.admin-gown-select{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-solid);color:var(--color-text);font:inherit;transition:border-color var(--transition),box-shadow var(--transition)}.admin-gown-select:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.admin-gown-table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);margin-bottom:20px;-webkit-overflow-scrolling:touch}.admin-gown-table{width:100%;border-collapse:collapse;font-size:.8125rem;min-width:3200px}.admin-gown-table th,.admin-gown-table td{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border)}.admin-gown-table th{font-weight:700;color:var(--color-text);background:var(--color-surface-solid);white-space:nowrap;position:sticky;top:0;z-index:1;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.admin-gown-table tbody tr:hover td{background:#ffffff40}.admin-gown-table td.cell-muted{color:var(--color-text-muted)}.admin-gown-table td.cell-code{font-weight:700;white-space:nowrap}.admin-gown-table th.sticky-code,.admin-gown-table td.sticky-code{position:sticky;left:0;z-index:2;background:var(--color-surface-solid);box-shadow:4px 0 8px #1e1b4b0f}.admin-gown-table tbody tr:hover td.sticky-code{background:#ffffffeb}.admin-gown-table th.sticky-code{z-index:3}.admin-gown-notes-input{width:100%;min-width:180px;min-height:52px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-solid);color:var(--color-text);font:inherit;resize:vertical}.admin-gown-notes-input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.admin-gown-save-btn{white-space:nowrap}.admin-gown-empty{margin:0;padding:24px 16px;text-align:center;color:var(--color-text-muted);font-size:.9375rem}.admin-gown-footer{display:flex;flex-wrap:wrap;gap:10px}.admin-gown-footer .btn{text-decoration:none;display:inline-flex;justify-content:center}@media (max-width: 480px){.admin-gown-footer .btn{flex:1;min-width:120px}}.data-settings{position:relative}.data-settings-trigger{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:color var(--transition),background var(--transition)}.data-settings-trigger:hover{color:var(--color-primary);background:var(--color-primary-light)}.data-settings-icon{display:flex;align-items:center;justify-content:center}.data-settings-icon svg{display:block}.data-settings-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.data-settings-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;padding:32px 12px 12px;background:#fff!important;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:20}@media (max-width: 768px){.data-settings-panel{position:fixed;left:50%;top:calc(52px + env(safe-area-inset-top));right:auto;transform:translate(-50%);min-width:0;width:calc(100vw - 32px);max-width:320px;max-height:calc(100dvh - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;padding-left:16px;padding-right:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));box-sizing:border-box}}.data-settings-close{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition),background var(--transition)}.data-settings-close:hover{color:var(--color-text);background:var(--color-bg)}.data-settings-label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-muted);margin-bottom:6px;letter-spacing:.02em}.data-settings-hint{font-size:.75rem;color:var(--color-text-muted);margin:0 0 12px;line-height:1.4}.data-settings-actions{display:flex;flex-direction:column;gap:8px}.data-settings-btn{width:100%;justify-content:center}.data-settings-message{font-size:.8125rem;margin:10px 0 0;color:var(--color-primary)}.data-settings-message.error{color:#dc2626}.analysis-panel{position:relative}.analysis-trigger{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:1.2rem;transition:color var(--transition),background var(--transition)}.analysis-trigger:hover{color:var(--color-primary);background:var(--color-primary-light)}.analysis-trigger-icon{line-height:1;display:flex;align-items:center;justify-content:center}.analysis-trigger-icon svg{display:block}.analysis-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:min(420px,calc(100vw - 24px));max-height:85vh;overflow-y:auto;background:#fff!important;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:25;padding:14px}@media (max-width: 768px){.analysis-dropdown{position:fixed;left:50%;top:calc(52px + env(safe-area-inset-top));right:auto;width:calc(100vw - 32px);max-width:420px;max-height:calc(100dvh - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin-left:0;transform:translate(-50%);padding:14px;padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom));padding-left:16px;padding-right:16px;overflow-y:auto;box-sizing:border-box}}.analysis-dropdown-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.analysis-dropdown-title{font-size:.9375rem;font-weight:600;color:var(--color-text)}.analysis-close{width:28px;height:28px;border:none;background:transparent;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;border-radius:var(--radius-sm);line-height:1;padding:0}.analysis-close:hover{background:var(--color-bg);color:var(--color-text)}.analysis-summary-label,.analysis-result-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);margin:0 0 6px}.analysis-summary-box,.analysis-result-box{background:var(--color-bg);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:10px;max-height:160px;overflow-y:auto}.analysis-summary-text,.analysis-result-text{margin:0;font-size:.8125rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--color-text)}.analysis-result-box{max-height:220px}.analysis-actions{margin-bottom:12px}.analysis-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.analysis-field span{font-size:.75rem;color:var(--color-text-muted)}.analysis-field .input{padding:8px 10px;font-size:.875rem}.analysis-analyze-btn{width:100%;margin-bottom:8px}.analysis-error{margin:0 0 10px;font-size:.8125rem;color:var(--color-danger, #dc2626)}.analysis-result{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.auth-status{position:relative}.auth-status-trigger{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-muted);background:transparent;border:none;cursor:pointer;transition:color var(--transition),background var(--transition)}.auth-status-trigger:hover{color:var(--color-primary);background:var(--color-primary-light)}.auth-status-icon{display:flex;align-items:center;justify-content:center}.auth-status-icon svg{display:block}.auth-status-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;padding:32px 12px 12px;background:#fff!important;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:20}@media (max-width: 768px){.auth-status-panel{position:fixed;left:50%;top:calc(52px + env(safe-area-inset-top));right:auto;transform:translate(-50%);min-width:0;width:calc(100vw - 32px);max-width:280px;max-height:calc(100dvh - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;box-sizing:border-box}}.auth-status-close{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition),background var(--transition)}.auth-status-close:hover{color:var(--color-text);background:var(--color-bg)}.auth-status-email-wrap{margin:0 0 12px;font-size:.875rem}.auth-status-label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-muted);margin-bottom:4px;letter-spacing:.02em}.auth-status-email{word-break:break-all;color:var(--color-text)}.auth-status-logout{width:100%;padding:8px 12px;font-size:.875rem;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.auth-status-logout:hover{color:var(--color-primary);border-color:var(--color-primary)}.reminder-settings{position:relative}.reminder-settings-trigger{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:color var(--transition),background var(--transition)}.reminder-settings-trigger:hover{color:var(--color-primary);background:var(--color-primary-light)}.reminder-settings-icon{display:flex;align-items:center;justify-content:center}.reminder-settings-icon svg{display:block}.reminder-settings-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;max-width:320px;padding:36px 12px 12px;background:#fff!important;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:20}.reminder-settings-body{display:flex;flex-direction:column;gap:12px}.reminder-settings-title{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.reminder-settings-row{display:flex;flex-direction:column;gap:8px}@media (max-width: 768px){.reminder-settings-panel{position:fixed;left:50%;top:calc(52px + env(safe-area-inset-top));right:auto;transform:translate(-50%);min-width:0;width:calc(100vw - 32px);max-width:320px;max-height:calc(100dvh - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;padding-top:32px;padding-left:16px;padding-right:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));box-sizing:border-box}}.reminder-settings-close{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition),background var(--transition)}.reminder-settings-close:hover{color:var(--color-text);background:var(--color-bg)}.reminder-settings-label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.02em}.reminder-settings-hint{font-size:.8125rem;color:var(--color-text-muted);margin:0;line-height:1.45}.reminder-settings-ios{font-size:.75rem;color:var(--color-text-muted);margin:8px 0 0;line-height:1.45;padding:8px;background:var(--color-bg);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.reminder-settings-closed-app{font-size:.75rem;color:var(--color-text-muted);margin:8px 0 0;line-height:1.45}.reminder-settings-unsupported{font-size:.8125rem;color:var(--color-text-muted);margin:0}.reminder-settings-permission{width:100%;justify-content:center;margin-bottom:4px;background:var(--color-surface-solid);border:1px solid var(--color-border);color:var(--color-text)}.reminder-settings-permission:hover{border-color:var(--color-primary);color:var(--color-primary)}.reminder-settings-master{display:flex;gap:8px}.reminder-master-btn{flex:1;justify-content:center;background:var(--color-surface-solid);border:1px solid var(--color-border);color:var(--color-text)}.reminder-master-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.reminder-master-btn.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.app-header{background:var(--color-surface);box-shadow:var(--shadow-sm);padding-top:var(--safe-top);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--color-border)}.app-header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}.app-header-actions{display:flex;align-items:center;gap:4px}.app-brand-wrap{display:flex;align-items:center;gap:10px;min-width:0}.app-logo-btn{padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);flex-shrink:0}.app-logo-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-light)}.app-logo{width:36px;height:36px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.app-brand{display:flex;flex-direction:column;gap:0;min-width:0}.app-title{margin:0;font-size:1.35rem;font-weight:700;padding:0;letter-spacing:-.02em;color:var(--color-text);line-height:1.2}.app-tagline{margin:0;font-size:.75rem;font-weight:500;color:var(--color-text-muted);letter-spacing:.02em;line-height:1.3}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:0;left:0;z-index:1000;padding:12px 20px;background:var(--color-primary);color:#fff;font-weight:600;text-decoration:none;border-radius:0 0 var(--radius-sm) 0;transform:translateY(-100%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0);outline:2px solid var(--color-text);outline-offset:2px}.app-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#fff!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.app-loading-text{margin:0;font-size:.9375rem;color:var(--color-text-muted)}.app-voice-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#fff!important;display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));box-sizing:border-box}.app-voice-panel-inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:24px;max-width:320px;width:100%}.app-voice-panel-close{position:absolute;top:-8px;right:-8px;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:var(--color-bg);color:var(--color-text-muted);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition),background var(--transition)}.app-voice-panel-close:hover{color:var(--color-text);background:var(--color-border)}.app-voice-panel-hint{margin:0;font-size:1rem;color:var(--color-text-muted);text-align:center;line-height:1.5}.app-voice-panel-btn{width:120px;height:120px;border-radius:50%;border:3px solid var(--color-primary);background:var(--color-primary-light);color:var(--color-primary);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transition:transform var(--transition),background var(--transition);-webkit-tap-highlight-color:transparent}.app-voice-panel-btn:active:not(:disabled){transform:scale(.96)}.app-voice-panel-btn:disabled{cursor:default;opacity:.9}.app-voice-panel-btn-icon{display:flex;align-items:center;justify-content:center}.app-voice-panel-btn-text{font-size:.8125rem;font-weight:500}.app-main{flex:1;padding:20px 0 28px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);box-shadow:0 -2px 12px #0000000f;padding-bottom:var(--safe-bottom);z-index:10;border-top:1px solid var(--color-border)}.nav-inner{display:flex;justify-content:space-around;align-items:center;padding:10px 0;gap:4px}.nav-order-1{order:1}.nav-order-2{order:2}.nav-order-3{order:3}.nav-order-4{order:4}.nav-order-5{order:5}.nav-order-6{order:6}.nav-order-7{order:7}.nav-item{display:flex;flex-direction:column;align-items:center;padding:10px 20px;color:var(--color-text-muted);font-size:.8125rem;font-weight:500;border-radius:var(--radius);transition:color var(--transition),background var(--transition),transform var(--transition);flex:1;max-width:120px}.nav-item:hover{color:var(--color-primary);background:var(--color-primary-light)}.nav-item.active{color:var(--color-primary);font-weight:600;background:var(--color-primary-light)}.nav-label{margin-top:4px}.nav-item--line-icon{flex:1;max-width:72px;padding:10px 8px}.nav-item--line-icon .nav-line-icon{display:flex;align-items:center;justify-content:center}.nav-item--line-icon .nav-line-icon svg{width:24px;height:24px;flex-shrink:0}.nav-item--icon{flex:1;max-width:72px;cursor:pointer;border:none;background:transparent;font:inherit;padding:0;margin:0}.nav-item--icon:hover{background:transparent;color:inherit}.nav-item--icon:focus-visible .nav-icon-circle{box-shadow:0 0 0 3px var(--color-text)}.nav-item--icon:disabled{opacity:.6;cursor:not-allowed}.nav-item--icon:disabled .nav-icon-circle{opacity:.8}.nav-icon-circle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:#fff;box-shadow:none;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.nav-icon-circle svg{width:22px;height:22px;flex-shrink:0}.nav-icon-circle--plus{width:54px;height:54px}.nav-icon-circle--plus svg{width:30px;height:30px}.nav-item--icon:hover .nav-icon-circle{background:var(--color-primary-hover);transform:scale(1.05);box-shadow:none}.nav-item--plus-center,.nav-item--plus-center:hover,.nav-item--plus-center.active{background:transparent!important}.nav-camera-wrap{position:relative;flex:1;max-width:72px;display:flex;justify-content:center}.nav-camera-menu{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:120px;max-height:min(50vh,300px);overflow-y:auto;padding:6px 0;background:#fff!important;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:20}@media (max-width: 480px){.nav-camera-menu{max-height:min(45vh,280px);margin-bottom:env(safe-area-inset-bottom)}}.nav-camera-menu-item{display:block;width:100%;padding:10px 14px;border:none;background:transparent;font-size:.875rem;text-align:left;color:var(--color-text);cursor:pointer;transition:background var(--transition)}.nav-camera-menu-item:hover{background:var(--color-primary-light);color:var(--color-primary)}.nav-item--plus{flex:none;max-width:none;padding:0;margin:-6px 0 0}.nav-plus{display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:1.75rem;font-weight:300;line-height:1;border-radius:50%;background:var(--color-primary);color:#fff;box-shadow:0 2px 12px var(--color-primary-light);transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.nav-item--plus:hover .nav-plus{background:var(--color-primary-hover);transform:scale(1.05);box-shadow:0 4px 16px var(--color-primary-light)}.nav-item--plus.active .nav-plus{background:var(--color-primary-hover)}.add-to-home{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;font-size:.875rem;gap:12px;box-shadow:var(--shadow)}.add-to-home.hidden{display:none}.add-to-home button{color:#fff;opacity:.95;padding:6px 12px;border-radius:var(--radius-sm);font-weight:500;transition:background var(--transition)}.add-to-home button:hover{background:#fff3}.theme-settings{position:relative}.theme-settings-trigger{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:color var(--transition),background var(--transition)}.theme-settings-trigger:hover{color:var(--color-primary);background:var(--color-primary-light)}.theme-settings-icon{display:flex;align-items:center;justify-content:center}.theme-settings-icon svg{display:block}.theme-settings-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;padding:32px 12px 12px;background:#fff!important;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:20}@media (max-width: 768px){.theme-settings-panel{position:fixed;left:50%;top:calc(52px + env(safe-area-inset-top));right:auto;transform:translate(-50%);min-width:0;width:calc(100vw - 32px);max-width:280px;max-height:calc(100dvh - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;box-sizing:border-box}}.theme-settings-close{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition),background var(--transition)}.theme-settings-close:hover{color:var(--color-text);background:var(--color-bg)}.theme-settings-label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-muted);margin-bottom:10px;letter-spacing:.02em}.theme-settings-options{display:flex;flex-wrap:wrap;gap:6px}.theme-settings-option{width:32px;height:32px;border-radius:8px;padding:0;border:none;background:var(--option-color, var(--color-primary));transition:transform var(--transition),opacity var(--transition)}.theme-settings-option:hover{transform:scale(1.08);opacity:.95}.theme-settings-option.active{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--option-color, var(--color-primary))}.theme-settings-label--top{margin-top:14px}.theme-settings-lang{display:flex;gap:8px}.theme-settings-lang-btn{flex:1;padding:8px 12px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);transition:color var(--transition),background var(--transition),border-color var(--transition)}.theme-settings-lang-btn:hover{color:var(--color-text);background:var(--color-surface)}.theme-settings-lang-btn.active{color:var(--color-primary);background:var(--color-primary-light);border-color:var(--color-primary)}.page{padding-bottom:24px}.page-heading{margin:0 0 16px;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.page-heading-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-heading-row .page-heading{margin:0}.input,.textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-solid);color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition)}.input:focus,.input:focus-visible,.textarea:focus,.textarea:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input::placeholder{color:var(--color-text-muted);opacity:.8}.btn{padding:10px 18px;border-radius:var(--radius-sm);font-weight:500;font-size:.9375rem;transition:background var(--transition),color var(--transition),transform .1s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-outline{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.btn-outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light, rgba(0, 0, 0, .04))}.btn-outline:disabled{opacity:.6;cursor:not-allowed}.btn-icon{padding:6px 10px;font-size:1.25rem;line-height:1;color:var(--color-text-muted);border-radius:var(--radius-sm)}.btn-icon:hover{color:var(--color-text);background:var(--color-bg)}.form-grid{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.label{display:flex;flex-direction:column;gap:6px;font-size:.875rem;color:var(--color-text-muted)}.todo-form{display:flex;gap:10px;margin-bottom:16px}.todo-form .input{flex:1}.todo-list,.event-list,.note-list,.memo-list{list-style:none;margin:0;padding:0}.todo-item,.event-item,.note-item,.memo-item{padding:14px 16px;background:var(--color-surface);border-radius:var(--radius);margin-bottom:10px;box-shadow:var(--shadow-sm);border:1px solid transparent;transition:border-color var(--transition),box-shadow var(--transition)}.todo-item:hover,.event-item:hover,.note-item:hover,.memo-item:hover{border-color:var(--color-border);box-shadow:var(--shadow)}.todo-item{display:flex;align-items:center;gap:12px}.todo-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-primary);cursor:pointer}.todo-item .todo-title{flex:1}.todo-item.done .todo-title{text-decoration:line-through;color:var(--color-text-muted)}.event-item{display:flex;justify-content:space-between;align-items:flex-start}.event-time{font-size:.875rem;color:var(--color-text-muted);margin-top:4px}.note-item{cursor:pointer}.note-preview{margin:6px 0 0;font-size:.875rem;color:var(--color-text-muted);white-space:pre-wrap;overflow:hidden;text-overflow:ellipsis;max-height:2.6em}.note-meta{font-size:.75rem;color:var(--color-text-muted);margin-top:8px;display:block}.note-editor-header{display:flex;justify-content:space-between;margin-bottom:16px}.note-title-input{font-size:1.125rem;font-weight:600;margin-bottom:12px}.note-content-input{resize:vertical;min-height:200px}.memo-item{display:flex;justify-content:space-between;align-items:center;gap:12px}.memo-item.pinned{border-left:4px solid var(--color-primary)}.memo-content{flex:1;word-break:break-word}.memo-actions{display:flex;gap:6px}.empty-hint{text-align:center;color:var(--color-text-muted);font-size:.9375rem;margin-top:32px;padding:24px 16px;line-height:1.5}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));background:var(--color-bg);z-index:9999;box-sizing:border-box}.loading-screen-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.loading-screen-icon{display:block;width:120px;height:auto;max-height:200px;object-fit:contain}.loading-screen-message{margin:0;font-size:.9375rem;color:var(--color-text-muted);text-align:center;max-width:280px}.loading-screen-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 16px;font-size:.75rem;color:var(--color-text-muted)}.loading-screen-footer span+span:before{content:" · ";margin-right:16px;color:var(--color-text-muted);opacity:.7}.loading-screen-version,.loading-screen-date,.loading-screen-developer{white-space:nowrap}.auth-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-bg)}.auth-gate-card{width:100%;max-width:400px;padding:28px;background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.auth-gate-title{font-size:1.25rem;font-weight:600;margin:0 0 10px;color:var(--color-text)}.auth-gate-hint{font-size:.875rem;color:var(--color-text-muted);margin:0 0 20px;line-height:1.45}.auth-gate-main-link{display:inline-block;padding:12px 20px;background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-weight:500;text-decoration:none;margin-bottom:20px;transition:background var(--transition)}.auth-gate-main-link:hover{background:var(--color-primary-hover);color:#fff}.auth-gate-divider{font-size:.8125rem;color:var(--color-text-muted);margin:0 0 16px}.auth-gate-form{display:flex;flex-direction:column;gap:14px}.auth-gate-field{display:flex;flex-direction:column;gap:6px}.auth-gate-label{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.auth-gate-input{width:100%}.auth-gate-error{font-size:.875rem;color:#dc2626;margin:0}.auth-gate-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}.auth-gate-btn{width:100%}.auth-gate-switch{background:transparent;color:var(--color-text-muted);border:none;font-size:.875rem}.auth-gate-switch:hover{color:var(--color-primary)}:root,[data-theme=cyan]{--color-primary: #0891b2;--color-primary-hover: #0e7490;--color-primary-light: rgba(8, 145, 178, .1);--color-accent: #0891b2;--color-accent-light: rgba(8, 145, 178, .1)}[data-theme=pink]{--color-primary: #ec4899;--color-primary-hover: #db2777;--color-primary-light: rgba(236, 72, 153, .1);--color-accent: #ec4899;--color-accent-light: rgba(236, 72, 153, .1)}[data-theme=blue]{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: rgba(37, 99, 235, .1);--color-accent: #2563eb;--color-accent-light: rgba(37, 99, 235, .1)}[data-theme=red]{--color-primary: #dc2626;--color-primary-hover: #b91c1c;--color-primary-light: rgba(220, 38, 38, .1);--color-accent: #dc2626;--color-accent-light: rgba(220, 38, 38, .1)}[data-theme=orange]{--color-primary: #ea580c;--color-primary-hover: #c2410c;--color-primary-light: rgba(234, 88, 12, .1);--color-accent: #ea580c;--color-accent-light: rgba(234, 88, 12, .1)}[data-theme=black]{--color-primary: #171717;--color-primary-hover: #0a0a0a;--color-primary-light: rgba(23, 23, 23, .1);--color-accent: #171717;--color-accent-light: rgba(23, 23, 23, .1)}[data-theme=purple]{--color-primary: #7c3aed;--color-primary-hover: #6d28d9;--color-primary-light: rgba(124, 58, 237, .1);--color-accent: #7c3aed;--color-accent-light: rgba(124, 58, 237, .1)}:root{--color-bg: linear-gradient(145deg, #e0e7ff 0%, #f5f3ff 35%, #fef3c7 70%, #fce7f3 100%);--color-bg-solid: #f0f0f0;--color-surface: rgba(255, 255, 255, .55);--color-surface-solid: rgba(255, 255, 255, .92);--color-text: #1e1b4b;--color-text-muted: #5b5b7a;--color-border: rgba(255, 255, 255, .6);--shadow-sm: 0 4px 20px rgba(30, 27, 75, .08);--shadow: 0 8px 32px rgba(30, 27, 75, .12);--shadow-md: 0 12px 40px rgba(30, 27, 75, .16);--radius: 16px;--radius-sm: 10px;--radius-lg: 20px;--glass-blur: 12px;--safe-top: env(safe-area-inset-top, 0);--safe-bottom: env(safe-area-inset-bottom, 0);--transition: .2s ease}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Noto Sans SC,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--color-bg);background-attachment:fixed;color:var(--color-text);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glass,.app-header,.bottom-nav{background:var(--color-surface)!important;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-color:#ffffff80}.app-shell{padding-bottom:calc(env(safe-area-inset-bottom) + 64px);min-height:100vh}.app-shell--no-bottom-nav{padding-bottom:max(24px,env(safe-area-inset-bottom))}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button{font:inherit;cursor:pointer;border:none;background:none}input,textarea{font:inherit}input[type=date],input[type=time],input[type=datetime-local]{min-height:44px;padding:10px 12px}@media (max-width: 600px){input[type=date],input[type=time],input[type=datetime-local]{font-size:16px;min-height:48px}}.container{width:100%;max-width:640px;margin:0 auto;padding:12px 16px}@media (min-width: 641px){.container{padding:24px}}
