/* File and photo uploader · the kit rules for this component, quoted from phase-2/kit (kit v3) by phase-4/src/build_pack.py.
   Tokens come from ../../styles.css. Build it as: a composed component. */
/* families/form-controls/family.css */
.fc-meter{height:2px;border-radius:var(--r-pill);background:hsl(var(--border));margin-top:6px;overflow:hidden}
/* families/form-controls/family.css */
.fc-meter i{display:block;height:100%;background:hsl(var(--muted-foreground)/.55);border-radius:var(--r-pill);transition:width var(--motion-hover),background-color var(--motion-hover)}
/* families/form-controls/family.css */
.fc-meter.near i{background:hsl(var(--warning))}
/* families/form-controls/family.css */
.fc-meter.over i{background:hsl(var(--destructive))}
/* families/form-controls/family.css */
.fc-drop{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-5);border:1.5px dashed hsl(var(--secondary-border));border-radius:var(--r-card);background:hsl(var(--muted)/.35);transition:border-color var(--motion-hover),background-color var(--motion-hover)}
/* families/form-controls/family.css */
.fc-drop .ic{width:40px;height:40px;border-radius:var(--r-control);display:grid;place-items:center;background:hsl(var(--background));border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));flex:none}
/* families/form-controls/family.css */
.fc-drop b{display:block;font:var(--w-semibold) var(--text-card)/1.3 var(--font-voice)}
/* families/form-controls/family.css */
.fc-drop span{font-size:var(--text-small);color:hsl(var(--muted-foreground))}
/* families/form-controls/family.css */
.fc-drop .r{margin-left:auto}
/* families/form-controls/family.css */
.fc-drop:hover, .fc-drop.over{border-color:hsl(var(--ring));background:hsl(var(--accent)/.6)}
/* families/form-controls/family.css */
.fc-drop.err{border-color:hsl(var(--destructive))}
/* families/form-controls/family.css */
.fc-file{display:flex;align-items:center;gap:var(--s-3);padding:10px var(--s-3);border:1px solid hsl(var(--border));border-radius:var(--r-card);background:hsl(var(--background))}
/* families/form-controls/family.css */
.fc-file .ic{color:hsl(var(--muted-foreground))}
/* families/form-controls/family.css */
.fc-file b{display:block;font:var(--w-medium) var(--text-body)/1.3 var(--font-ui)}
/* families/form-controls/family.css */
.fc-file small{font-size:var(--text-small);color:hsl(var(--muted-foreground))}
/* families/form-controls/family.css */
.fc-file .fc-meter{width:160px;margin:0}
/* families/form-controls/family.css */
.fc-file .fc-meter i{background:hsl(var(--primary))}
/* families/form-controls/family.css */
.fc-file.err{border-color:hsl(var(--destructive)/.5)}
/* families/form-controls/family.css */
.fc-file.err small{color:hsl(var(--destructive))}
/* families/form-controls/family.css */
.fc-file.done .ic{color:hsl(var(--success))}
/* families/form-controls/family.css */
.fc-slots{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:var(--s-3)}
/* families/form-controls/family.css */
.fc-slot{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0}
/* families/form-controls/family.css */
.fc-slot .fc-media{position:relative;aspect-ratio:3/4;border-radius:var(--r-card);overflow:hidden;background:var(--studio);box-shadow:inset 0 0 0 1px hsl(var(--foreground)/.08);transition:box-shadow var(--motion-hover),transform var(--motion-press),opacity var(--motion-hover)}
/* families/form-controls/family.css */
.fc-slot[draggable=true] .fc-media{cursor:grab}
/* families/form-controls/family.css */
.fc-slot.dragging .fc-media{opacity:.4}
/* families/form-controls/family.css */
.fc-slot.target .fc-media{box-shadow:inset 0 0 0 2px hsl(var(--ring))}
/* families/form-controls/family.css */
.fc-slot.target .fc-empty{border-color:hsl(var(--ring));background:hsl(var(--accent)/.7)}
/* families/form-controls/family.css */
.fc-grip{position:absolute;top:6px;left:6px;width:24px;height:24px;display:grid;place-items:center;border-radius:var(--r-chip);background:hsl(var(--background)/.9);color:hsl(var(--muted-foreground));opacity:0;transition:opacity var(--motion-hover)}
/* families/form-controls/family.css */
.fc-slot:hover .fc-grip, .fc-slot.is-hover .fc-grip{opacity:1}
/* families/form-controls/family.css */
.fc-slot .fc-num{position:absolute;top:6px;right:6px;font:var(--w-semibold) var(--text-micro)/1 var(--font-voice);padding:4px 6px;border-radius:var(--r-chip);background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
/* families/form-controls/family.css */
.fc-slot-l{display:flex;align-items:center;gap:4px;font:var(--w-semibold) var(--text-small)/1.2 var(--font-voice)}
/* families/form-controls/family.css */
.fc-slot-l .alt{margin-left:auto;font:var(--w-medium) var(--text-micro)/1 var(--font-ui)}
/* families/form-controls/family.css */
.fc-slot-l .alt.ok{color:hsl(var(--success))}
/* families/form-controls/family.css */
.fc-slot-l .alt.no{color:hsl(var(--warning))}
