:root{--bg:#f5f7fb;--card:#fff;--ink:#172033;--muted:#667085;--accent:#2457d6;--accent2:#eaf0ff;--ok:#16835c;--bad:#c63e3e;--line:#e5e9f2}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--accent);text-decoration:none}.wrap{max-width:1160px;margin:auto;padding:18px}.login-wrap{max-width:420px;padding-top:10vh}.top{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:18px}.brand{font-weight:800;font-size:1.25rem}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a{background:#fff;border:1px solid var(--line);padding:8px 11px;border-radius:10px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 3px 12px rgba(20,30,50,.04)}.card h2,.card h3{margin-top:0}.big{font-size:1.9rem;font-weight:800}.muted{color:var(--muted)}.ok{color:var(--ok)}.bad{color:var(--bad)}
form{display:grid;gap:10px}input,select,textarea,button{font:inherit;padding:10px 12px;border:1px solid #cfd6e4;border-radius:10px;background:#fff}button,.btn{background:var(--accent);color:#fff;border:0;padding:10px 14px;border-radius:10px;cursor:pointer;display:inline-block}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.bad{background:var(--bad)}
.quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.quick a{display:block;text-align:center;padding:18px 10px;background:#fff;border:1px solid var(--line);border-radius:14px;font-weight:700}
table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-size:.9rem;color:var(--muted)}.right{text-align:right}.table-scroll{overflow:auto}.pill{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef3ff;color:#234ea3;font-size:.82rem;font-weight:700}.msg{padding:12px;border-radius:10px;background:#e9f7f1;margin:10px 0}.err{background:#fdecec;color:#8d2929}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tabs a{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line)}.tabs a.active{font-weight:800;border-color:var(--accent);background:var(--accent2)}.section-gap{margin-top:14px}.narrow{max-width:420px}.inline-form{display:flex;gap:6px}
.daily-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:12px}.daily-head h1{margin:0 0 4px}.datebox{min-width:160px}.datebox label{display:block;color:var(--muted);font-size:.85rem;margin-bottom:4px}.daily-form{gap:14px}.daily-card{padding:0;overflow:hidden}.daily-card h2{padding:16px 16px 8px;margin:0}.daily-table{width:100%}.drow{display:grid;grid-template-columns:minmax(190px,2.3fr) repeat(2,minmax(120px,1fr)) minmax(85px,.8fr);align-items:center;border-top:1px solid var(--line);min-height:54px}.drow>div{padding:8px 12px}.dhead{background:#f8faff;color:var(--muted);font-weight:700;font-size:.9rem}.price{text-align:right;font-weight:800;color:var(--ok)}.counter{display:grid;grid-template-columns:34px 42px 34px;justify-content:center;gap:4px}.counter input{text-align:center;padding:7px 2px;background:#fff;font-weight:800}.counter button{padding:7px 0;font-size:1.1rem;line-height:1;background:var(--accent2);color:var(--accent);border:1px solid #cfd9f5}.save-day{font-size:1.12rem;font-weight:800;padding:14px;position:sticky;bottom:10px;box-shadow:0 5px 18px rgba(36,87,214,.24)}.quick-actions{margin-top:16px}
@media(max-width:700px){.wrap{padding:12px}.top{align-items:flex-start;flex-direction:column}.nav{gap:6px}.nav a{padding:7px 9px;font-size:.9rem}.hide-mobile{display:none}th,td{padding:8px 6px;font-size:.92rem}.big{font-size:1.55rem}.daily-head{align-items:stretch;flex-direction:column;gap:8px}.datebox{min-width:0}.drow{grid-template-columns:minmax(125px,1.7fr) repeat(2,92px) 70px}.drow>div{padding:7px 5px;font-size:.88rem}.counter{grid-template-columns:28px 30px 28px;gap:2px}.counter button,.counter input{padding:7px 0}.price{font-size:.82rem}.daily-table{overflow-x:auto}.daily-card{overflow-x:auto;}.drow{min-width:475px}.save-day{bottom:6px}}

.fixed-check{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.fixed-check input{position:absolute;opacity:0;pointer-events:none}.fixed-check span{display:inline-flex;width:46px;height:38px;border:1px solid #cbd5e1;border-radius:10px;align-items:center;justify-content:center;font-weight:800;background:#fff;color:transparent;transition:.15s}.fixed-check input:checked+span{background:#e8f5ec;border-color:#6fb884;color:#246b3b}
.period-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.period-head h2{margin-bottom:3px}.period-summary{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px;margin:14px 0}.period-summary>div{background:#f8faff;border:1px solid var(--line);border-radius:12px;padding:11px;display:flex;flex-direction:column;gap:4px}.period-summary span,.expect-box span{font-size:.86rem;color:var(--muted)}.period-summary b,.expect-box b{font-size:1.08rem}.period-summary .period-net{background:#eef3ff}.expect-box{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;margin:12px 0}.expect-box>div{border:1px solid #cfd9f5;background:var(--accent2);border-radius:12px;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.small-note{font-size:.88rem}
@media(max-width:700px){.period-summary{grid-template-columns:repeat(2,1fr)}.period-summary .period-net{grid-column:1/-1}.expect-box{grid-template-columns:1fr}.period-head{align-items:center}}
/* V1.6 */
.date-nav{display:flex;align-items:flex-end;gap:8px}.date-arrow{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:1.7rem;font-weight:700;color:var(--accent);line-height:1}.warn{background:#fff7df;color:#6e5300;border:1px solid #f0dd9a}.children-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px}.child-overview-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.child-overview-head h2{margin:0}.overview-stats{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:10px;margin-top:12px}.overview-stats>div{background:#f8faff;border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:3px}.overview-stats span{font-size:.82rem;color:var(--muted)}.overview-stats b{font-size:1.05rem}.overview-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.overview-links a{padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.return-text{display:block;font-size:.78rem;font-weight:700;margin-top:2px}.current-level{background:#eef3ff}.kpi-child{padding:10px 0;border-bottom:1px solid var(--line)}
@media(max-width:700px){.date-nav{width:100%}.datebox{flex:1}.date-arrow{flex:0 0 42px}.children-overview{grid-template-columns:1fr}.overview-stats{grid-template-columns:repeat(2,1fr)}}

.total-row td{border-top:2px solid #dbe3ea;background:#f8fafc;}
/* V1.7 */
.calendar-card{margin-bottom:0}.calendar-card h3{margin:18px 0 8px}.calendar-list{display:flex;flex-direction:column;gap:6px}.calendar-row{display:grid;grid-template-columns:100px 70px 1fr;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid #e5e7eb}.calendar-row:last-child{border-bottom:0}.compact-form{display:grid;gap:6px;margin:8px 0}.compact-form input,.compact-form select{margin:0}.danger{background:#b42318}.secondary{background:#64748b}details summary{cursor:pointer;font-weight:600}.narrow{max-width:620px}.calendar-card .muted{font-size:.9em}
@media(max-width:650px){.calendar-row{grid-template-columns:82px 55px 1fr;gap:6px;font-size:.92rem}}

/* V1.8 - koledar in cilji */
.calendar-space{height:22px}.calendar-more{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.calendar-more summary{color:var(--accent);font-weight:800;list-style:none}.calendar-more summary::-webkit-details-marker{display:none}.calendar-more[open] summary span{display:inline-block;transform:rotate(180deg)}.calendar-more-body{margin-top:8px}.today-event{background:#f3f7ff;border-radius:10px;padding-left:8px;padding-right:8px;border-bottom-color:transparent}.today-tag{display:inline-block;margin-left:5px;font-size:.68rem;padding:2px 5px;border-radius:999px;background:var(--accent);color:#fff;vertical-align:1px}
.goal-card{grid-column:span 2}.goal-title{font-size:1.35rem;font-weight:800;margin:4px 0 10px}.goal-progress{height:14px;border-radius:999px;background:#e8edf5;overflow:hidden;margin:10px 0}.goal-progress>span{display:block;height:100%;background:var(--accent);border-radius:999px}.goal-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.goal-add-form{display:inline-flex;margin:0}.goal-add-form button{padding:8px 12px}.goal-history{margin-top:10px}.goal-history summary{font-size:.9rem;color:var(--accent)}.goal-history-list{margin-top:7px;border-top:1px solid var(--line)}.goal-history-list>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);font-size:.88rem}.goal-admin{margin-top:12px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fbfcff}.goal-admin-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.goal-done{background:#e9f7f1;color:var(--ok)}
@media(max-width:700px){.goal-card{grid-column:span 1}.calendar-space{height:16px}.goal-status{align-items:flex-start;flex-direction:column}}

/* V1.8.1 */
.nav a.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:800;box-shadow:0 2px 7px rgba(36,87,214,.18)}
.goal-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.goal-admin-actions>details{flex:0 1 auto}
.goal-admin-actions>details>summary{cursor:pointer;display:inline-block;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--accent);font-weight:700;list-style:none}
.goal-admin-actions>details>summary::-webkit-details-marker{display:none}
.goal-admin-actions>details[open]{flex:1 1 100%;padding-top:2px}
.goal-admin-actions>details[open]>summary{background:var(--accent2);border-color:#cfd9f5}
.goal-archive-list{margin-top:9px}
.goal-archive-item{padding:8px 0;border-top:1px solid var(--line)}
.goal-archive-item>summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center}

.goals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px}.goal-admin-card{min-width:0}.goal-status-admin{font-weight:800;margin-top:6px}@media(max-width:700px){.goals-grid{grid-template-columns:1fr}}

/* V1.9 */
.settlement-reminder{margin:12px 0 16px;background:#fff4bf;border-color:#e5c85a}.settlement-reminder a{font-weight:800;color:inherit;text-decoration:underline}.credit-month-line{margin:12px 0;padding:11px 14px;border:1px solid var(--border,#d8dee8);border-radius:10px;background:#fafbfc}.credit-cell{min-width:125px}.credit-cell label{display:block;font-size:.78rem;color:#6b7280;margin-top:4px}.credit-cell input{min-width:105px;margin:2px 0 5px}.credit-matrix th,.credit-matrix td{vertical-align:top}

/* V1.9.2 - kompaktna kreditna matrika */
.credit-matrix{min-width:620px;table-layout:auto}.credit-matrix th:first-child,.credit-matrix td:first-child{width:105px}.credit-matrix th,.credit-matrix td{vertical-align:middle}.credit-head{display:flex;align-items:center;justify-content:flex-start;gap:7px;white-space:nowrap}.credit-head.amount{justify-content:flex-start}.credit-remove{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;padding:0;border-radius:7px;background:#fff;color:#9b2c2c;border:1px solid #e7c4c4;font-size:1.05rem;font-weight:800;line-height:1}.credit-remove:hover{background:#fff0f0}.credit-cell{display:flex;flex-direction:column;gap:6px;min-width:118px}.credit-line{display:flex;align-items:center;gap:6px;white-space:nowrap}.credit-line input{width:9ch;min-width:9ch;max-width:9ch;margin:0;padding:7px 8px}.credit-symbol{display:inline-block;width:14px;font-weight:900;text-align:center;color:var(--muted);font-size:1rem}.credit-save{width:auto;min-width:220px}.credit-adders{display:flex;gap:18px;flex-wrap:nowrap;align-items:center}.credit-adders .inline-form{display:flex;flex-wrap:nowrap;gap:6px;align-items:center}.credit-adders input{width:180px;max-width:180px;margin:0}.credit-adders button{white-space:nowrap}@media(max-width:700px){.credit-matrix{min-width:590px}.credit-save{width:100%}.credit-adders{overflow-x:auto;gap:12px}.credit-adders input{width:155px;max-width:155px}.credit-adders .inline-form{flex:0 0 auto}}

/* V1.9.4 - finalno glajenje kreditne matrike */
.credit-matrix .credit-remove{width:28px;height:28px;padding:0!important;border:0!important;border-radius:6px;background:transparent!important;color:#667085!important;box-shadow:none!important;font-size:1rem;filter:grayscale(1);opacity:.8}
.credit-matrix .credit-remove:hover{background:#f2f4f7!important;color:#344054!important;opacity:1}
.credit-matrix .credit-cell{min-width:86px}
.credit-matrix .credit-line{display:grid;grid-template-columns:14px 1fr;align-items:center;gap:5px}
.credit-matrix .credit-line input{width:7ch!important;min-width:0!important;max-width:7ch!important;padding:7px 7px;margin:0}
.credit-adders{display:grid!important;grid-template-columns:max-content max-content max-content max-content;gap:6px 8px!important;align-items:center;justify-content:start;overflow:visible!important}
.credit-adders .inline-form{display:contents!important}
.credit-adders input{width:150px!important;max-width:150px!important;margin:0}
.credit-adders button{white-space:nowrap;margin:0}
@media(max-width:700px){.credit-matrix{min-width:520px}.credit-adders{grid-template-columns:minmax(125px,150px) max-content;gap:6px 8px!important}.credit-adders .inline-form{display:contents!important}.credit-adders input{width:100%!important;max-width:150px!important}}

/* V1.9.3 final - kreditna matrika */
.credit-matrix .credit-remove{width:28px;height:28px;padding:0!important;border:0!important;border-radius:6px;background:transparent!important;color:#667085!important;box-shadow:none!important;font-size:1rem;filter:grayscale(1);opacity:.82}
.credit-matrix .credit-remove:hover{background:#f2f4f7!important;color:#344054!important;opacity:1}
.credit-matrix .credit-cell{min-width:72px}
.credit-matrix .credit-line{display:grid;grid-template-columns:14px 1fr;align-items:center;gap:5px}
.credit-matrix .credit-line input{width:6.5ch!important;min-width:6.5ch!important;max-width:6.5ch!important;padding:6px 6px;margin:0}
.credit-adders{display:flex!important;flex-wrap:nowrap!important;gap:8px 16px!important;align-items:center!important;justify-content:flex-start!important;overflow-x:auto!important}
.credit-adders .inline-form{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;align-items:center!important;flex:0 0 auto!important}
.credit-adders input{width:150px!important;max-width:150px!important;margin:0!important}
.credit-adders button{white-space:nowrap;margin:0!important}
.input-invalid{border-color:#c0392b!important;background:#fff1f0!important;box-shadow:0 0 0 2px rgba(192,57,43,.10)!important}
.credit-adders button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.credit-matrix{min-width:500px}.credit-adders{gap:8px 12px!important}.credit-adders input{width:145px!important;max-width:145px!important}}

.login-extra{text-align:center;margin-top:14px;font-size:.9rem;line-height:1.6;color:var(--muted)}.login-extra a{font-weight:600}.login-extra div{margin-top:4px}
/* V1.10 - samodejni krediti */
.credit-settings-form{max-width:420px}.credit-auto-matrix td,.credit-auto-matrix th{text-align:left}.credit-cell-static{display:flex;flex-direction:column;gap:5px;white-space:nowrap;line-height:1.35}.credit-offer-box{margin:12px 0;padding:12px 14px;border:1px solid var(--border,#d8dee8);border-radius:10px;background:#fafbfc;line-height:1.55}.credit-settings-form .input-invalid{border-color:#c62828!important;background:#fff1f1!important}.credit-settings-form button:disabled{opacity:.45;cursor:not-allowed}

/* V1.10.1 - kreditni layout in delne naložbe */
.credit-settings-form{max-width:860px}.credit-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.credit-settings-grid>div{min-width:0}.investment-preview{margin:4px 0 10px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fafbfc}.investment-buy-form label{margin-top:7px}@media(max-width:700px){.credit-settings-grid{grid-template-columns:1fr;gap:0}}

/* V1.11 - koledar, filtri, skupni admin moduli */
.calendar-note { display:block; margin-top:4px; font-size:.83em; line-height:1.4; color:#718096; font-weight:400; white-space:normal; }
.calendar-series { display:grid; gap:8px; padding:4px 0; }
.calendar-series > div { padding:10px 0; border-bottom:1px solid #e5e7eb; }
.child-filter { display:inline-flex; align-items:center; min-height:36px; padding:6px 12px; border:1px solid #cbd5e1; border-radius:8px; text-decoration:none; }
.child-filter.muted { opacity:.55; }
.level-child { padding:12px 0; border-bottom:1px solid #e5e7eb; }
.level-child:last-child { border-bottom:0; }
.level-child h3 { margin:0 0 7px; }
@media(max-width:700px) { .calendar-row { grid-template-columns:75px 95px minmax(0,1fr); gap:5px; } .child-filter { min-height:42px; } }

/* V1.11.1: compact calendar and credits */
.calendar-row{display:grid;grid-template-columns:90px 55px 55px 105px minmax(0,1fr);gap:9px;align-items:start;padding:9px 8px;border-bottom:1px solid var(--line,#e5e7eb)}
.calendar-row:not(:has(>span:nth-of-type(4))){grid-template-columns:90px 55px 55px minmax(0,1fr)}
.calendar-heading{font-size:.82rem;color:#697588;font-weight:650;background:#f7f8fb}
.calendar-repeat{display:block;font-size:.82em;color:#68788c;margin-top:3px}
.calendar-note{display:block;font-size:.82em;color:#768198;line-height:1.35;margin-top:3px}
.credit-settings-form{max-width:850px}.credit-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.credit-settings-grid>div{min-width:0}.credit-settings-form label{display:block;margin:10px 0 5px;font-size:.93rem;font-weight:600}.credit-settings-form input{display:block;box-sizing:border-box;width:100%;max-width:none}.credit-settings-form button{max-width:320px;width:100%;margin-top:10px}
.compact-table th,.compact-table td{padding:9px 12px}
@media(max-width:700px){.credit-settings-grid{grid-template-columns:1fr}.calendar-row,.calendar-row:not(:has(>span:nth-of-type(4))){grid-template-columns:66px 38px 38px minmax(0,1fr);font-size:.84rem;gap:5px}.calendar-row:has(>span:nth-of-type(4)){grid-template-columns:66px 38px 38px 65px minmax(0,1fr)}.credit-settings-form button{max-width:none}}

/* V1.11.3: explicit table layout; no grid child-count selectors */
.calendar-table-wrap{width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.calendar-events-table{width:100%;table-layout:fixed;border-collapse:collapse}
.calendar-events-table col.cal-date{width:112px}
.calendar-events-table col.cal-time{width:72px}
.calendar-events-table col.cal-child{width:115px}
.calendar-events-table col.cal-event{width:auto}
.calendar-events-table td,.calendar-events-table th{padding:11px 10px;vertical-align:top;overflow-wrap:break-word;word-break:normal}
.calendar-events-table th{background:#f6f8fc;white-space:nowrap}
.calendar-events-table td.cal-date-cell{white-space:nowrap}
.calendar-events-table td.cal-event-cell{min-width:0;line-height:1.35}
.calendar-events-table .calendar-repeat,.calendar-events-table .calendar-note{display:block;font-size:.83em;font-weight:400;color:#66758b;line-height:1.4;margin-top:3px;overflow-wrap:anywhere}
.calendar-events-table tr.today-event td{background:#f0f4ff}
@media(max-width:640px){.calendar-events-table{min-width:510px}.calendar-events-table.has-child{min-width:630px}}
/* Credit settings: two pairs per row, labels at left and compact inputs */
.credit-settings-form{max-width:none;width:100%}
.credit-settings-form .credit-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
.credit-settings-form .credit-pair{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:10px;min-width:0}
.credit-settings-form .credit-pair label{display:block;margin:0;font-weight:400;font-size:.94rem;line-height:1.35}
.credit-settings-form .credit-pair input{display:block;width:112px;min-width:0;max-width:112px;margin:0;padding:9px 10px;box-sizing:border-box}
.credit-settings-form>button{display:block;width:auto;min-width:200px;max-width:240px;margin:8px auto 0}
@media(max-width:820px){.credit-settings-form .credit-settings-grid{grid-template-columns:1fr;gap:10px}.credit-settings-form .credit-pair{max-width:550px}}
@media(max-width:380px){.credit-settings-form .credit-pair{grid-template-columns:minmax(0,1fr) 94px}.credit-settings-form .credit-pair input{width:94px;max-width:94px}}

/* V1.11.4: enoten koledar - naslov in opomba ločena, ponavljanje pod datumom */
.calendar-events-table td,.calendar-events-table th{vertical-align:top;text-align:left}
.calendar-events-table .calendar-title{display:block;font-weight:700;line-height:1.35}
.calendar-events-table .calendar-note,.calendar-events-table .calendar-repeat{display:block;clear:both;color:#66758b;font-size:.83rem;font-weight:400;line-height:1.4;margin-top:2px;white-space:normal;overflow-wrap:break-word}
.calendar-events-table .cal-date-cell{white-space:normal}
.calendar-events-table .cal-date-cell strong{white-space:nowrap}
.calendar-events-table col.cal-date{width:145px}
.calendar-events-table col.cal-time{width:70px}
.calendar-events-table col.cal-child{width:98px}
.calendar-events-table col.cal-edit{width:108px}
.calendar-events-table .cal-event-cell{width:auto}
.calendar-events-table .cal-actions details{max-width:100%}
.calendar-edit-table{min-width:750px}
/* Kreditni obrazec: dve enaki polovici, fiksna kratka polja */
.credit-settings-form .credit-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;row-gap:12px}
.credit-settings-form .credit-pair{display:grid;grid-template-columns:minmax(0,1fr) 108px;align-items:center;gap:10px;min-width:0}
.credit-settings-form .credit-pair label{margin:0;line-height:1.35;font-weight:400;white-space:normal}
.credit-settings-form .credit-pair input{width:108px;min-width:108px;max-width:108px;margin:0;padding:9px 10px;box-sizing:border-box}
.credit-settings-form>button{display:block;width:220px;min-width:0;max-width:100%;margin:12px auto 0}
@media(max-width:750px){.credit-settings-form .credit-settings-grid{grid-template-columns:1fr;row-gap:12px}.credit-settings-form .credit-pair{max-width:480px}}

/* 1.11.5: single shared calendar cells, hard block boundaries */
.calendar-events-table td.cal-date-cell .calendar-primary,
.calendar-events-table td.cal-date-cell .calendar-repeat,
.calendar-events-table td.cal-event-cell .calendar-title,
.calendar-events-table td.cal-event-cell .calendar-note { display:block; float:none; clear:both; width:100%; box-sizing:border-box; }
.calendar-events-table td.cal-date-cell .calendar-primary,
.calendar-events-table td.cal-event-cell .calendar-title {font-weight:700; line-height:1.4;}
.calendar-events-table td.cal-date-cell .calendar-repeat,
.calendar-events-table td.cal-event-cell .calendar-note {font-size:.84rem;line-height:1.4;color:#66758b;font-weight:400;margin-top:2px;}
.calendar-events-table .calendar-repeat {white-space:normal;}
.calendar-events-table col.cal-date{width:180px}
.calendar-events-table col.cal-time{width:72px}
.calendar-events-table col.cal-child{width:96px}
.calendar-events-table col.cal-edit{width:100px}
.calendar-events-table td.cal-event-cell {overflow-wrap:anywhere}
/* 1.11.5: fixed-size inputs, consistent label columns on both halves */
.credit-settings-form .credit-settings-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:14px;max-width:900px}
.credit-settings-form .credit-settings-grid .credit-pair {display:grid;grid-template-columns:minmax(0,1fr) 110px;column-gap:12px;align-items:center;min-width:0;max-width:none}
.credit-settings-form .credit-settings-grid .credit-pair label {min-width:0;line-height:1.25;margin:0;font-weight:400}
.credit-settings-form .credit-settings-grid .credit-pair input {box-sizing:border-box;display:block;width:110px;min-width:110px;max-width:110px;flex:none;margin:0;padding:9px 10px}
.credit-settings-form > button {width:220px;max-width:100%;display:block;margin:14px auto 0}
@media (max-width:740px){.credit-settings-form .credit-settings-grid{grid-template-columns:minmax(0,1fr);max-width:480px}}
@media (max-width:420px){.credit-settings-form .credit-settings-grid .credit-pair{grid-template-columns:minmax(0,1fr) 105px}.credit-settings-form .credit-settings-grid .credit-pair input{width:105px;min-width:105px;max-width:105px}}

/* V1.12: slika cilja in ena vrstica skupne obveznosti */
.goal-image{display:block;max-width:100%;width:auto;max-height:225px;object-fit:contain;margin:10px auto 12px;border-radius:10px}
.goal-admin-card input[type=file]{width:100%;max-width:100%;box-sizing:border-box;font-size:.85rem}
.goal-admin-card .goal-admin-actions form.inline-form{margin-top:10px}
.family-total{margin:16px 0 6px;text-align:right;font-size:1.08rem}
@media(max-width:640px){.family-total{text-align:left}.goal-image{max-height:180px}}

/* V1.12.1: kompaktna slika cilja, prilagodljiv prikaz za starse in otroke */
.goal-content-row{display:flex;align-items:flex-start;gap:14px;margin-top:8px;min-width:0}
.goal-content-main{flex:1 1 auto;min-width:0}
.goal-image-link{display:flex;flex:0 0 120px;width:120px;height:120px;align-items:center;justify-content:center;cursor:zoom-in;border-radius:10px;overflow:hidden}
.goal-image-link .goal-image{display:block;width:auto;height:auto;max-width:120px;max-height:120px;object-fit:contain;margin:0}
.goal-content-main .goal-title{margin:0 0 10px}
.goal-content-main .goal-progress{margin:10px 0 14px}
.goal-lightbox{position:fixed;inset:0;background:rgba(9,17,31,.84);z-index:9999;display:flex;align-items:center;justify-content:center;padding:28px;box-sizing:border-box;cursor:zoom-out}
.goal-lightbox[hidden]{display:none}
.goal-lightbox img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 12px 40px rgba(0,0,0,.35);cursor:default}
.goal-lightbox-close{position:absolute;top:8px;right:14px;border:0;background:transparent;color:white;font-size:36px;line-height:1;padding:8px 12px;cursor:pointer}
@media(max-width:500px){.goal-content-row{gap:10px}.goal-image-link{flex-basis:96px;width:96px;height:96px}.goal-image-link .goal-image{max-width:96px;max-height:96px}}
