:root{--ink:#233931;--muted:#67776f;--green:#235c48;--lime:#ddecac;--paper:#f6f7f3;--line:#e0e6dd;--white:#fff;--radius:14px}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;color:var(--ink);background:var(--paper);line-height:1.5}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--green);color:white;border:1px solid var(--green);padding:11px 17px;border-radius:8px;font-weight:600;cursor:pointer;line-height:1.4;text-align:center;text-decoration:none}button:hover,.button:hover{background:#174734;text-decoration:none}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:white;color:var(--ink);border-color:var(--line)}.secondary:hover{background:#eef3e8}.text-button{border:0;padding:0;background:transparent;color:var(--green);text-align:left}.text-button:hover{background:transparent;text-decoration:underline}input,select,textarea{display:block;width:100%;padding:10px 12px;background:white;border:1px solid #ced8cd;border-radius:7px;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:3px solid #c6ddaa;outline-offset:1px;border-color:var(--green)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #88b757;outline-offset:3px}input:disabled,input[readonly]{background:#f0f3ec;color:var(--muted)}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green);cursor:pointer;margin:auto}label{display:block;font-size:13px;font-weight:600;margin-bottom:18px}label input,label select,label textarea{margin-top:7px;font-weight:400}label small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:6px}h1,h2,h3,p{margin-top:0}h1{font-size:34px;font-weight:600;letter-spacing:-1.3px;line-height:1.18;margin-bottom:12px}h2{font-size:18px;font-weight:600;letter-spacing:-.3px;margin-bottom:8px}h3{font-size:18px}p{margin-bottom:14px}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--green);margin-bottom:16px}.sidebar{position:fixed;inset:0 auto 0 0;width:222px;background:#eef1e8;border-right:1px solid var(--line);padding:34px 22px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:21px;letter-spacing:2px;color:var(--ink)}.brand:hover{text-decoration:none}.brand small{display:block;font-size:9px;letter-spacing:2.4px;font-weight:500}.brand-icon{display:flex;align-items:center;justify-content:center;background:var(--green);color:var(--lime);width:40px;height:43px;border-radius:11px;font-family:Georgia,serif;font-size:34px;letter-spacing:-3px;padding-right:5px}.nav-caption{font-size:9px;font-weight:700;color:var(--muted);letter-spacing:1.5px;margin:54px 10px 14px}nav a{display:flex;align-items:center;gap:13px;padding:12px 13px;margin:4px 0;color:#51645a;border-radius:8px;font-weight:500}nav a span{font-size:20px;line-height:1}nav a:hover{background:#e3e9dc;text-decoration:none}nav a.active{background:var(--green);color:#fff}.sidebar-bottom{margin-top:auto;font-size:12px}.workspace-tag{border-top:1px solid #d6ded0;padding-top:21px;margin-bottom:23px}.live-dot{display:inline-block;width:6px;height:6px;background:#669d48;border-radius:50%;margin-right:8px}.account-link{display:block;overflow-wrap:anywhere}.logout{font-size:12px;background:transparent;border:0;color:var(--muted);padding:10px 0}.logout:hover{background:transparent;color:var(--green)}.app-shell{margin-left:222px}.topbar{height:73px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;color:var(--muted);font-size:12px;background:#fbfcf8}.slash{margin:0 10px;color:#adb8ab}.main{padding:36px 38px 20px;max-width:1800px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.page-heading p{margin:0}.page-heading .eyebrow{margin-bottom:12px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.month-heading{display:flex;align-items:center;justify-content:space-between;margin:32px 0 18px;gap:16px}.month-heading h2{font-size:21px;margin:0}.inline-form{display:flex;gap:8px}.inline-form input{width:175px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:23px}.stat{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px 22px;min-height:159px;display:flex;flex-direction:column}.stat>span{font-size:13px;color:#526157}.stat strong{font-size:clamp(23px,2.5vw,36px);line-height:1.3;letter-spacing:-1.4px;margin:14px 0 11px;overflow-wrap:anywhere;font-weight:600;font-variant-numeric:tabular-nums}.stat small{font-size:11px;color:#637365;margin-top:auto}.stat.accent{background:var(--lime);border-color:#d4e39c}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-heading{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-heading h2,.panel-heading p{margin-bottom:0}.panel-heading p{font-size:12px;margin-top:5px}.panel-heading>.muted{font-size:11px}.panel-heading>a{font-size:12px;white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;margin-bottom:23px}.status-grid{display:grid;grid-template-columns:repeat(5,1fr);padding:5px 22px 26px;gap:10px}.status-tile{display:flex;flex-direction:column;align-items:flex-start;gap:20px;border-right:1px solid #edf0e9;padding-right:6px}.status-tile:last-child{border:0}.status-tile strong{font-size:28px;font-weight:500}.status-tile:hover{text-decoration:none}.badge{display:inline-block;border-radius:5px;padding:4px 7px;font-size:11px;white-space:nowrap;font-weight:500}.received{background:#f1f1ec;color:#64665a}.entered{background:#e9eef8;color:#486087}.waiting{background:#fff0d7;color:#896224}.signed{background:#e2efdf;color:#366744}.cancelled{background:#f8e7e3;color:#975748}.payout-panel{padding:24px;background:#edf1e7}.payout-panel .eyebrow{margin-bottom:12px}.payout-panel p{font-size:12px;color:#586b5d}.payout-panel button{font-size:11px;padding:10px 12px}.info-note{padding:15px 18px;background:#edf2e8;border:1px solid #dce6d3;border-radius:9px;font-size:12px;color:#52634f;margin-bottom:22px}.info-note a{margin-left:6px;font-weight:600}.table-scroll{overflow-x:auto;position:relative}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;text-transform:uppercase;letter-spacing:.55px;color:#778074;background:#f9faf6;font-weight:600;padding:14px 15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 15px;border-bottom:1px solid #edf0e9;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcf7}.person{font-weight:600;color:var(--ink);white-space:nowrap}td small{display:block;font-size:10px;color:var(--muted);margin-top:4px;white-space:nowrap}.number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.payment{font-size:11px;white-space:nowrap}.yes{color:#477341}.no{color:#8c713b}.check{width:42px;padding-right:5px}.edit-link{white-space:nowrap;font-size:11px}.selected-row{background:#f1f7e6!important}.note summary{cursor:pointer;color:#617353;font-size:10px;margin-top:5px}.note p{max-width:260px;min-width:160px;font-size:11px;overflow-wrap:anywhere;white-space:normal;margin:7px 0}.footnote{font-size:11px;color:var(--muted);margin:16px 0}.empty{text-align:center;padding:55px 25px;color:var(--muted)}.empty h3,.empty h2{color:var(--ink);margin-bottom:8px}.empty p{font-size:13px}.empty-icon{display:inline-flex;font-size:27px;background:#f0f4e8;color:#6c8659;border-radius:12px;width:52px;height:52px;align-items:center;justify-content:center;margin-bottom:17px}.filters{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr auto;gap:13px;padding:20px;margin-bottom:19px;overflow:visible}.filters label{margin:0}.filters input,.filters select{font-size:12px;padding:10px}.filter-actions{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:26px;font-size:11px}.filter-actions button{padding:9px 13px}.quick-row{display:flex;align-items:center;gap:16px;margin:0 0 20px;flex-wrap:wrap;font-size:11px}.quick-row button{font-size:12px}.pagination{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 22px;font-size:11px}.pagination>div{display:flex;gap:8px}.pagination .button{font-size:11px;padding:8px 12px}.editor-grid{display:grid;grid-template-columns:2fr 1fr;gap:23px;align-items:start}.form-section{padding:27px}.form-section h2{margin:0 0 23px}.section-number{font-size:10px;letter-spacing:1px;color:var(--muted);margin-bottom:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.form-grid .full{grid-column:1/-1}.payment-section .muted{font-size:12px;margin-top:-9px;margin-bottom:24px}.payment-section .info-note{margin-top:22px;margin-bottom:0}.save-bar{display:flex;justify-content:flex-end;align-items:center;gap:25px;padding:23px 0}.bulk-form{max-width:850px}.settings-form{max-width:500px}.alert{border:1px solid;border-radius:9px;padding:14px 18px;margin-bottom:22px;font-size:13px}.alert p:last-child{margin-bottom:0}.success{background:#eaf4e3;border-color:#cbdcbe;color:#355a2e}.error{background:#fff0ec;border-color:#e8c6ba;color:#8b3b2d}footer{display:flex;justify-content:space-between;color:#85907e;font-size:10px;border-top:1px solid var(--line);padding-top:19px;margin-top:39px}footer span{color:#929b8c}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 10% 10%,#e2eccc,transparent 65%),#f5f6f0;padding:35px 20px}.auth-card{background:white;border:1px solid #dae3d3;border-radius:22px;padding:42px;width:440px;box-shadow:0 20px 80px #344d1910}.auth-card .brand{margin-bottom:43px}.auth-card .brand small{display:inline;font-size:9px}.auth-card h1{font-size:36px;margin-bottom:14px}.auth-card>p{font-size:13px}.auth-card form{margin-top:25px}.auth-card label{margin-bottom:20px}.auth-card .eyebrow{font-size:9px}.wide{width:100%;justify-content:space-between}.auth-foot{font-size:10px!important;color:#83917a;text-align:center;margin:27px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1450px){.contracts-table td{padding:19px 17px}.main{padding-top:44px}}@media(max-width:1200px){.sidebar{width:195px;padding:28px 17px}.app-shell{margin-left:195px}.main{padding:30px 23px}.topbar{padding:0 23px}.dashboard-grid{grid-template-columns:1fr}.filters{grid-template-columns:repeat(3,1fr)}.filter-actions{flex-direction:row;align-items:flex-start;gap:18px}.filter-actions a{padding-top:9px}.stat{padding:20px 16px}.stat small{font-size:10px}.status-grid{gap:18px}.editor-grid{grid-template-columns:1.6fr 1fr}}@media(max-width:850px){.sidebar{position:static;width:auto;padding:17px 20px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:16px}.sidebar .brand{font-size:18px}.brand-icon{width:33px;height:36px;font-size:28px}.nav-caption,.workspace-tag,.account-link{display:none}.sidebar nav{grid-column:1/-1;grid-row:2;display:flex;gap:8px}.sidebar nav a{flex:1;justify-content:center;font-size:12px;padding:10px 6px;margin:0}.sidebar nav span{font-size:17px}.sidebar-bottom{grid-column:2;grid-row:1;margin:0;align-self:center}.app-shell{margin:0}.topbar{height:50px;padding:0 22px}.main{padding:28px 20px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat strong{font-size:32px}.page-heading h1{font-size:30px}.editor-grid{grid-template-columns:1fr}.payment-section{max-width:none}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{gap:18px}.page-heading{align-items:flex-start;flex-wrap:wrap}.status-grid{gap:10px}.status-tile .badge{font-size:10px}.pagination{align-items:flex-start}.panel-heading{padding:20px}.today{font-size:11px}}
@media(max-width:480px){.main{padding:23px 14px}.page-heading{gap:19px;margin-bottom:22px}.page-heading h1{font-size:28px}.eyebrow{font-size:9px}.page-heading p{font-size:12px}.page-heading>.button{font-size:12px;padding:10px 13px}.stats{gap:11px}.stat{padding:17px 14px;min-height:143px}.stat strong{font-size:27px;letter-spacing:-1px}.stat>span{font-size:12px}.stat small{line-height:1.4}.month-heading{align-items:flex-start;flex-direction:column;margin-top:24px}.month-heading .inline-form{width:100%}.inline-form input{flex:1}.status-grid{grid-template-columns:repeat(3,1fr);row-gap:20px;padding:0 20px 23px}.status-tile{gap:8px}.status-tile:nth-child(3){border-right:0}.panel-heading{align-items:flex-start;flex-wrap:wrap;gap:12px}.panel-heading>.muted{font-size:10px}.filters{padding:16px;gap:14px}.search-field{grid-column:1/-1}.filter-actions{padding-top:26px}.form-grid{grid-template-columns:1fr}.form-section{padding:22px 19px}.form-grid .full{grid-column:auto}.pagination{flex-direction:column}.auth-card{padding:32px 26px}.auth-card h1{font-size:32px}.auth-page{padding:20px 14px}.topbar{padding:0 16px;font-size:11px}footer{gap:15px}.actions{gap:8px}.actions .button,.actions button{font-size:12px;padding:10px 12px}.quick-row{gap:8px}.payout-panel{padding:22px}.sidebar nav a{font-size:11px}.sidebar{padding:15px}.sidebar nav{gap:4px}.sidebar nav span{display:none}}
@media(prefers-reduced-motion:no-preference){a,button,input{transition:background .15s ease,border-color .15s ease}}@media print{.sidebar,.topbar,.actions,button,.save-bar,footer,.filters,.quick-row{display:none!important}.app-shell{margin:0}.main{padding:0}.table-scroll{overflow:visible}.panel{border:0}body{background:white}.stats{grid-template-columns:repeat(4,1fr)}}
@media(max-width:850px){.sidebar .account-link{display:block;max-width:72px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px}.sidebar-bottom{display:flex;align-items:center;gap:10px}}

/* ---- v2: hitra akcija »Vneseno« in izbris s potrditvijo ---- */
.hidden-form{display:none}
.row-actions{display:flex;gap:.45rem;align-items:center;justify-content:flex-end;white-space:nowrap}
.quick-enter{border:1px solid #2f7d5b;background:#eaf5ef;color:#1c5e42;border-radius:8px;padding:.28rem .55rem;font-size:.8rem;font-weight:600;cursor:pointer;line-height:1}
.quick-enter:hover{background:#2f7d5b;color:#fff}
.danger-link{color:#b3261e;font-weight:600;margin-right:auto;align-self:center}
.danger-zone{border:1px solid #f0c9c5;background:#fff}
.delete-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;margin:1rem 0}
.delete-summary dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0}
.delete-summary dd{margin:.15rem 0 0;font-weight:600}
.confirm-check{display:flex;gap:.55rem;align-items:flex-start;margin:.5rem 0 1rem;font-weight:600}
button.danger{background:#b3261e;border-color:#b3261e;color:#fff}
button.danger:hover{background:#8f1e17}

/* ---- v2.3: računi in specifikacije ---- */
.inv-tag{color:#3c6b52!important;font-weight:600}
.invoice-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.invoice-filters{grid-template-columns:1.2fr auto auto;align-items:end}
.invoice-filters button{padding:10px 15px}
.check-inline{display:flex;align-items:center;gap:9px;margin:0 0 18px;font-weight:600}
.check-inline input[type=checkbox]{margin:0}
.heading-actions{display:flex;gap:10px;flex-wrap:wrap}
.invoice-form h2{margin-top:32px}
.invoice-form h2:first-of-type{margin-top:0}
.invoice-form .table-scroll{border:1px solid var(--line);border-radius:9px;margin-bottom:22px}
.invoice-form #selection-count{font-size:12px;font-weight:400;margin-left:8px}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:850px){.invoice-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-filters{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr}}

/* ---- v2.3: logotip HEILA studio v vmesniku ---- */
.brand-logo{display:block;letter-spacing:0;line-height:1}
.brand-logo img{display:block;width:100%;max-width:158px;height:auto}
.brand-logo small{display:block;font-size:9px;letter-spacing:2.6px;font-weight:600;color:var(--muted);margin:7px 0 0 5px}
.auth-card .brand-logo{margin-bottom:38px}
.auth-card .brand-logo img{max-width:214px}
.auth-card .brand-logo small{display:block;font-size:9px;margin-left:4px}
@media(max-width:850px){.brand-logo img{max-width:132px}.sidebar .brand-logo small{display:none}}

/* ---- v2.5: plačilo računa, hitra izplačila, celotni pregled ---- */
.quick-pay{border:1px solid #8a6d3b;background:#fdf4e3;color:#7a5a24;border-radius:8px;padding:.28rem .55rem;font-size:.8rem;font-weight:600;cursor:pointer;line-height:1;white-space:nowrap}
.quick-pay:hover{background:#8a6d3b;color:#fff}
.inline-action{display:inline-flex;margin:0}
.scope-switch{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.scope-switch .button{font-size:12px;padding:9px 13px}
.invoice-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
@media(max-width:850px){.scope-switch{width:100%}.scope-switch .inline-form{flex:1}}
.inv-tag{display:inline-block;font-size:11px;font-weight:600;color:#3c6b52;background:#eef5ef;border:1px solid #d7e6da;border-radius:6px;padding:.2rem .45rem;white-space:nowrap}
.inv-tag:hover{background:#3c6b52;color:#fff;text-decoration:none}
.inv-none{color:#aab3a8}
.status-grid{grid-template-columns:repeat(4,1fr)}
.status-note{font-size:11px;color:var(--muted);margin:0;padding:0 22px 22px}
@media(max-width:480px){.status-grid{grid-template-columns:repeat(2,1fr)}.status-tile:nth-child(2){border-right:0}}

/* ---- v3.0: naročilnice, dokumenti, izvoz za naročnika ---- */
.attach-block .attach-list{list-style:none;margin:0 0 18px;padding:0}
.attach-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #edf0e9;font-size:13px;flex-wrap:wrap}
.attach-list li:last-child{border-bottom:0}
.attach-icon{font-size:9px;font-weight:700;letter-spacing:.5px;background:#eef1e8;color:#5c6b57;border-radius:5px;padding:5px 6px}
.attach-name{font-weight:600;overflow-wrap:anywhere}
.attach-meta{font-size:11px}
.attach-list .edit-link{margin-left:auto}
.attach-form{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px}
.attach-form label{flex:1;min-width:260px;margin:0}
.danger-link{background:transparent;border:0;color:#b3261e;font-weight:600;cursor:pointer;padding:0}
.tsv-box{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;white-space:pre;overflow-x:auto;background:#fbfcf8}
.tsv-preview th{font-size:9px}
.tsv-preview td{padding:10px 12px;font-size:11px;white-space:nowrap}
.transfer-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:4px 20px;margin-bottom:10px}
.transfer-list .check-inline{margin:0;padding:6px 0;font-weight:500;font-size:13px}
.mnp-panel{margin-bottom:22px;border-left:3px solid var(--green)}
.mnp-list{list-style:none;margin:0;padding:0 22px 20px}
.mnp-list li{display:flex;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid #edf0e9;font-size:13px;flex-wrap:wrap}
.mnp-list li:last-child{border-bottom:0}
.mnp-list .muted{font-size:11px}
.mnp-list .person{margin-right:auto}
.page-heading .heading-actions .button{white-space:nowrap}
@media(max-width:850px){.page-heading .heading-actions{width:100%}.page-heading .heading-actions .button{flex:1;font-size:12px;padding:10px 12px}}
.no-bill{color:#8c713b!important;font-weight:600}
.billable-check{margin-top:4px}
.billable-hint{font-size:11px;margin:-8px 0 18px}
.import-card textarea.tsv-box{min-height:76px;white-space:pre-wrap}
.import-card form{display:block}
.import-card a[download]{display:inline-block;margin-left:18px;font-size:12px}
.practice-check{margin-top:2px}

/* ---- v3.6: razmiki med sklopi, vidnejši gumb Odpri, izpostavljena oznaka učenja ---- */
.editor-form > .panel{margin-bottom:24px}
.editor-form > .panel:last-of-type{margin-bottom:0}
.editor-form .save-bar{padding-top:6px}
.open-btn{font-size:12px;padding:8px 14px}
.practice-panel{border-left:3px solid var(--line);padding-top:22px;padding-bottom:18px}
.practice-panel p{margin:8px 0 0 30px;font-size:12px}
.practice-toggle{margin:0;font-weight:500;align-items:flex-start;gap:12px}
.practice-toggle input[type=checkbox]{width:20px;height:20px;margin-top:1px}
.practice-panel.is-practice{border-left-color:#c8922f;background:#fffaf0}
.page-heading h1 .badge{font-size:12px;vertical-align:middle;margin-left:10px;padding:6px 10px}
.editor-form > .editor-grid{margin-bottom:24px}
.attach-block{margin-top:24px}
form.danger-zone{margin-top:24px}
.order-contracts{margin-top:4px}

/* ---- v3.7: koledar, opomniki, stanje naročilnice ---- */
.calendar-panel{padding:18px 18px 22px}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal-head{margin-bottom:6px}
.cal-head div{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700;padding:4px 6px}
.cal-day{min-height:104px;border:1px solid var(--line);border-radius:9px;padding:6px;background:#fff;display:flex;flex-direction:column;gap:4px}
.cal-out{background:#fafbf7;color:#aab3a8}
.cal-today{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.cal-num{font-size:11px;font-weight:700;color:var(--muted)}
.cal-today .cal-num{color:var(--green)}
.cal-item{display:block;font-size:11px;line-height:1.25;padding:4px 6px;border-radius:6px;background:#eef3e8;color:#3a4a36;overflow-wrap:anywhere}
.cal-item:hover{text-decoration:none;filter:brightness(.96)}
.cal-item small{display:block;color:#6a7a64;font-size:10px}
.cal-mnp{background:#e9eef8;color:#3c5480}
.cal-tehnik{background:#fff0d7;color:#7d5a1f}
.cal-done{opacity:.45;text-decoration:line-through}
.late-list{list-style:none;margin:8px 0 0;padding:0;font-size:12px}
.late-list li{padding:4px 0}
.late-date{font-weight:700;margin-right:8px}
.rem-list{list-style:none;margin:0 0 18px;padding:0}
.rem-list li{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid #edf0e9;font-size:13px;flex-wrap:wrap}
.rem-list li:last-child{border-bottom:0}
.rem-date{font-weight:700;font-size:12px;white-space:nowrap}
.rem-late{color:#b3261e}
.rem-note{flex:1;min-width:180px}
.rem-done{opacity:.5}
.rem-done .rem-note{text-decoration:line-through}
.rem-form{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px}
.rem-form label{margin:0}
.rem-form label:nth-of-type(2){flex:1;min-width:240px}
@media(max-width:850px){.cal-day{min-height:78px}.cal-item{font-size:10px}.cal-item small{display:none}}

/* ---- v3.9: podatki storitve na pogodbi ---- */
.service-box{border-top:1px solid var(--line);margin-top:6px;padding-top:24px}
.service-box h2{margin-bottom:6px}
.service-intro{font-size:12px;margin-bottom:20px}
.service-box .form-grid:last-child{margin-bottom:-4px}
.service-box [hidden]{display:none}

/* ---- v3.8: spodnja navigacija na telefonu ---- */
.tabbar{display:none}
@media(max-width:850px){
  .sidebar nav{display:none}
  .sidebar{grid-template-columns:1fr auto;padding:12px 16px}
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;
    background:#fbfcf8;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(35,57,49,.07);
    padding-bottom:env(safe-area-inset-bottom)}
  .tabbar > a,.tabbar summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    position:relative;margin:0;border-radius:0;background:transparent;
    padding:9px 2px 8px;font-size:10px;font-weight:600;color:#5b6b60;text-align:center;line-height:1.15;cursor:pointer;list-style:none}
  .tabbar > a span,.tabbar summary span{font-size:19px;line-height:1}
  .tabbar > a:hover{text-decoration:none}
  .tabbar > a.active,.tabbar > a.active:hover{background:transparent;color:var(--green)}
  .tabbar > a.active span{transform:translateY(-1px)}
  .tabbar > a.active::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:30px;height:3px;border-radius:0 0 3px 3px;background:var(--green)}
  .tab-more summary::-webkit-details-marker{display:none}
  .tab-more[open] summary{color:var(--green)}
  .more-sheet{position:fixed;left:0;right:0;bottom:62px;background:#fff;border-top:1px solid var(--line);
    box-shadow:0 -10px 30px rgba(35,57,49,.12);padding:8px 0 10px}
  .more-sheet a,.more-sheet button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 22px;
    font-size:14px;font-weight:600;color:var(--ink);background:transparent;border:0;text-align:left}
  .more-sheet a:hover{background:#f2f5ee;text-decoration:none}
  .more-sheet span{font-size:17px;width:22px;text-align:center}
  .more-sheet form{margin:0;border-top:1px solid var(--line);margin-top:6px;padding-top:4px}
  .more-sheet button{color:var(--muted);font-weight:500;padding-left:56px}
  body{padding-bottom:74px}
  footer{margin-bottom:8px}
}
.draft-note{margin:0 24px 20px}
.draft-note strong{font-weight:600}
/* ---- v4.1: vnosi ---- */
.entry-stats{margin-bottom:20px}
.price-panel{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:20px 24px;margin-bottom:19px;background:#f3f6ee}
.price-form{align-items:flex-end;gap:10px;margin:0}
.price-form label{margin:0;white-space:nowrap}
.price-form input{width:130px}
.price-hint{font-size:11px;margin:0;flex:1;min-width:220px}
.entry-filters{grid-template-columns:1fr auto}
.entry-list{margin:0;padding-left:17px;font-size:11px;line-height:1.5}
.entry-list li{margin:2px 0}
.paste-panel{margin-bottom:19px}
.paste-panel summary{cursor:pointer;font-size:14px;list-style:none}
.paste-panel summary::-webkit-details-marker{display:none}
.paste-panel summary strong{color:var(--green)}
.paste-panel[open] summary{margin-bottom:18px}
.paste-panel textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;white-space:pre}
.paste-example{font-size:11px;margin:-6px 0 4px}
.paste-example code{background:#f2f5ee;padding:3px 6px;border-radius:5px;display:inline-block;margin-top:5px}
/* ---- v4.3: iskalnik ---- */
.search-panel{margin-bottom:19px;padding:24px}
.search-panel .inline-form input{width:100%;font-size:15px;padding:13px 15px}
.search-panel .inline-form button{white-space:nowrap}
.search-hint{font-size:11px;margin:12px 0 0}
.search-hint code{background:#f2f5ee;padding:2px 5px;border-radius:4px}
.search-group{margin-bottom:19px}
.search-group .panel-heading h2{font-size:16px}
mark{background:#e6f19f;color:inherit;border-radius:3px;padding:0 2px}
.cron-note{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.cron-note code{background:#e4ebdb;padding:2px 5px;border-radius:4px;font-size:11px}
.cron-warn{background:#fff6e6;border-color:#ecd9ae;color:#7d5a1f}
.cron-warn code{background:#f6e9cf}
/* ---- v4.6: storno ---- */
.quick-cancel{background:#fff;color:#8c5a4a;border-color:#e6cfc6;font-size:11px;padding:7px 10px}
.quick-cancel:hover{background:#faeee9;color:#7a4638}
.cancel-why{display:block;font-size:10px;color:#975748;margin-top:4px;white-space:normal;max-width:190px}
#cancel-wrap[hidden]{display:none}
.months-cancel{color:#975748}
/* ---- v4.7: pogodbe narejene (en klik) ---- */
.done-box{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:0 24px 22px;padding:18px 20px;background:#f1f6ea;border:1px solid #d9e6c6;border-radius:11px}
.done-check{flex-direction:column;align-items:flex-start;gap:3px;padding:13px 19px;font-size:15px;text-align:left}
.done-check small{font-weight:400;font-size:11px;opacity:.85}
.done-tick{font-size:17px;margin-right:6px}
.done-what{flex:1;min-width:230px;font-size:12px;color:#4d5f4c;line-height:1.55}
.done-what a{font-weight:600}
.db-warn code{background:#f7ded6;padding:2px 6px;border-radius:4px;font-size:11px;overflow-wrap:anywhere}
.cron-hint{font-size:11px;margin:14px 0 0;line-height:1.55}
.cron-hint code{background:#f2f5ee;padding:2px 5px;border-radius:4px}
/* ---- v5.0: kljukica pri opomniku ---- */
.rem-list{list-style:none;margin:0;padding:0}
.rem-list li{display:flex;align-items:center;gap:13px;padding:13px 24px;border-bottom:1px solid #edf0e9;font-size:13px}
.rem-list li:last-child{border-bottom:0}
.rem-tick{flex:0 0 auto;width:23px;height:23px;padding:0;border-radius:6px;background:#fff;border:2px solid #c3d2bd;
  color:#fff;font-size:14px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.rem-tick:hover{background:#eef4e6;border-color:var(--green)}
.rem-tick.is-done{background:var(--green);border-color:var(--green)}
.rem-tick.is-done:hover{background:#174734}
.rem-date{flex:0 0 auto;font-variant-numeric:tabular-nums;color:#526157;white-space:nowrap}
.rem-late{color:#975748;font-weight:600}
.rem-note{flex:1;overflow-wrap:anywhere}
.rem-note a{font-size:11px}
.rem-done{opacity:.5}
.rem-done .rem-note{text-decoration:line-through}
/* ---- v5.1: merjenje delovnega časa ---- */
.work-box{margin-bottom:10px}
.work-btn{width:100%;justify-content:flex-start;gap:11px;padding:12px 14px;border-radius:10px;
  background:#2f5d9e;border-color:#2f5d9e;color:#fff;font-size:12px;letter-spacing:.4px;text-align:left}
.work-btn:hover{background:#26497c;border-color:#26497c}
.work-btn.is-on{background:#a8442f;border-color:#a8442f}
.work-btn.is-on:hover{background:#8c3626;border-color:#8c3626}
.work-ico{font-size:13px;line-height:1;flex:0 0 auto}
.work-txt{display:flex;flex-direction:column;gap:2px;font-weight:700}
.work-txt small{font-weight:400;font-size:10px;opacity:.9;letter-spacing:0}
.work-btn.big{width:auto;padding:15px 22px;font-size:14px;border-radius:12px}
.work-btn.big .work-txt small{font-size:11px}
.work-sum{display:block;font-size:11px;color:var(--muted);margin-bottom:18px;padding-left:2px}
.work-sum strong{color:var(--green)}
.work-stats{margin-bottom:8px}
@media(max-width:850px){.work-btn{font-size:13px}}
.cal-item{display:flex;align-items:flex-start;gap:5px}
.cal-item > a{color:inherit;flex:1;min-width:0;overflow-wrap:anywhere}
.cal-item > a:hover{text-decoration:underline}
.cal-znak{flex:0 0 auto;line-height:1.25}
.cal-tick{flex:0 0 auto;width:14px;height:14px;padding:0;margin-top:1px;border-radius:4px;background:#fff;
  border:1.5px solid #adbfa6;color:#fff;font-size:9px;font-weight:700;line-height:1;display:inline-flex;
  align-items:center;justify-content:center}
.cal-tick:hover{background:#dfeacd;border-color:var(--green)}
.cal-tick.is-done{background:var(--green);border-color:var(--green)}
.cal-tick.is-done:hover{background:#174734}

/* v5.3 — povezava vnosa z naročilnico */
.link-panel .link-ok{background:#eef5ee;border:1px solid #cfe0cf;border-radius:8px;padding:.7rem .9rem;margin:.6rem 0}
.link-panel .link-found{background:#f7f4ec;border:1px solid #e3dcc8;border-radius:8px;padding:.7rem .9rem;margin:.6rem 0}
.link-panel .link-found p{margin:0 0 .5rem}
.link-hits{list-style:none;margin:.6rem 0 0;padding:0}
.link-hits li{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.45rem 0;border-top:1px solid var(--line)}
.link-tag{display:inline-block;background:#eef2f8;border:1px solid #d3ddea;border-radius:6px;padding:.1rem .45rem;font-size:.82rem;color:#2f5d9e;text-decoration:none}
.filed-note{background:#eef5ee;border:1px solid #cfe0cf;border-radius:8px;padding:.7rem .9rem;margin:0 0 1rem}
.filed-note small{display:block;color:var(--muted);margin-top:.25rem}
.link-back{border-left:3px solid #2f5d9e}
.quick-range{flex-basis:100%;margin-top:.5rem;font-size:.88rem}
.quick-range a{margin-right:.7rem}
.report-actions .actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:.4rem 0 .6rem}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.4rem;vertical-align:baseline}
.dot-yes{background:#3f8f4f}
.dot-no{background:#c0392b}
.dot-legend{font-size:.85rem;color:var(--muted);margin:0 0 .6rem}

/* v5.7 — stranski meni se lahko premika, ko je zavihkov več kot je visok zaslon */
@media(min-width:851px){
  .sidebar{overflow-y:auto;overscroll-behavior:contain;padding-top:26px;padding-bottom:16px;scrollbar-width:thin;scrollbar-color:#cbd5c3 transparent}
  .sidebar::-webkit-scrollbar{width:8px}
  .sidebar::-webkit-scrollbar-thumb{background:#cbd5c3;border-radius:4px}
  .sidebar::-webkit-scrollbar-track{background:transparent}
  .sidebar .nav-caption{margin-top:26px}
  .sidebar nav a{padding:10px 13px;margin:2px 0}
  .sidebar-bottom{padding-top:12px}
}
/* Nizki zasloni (prenosniki): meni stisnemo, da gre vse na zaslon brez drsenja. */
@media(min-width:851px) and (max-height:900px){
  .sidebar{padding-top:20px}
  .sidebar .brand-logo img{width:130px;height:auto}
  .sidebar .nav-caption{margin-top:16px;margin-bottom:8px}
  .sidebar nav a{padding:8px 12px;margin:1px 0}
  .sidebar nav a span{font-size:18px}
  .sidebar .workspace-tag{padding-top:14px;margin-bottom:14px}
}
.work-start-group{display:flex;gap:.6rem;flex-wrap:wrap}
.proj-panel .proj-form{align-items:flex-end;margin-top:1rem;flex-wrap:wrap}
.proj-panel .proj-form label{margin:0;flex:1;min-width:230px}
.proj-panel .proj-form input{width:100%}
.work-box{display:flex;flex-direction:column;gap:.4rem}
.work-box .work-btn{width:100%}
.backup-panel{max-width:none}
.backup-panel .actions{margin:.6rem 0 1rem}
.backup-panel code{font-size:.82rem;background:#f4f6f1;padding:.1rem .3rem;border-radius:4px;overflow-wrap:anywhere}

/* v5.10 — preglednejši Moj račun */
.settings-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.2rem}
.settings-nav a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.35rem .8rem;font-size:.82rem;color:var(--ink);text-decoration:none}
.settings-nav a:hover{background:#eef3e8;text-decoration:none;border-color:#cfdcc6}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.settings-card{max-width:none;margin:0;scroll-margin-top:90px}
.settings-card h2{margin-bottom:.5rem}
.settings-card>.muted{font-size:12px}
.wide-card{grid-column:1/-1}
.settings-card .save-bar{padding-top:1rem}
.cron-details{margin-top:1rem;border-top:1px solid var(--line);padding-top:.8rem}
.cron-details summary{cursor:pointer;font-size:.85rem;color:var(--green);font-weight:600}
.cron-details p{margin-top:.7rem}
@media(max-width:1100px){.settings-grid{grid-template-columns:1fr}}
.fee-panel .fee-block{margin-bottom:1.4rem}
.fee-panel .fee-block:last-child{margin-bottom:0}
.fee-panel h3{font-size:15px;margin:0 0 .7rem}
.fee-stats{margin-bottom:.7rem}
.fee-stats .stat{min-height:118px;padding:16px 15px}
.fee-stats .stat strong{font-size:clamp(19px,2vw,27px);margin:9px 0 7px}
.fee-bar{height:8px;background:#eef1e8;border-radius:5px;overflow:hidden}
.fee-bar span{display:block;height:100%;background:var(--green)}
.fee-note{font-size:12px;margin:.45rem 0 0}
.client-pick{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:0 0 1rem}
.client-pick a{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.5rem .9rem;color:var(--ink);text-decoration:none;font-weight:600}
.client-pick a small{font-weight:400;font-size:.72rem;color:var(--muted)}
.client-pick a.is-on{border-color:var(--green);background:#eef5ea;color:var(--green)}
.client-pick a:hover{text-decoration:none;border-color:#cfdcc6}
.rem-edit{margin-right:.7rem;white-space:nowrap}
.cal-item a{cursor:pointer}

/* v5.15 — varnost */
.sec-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:1100px){.sec-grid{grid-template-columns:1fr}}
.sec-block h3{font-size:15px;margin:0 0 .6rem;display:flex;align-items:center;gap:.5rem}
.sec-form label{margin-bottom:.8rem}
.sec-form .actions{margin-top:.4rem}
.totp-key{font-family:ui-monospace,Menlo,monospace;font-size:1.25rem;letter-spacing:.08em;background:#f4f6f1;border:1px dashed #cfdcc6;border-radius:8px;padding:.7rem .9rem;margin:.4rem 0 .8rem;overflow-wrap:anywhere}
.backup-codes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin-top:.6rem}
.backup-codes code{font-size:1rem;background:#fff;border:1px solid #cbdcbe;border-radius:6px;padding:.35rem .5rem;text-align:center}
@media(max-width:600px){.backup-codes{grid-template-columns:repeat(2,1fr)}}
.sec-log td,.sec-log th{padding:9px 10px;font-size:11px}
.auth-card .check-inline{margin:0 0 1rem;font-weight:400}
.draft-box{border-left:4px solid #c9a227;background:#fffaf0}
.draft-box .actions{margin-top:.4rem}
.send-panel{border-left:4px solid var(--green)}
.sent-tag{color:#366744;font-weight:600}
.dup-panel .dup-group{border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;margin-bottom:1rem}
.dup-panel .dup-group h3{font-size:14px;margin:0 0 .5rem;color:#8b3b2d}
.dup-form{align-items:flex-end;flex-wrap:wrap;margin-top:.6rem}
.dup-form label{margin:0;min-width:260px}
.dup-row td{background:#fff4ef}
.bulk-bar{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:flex-end;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;background:#f7f8f4;margin-bottom:.5rem}
.bulk-bar label{margin:0;min-width:170px;font-size:13px}
.bulk-bar #selection-count{font-weight:600;align-self:center;min-width:90px}
.bulk-help{margin:0 0 .8rem;font-size:13px}
.check-col{width:28px;text-align:center}
/* Filtri pogodb: 2 vrstici po 4 polja, gumb v zadnji celici. */
.contracts-filters{grid-template-columns:2fr 1fr 1fr 1fr;align-items:start}
.contracts-filters .search-field{grid-column:1}
.contracts-filters .filter-actions{padding-top:24px}
@media(max-width:1200px){.contracts-filters{grid-template-columns:repeat(3,1fr)}.contracts-filters .search-field{grid-column:1/-1}}
@media(max-width:850px){.contracts-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
.danger-panel{margin-top:22px;border-color:#e8c6ba;background:#fffaf8}
.danger-panel h2{color:#8b3b2d}
.result-count{padding:16px 24px 6px;font-size:13px}
.result-count a{font-size:12px}
/* Filter storitev: spustni seznam s kljukicami */
.service-filter .filter-label{display:block;font-size:13px;font-weight:600}
.multi-select{position:relative;margin-top:7px}
.multi-select summary{list-style:none;cursor:pointer;background:#fff;border:1px solid #ced8cd;border-radius:7px;padding:10px;font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.multi-select summary::-webkit-details-marker{display:none}
.multi-select summary::after{content:"▾";float:right;color:var(--muted)}
.multi-options{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:240px;max-height:320px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 10px 30px #23393120;padding:8px 12px}
.multi-options .check-inline{margin:0;padding:5px 0;font-weight:400;font-size:12px;display:flex;align-items:center;gap:8px}
.multi-options hr{border:0;border-top:1px solid var(--line);margin:6px 0}
.dup-choice{flex:1;border:1px solid #e8c6ba;background:#fff7f3;border-radius:9px;padding:10px 14px;font-size:13px}
.dup-choice>strong{display:block;margin-bottom:6px;color:#8b3b2d}
.dup-choice .check-inline{margin:0;padding:3px 0;font-weight:400;display:flex;gap:8px;align-items:flex-start}
.dup-mode{display:flex;flex-direction:column;gap:4px;font-size:12px;margin-right:auto}
.dup-mode .check-inline{margin:0;font-weight:400;display:flex;gap:8px;align-items:center}
