/* ARVYNO 0.9.144 — Category families and calm ordering. */
.category-line-icon { display:block; width:24px; height:24px; flex:0 0 24px; color:inherit; }
.profile-detail-screen .profile-category-icon,
.profile-detail-screen .profile-category-preview { display:grid; place-items:center; color:#647c66; width:34px !important; height:34px !important; border-radius:11px; background:#f3f5f0; }
.profile-detail-screen .category-premium-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; padding:0 2px; margin:0 !important; }
.category-premium-toolbar > span { font-size:11px; line-height:1.4; color:#78736c; }
.category-order-mode { display:flex; align-items:center; justify-content:center; gap:6px; flex:none; min-height:44px; padding:4px 0 4px 8px; border:0; background:transparent; color:#526b55; font-size:13px; font-weight:550; }
.category-order-mode svg { width:17px; height:17px; }
.profile-detail-screen .category-premium-card { overflow:visible !important; padding:0 14px !important; }
.profile-detail-screen .category-premium-card .profile-category-list { display:flex; flex-direction:column; gap:0; }
.profile-detail-screen .category-premium-card .profile-category-row { display:flex !important; align-items:center; gap:6px !important; padding:0 !important; min-height:56px !important; position:relative; border-bottom:1px solid rgba(92,80,68,.075); }
.profile-detail-screen .category-premium-card .profile-category-row:last-child { border-bottom:0; }
.profile-detail-screen .category-premium-card .profile-category-edit-zone { display:flex; align-items:center; min-width:0; flex:1; gap:12px; padding:8px 0 !important; min-height:56px !important; }
.profile-detail-screen .category-premium-card .profile-category-edit-zone:disabled { opacity:1 !important; color:var(--text); cursor:default; }
.profile-detail-screen .category-premium-card .profile-category-copy { flex:1; min-width:0; }
.profile-detail-screen .category-premium-card .profile-category-copy b { white-space:normal; overflow-wrap:anywhere; font-size:14px; line-height:1.35; }
.profile-detail-screen .category-drag-handle { display:grid; place-items:center; flex:0 0 44px; width:44px; min-width:44px; height:44px; margin:0 -4px 0 0; padding:0; border:0; border-radius:12px; background:transparent; color:#829080; cursor:grab; touch-action:none; user-select:none; -webkit-user-select:none; }
.category-drag-handle svg { width:22px; height:22px; }
.category-drag-handle:active { background:#edf2eb; cursor:grabbing; }
.profile-detail-screen .category-premium-card .is-category-dragging { z-index:3; border-color:transparent; border-radius:14px; background:#fff; box-shadow:0 8px 24px rgba(54,47,40,.12); outline:1px solid #e3e9df; }
.profile-detail-screen .category-premium-picker { padding:0 0 4px; }
.category-family-field { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:6px 0; border-top:1px solid rgba(92,80,68,.075); }
.category-family-field > span { font-size:13px; color:#78736c; }
.category-family-field select { flex:1; min-width:0; min-height:40px; padding:6px 18px 6px 4px; border:0; border-radius:8px; background:transparent; font:inherit; font-size:16px; color:#67645d; text-align:right; text-align-last:right; }
.category-five-icons { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; padding:8px 0 0; margin:0; border:0; min-width:0; }
.category-icon-option { display:flex; flex-direction:column; align-items:center; gap:6px; min-width:0; position:relative; cursor:pointer; }
.category-icon-option input { position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; width:100%; height:100%; }
.category-option-image { display:grid; place-items:center; width:100%; height:48px; min-height:44px; border:1px solid transparent; border-radius:13px; background:#f5f6f2; color:#71816e; transition:background 140ms,border-color 140ms; }
.category-icon-option.is-selected .category-option-image { color:#526b55; border-color:#829681; background:#eaf0e7; }
.category-icon-option small { max-width:100%; min-height:26px; font-size:10px; line-height:1.3; text-align:center; color:#78736c; overflow-wrap:anywhere; }
.category-icon-option.is-selected small { color:#526b55; }
.category-icon-option:has(input:focus-visible) .category-option-image { outline:2px solid #526b55; outline-offset:2px; }
.category-picker-help { margin:6px 0 0; font-size:11px; line-height:1.4; color:#78736c; }
.category-move-backdrop { z-index:200; }
.category-move-sheet { padding:18px 16px calc(16px + env(safe-area-inset-bottom)) !important; border-radius:22px !important; border:0 !important; background:#fff !important; box-shadow:0 -6px 24px rgba(54,47,40,.04); max-height:85vh; overflow-y:auto; }
.category-move-heading { display:flex; align-items:center; gap:12px; margin:0 0 12px; }
.category-move-heading > div { min-width:0; }
.category-move-heading .profile-category-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:#f3f5f0; color:#647c66; flex:none; }
.category-move-heading h2 { font-size:18px; font-weight:600; margin:0 0 4px; line-height:1.25; overflow-wrap:anywhere; }
.category-move-heading p { font-size:12px; color:#78736c; margin:0; }
.category-move-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.category-move-actions button { display:flex; align-items:center; gap:10px; min-height:52px; padding:10px 12px; border:0; border-radius:12px; background:#f5f6f2; color:#526b55; font-family:inherit; font-size:13px; line-height:1.3; text-align:left; }
.category-move-actions svg { width:20px; height:20px; flex:none; }
.category-move-actions button:disabled { opacity:.35; }
.category-move-cancel { width:100%; min-height:44px; margin-top:12px; border:0; border-radius:12px; background:transparent; color:#78736c; font:inherit; font-size:14px; }
.category-move-sheet button:focus-visible { outline:2px solid #526b55; outline-offset:2px; }
@media(max-width:360px) { .category-five-icons { gap:4px; } .category-premium-toolbar > span { max-width:175px; } .category-move-actions button { padding:10px 8px; gap:6px; font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .category-option-image { transition:none; } .category-move-backdrop,.category-move-sheet { transition:none !important; } }
