/* ICT Islamic Property Inheritance — Styles v1.0.0 */
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&family=Syne:wght@400;600;700&display=swap');

:root {
    --ict-pinh-bg:          transparent;
    --ict-pinh-card:        transparent;
    --ict-pinh-border:      #cccccc;
    --ict-pinh-accent:      #7c6fff;
    --ict-pinh-accent-glow: rgba(124,111,255,0.25);
    --ict-pinh-text:        #111111;
    --ict-pinh-muted:       #444444;
    --ict-pinh-success:     #16a34a;
    --ict-pinh-error:       #dc2626;
    --ict-pinh-radius:      14px;
    --ict-pinh-font-ui:     'Syne', sans-serif;
    --ict-pinh-font-mono:   'JetBrains Mono', monospace;
}

.ict-pinh-wrapper { font-family: var(--ict-pinh-font-ui); color: var(--ict-pinh-text); max-width: 720px; margin: 2rem auto; }

.ict-pinh-card {
    background: var(--ict-pinh-card);
    border: 1px solid var(--ict-pinh-border);
    border-radius: var(--ict-pinh-radius);
    padding: 2rem 2.25rem;
    box-shadow: 0 8px 48px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.04);
}

.ict-pinh-title { font-size: 1.6rem; font-weight: 700; margin: 0 0 0.4rem; letter-spacing: -0.03em; color: #111111; }
.ict-pinh-subtitle { font-size: 0.88rem; color: var(--ict-pinh-muted); margin: 0 0 1.75rem; line-height: 1.5; }

/* Top row */
.ict-pinh-top-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.5rem; }

/* Section label */
.ict-pinh-section-label {
    font-size: 0.78rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--ict-pinh-muted); margin-bottom: 0.65rem;
    display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap;
}
.ict-pinh-section-hint { font-size: 0.72rem; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--ict-pinh-accent); font-family: var(--ict-pinh-font-mono); }

/* Tabs */
.ict-pinh-tabs { display: flex; border: 1px solid var(--ict-pinh-border); border-radius: 10px; overflow: hidden; }
.ict-pinh-tab { flex: 1; background: transparent; border: none; border-right: 1px solid var(--ict-pinh-border); padding: 0.55rem 0.4rem; font-family: var(--ict-pinh-font-ui); font-size: 0.8rem; font-weight: 600; color: var(--ict-pinh-muted); cursor: pointer; transition: background 0.18s, color 0.18s; text-align: center; }
.ict-pinh-tab:last-child { border-right: none; }
.ict-pinh-tab:hover { background: rgba(124,111,255,0.06); color: var(--ict-pinh-accent); }
.ict-pinh-tab--active { background: var(--ict-pinh-accent); color: #ffffff; }
.ict-pinh-tab--active:hover { background: var(--ict-pinh-accent); color: #fff; }

/* Fields */
.ict-pinh-field { margin-bottom: 1.25rem; }
.ict-pinh-label { display: block; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ict-pinh-muted); margin-bottom: 0.5rem; }

.ict-pinh-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-bottom: 0; }

.ict-pinh-input-wrap { position: relative; display: flex; align-items: center; }
.ict-pinh-input {
    width: 100%; background: #ffffff; border: 1px solid var(--ict-pinh-border); border-radius: 8px;
    color: #000000; font-family: var(--ict-pinh-font-mono); font-size: 0.9rem;
    padding: 0.52rem 3.5rem 0.52rem 0.8rem; outline: none; box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s; -webkit-appearance: none; -moz-appearance: textfield;
}
.ict-pinh-input::-webkit-outer-spin-button, .ict-pinh-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ict-pinh-input:focus { border-color: var(--ict-pinh-accent); box-shadow: 0 0 0 3px var(--ict-pinh-accent-glow); }
.ict-pinh-unit-badge { position: absolute; right: 9px; font-family: var(--ict-pinh-font-mono); font-size: 0.72rem; font-weight: 600; color: var(--ict-pinh-muted); pointer-events: none; user-select: none; }

.ict-pinh-select {
    width: 100%; background: #ffffff; border: 1px solid var(--ict-pinh-border); border-radius: 8px;
    color: #000000; font-family: var(--ict-pinh-font-mono); font-size: 0.85rem;
    padding: 0.52rem 2rem 0.52rem 0.8rem; outline: none; cursor: pointer; box-sizing: border-box;
    -webkit-appearance: none; appearance: none; transition: border-color 0.2s, box-shadow 0.2s;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 9px center;
}
.ict-pinh-select:focus { border-color: var(--ict-pinh-accent); box-shadow: 0 0 0 3px var(--ict-pinh-accent-glow); }

/* Add property button */
.ict-pinh-btn-add {
    background: transparent; border: 1px solid var(--ict-pinh-accent); color: var(--ict-pinh-accent);
    border-radius: 7px; padding: 0.3rem 0.85rem; font-family: var(--ict-pinh-font-ui); font-size: 0.78rem;
    font-weight: 600; cursor: pointer; transition: background 0.18s, color 0.18s;
}
.ict-pinh-btn-add:hover { background: var(--ict-pinh-accent); color: #fff; }

/* Property card */
.ict-pinh-prop-card {
    border: 1px solid var(--ict-pinh-border); border-radius: var(--ict-pinh-radius);
    padding: 1rem 1.25rem; margin-bottom: 0.75rem;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.ict-pinh-prop-card:hover { border-color: var(--ict-pinh-accent); box-shadow: 0 0 14px var(--ict-pinh-accent-glow); }

.ict-pinh-prop-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.85rem; }
.ict-pinh-prop-title { font-size: 0.85rem; font-weight: 700; color: var(--ict-pinh-accent); }
.ict-pinh-btn-remove { background: none; border: none; color: var(--ict-pinh-error); font-size: 1.1rem; cursor: pointer; padding: 2px 6px; line-height: 1; border-radius: 5px; transition: background 0.15s; }
.ict-pinh-btn-remove:hover { background: rgba(220,38,38,0.1); }

.ict-pinh-prop-row { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 0.6rem; align-items: end; }
.ict-pinh-prop-field label { display: block; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: var(--ict-pinh-muted); margin-bottom: 4px; }
.ict-pinh-prop-field input, .ict-pinh-prop-field select { width: 100%; }

/* Heirs compact */
.ict-pinh-heirs-compact { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.65rem; margin-bottom: 1.25rem; }
.ict-pinh-heir-group { border: 1px solid var(--ict-pinh-border); border-radius: 10px; padding: 0.7rem 0.85rem; transition: border-color 0.2s; }
.ict-pinh-heir-group:hover { border-color: var(--ict-pinh-accent); }
.ict-pinh-group-hdr { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ict-pinh-muted); margin-bottom: 0.5rem; }
.ict-pinh-heir-row { display: flex; align-items: center; justify-content: space-between; padding: 3px 0; }
.ict-pinh-heir-lbl { display: flex; align-items: center; gap: 6px; font-size: 0.85rem; color: var(--ict-pinh-text); cursor: pointer; user-select: none; }
.ict-pinh-heir-lbl input[type=checkbox] { width: 14px; height: 14px; margin: 0; accent-color: var(--ict-pinh-accent); cursor: pointer; flex-shrink: 0; }
.ict-pinh-cnt { width: 42px; background: #fff; border: 1px solid var(--ict-pinh-border); border-radius: 5px; color: #000; font-family: var(--ict-pinh-font-mono); font-size: 0.8rem; padding: 2px 5px; text-align: center; outline: none; -moz-appearance: textfield; -webkit-appearance: none; }
.ict-pinh-cnt:disabled { opacity: 0.38; }
.ict-pinh-cnt::-webkit-outer-spin-button, .ict-pinh-cnt::-webkit-inner-spin-button { -webkit-appearance: none; }

/* Error */
.ict-pinh-error { color: var(--ict-pinh-error); font-size: 0.82rem; background: rgba(248,113,113,0.1); border: 1px solid rgba(248,113,113,0.25); border-radius: 8px; padding: 0.6rem 0.9rem; margin-bottom: 1rem; }

/* Calc button */
.ict-pinh-btn-calc {
    width: 100%; background: var(--ict-pinh-accent); color: #fff; border: none; border-radius: 10px;
    padding: 0.85rem 1.5rem; font-family: var(--ict-pinh-font-ui); font-size: 1rem; font-weight: 600;
    cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 0.5rem;
    margin-top: 1rem; transition: opacity 0.18s, transform 0.12s, box-shadow 0.18s;
    box-shadow: 0 4px 20px var(--ict-pinh-accent-glow);
}
.ict-pinh-btn-calc:hover { opacity: 0.9; transform: translateY(-1px); box-shadow: 0 6px 28px var(--ict-pinh-accent-glow); }
.ict-pinh-btn-calc:active { transform: scale(0.98); }
.ict-pinh-btn-icon { font-size: 1.1em; animation: pinh-pulse 2s ease-in-out infinite; }
@keyframes pinh-pulse { 0%,100%{opacity:1}50%{opacity:0.6} }

/* Results */
.ict-pinh-results { margin-top: 1.75rem; animation: pinh-fadein 0.25s ease; }
.ict-pinh-results[hidden] { display: none; }
@keyframes pinh-fadein { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:translateY(0)} }

/* Summary cards */
.ict-pinh-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 0.6rem; margin-bottom: 1rem; }
.ict-pinh-sum-card { border: 1px solid var(--ict-pinh-border); border-radius: var(--ict-pinh-radius); padding: 0.8rem 0.5rem; text-align: center; transition: border-color 0.2s, box-shadow 0.2s; }
.ict-pinh-sum-card:hover { border-color: var(--ict-pinh-accent); box-shadow: 0 0 14px var(--ict-pinh-accent-glow); }
.ict-pinh-sum-val { display: block; font-family: var(--ict-pinh-font-mono); font-size: 1rem; font-weight: 600; color: var(--ict-pinh-success); line-height: 1.1; margin-bottom: 3px; }
.ict-pinh-sum-lbl { display: block; font-size: 0.65rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.07em; color: var(--ict-pinh-muted); }

/* Property breakdown */
.ict-pinh-prop-result { border: 1px solid var(--ict-pinh-border); border-radius: var(--ict-pinh-radius); padding: 1rem 1.25rem; margin-bottom: 0.65rem; transition: border-color 0.2s, box-shadow 0.2s; }
.ict-pinh-prop-result:hover { border-color: var(--ict-pinh-accent); box-shadow: 0 0 14px var(--ict-pinh-accent-glow); }
.ict-pinh-prop-result-hdr { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 0.65rem; flex-wrap: wrap; gap: 4px; }
.ict-pinh-prop-result-name { font-size: 0.95rem; font-weight: 700; color: var(--ict-pinh-accent); }
.ict-pinh-prop-result-val { font-family: var(--ict-pinh-font-mono); font-size: 0.82rem; color: var(--ict-pinh-muted); }
.ict-pinh-prop-result-type { font-size: 0.7rem; font-family: var(--ict-pinh-font-mono); color: var(--ict-pinh-muted); background: rgba(124,111,255,0.08); padding: 2px 7px; border-radius: 4px; }

.ict-pinh-share-table { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
.ict-pinh-share-table th { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--ict-pinh-muted); padding: 4px 8px 6px; text-align: left; border-bottom: 1px solid var(--ict-pinh-border); }
.ict-pinh-share-table td { padding: 5px 8px; border-bottom: 1px solid rgba(0,0,0,0.04); color: var(--ict-pinh-text); }
.ict-pinh-share-table tr:last-child td { border-bottom: none; }
.ict-pinh-share-table td.num { font-family: var(--ict-pinh-font-mono); color: var(--ict-pinh-success); font-weight: 600; }
.ict-pinh-share-table td.frac { font-family: var(--ict-pinh-font-mono); color: var(--ict-pinh-accent); font-size: 0.78rem; }
.ict-pinh-share-table td.pct { font-family: var(--ict-pinh-font-mono); color: var(--ict-pinh-muted); font-size: 0.75rem; }
.ict-pinh-ownership-note { font-size: 0.75rem; color: var(--ict-pinh-muted); margin-top: 0.4rem; font-style: italic; }

/* Heir totals grid */
.ict-pinh-heir-totals-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.6rem; margin-bottom: 1rem; }
.ict-pinh-heir-total-card { border: 1px solid var(--ict-pinh-border); border-radius: var(--ict-pinh-radius); padding: 0.85rem 0.75rem; transition: border-color 0.2s, box-shadow 0.2s; }
.ict-pinh-heir-total-card:hover { border-color: var(--ict-pinh-accent); box-shadow: 0 0 14px var(--ict-pinh-accent-glow); }
.ict-pinh-htc-name { display: block; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--ict-pinh-muted); margin-bottom: 3px; }
.ict-pinh-htc-amt { display: block; font-family: var(--ict-pinh-font-mono); font-size: 1.05rem; font-weight: 600; color: var(--ict-pinh-success); line-height: 1.1; }
.ict-pinh-htc-pct { display: block; font-family: var(--ict-pinh-font-mono); font-size: 0.7rem; color: var(--ict-pinh-muted); margin-top: 2px; }

/* Shuf'a box */
.ict-pinh-shufaa-box { background: rgba(124,111,255,0.05); border: 1px solid rgba(124,111,255,0.25); border-radius: 10px; padding: 0.9rem 1.1rem; margin-bottom: 0.75rem; font-size: 0.85rem; color: var(--ict-pinh-muted); line-height: 1.7; }
.ict-pinh-shufaa-box strong { color: var(--ict-pinh-text); }

/* Notes */
.ict-pinh-notes { border: 1px solid var(--ict-pinh-border); border-radius: var(--ict-pinh-radius); padding: 0.85rem 1.25rem; font-size: 0.82rem; color: var(--ict-pinh-muted); line-height: 1.9; margin-bottom: 0.65rem; transition: border-color 0.2s, box-shadow 0.2s; }
.ict-pinh-notes:hover { border-color: var(--ict-pinh-accent); box-shadow: 0 0 14px var(--ict-pinh-accent-glow); }
.ict-pinh-notes strong { color: var(--ict-pinh-text); }

/* Copy btn */
.ict-pinh-btn-copy { width: 100%; background: transparent; border: 1px solid var(--ict-pinh-border); color: #111111; border-radius: 10px; padding: 0.7rem 1.5rem; font-family: var(--ict-pinh-font-ui); font-size: 0.9rem; font-weight: 600; cursor: pointer; transition: background 0.18s, border-color 0.18s, color 0.18s; margin-top: 0.25rem; }
.ict-pinh-btn-copy:hover { background: var(--ict-pinh-accent); border-color: var(--ict-pinh-accent); color: #fff; }
.ict-pinh-btn-copy.done { background: var(--ict-pinh-success); border-color: var(--ict-pinh-success); color: #fff; }

/* Disclaimer */
.ict-pinh-disclaimer { font-size: 0.78rem; color: var(--ict-pinh-muted); margin: 1.25rem 0 0; line-height: 1.5; font-style: italic; border-top: 1px solid var(--ict-pinh-border); padding-top: 1rem; }

/* Responsive */
@media (max-width: 580px) {
    .ict-pinh-card { padding: 1.4rem 1.1rem; }
    .ict-pinh-top-row { grid-template-columns: 1fr 1fr; }
    .ict-pinh-two-col { grid-template-columns: 1fr; }
    .ict-pinh-prop-row { grid-template-columns: 1fr 1fr; }
    .ict-pinh-heirs-compact { grid-template-columns: 1fr 1fr; }
    .ict-pinh-summary { grid-template-columns: repeat(2,1fr); }
    .ict-pinh-heir-totals-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 400px) {
    .ict-pinh-heirs-compact { grid-template-columns: 1fr; }
    .ict-pinh-top-row { grid-template-columns: 1fr; }
}
