.holding-entry-form { --holding-accent:var(--asset); --holding-tint:var(--asset-soft); }
.holding-entry-form:has(input[name=kind][value="부채"]) { --holding-accent:var(--debt); --holding-tint:var(--debt-soft); }
.holding-entry-form .form-fields { gap:0; padding-top:14px; }
.holding-entry-form .form-fields>[hidden],.holding-entry-form .holding-fold[hidden],
.holding-entry-form .holding-amount[hidden],.holding-entry-form .holding-name[hidden],
.holding-entry-form .holding-extra-field[hidden] { display:none; }
.holding-location { display:grid; gap:4px; margin:0 0 16px; }
.holding-location>.holding-fold { border-top:0; }
.holding-location>.holding-fold>summary { min-height:44px; padding:8px 0; }
.holding-location>.holding-fold>.holding-fold-body { padding-bottom:8px; }
.sheet-body .holding-category { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--label-gap); margin:0; }
.sheet-body .holding-category select { min-width:0; width:100%; min-height:48px; margin:0; text-align:start; }
.holding-category select:disabled { opacity:1; }
.holding-entry-form .asset-class-hint { color:var(--text-sub); font-size:var(--type-caption); line-height:1.55; margin:6px 2px 0; }
.sheet-body .holding-amount { display:grid; gap:6px; margin:16px 0 0; }
.holding-amount-label,.holding-name,.holding-fold-body label { font-weight:var(--weight-semibold); }
.holding-amount-line { --amount-focus:var(--holding-accent); display:flex; align-items:baseline; gap:6px; }
.sheet-body .holding-amount-line input[name=amount] { min-width:0; flex:1; width:100%; margin:0; padding:2px 0 8px; border:0; background:transparent;
 font-size:var(--type-entry-amount); font-weight:var(--weight-bold); line-height:1.25; letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
.sheet-body .holding-amount-line input.holding-long-number { font-size:var(--type-entry-amount-compact); }
.holding-amount-line input::placeholder { color:var(--text-sub); opacity:1; }
.holding-amount-line b { flex:none; font-weight:var(--weight-semibold); font-size:var(--type-money-unit); }
.holding-amount-error { margin:4px 0 0; color:var(--danger); font-size:var(--type-caption); }
.holding-won-words { padding-top:4px; font-size:var(--type-caption); color:var(--holding-accent); }
.sheet-body .holding-name { display:grid; gap:var(--label-gap); margin:var(--field-gap) 0; }
.sheet-body .holding-entry-form .holding-name input,.sheet-body .holding-fold-body input,.sheet-body .holding-fold-body select { margin:0; }
.holding-name-choices { display:flex; flex-wrap:wrap; gap:0 6px; margin:-12px 0 8px; }
.holding-name-choices button { position:relative; min-height:44px; padding:4px 10px; isolation:isolate; font-size:var(--type-caption); font-weight:var(--weight-medium); color:var(--text-sub); }
.holding-name-choices button:before { content:""; position:absolute; z-index:-1; inset:7px 0; border-radius:9px; background:var(--neutral-soft); }
.holding-name-choices button:active:before { background:var(--holding-tint); }
.holding-entry-form .trade-details { margin:16px 0; }
.holding-entry-form .trade-input-pair { grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); }
.holding-fold { min-width:0; margin:0; padding:0; border:0; border-top:1px solid var(--line); }
.holding-fold>summary { display:grid; grid-template-columns:minmax(0,1fr) 16px; align-items:center; gap:4px 12px;
 min-height:64px; margin:0; padding:12px 0; list-style:none; font-size:var(--type-note); font-weight:var(--weight-semibold); cursor:pointer; }
.holding-fold>summary::-webkit-details-marker { display:none; }
.holding-fold>summary>span { min-width:0; grid-column:1; overflow-wrap:anywhere; }
.holding-fold>summary small { margin-left:4px; color:var(--text-sub); font-size:var(--type-caption); font-weight:var(--weight-regular); }
.holding-fold-value { text-align:start; color:var(--text-sub); font-size:var(--type-caption); font-weight:var(--weight-medium); white-space:normal; }
.holding-fold-value:empty { display:none; }
.holding-fold>summary>.icon { grid-column:2; grid-row:1 / span 2; width:var(--icon-small); height:var(--icon-small); color:var(--text-sub); }
.holding-fold[open]>summary>.icon { transform:rotate(180deg); }
.holding-fold-body { display:grid; min-width:0; gap:var(--field-gap); padding:4px 0 16px; }
.holding-extra-field { display:grid; min-width:0; gap:12px; }
.holding-extra-field+.holding-extra-field { border-top:1px solid var(--line); padding-top:14px; }
.holding-fold-body label { display:grid; gap:var(--label-gap); margin:0; }
.holding-fold-body label[hidden] { display:none; }
.holding-fold-body small { color:var(--text-sub); font-weight:var(--weight-regular); }
.holding-fold-body .share-preview { margin:0; }
.holding-share-info { margin:0; }
.holding-fold-body:has(select[name=ownership] option:checked[value="단독명의"]) .holding-share-info { display:none; }
.holding-date-tools,.holding-manage { display:flex; flex-wrap:wrap; gap:4px 10px; }
.holding-date-tools button,.holding-manage button { min-height:44px; margin:0; }
.holding-entry-form .error:not(.sheet-alert):empty { display:none; }
@media(max-width:350px) {
 .holding-name-choices { gap:0 3px; }
}
.holding-category-control { position:relative; display:block; }
.holding-category-control select { width:100%; padding-inline-start:42px; }
.holding-category-icon { display:grid; place-items:center; position:absolute; inset-inline-start:13px; top:0; bottom:0; pointer-events:none; color:var(--asset); }
.holding-category-icon .icon { width:var(--icon-base); height:var(--icon-base); }
