:root{--ink:#13363b;--muted:#5d6f71;--line:#dcd9d0;--surface:#fff;--background:#f6f4ef;--porcelain:#f6f4ef;--accent:#13363b;--gold:#c4a468;--gold-soft:#efe6d3;--gold-ink:#6b5426;--ok-soft:#dcefe3;--ok-ink:#1d5c38;--danger:#b3261e;--danger-soft:#fbe6e4;--warn-bg:#fff3d6;--warn-ink:#6b4e00;color:var(--ink);background:var(--background);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}main{gap:14px;max-width:640px;margin:0 auto;padding:16px;display:grid}h1{margin:0;font-size:1.2rem}h2{margin:0;font-size:1.05rem}p{margin:0}small{color:var(--muted);font-weight:400}a{color:var(--accent)}button,.button{min-height:48px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:12px;justify-content:center;align-items:center;padding:8px 14px;text-decoration:none;display:flex}button.primary{background:var(--accent);border-color:var(--accent);color:var(--porcelain);font-weight:600}button:disabled{opacity:.5}button.link{min-height:40px;color:var(--accent);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;justify-content:flex-start;padding:4px 0;text-decoration:underline}.quiet-link{min-height:44px;color:var(--ink);text-align:center;background:0 0;border:0;width:100%;padding:10px;display:block}button.link.danger{color:var(--danger);font-weight:inherit;background:0 0;border:0}input,select,textarea{width:100%;min-height:48px;font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 10px;font-size:1rem}.app-bar{z-index:10;background:var(--ink);color:var(--porcelain);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:8px 16px;display:grid;position:sticky;top:0}.bar-title{align-items:center;gap:8px;min-width:0;min-height:40px;display:flex}.bar-title h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-logo{flex:none;width:38px;height:38px;margin-left:-6px}.bar-back{width:32px;color:var(--porcelain);text-align:center;flex:none;margin-left:-8px;font-size:2rem;line-height:40px;text-decoration:none}.laser-control{display:contents}button.laser-pill{white-space:nowrap;min-height:36px;color:var(--porcelain);background:0 0;border-color:#f6f4ef66;border-radius:18px;gap:7px;padding:4px 12px;font-size:.875rem}.laser-control .warning{overflow-wrap:anywhere;grid-column:1/-1}.bar-status{grid-column:1/-1;justify-content:space-between;align-items:center;gap:24px;display:flex}button.sync-badge,button.sign-out{color:#f6f4efb3;background:0 0;border:0;min-height:22px;padding:0;font-size:.8rem}button.sync-warn{color:#ffd27a;text-decoration:underline}.last-changed{display:block}.summary-totals .last-changed{grid-column:1/-1}.capture-layout,.capture-photo,.capture-form{gap:12px;min-width:0;display:grid}@media (width>=900px){main{max-width:1200px}main button.primary,main a.button-primary{justify-self:center;min-width:280px}.photo-toggle{display:none}.capture-layout{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.capture-photo{position:sticky;top:80px}}.dot{background:#8a97a3;border-radius:50%;width:10px;height:10px}.dot-verbinde{background:var(--gold)}.dot-verbunden{background:#7fd6a4}.crumbs{flex-wrap:wrap;justify-content:flex-end;gap:18px;display:flex}.crumbs a{padding:6px 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:12px;padding:15px;display:grid}.field{min-width:0;color:var(--muted);gap:4px;font-size:.875rem;font-weight:600;display:grid}.field-head{justify-content:space-between;align-items:center;min-height:24px;display:flex}.field-head button.link{min-height:24px;padding:0;font-weight:400}.length-field input{min-height:64px;font-size:1.75rem;font-weight:600}.field-active input{border:3px solid var(--gold);background:#fbf7ee}.field-active span{color:var(--gold-ink)}.stepper{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:2px;padding:3px;display:grid}.stepper button{background:#eeebe3;border:0;border-radius:9px;min-height:44px;padding:0;font-size:1.3rem}.stepper input{text-align:center;background:0 0;border:0;min-height:44px;padding:0;font-weight:600}.window-form{gap:14px;min-width:0;display:grid}.window-total{color:var(--muted);justify-content:space-between;align-items:baseline;gap:12px;font-size:.9rem;display:flex}.window-total strong{color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:1.25rem}.more{background:var(--surface);border:1px solid var(--line);border-radius:14px}.more summary{justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 15px;list-style:none;display:flex}.more summary::-webkit-details-marker{display:none}.more summary small{text-align:right}.more-content{gap:12px;padding:3px 15px 15px;display:grid}.row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.row input{font-size:1.2rem}.segmented{background:var(--surface);border:1px solid var(--line);border-radius:12px;display:flex;overflow:hidden}.segmented button{border:0;border-left:1px solid var(--line);background:0 0;border-radius:0;flex:1 1 0;min-width:0;padding:6px 4px;font-size:.95rem;font-weight:400;line-height:1.2}.segmented button:first-child{border-left:0}button.selected,.segmented button.selected{background:var(--accent);border-color:var(--accent);color:var(--porcelain);font-weight:600}.check{align-items:center;gap:10px;min-height:44px;display:flex}.check input{accent-color:var(--accent);width:24px;height:24px;min-height:24px;margin:0}.list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.list a{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:14px;gap:4px;padding:15px;text-decoration:none;display:grid}.list a.today{border:2px solid var(--gold);padding:14px}.appointment-group{gap:8px;display:grid}.appointment-group h2{color:var(--muted);font-size:.875rem}.appointment-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.appointment-head strong{font-size:1.05rem}.appointment-head>span{flex:none}.sticky-action{position:sticky;bottom:12px}.thumbs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.thumb{color:var(--ink);gap:4px;text-decoration:none;display:grid}.thumb img{aspect-ratio:4/3;object-fit:cover;background:var(--line);border-radius:8px;width:100%}.photo-frame{margin:-16px -16px 0;position:relative}.photo-canvas{background:#0d2226;justify-content:center;width:100%;display:flex;overflow:hidden}button.photo-toggle{min-height:34px;color:var(--porcelain);background:#13363bcc;border:0;border-radius:17px;padding:4px 12px;font-size:.85rem;position:absolute;bottom:10px;right:12px}@media (width>=900px){.photo-frame{border-radius:12px;margin:0;overflow:hidden}}.hint{font-size:.95rem}.hint-lines{margin-top:2px;display:block}.hint button.link{min-height:24px;margin-left:8px;display:inline}.warning{background:var(--warn-bg);color:var(--warn-ink);border-radius:12px;padding:8px 10px}.tabs{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.tabs button{border-radius:21px;flex:none;min-height:42px;padding:6px 15px}.tabs .tabs-end{margin-left:auto}.summary-totals>div{display:grid}.summary-totals strong{font-variant-numeric:tabular-nums}.pane{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.pane legend{padding:0 0 6px;font-weight:600}.summary-totals{background:var(--accent);border-color:var(--accent);color:var(--porcelain);grid-template-columns:minmax(0,1fr) auto;align-items:end}.summary-totals small{color:#f6f4efcc}.summary-totals>div:first-child strong{font-size:2rem}.summary-totals>div:nth-child(2){text-align:right}.summary-totals>div:nth-child(2) strong{color:#e2c88f;font-size:1.25rem}.summary-totals p{color:#f6f4efcc;grid-column:1/-1;font-size:.875rem}.window-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.window-list li{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:4px;padding:8px 15px;display:grid}.window-amount{white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto}.window-list li.excluded{color:var(--muted);background:#eeebe3}.window-list li.excluded a{color:var(--muted)}.window-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.window-list details{gap:8px;display:grid}.window-list summary{min-height:36px;color:var(--accent);padding:6px 0}.badge{background:var(--gold-soft);color:var(--gold-ink);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.8rem}.badge-ok{background:var(--ok-soft);color:var(--ok-ink)}.badge-bad{background:var(--danger-soft);color:var(--danger)}.handover{gap:4px;display:grid}.handover-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.badge-warning{background:var(--warn-bg);color:var(--warn-ink)}.quantities{gap:6px;margin:0;padding:0;list-style:none;display:grid}.quantities li{justify-content:space-between;gap:12px;display:flex}.quantities strong{white-space:nowrap;font-variant-numeric:tabular-nums}.sync-ok{color:var(--ok-ink)}.sync-open{color:var(--warn-ink);font-weight:600}a.button-primary{background:var(--accent);border-color:var(--accent);color:var(--porcelain);font-weight:600}.appointment-date{color:var(--muted);font-size:.875rem}.list a.done{color:var(--muted);background:#eeebe3}.contact a.button{overflow-wrap:anywhere}p .badge{margin-left:8px}.address{gap:8px;display:grid}.address-line{grid-template-columns:minmax(0,1fr) 96px;gap:8px;display:grid}.address-line-city{grid-template-columns:110px minmax(0,1fr)}.suggestions{background:var(--surface);border:1px solid var(--accent);border-radius:8px;gap:2px;padding:4px;display:grid}.suggestions button{text-align:left;border:0;justify-content:flex-start;min-height:44px}.suggestions small{padding:2px 8px;font-size:.75rem}.map{color:var(--muted);gap:2px;text-decoration:none;display:grid}.map iframe{border:1px solid var(--line);pointer-events:none;border-radius:8px;width:100%;height:200px}.map small{font-size:.75rem}.row input[type=date],.row input[type=time]{min-width:0;font-size:1rem}.status-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}details>.status-list{margin-top:8px}.status-list li{border-bottom:1px solid var(--line);gap:2px;padding-bottom:8px;display:grid}.status-bad{color:var(--danger)}.mapping-row{grid-template-columns:minmax(0,1fr);gap:4px;font-size:.9rem;display:grid}@media (width>=700px){.mapping-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}}.pdf-preview{z-index:100;background:#2c4347;flex-direction:column;display:flex;position:fixed;inset:0}.pdf-preview header{background:var(--ink);justify-content:space-between;gap:8px;padding:8px;display:flex}.pdf-preview header>*{width:auto;margin:0}.pdf-preview-note{color:#fff;text-align:center;padding:12px}.pdf-preview-pages{flex:1;width:100%;max-width:900px;margin:0 auto;overflow-y:auto}.pdf-preview-pages canvas{width:100%;margin-bottom:8px;display:block}.login-logo{width:96px;height:96px;margin:0 auto 16px;display:block}.bar-nav{display:none}@media (width>=900px){.app-bar{gap:16px;display:flex}.bar-title{flex:0 240px}.bar-nav{flex:1;gap:2px;display:flex}.bar-nav a{color:#f6f4efcc;border-radius:9px;padding:8px 12px;text-decoration:none}.bar-nav a:hover{color:var(--porcelain)}.bar-nav a.current{color:var(--porcelain);background:#f6f4ef24;font-weight:600}button.sign-out{order:1}main:has(.sales-page){max-width:none}}@media (width>=900px) and (width<=1299px){.app-bar{gap:8px;padding-inline:10px}.bar-title{flex:0 auto;min-width:36px}.bar-nav{gap:0}.bar-nav a{padding:8px 4px;font-size:.85rem}button.laser-pill{padding-inline:8px}.bar-status{gap:10px}}.sales-page{gap:12px;min-width:0;display:grid}.sales-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sales-toolbar input[type=search]{width:240px;min-height:42px}.sales-toolbar .field{flex:0 0 260px}.sales-toolbar .field>.field-head{display:none}.sync-line{justify-content:flex-end;align-items:center;gap:10px;display:flex}.sync-line button{min-height:34px;padding:4px 12px;font-size:.875rem}.ampel-legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:.8rem;display:flex}.ampel-legend span{align-items:center;gap:5px;display:flex}.ampel-legend i{border:1px solid var(--line);background:linear-gradient(var(--tint), var(--tint)), #fff;border-radius:4px;width:14px;height:14px}.ampel-gruen{--tint:#2e9e5b26}.ampel-gelb{--tint:#e5b32f26}.ampel-rot{--tint:#d13b3026}.pipeline{grid-template-columns:repeat(6,minmax(190px,1fr));gap:10px;display:grid;overflow-x:auto}.pipeline-column{background:#eeebe3;border-radius:14px;align-content:start;gap:8px;min-width:0;min-height:32rem;padding:10px;display:grid}.pipeline-column header{justify-content:space-between;align-items:center;display:flex}.pipeline-column>small{margin-top:-6px}.stage-angenommen header strong{color:var(--ok-ink)}.stage-abgelehnt header strong{color:var(--danger)}.count{background:var(--surface);border-radius:11px;padding:1px 9px;font-size:.8rem;font-weight:600}.sales-card{--stripe:none;background:var(--stripe) left / 6px 100% no-repeat, linear-gradient(var(--tint,transparent), var(--tint,transparent)), var(--surface);border:1px solid var(--line);border-radius:11px;gap:3px;padding:10px 10px 10px 16px;display:grid}.sales-card.due{border:2px solid var(--gold);padding:9px 9px 9px 15px}.sales-card.ampel-gruen,.sales-card.ampel-gelb,.sales-card.ampel-rot{border-color:#0000}.sales-card small{color:var(--ink);overflow-wrap:anywhere}.sales-card-head{justify-content:space-between;gap:8px;display:flex}.sales-card-head a{min-width:0;color:var(--ink);overflow-wrap:anywhere;text-decoration:none}.sales-card-head em{flex:none;font-size:.85rem;font-style:normal;font-weight:600}.service-labels{flex-wrap:wrap;gap:2px 10px;display:flex}.service-labels span{align-items:center;gap:5px;display:inline-flex}.service-dot{border-radius:50%;flex:none;width:8px;height:8px;margin-right:5px;display:inline-block}.service-labels .service-dot{margin-right:0}.service-picker{flex-wrap:wrap;gap:8px;display:flex}.service-picker button{border-radius:21px;min-height:42px;padding:6px 14px;font-weight:400}.card-actions{flex-wrap:wrap;align-items:center;gap:10px;font-size:.8rem;display:flex}.sales-card{position:relative}.sales-card .card-actions a{opacity:0;position:absolute;bottom:8px;right:10px}.sales-card:hover .card-actions a,.sales-card:focus-within .card-actions a{opacity:1}.sales-card .card-actions:has(.note-form) a{display:none}.card-actions button,.note-form button{border-radius:8px;min-height:30px;padding:3px 10px;font-size:.8rem}.note-form{flex-wrap:wrap;flex:100%;gap:6px;display:flex}.note-form input{flex:100%;min-height:34px;padding:4px 8px;font-size:.85rem}.sales-card.movable[draggable=true]{cursor:grab}.pipeline-column.drop-target{outline:2px dashed var(--ok-ink);outline-offset:-3px}.pipeline-column.drop-over{background:var(--ok-soft);outline:3px dashed var(--ok-ink);outline-offset:-3px}.pipeline-column.drop-blocked{opacity:.45}.drop-here{min-height:64px;color:var(--ok-ink);border:2px dashed var(--ok-ink);border-radius:11px;place-items:center;font-size:.85rem;font-weight:600;display:grid}.drop-note{color:var(--muted);text-align:center;margin-top:24px;font-size:.8rem}.hand-mark{color:var(--gold-ink);background:var(--gold-soft);border-radius:6px;padding:0 6px;font-size:.75rem;font-weight:600}.manual-line button,.manual-hint button{border-radius:8px;min-height:28px;margin-top:4px;padding:2px 9px;font-size:.78rem}.manual-line button{display:block}.manual-hint{color:var(--warn-ink);background:var(--warn-bg);border-radius:8px;gap:4px;padding:6px 8px;font-size:.8rem;display:grid}.manual-hint span{flex-wrap:wrap;gap:6px;display:flex}.planned-warning{color:var(--danger);background:var(--danger-soft);border-radius:8px;padding:6px 8px;font-size:.8rem}.planned-warning a{color:var(--danger)}.status-select{align-items:center;gap:6px;font-size:.8rem;display:flex}.status-select select{border-radius:8px;width:auto;min-height:30px;padding:2px 6px;font-size:.8rem}.stage-flow{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.stage-tile{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:8px 14px;text-decoration:none;display:grid}.stage-tile span{font-weight:600}.stage-tile strong{grid-row:span 2;font-size:1.5rem;font-weight:600}.dashboard{grid-template-columns:1.25fr 1fr 1.05fr;align-items:start;gap:12px;display:grid}.dash-column{align-content:start;min-width:0}.dash-stack{align-content:start;gap:12px;min-width:0;display:grid}.wage-costs{gap:8px;display:grid}.wage-costs-big{font-size:1.6rem;font-weight:700}.wage-costs-table{border-collapse:collapse;width:100%;font-size:.9rem}.wage-costs-table td{border-bottom:1px solid #ece9e1;padding:6px 4px}.wage-costs-table td:first-child{padding-left:0}.wage-costs-table tr:nth-child(2) td:first-child{padding-left:14px}.wage-costs-table .number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.dash-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.dash-group{gap:6px;display:grid}.dash-group h3{color:var(--muted);margin:4px 0 0;font-size:.8rem}.todo-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.todo-row{background:linear-gradient(var(--tint,transparent), var(--tint,transparent)), var(--surface);border:1px solid #e9e6dd;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:4px 10px;display:flex}.todo-row.selected-row{border:2px solid var(--gold);padding:3px 9px}button.todo-main{text-align:left;background:0 0;border:0;flex:1;justify-content:start;gap:1px;min-width:0;min-height:44px;padding:2px 0;display:grid}button.todo-main small{color:var(--ink);overflow-wrap:anywhere}.dash-signal{background:linear-gradient(var(--tint), var(--tint)), var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 11px;font-weight:600}.dash-facts{grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin:0;display:grid}.dash-facts dt{color:var(--muted)}.dash-facts dd{text-align:right;overflow-wrap:anywhere;margin:0}.dash-actions{flex-wrap:wrap;gap:8px;display:flex}.dash-actions>*{flex:calc(50% - 4px);min-width:0}.dash-actions .button-primary,.dash-actions .note-form{flex-basis:100%;min-width:0}.period-picker{align-items:center;gap:8px;display:flex}.period-picker button{width:42px;min-height:42px;padding:0;font-size:1.2rem}.kpi-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.kpi-tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:1px;padding:12px 15px;display:grid}.kpi-tile>span{color:var(--muted);font-size:.85rem}.kpi-tile>strong{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:600}.kpi-tile dl{border-top:1px solid #eeebe3;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:5px 0 0;padding-top:6px;display:grid}.kpi-tile dt{color:var(--muted);font-size:.7rem}.kpi-tile dd{font-variant-numeric:tabular-nums;margin:0;font-size:.82rem;font-weight:600}.kpi-lower{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:start;gap:10px;display:grid}.kpi-lower h3{color:var(--muted);margin:6px 0 -6px;font-size:.8rem}.kpi-table{border-collapse:collapse;width:100%}.kpi-table td{border-bottom:1px solid #eeebe3;padding:5px 0}.kpi-table td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.kpi-table td:nth-child(2){font-weight:600}.article-service{grid-template-columns:minmax(0,1fr);gap:4px;font-size:.9rem;display:grid}@media (width>=700px){.article-service{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}}.planning-page .plan-legend{margin-left:auto;font-size:.8rem}.plan-grid{grid-template-columns:170px repeat(var(--days), minmax(0, 1fr));background:var(--surface);border:1px solid var(--line);border-radius:14px;display:grid;overflow:hidden}.plan-head{border-right:1px solid var(--line);background:#eeebe3;align-content:center;min-height:46px;padding:4px 9px;font-weight:600;display:grid}.plan-head small{font-size:.72rem}.plan-head.today{background:var(--ink);color:var(--porcelain)}.plan-head.today small{color:#f6f4efb3}.plan-head.holiday,.plan-cell.holiday{color:var(--gold-ink);background:repeating-linear-gradient(135deg,#f3ecdc 0 8px,#fbf7ee 8px 16px)}.plan-head.holiday small{color:var(--gold-ink);font-weight:600}.plan-who,.plan-cell{border-top:1px solid #e9e6dd;border-right:1px solid #eeebe3;flex-direction:column;gap:4px;min-width:0;min-height:84px;padding:6px;display:flex}.plan-who{border-right-color:var(--line);background:#faf9f6;padding:8px 9px}.plan-who small{font-size:.75rem}.plan-who.distribute,.plan-cell.distribute:not(.holiday){background:#fffcf3}.plan-cell.today:not(.holiday):not(.distribute):not(.off){background:#13363b0a}.plan-cell.off,.day-line.off{background:#ebe8e1}.plan-off{color:var(--muted);margin:2px auto 0;font-size:.72rem;font-weight:600}.day-off{color:var(--muted);place-items:center;font-size:.8rem;font-weight:600;display:grid;position:absolute;inset:0}.load{color:var(--muted);gap:2px;margin-top:5px;font-size:.72rem;display:grid}.load-text{white-space:nowrap;justify-content:space-between;gap:6px;display:flex}.load-bar{background:#e4e0d6;border-radius:3px;height:6px;overflow:hidden}.load-bar i{background:var(--accent);border-radius:3px;height:100%;display:block}.load.over{color:var(--danger);font-weight:600}.load.over .load-bar i{background:var(--danger)}.cap{white-space:nowrap;border-radius:999px;align-self:flex-end;margin-top:auto;padding:1px 7px;font-size:.72rem;font-weight:700}.cap-free{color:var(--muted);background:#eeebe3;font-weight:600}.cap-over{color:var(--danger);background:var(--danger-soft)}.cap-full{color:var(--ok-ink);background:var(--ok-soft)}.drop-over{outline:2px dashed var(--gold);outline-offset:-3px}.who-name{align-items:center;gap:7px;min-width:0;display:flex}.who-name i{border-radius:50%;flex:none;width:11px;height:11px}.where{overflow-wrap:anywhere;border-radius:8px;margin-top:6px;padding:4px 8px 5px;font-size:.75rem;line-height:1.3;display:grid}.where b{font-size:.84rem}.where.live{color:var(--ok-ink);background:var(--ok-soft);box-shadow:inset 3px 0 #2e9e5b}.where.warn{color:var(--warn-ink);background:var(--warn-bg);box-shadow:inset 3px 0 #e5b32f}.where.last{color:var(--muted);background:#eeebe3}.where.last b{font-weight:600}.plan-card{text-align:left;min-height:0;color:var(--ink);background:var(--surface);border:1px solid var(--line);cursor:grab;border-radius:8px;place-items:start;gap:1px;padding:4px 6px 5px 10px;font-size:.78rem;text-decoration:none;display:grid;position:relative;overflow:hidden}.plan-card:before{content:"";background:var(--stripe);width:4px;position:absolute;inset:0 auto 0 0}.plan-card strong,.plan-card small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.plan-card small{font-size:.72rem}.plan-card .badge{text-overflow:ellipsis;max-width:100%;padding:0 6px;font-size:.7rem;overflow:hidden}.plan-card-top{justify-content:space-between;gap:4px;width:100%;font-size:.72rem;font-weight:600;display:flex}.plan-card.suggestion{border:1.5px dashed var(--gold);background:#fffdf7}.plan-card.replan{border:1.5px dashed var(--danger);background:#fff7f6}.plan-card.survey{cursor:pointer;background:#fbf8f0;border-style:dashed}.plan-card.clash{box-shadow:inset 0 0 0 2px #d13b30}.plan-card.live{box-shadow:inset 0 0 0 2px #2e9e5b}.plan-card.live-warn{box-shadow:inset 0 0 0 2px #e5b32f}.plan-note,.plan-absence{color:var(--gold-ink);margin:auto;font-size:.75rem;font-weight:600}.plan-absence{text-align:center;width:100%;color:var(--muted);background:repeating-linear-gradient(135deg,#eeebe3 0 8px,#e4e0d6 8px 16px);border-radius:8px;margin:0;padding:6px}.plan-warning{white-space:normal;align-self:flex-start;font-size:.7rem}.plan-sum{color:var(--muted);align-self:flex-end;margin-top:auto;font-size:.7rem}.plan-footer{color:var(--muted);font-size:.85rem}.modal{width:min(640px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--ink);background:var(--background);border:1px solid var(--line);border-radius:16px;padding:18px}.modal::backdrop{background:#13363b73}.modal-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.modal-form{gap:12px;display:grid}.modal-actions{flex-wrap:wrap;gap:8px;display:flex}.danger-button{color:var(--danger);border-color:var(--danger-soft)}.absence-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.absence-list li{justify-content:space-between;align-items:center;gap:8px;display:flex}.service-picker.days{flex-wrap:nowrap;gap:6px}.service-picker.days button{flex:1 1 0;min-width:0;padding:6px 0}@media (width>=700px){.service-picker.days button{flex:none;min-width:50px;padding:6px 10px}}.employee-bar{grid-template-columns:minmax(0,1fr) auto}.employee-bar h1{line-height:1.2;display:grid}.employee-bar h1 small{color:#f6f4efb3;font-size:.8rem}.me-pill{background:#f6f4ef24;border-radius:14px;padding:4px 11px;font-weight:600}.my-job{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:5px;padding:12px 12px 12px 18px;display:grid;position:relative;overflow:hidden}.my-job:before{content:"";background:var(--stripe);width:6px;position:absolute;inset:0 auto 0 0}.my-job.running{box-shadow:inset 0 0 0 2px #2e9e5b}.my-job.running.warned{box-shadow:inset 0 0 0 2px #e5b32f}.my-job-head{justify-content:space-between;align-items:center;font-size:1.05rem;display:flex}.my-job-note{background:var(--gold-soft);border-radius:8px;padding:6px 8px;font-size:.9rem}.stamp-ok{color:var(--ok-ink);font-weight:600}.stamp-warn{color:var(--warn-ink);font-weight:600}.my-job-actions{gap:8px;margin-top:4px;display:flex}.my-job-actions>*{flex:1;font-weight:700}button.stamp-in{background:var(--gold);border-color:var(--gold);color:var(--ink)}.employee-foot{color:var(--muted);justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.sheet-backdrop{z-index:30;background:#13363b73;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--background);border-radius:22px 22px 0 0;gap:10px;width:100%;max-width:640px;margin:0 auto;padding:16px 16px 22px;display:grid}.sheet-option{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:flex}.sheet-option.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.planning-page .sales-toolbar>*{flex:none}.planning-page .sales-toolbar .field{flex:0 0 230px}.planning-page .sales-toolbar button,.planning-page .sales-toolbar .button{width:auto;min-height:42px}.plan-legend{font-size:.8rem}button.plan-head{border:0;border-right:1px solid var(--line);text-align:left;border-radius:0;justify-content:flex-start;min-height:46px;font-weight:600}.day-distribute{border:1px solid var(--line);background:#fffcf3;border-radius:14px;flex-wrap:wrap;align-items:flex-start;gap:6px;padding:8px;display:flex}.day-distribute>strong{flex-basis:100%}.day-distribute .plan-card{width:220px}.day-grid{background:var(--surface);border:1px solid var(--line);border-radius:14px;grid-template-columns:210px minmax(0,1fr);display:grid;overflow:hidden}.day-name{border-top:1px solid #e9e6dd;border-right:1px solid var(--line);background:#faf9f6;align-content:start;padding:8px 9px;display:grid}.day-cap{justify-content:space-between;align-items:center;gap:6px;margin-top:2px;display:flex}.day-cap .cap{margin:0}.day-hours-label{background:#eeebe3;border-top:0;font-weight:600}.day-hours{background:#eeebe3;height:40px;position:relative}.day-hours span{color:var(--muted);font-size:.75rem;position:absolute;top:12px;transform:translate(-50%)}.day-line{border-top:1px solid #e9e6dd}.day-line.holiday{background:repeating-linear-gradient(135deg,#f3ecdc 0 8px,#fbf7ee 8px 16px)}.day-track{min-height:72px;position:relative}.day-tick{background:#eeebe3;width:1px;position:absolute;top:0;bottom:0}.day-now{background:var(--danger);z-index:2;width:2px;position:absolute;top:0;bottom:0}.day-absence{color:var(--muted);background:repeating-linear-gradient(135deg,#eeebe3 0 8px,#e4e0d6 8px 16px);place-items:center;font-weight:600;display:grid;position:absolute;inset:6px 0}.day-block{z-index:1;height:54px;position:absolute}.day-block>.plan-card{width:100%;height:100%}.plan-card.compact strong{font-size:.75rem}.day-actual{z-index:1;background:#2e9e5b;border-radius:3px;height:5px;position:absolute}.day-actual.warn{background:#e5b32f}.plan-map{grid-template-columns:minmax(0,1fr) 360px;gap:12px;display:grid}.plan-map-canvas,.plan-map-side{height:max(480px,100vh - 250px)}.plan-map-canvas{border:1px solid var(--line);z-index:0;border-radius:14px}.plan-map-side{grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;display:grid;overflow-y:auto}.map-who{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:4px;padding:8px 10px;display:grid}.map-who.dim{opacity:.5}.map-who>*,.map-stops>li{min-width:0}.map-who .where{margin-top:0}.map-who-head{text-align:left;min-height:0;color:var(--ink);background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:0;font-size:.95rem;display:flex}.map-who-head small{white-space:nowrap;font-size:.72rem}.map-open-list{background:#fffcf3}.map-open,.map-open-n{color:var(--ink);background:var(--surface);border:2px dashed #5d6f71;border-radius:50%;place-items:center;font-weight:800;display:grid}.map-open{cursor:pointer;width:26px;height:26px;font-size:13px;box-shadow:0 1px 3px #0005}.map-open-n{flex:none;width:18px;height:18px;font-size:.68rem}.map-open-tag-wrap{position:absolute;transform:translateY(-50%)}.map-open-tag{white-space:nowrap;color:var(--ink);background:#fffcf3;border:1.5px dashed #7d8a8c;border-radius:8px;padding:2px 7px 3px;font-size:12px;line-height:1.3;display:grid;box-shadow:0 1px 4px #0003}.map-open-tag small{color:var(--gold-ink);font-size:11px;font-weight:600}.map-why{white-space:nowrap;color:var(--gold-ink);background:var(--gold-soft);border-radius:999px;flex:none;margin-left:auto;padding:0 6px;font-size:.68rem;font-weight:700}.map-why.bad{color:var(--danger);background:var(--danger-soft)}.map-cap{gap:2px;display:grid}.map-cap .load{margin-top:0}.map-stops{gap:1px;margin:0;padding:0;list-style:none;display:grid}.map-stop-row{text-align:left;width:100%;min-height:0;color:var(--ink);background:0 0;border:0;justify-content:flex-start;align-items:center;gap:6px;padding:2px 0;font-size:.8rem;font-weight:400;text-decoration:none;display:flex}.map-stop-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.map-stop-row small{white-space:nowrap;flex:none;margin-left:auto;font-size:.72rem}.map-stops li.done .map-stop-row{color:var(--muted)}.map-stops li.done .map-stop-n{opacity:.5}.map-stops li.now .map-stop-row{font-weight:700}.map-stop-n{color:#fff;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:.68rem;display:grid}.map-stop-n.survey,.map-stop.survey{border-radius:4px;transform:rotate(45deg)scale(.85)}.map-stop-n.survey b,.map-stop.survey b{transform:rotate(-45deg)}.map-noplace{white-space:nowrap;color:var(--warn-ink);background:var(--warn-bg);border-radius:999px;margin-left:auto;padding:0 6px;font-size:.68rem;font-weight:700}.map-stop{color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;font:700 12px/1 system-ui,sans-serif;display:grid;box-shadow:0 1px 3px #0006}.map-stop.done{opacity:.5}.map-pin-wrap{position:absolute;transform:translate(-50%,calc(-100% - 20px))}.map-pin{white-space:nowrap;color:var(--ok-ink);background:var(--surface);border:2px solid #2e9e5b;border-radius:10px;padding:4px 9px 5px;font-size:12.5px;line-height:1.35;display:grid;position:relative;box-shadow:0 2px 6px #0004}.map-pin:after{content:"";border:8px solid #0000;border-top-color:#2e9e5b;border-bottom:0;margin-left:-8px;position:absolute;bottom:-9px;left:50%}.map-pin b{color:var(--ink);font-size:13px}.map-pin span{align-items:center;gap:5px;font-weight:600;display:flex}.map-pin i{border-radius:50%;width:10px;height:10px}.map-pin span.warn{color:var(--warn-ink)}.map-pin.warn{border-color:#e5b32f}.map-pin.warn:after{border-top-color:#e5b32f}.map-pin.last{color:var(--muted);background:#f7f6f2;border:2px dashed #8a9597}.map-pin.last:after{border-top-color:#8a9597}@media (width<=900px){.plan-map{grid-template-columns:minmax(0,1fr)}.plan-map-side{height:auto}}.month-board{gap:10px;display:grid}.month-grid{background:var(--surface);border:1px solid var(--line);border-radius:14px;grid-template-columns:48px repeat(6,minmax(0,1fr));display:grid;overflow:hidden}.month-week{min-height:0;color:var(--muted);border:0;border-top:1px solid #e9e6dd;border-right:1px solid var(--line);background:#faf9f6;border-radius:0;align-items:flex-start;padding:6px 0;font-size:.8rem}.month-day{border-top:1px solid #e9e6dd;border-right:1px solid #eeebe3;flex-direction:column;gap:3px;min-width:0;min-height:120px;padding:4px 5px;display:flex}.month-day.other-month{opacity:.6;background:#faf9f6}.month-day.today{box-shadow:inset 0 0 0 2px var(--ink)}.month-day.holiday{background:repeating-linear-gradient(135deg,#f3ecdc 0 8px,#fbf7ee 8px 16px)}.month-date{background:0 0;border:0;justify-content:space-between;min-height:0;padding:0;font-weight:700}.month-job{text-align:left;cursor:grab;border-radius:6px;justify-content:space-between;gap:4px;min-height:0;padding:2px 4px 2px 8px;font-size:.72rem;display:flex;position:relative;overflow:hidden}.month-job:before{content:"";background:var(--stripe);width:3px;position:absolute;inset:0 auto 0 0}.month-job span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-job.unplanned{border-color:var(--danger);border-style:dashed}.month-absence,.month-survey{font-size:.7rem}.month-over{color:var(--danger);font-size:.7rem;font-weight:700}.month-load{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;gap:8px 22px;padding:10px 14px;display:flex}.month-load>strong{flex-basis:100%;font-size:.9rem}.month-load-who{width:190px;font-size:.85rem;display:grid}.month-load-who .load{margin-top:2px}.month-more{min-height:0;font-size:.72rem}.staff-times-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.staff-times-head h2{margin-right:auto}.time-days,.time-days ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.time-day{border:1px solid var(--line);border-radius:10px;padding:8px 10px}.time-day.approved{background:var(--ok-soft);border-color:#0000}.time-day-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.time-day-head button:not(.link){min-height:34px;padding:4px 12px}.time-sum{margin-right:auto;font-size:.9rem}.time-line{flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:.9rem;display:flex}.time-line .link{min-height:0;padding:0}.time-line.missing{color:var(--danger)}.time-corrected{color:var(--gold-ink);flex-basis:100%}.time-reported{flex-basis:100%}.time-warning{color:var(--warn-ink);flex-basis:100%}.time-warnings{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.badge-surcharge{color:var(--ink);background:#e7e9ea;margin-left:4px}.correction-form{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.correction-form .correction-note{flex:220px}.correction-form button{min-height:40px}.kpi-table td.over{color:var(--danger)}.kpi-table td.under{color:var(--ok-ink)}.planning-page .sales-toolbar button.primary,.times-page button.primary,.modal button.primary,.note-form button.primary,.people button.primary{min-width:0}.sheet-option input{flex:none;width:20px;height:20px;min-height:0;margin:0}.sheet-option{text-align:left;justify-content:flex-start}.times-page .sales-toolbar .field{flex:0 0 520px}.planning-page .sales-toolbar .period-picker button,.times-page .sales-toolbar .period-picker button{flex:none;width:42px;padding:0}.address-block{display:contents}.plan-card .plan-card-title{font-weight:600}.contract-bar{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:8px;padding:10px 12px;display:grid}.contract-blocks{flex-wrap:wrap;gap:8px;display:flex}.contract-blocks .plan-card{width:180px}.contract-editor{gap:10px;display:grid}.contract-entry{border:1px solid var(--line);border-radius:10px;gap:8px;padding:10px;display:grid}.my-job-title{margin:0;font-weight:600}.duration-input{text-align:center;font-variant-numeric:tabular-nums;width:6em}.service-types{gap:10px}.service-type{grid-template-columns:48px minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.service-type input[type=color]{width:48px;min-height:48px;padding:4px}.service-type.inactive{opacity:.55}.settings{gap:16px;display:grid}.settings-nav{gap:6px;display:flex;overflow-x:auto}.settings-nav small{display:none}.settings-nav a{white-space:nowrap;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 12px;text-decoration:none}.settings-nav a.current{color:var(--surface);background:var(--ink);border-color:var(--ink)}.settings-main{align-content:start;gap:12px;min-width:0;display:grid}@media (width>=900px){.settings{grid-template-columns:220px minmax(0,1fr);align-items:start}.settings-nav{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;padding:10px}.settings-nav small{letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#7a8a8b);margin:4px 8px;font-size:.72rem;font-weight:700;display:block}.settings-nav a{background:0 0;border:0}.settings-nav a.current{color:var(--surface);background:var(--ink)}}.devices-at ul{margin:6px 0;padding-left:18px}.plan-day{gap:8px;display:grid}.plan-day h2{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;font-size:1rem;display:flex}.plan-job{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:3px;padding:10px 12px 10px 18px;display:grid;position:relative;overflow:hidden}.plan-job:before{content:"";background:var(--stripe);width:6px;position:absolute;inset:0 auto 0 0}.push-switch{background:var(--gold-soft);border-radius:14px;gap:6px;padding:12px;display:grid}.section-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;display:flex}.section-tabs a{color:var(--muted);border:1px solid #0000;border-bottom:none;border-radius:10px 10px 0 0;margin-bottom:-1px;padding:8px 16px;text-decoration:none}.section-tabs a:hover{color:var(--ink)}.section-tabs a.current{color:var(--ink);background:var(--surface);border-color:var(--line);font-weight:600}.plan-filters{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:8px 18px;padding:8px 12px;display:flex}.plan-filters .service-picker button{min-height:32px;padding:3px 12px;font-size:.85rem}.plan-filters .service-dot{margin-right:6px}.plan-filter-customer{width:240px;position:relative}.plan-filter-customer .suggestions{z-index:20;position:absolute;top:100%;left:0;right:0}.plan-filters .check{min-height:36px}.selection-bar{background:#e8f0ff;border:1px solid #9bb8f5;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 12px;display:flex}.selection-bar button{min-height:34px;padding:4px 12px}.plan-card.selected,.month-job.selected{outline-offset:-1px;background:#f0f5ff;outline:2px solid #2563eb}.team-pills{flex-wrap:wrap;gap:2px;max-width:100%;display:flex}.team-pill{color:#fff;border-radius:8px;padding:0 6px;font-size:.68rem;font-weight:600;line-height:1.5}.plan-empty{grid-column:1/-1;padding:12px}.suggestions button.preferred{background:#eef4f3;font-weight:600}.choice{text-align:left;border:1px solid var(--line);border-radius:10px;justify-items:start;gap:2px;width:100%;padding:10px 14px;display:grid}.choice small{font-weight:400}.choice.primary-choice{border-color:var(--ink);background:#e7efee}.choice:disabled small{color:var(--danger)}.modal.with-aside{width:min(1000px,100vw - 32px)}.modal-columns{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.modal-aside{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:10px;padding:12px;font-size:.85rem;display:grid}.modal-aside h3{margin:0;font-size:.95rem}@media (width<=760px){.modal-columns{grid-template-columns:1fr}}.origin{background:#fbf6ea;border:1px solid #e5d3a8;border-radius:10px;gap:2px;padding:8px 10px;display:grid}.origin b{color:var(--gold-ink)}.history{gap:8px;margin:0;padding:0;list-style:none;display:grid}.history li{border-bottom:1px solid var(--line);gap:1px;padding-bottom:6px;display:grid}.history li:last-child{border-bottom:none}.badge.badge-origin{color:var(--gold-ink);background:var(--gold-soft)}.bar-me{align-items:center;gap:12px;display:flex}.rule-number{align-items:center;gap:10px;display:flex}.rule-number input{width:110px}.rule-number span{color:var(--ink);font-weight:400}.reason-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.reason-list li{border:1px solid var(--line);color:var(--ink);overflow-wrap:anywhere;border-radius:10px;grid-template-columns:minmax(0,1fr) 44px 44px auto;align-items:center;gap:6px;padding:6px 6px 6px 12px;font-weight:400;display:grid}.reason-list li button{min-height:40px;padding:4px 10px}@media (width<=899px){.reason-list li>span{grid-column:1/-1}.reason-list li>button:first-of-type{grid-column:2}}.reason-add{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.fixed-rules{background:var(--background)}.fixed-rules ul{color:var(--muted);gap:4px;margin:0;padding-left:18px;display:grid}.fixed-rules b{color:var(--ink);font-weight:600}.save-row{text-align:center;justify-items:center;gap:6px;display:grid}.logo-box{justify-items:start;gap:12px;display:grid}.logo-box>div{justify-items:start;gap:8px;display:grid}.logo-box img{border:1px dashed var(--line);background:#fff;border-radius:10px;max-width:min(260px,100%);max-height:120px;padding:12px}.company-contact{gap:12px;display:grid}@media (width>=900px){.logo-box{grid-template-columns:auto minmax(0,1fr);align-items:center}.company-contact{grid-template-columns:1fr 1fr}.settings-nav small:not(:first-child){margin-top:14px}}.people{align-items:start;gap:14px;display:grid}.people-list,.people-main,.person-detail{gap:12px;min-width:0;display:grid}.people-toolbar{align-items:center;gap:8px;display:flex}.people-toolbar .segmented{flex:1}.people-toolbar button.primary{min-height:40px}.person-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.person-item{border:1px solid var(--line);border-radius:12px;align-items:center;gap:6px;display:flex}.person-item.selected{background:var(--gold-soft);border-color:var(--gold)}.person-item.archived{opacity:.7}.person-main{text-align:left;background:0 0;border:0;flex:1;justify-items:start;gap:2px;min-height:0;padding:9px 11px;display:grid}.person-name{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.role-chip{color:var(--muted);background:#eceae4;border-radius:6px;padding:1px 7px;font-size:.72rem;font-weight:600}.role-chip.buero{color:var(--porcelain);background:var(--ink)}.state-ok{color:var(--ok-ink);font-weight:600}.state-missing{color:var(--danger);font-weight:600}.person-tags{flex-wrap:wrap;gap:4px;display:flex}.person-tags .tag{border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600}.tag.birthday{color:var(--warn-ink);background:var(--warn-bg)}.tag.leaving{color:var(--danger);background:var(--danger-soft)}.person-invite{min-height:36px;margin-right:8px;padding:4px 10px;font-size:.85rem}.person-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.person-head h2{align-items:center;gap:8px;display:flex}.person-actions{flex-wrap:wrap;align-items:start;gap:6px;display:flex}.person-actions>button,.invitation-actions button{min-height:40px;padding:4px 12px}button.danger-outline{color:var(--danger)}.secret-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.secret-form input{width:160px}.secret-form button{min-height:40px}.secret-form small,.secret-form .warning{flex-basis:100%}.person-form{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.person-form h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);margin:8px 0 0;padding-top:12px;font-size:.8rem}.person-form h3 small{text-transform:none;letter-spacing:0}.person-grid{align-items:end;gap:10px;display:grid}.readonly{min-height:44px;color:var(--ink);align-items:center;font-weight:400;display:flex}.role-change{color:var(--warn-ink);background:var(--warn-bg);border-radius:10px;gap:8px;padding:10px 12px;display:grid}.invitation-head{justify-content:space-between;align-items:center;display:flex}.invitation-body{align-items:center;gap:14px;display:flex}.invitation-qr{flex:none;width:150px;height:150px}.invitation-actions,.exit-actions{flex-wrap:wrap;gap:8px;display:flex}.invitation-url{word-break:break-all}.exit-dialog{gap:10px;max-width:560px;display:grid}.exit-dialog h3{margin:4px 0 0;font-size:1rem}.exit-list{margin:0;padding:0;list-style:none}.exit-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:7px 0;display:flex}.exit-list small{text-align:right}.exit-vacation{color:var(--warn-ink);background:var(--warn-bg);border-radius:10px;gap:6px;padding:10px 12px;display:grid}.exit-vacation strong,.exit-vacation .check{color:var(--ink);font-weight:600}.person-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}.person-grid .field[aria-label=Arbeitstage],.person-grid .wage-group-field{grid-column:1/-1}.person-grid .wage-group-field select{max-width:560px}@media (width>=900px){main:has(.people){max-width:1440px}}@media (width>=1100px){.people{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}main.employee{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.bottom-bar{z-index:20;padding:4px 4px calc(4px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.bottom-bar button{min-height:56px;color:var(--muted);background:0 0;border:0;border-radius:10px;justify-items:center;gap:1px;padding:4px;font-size:.8rem;display:grid}.bottom-bar button span{font-size:1.2rem;line-height:1}.bottom-bar button.selected{color:var(--ink);background:var(--gold-soft);font-weight:700}.on-site{background:var(--gold-soft);border-radius:8px;gap:2px;padding:7px 9px;font-size:.9rem;display:grid}.tel-link{color:var(--ink);white-space:nowrap;font-weight:700}.my-data{gap:10px}.my-data-value{text-align:left;justify-content:space-between;gap:8px;font-weight:400}.my-data-edit{flex-wrap:wrap;gap:6px;display:flex}.my-data-edit>input{flex:100%}.my-data-edit.stacked{display:grid}.my-data-buttons{gap:6px;display:flex}.my-data-edit button{flex:1;min-width:0}.my-data-list{grid-template-columns:auto minmax(0,1fr);gap:8px 12px;margin:0;display:grid}.my-data-list dt{color:var(--muted)}.my-data-list dd{text-align:right;margin:0}.on-site-fields{background:var(--gold-soft);border:0;border-radius:12px;gap:10px;margin:0;padding:10px 12px;display:grid}.on-site-fields legend{float:left;font-weight:600}.birthday-row{justify-content:flex-start;gap:6px;padding:8px 10px}@media (width>=900px){main:has(.tasks-page){max-width:none}}.tasks-page{gap:12px;min-width:0;display:grid}.task-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}main .task-toolbar button.primary{min-width:0}.task-filters{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.task-filters .field{min-width:150px}.task-filter-customer{min-width:240px;position:relative}.task-filter-customer .suggestions{z-index:5;width:100%;position:absolute}.task-layout{align-items:start;gap:12px;display:grid}@media (width>=1100px){.task-layout.with-detail{grid-template-columns:minmax(0,1fr) minmax(340px,420px)}.task-side{max-height:calc(100vh - 84px);position:sticky;top:70px;overflow-y:auto}}.task-board{grid-template-columns:repeat(5,minmax(180px,1fr));gap:10px;display:grid;overflow-x:auto}.task-column{background:#eeebe3;border-radius:14px;align-content:start;gap:8px;min-width:0;min-height:32rem;padding:10px;display:grid}.task-column.drop{outline:2px dashed var(--gold);outline-offset:-4px}.task-column header{justify-content:space-between;align-items:center;display:flex}.task-card{--type:#5d6f71;text-align:left;width:100%;min-width:0;font:inherit;color:var(--ink);background:linear-gradient(var(--type), var(--type)) left / 5px 100% no-repeat, var(--surface);border:1px solid var(--line);cursor:grab;border-radius:10px;grid-template-columns:minmax(0,1fr);justify-items:start;gap:4px;padding:9px 10px 9px 14px;display:grid}.task-card.current{border:2px solid var(--gold);padding:8px 9px 8px 13px}.task-card strong{overflow-wrap:anywhere}.task-card small{color:var(--muted);overflow-wrap:anywhere}.task-card-head,.task-card-foot{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.type-chip{--type:#5d6f71;color:var(--type);background:color-mix(in srgb, var(--type) 14%, white);border-radius:10px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.source-chip{color:#24507a;background:#e6eef7;border-radius:6px;padding:1px 6px;font-size:.72rem}.urgent-mark{color:var(--danger);text-transform:uppercase;font-size:.75rem;font-weight:700}.due-chip{white-space:nowrap;border-radius:6px;padding:1px 6px;font-size:.75rem;font-weight:600}.due-gruen{color:var(--ok-ink);background:var(--ok-soft)}.due-gelb{color:var(--warn-ink);background:var(--warn-bg)}.due-rot{color:var(--danger);background:var(--danger-soft)}.due-grau{color:#6f6f6f;background:#ececec}.initials{min-width:22px;height:22px;color:var(--gold-ink);background:var(--gold-soft);border-radius:11px;justify-content:center;align-items:center;padding:0 4px;font-size:.7rem;font-weight:700;display:inline-flex}.task-detail{gap:10px}.task-detail h2{overflow-wrap:anywhere}.task-detail h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 0;font-size:.8rem}.task-facts{grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin:0;display:grid}.task-facts dt{color:var(--muted)}.task-facts dd{overflow-wrap:anywhere;margin:0}.task-facts select{min-height:34px;padding:2px 8px}.person-chip{background:var(--background);border:1px solid var(--line);border-radius:12px;margin:0 4px 2px 0;padding:0 8px;font-size:.85rem;display:inline-block}.task-description{white-space:pre-wrap;overflow-wrap:anywhere}.task-history li.change span{color:var(--muted)}.task-history li.note span{white-space:pre-wrap;overflow-wrap:anywhere}.photo-row{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.task-photo{width:72px;height:72px;color:var(--muted);text-align:center;background:#e6e3db;border-radius:8px;justify-content:center;align-items:center;font-size:.7rem;display:inline-flex;position:relative;overflow:hidden}.task-photo img{object-fit:cover;width:100%;height:100%}.photo-remove{color:#fff;background:#0000008c;border:0;border-radius:11px;width:22px;min-width:0;height:22px;min-height:0;padding:0;line-height:1;position:absolute;top:2px;right:2px}.photo-add{width:72px;height:72px;color:var(--muted);background:var(--surface);border:2px dashed var(--line);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:1.6rem;display:inline-flex}.photo-add input{display:none}.photo-add:has(small){flex-direction:column;gap:2px;font-size:1.3rem}.photo-add small{font-size:.75rem}.task-note{display:grid}.task-note textarea{min-height:60px}.task-actions>button{min-height:40px}.task-side-close{justify-self:end}.task-side{gap:4px;display:grid}.linked-job{font-size:.9rem}.urgent-check{align-self:end;min-height:44px}.task-table{border-collapse:collapse;background:var(--surface);border-radius:12px;width:100%}.task-table th,.task-table td{text-align:left;border-bottom:1px solid var(--line);padding:8px 10px}.task-table tbody tr{cursor:pointer}.task-table tr.selected-row td{background:var(--gold-soft)}.task-table .sorted{font-weight:700}.task-title-link{text-align:left}.linked-tasks{gap:6px;display:grid}.linked-tasks ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.linked-tasks li{--type:#5d6f71;background:linear-gradient(var(--type), var(--type)) left / 4px 100% no-repeat, var(--surface);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:2px 8px;padding:5px 8px 5px 12px;display:flex}.linked-tasks li a{overflow-wrap:anywhere;flex:auto;min-width:0}.linked-tasks li.done{opacity:.6}.order-buttons{gap:4px;display:flex}.order-buttons button{min-width:40px}.task-types .service-type{grid-template-columns:48px minmax(0,1fr) auto auto auto}.task-types .check{white-space:nowrap;min-height:48px}@media (width<=760px){.task-types .service-type{grid-template-columns:48px minmax(0,1fr)}}.task-title-link .urgent-mark,.linked-tasks .urgent-mark{margin-right:6px}.bottom-bar button{position:relative}.tab-count{color:#fff;background:var(--danger);border-radius:9px;min-width:18px;padding:0 5px;font-size:.7rem;font-style:normal;font-weight:700;line-height:18px;position:absolute;top:2px;left:calc(50% + 8px)}.job-tasks{border-top:1px solid #eeebe4;gap:6px;padding-top:8px;display:grid}.job-tasks>strong{color:var(--danger);font-size:.9rem}.job-task{text-align:left;width:100%;min-height:48px;font:inherit;color:var(--ink);background:#f3f1ec;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.job-task.urgent{background:var(--danger-soft)}.job-task span:first-child{gap:1px;min-width:0;display:grid}.job-task b{overflow-wrap:anywhere}.report-button{width:100%;font-weight:500}.my-task{--type:#5d6f71;text-align:left;width:100%;font:inherit;color:var(--ink);background:linear-gradient(var(--type), var(--type)) left / 5px 100% no-repeat, var(--surface);border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr);justify-items:start;gap:3px;padding:10px 10px 10px 14px;display:grid}.my-task strong{overflow-wrap:anywhere}.my-task-section{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:6px;font-size:.8rem}.waiting-chip{color:var(--warn-ink);background:var(--warn-bg);border-radius:6px;margin-left:4px;padding:1px 6px;font-size:.72rem}.task-screen{gap:10px;display:grid}.task-screen h2{overflow-wrap:anywhere;font-size:1.15rem}.task-text p{white-space:pre-wrap;overflow-wrap:anywhere}.back-link{justify-self:start}.finish-button{color:#fff;background:var(--gold);border-color:var(--gold);font-weight:600}.finish-button:disabled{opacity:.5}.center-hint{text-align:center;margin-top:-6px}a.todo-link{min-width:0;min-height:44px;color:var(--ink);flex:1;gap:1px;padding:4px 0;text-decoration:none;display:grid}a.todo-link small{color:var(--ink);overflow-wrap:anywhere}.template-list{gap:8px}.template-row{text-align:left;width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr);justify-items:start;gap:3px;padding:9px 12px;display:grid}.template-row.current{border:2px solid var(--gold);padding:8px 11px}.template-row small{color:var(--muted)}.template-form{gap:10px}.rule-row{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.template-preview{background:var(--warn-bg);border-radius:10px;gap:4px;padding:8px 10px;display:grid}.exit-task{padding-left:10px}.plan-absence,.day-absence,.month-absence{--absence-bg:repeating-linear-gradient(135deg, #eeebe3 0 8px, #e4e0d6 8px 16px);font:inherit;color:var(--muted);background:var(--absence-bg);cursor:pointer;border:0;font-weight:600}.plan-absence{font-size:.75rem}.month-absence{text-align:left;border-radius:6px;width:100%;padding:2px 6px;font-size:.7rem;display:block}.absence-urlaub{--absence-bg:var(--gold-soft);color:var(--gold-ink)}.absence-krank{--absence-bg:var(--danger-soft);color:var(--danger)}.plan-absence.requested,.day-absence.requested,.month-absence.requested{--absence-bg:repeating-linear-gradient(135deg, #fff 0 5px, #f3efe5 5px 10px);color:var(--gold-ink);border:1.5px dashed var(--gold);opacity:.85}.plan-absence.half,.day-absence.half,.month-absence.half{background:linear-gradient(90deg, transparent 0 50%, #fff 50%), var(--absence-bg);outline:1px solid var(--line);outline-offset:-1px}.plan-absence.half.pm,.day-absence.half.pm,.month-absence.half.pm{background:linear-gradient(90deg, #fff 0 50%, transparent 50%), var(--absence-bg)}.badge-requested{color:var(--gold-ink);border:1px dashed var(--gold);background:repeating-linear-gradient(135deg,#fff 0 5px,#f3efe5 5px 10px)}.absence-jobs{gap:6px;display:grid}.absence-jobs h3{margin:0;font-size:.95rem}.absence-jobs table{border-collapse:collapse;width:100%;font-size:.85rem}.absence-jobs th{color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:4px 6px;font-size:.75rem;font-weight:600}.absence-jobs td{border-bottom:1px solid #ece9e1;padding:6px}.absence-jobs select{width:100%;min-width:170px}.modal:has(.absence-dialog){width:min(780px,100vw - 32px)}.absence-rules{gap:16px;display:grid}.rule-block{align-content:start;justify-items:start;gap:8px;display:grid}.rule-block h3{margin:0;font-size:.95rem}.rule-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:24px;display:grid}@media (width<=900px){.rule-columns{grid-template-columns:minmax(0,1fr)}}.rule-table button.link{white-space:nowrap}.rule-table{border-collapse:collapse;width:100%;font-size:.9rem}.rule-table th{color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:4px 6px;font-size:.75rem;font-weight:600}.rule-table td{border-bottom:1px solid #ece9e1;padding:6px}.rule-table tr.inactive td{opacity:.55}.rule-table input[type=number]{width:5.5em}.rule-table input[type=date]{width:9.6em}.rule-table input[type=text]{width:100%;min-width:8em}.rule-table input[type=checkbox]{accent-color:var(--accent);width:22px;height:22px;min-height:22px;margin:0}.rules-tab{gap:12px;display:grid}.rules-tab[hidden]{display:none}.wage-columns{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px}@media (width<=900px){.wage-columns{grid-template-columns:minmax(0,1fr)}}.rule-table input[type=text].wage-name{width:6em;min-width:0}.rule-table input[type=text].wage-euro{text-align:right;width:6em;min-width:0}.rule-table td.number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.rule-table .row-actions{white-space:nowrap}.rule-table .row-actions button{min-height:36px;padding:2px 8px;display:inline-flex}.wage-table td.wage-description{width:100%}.wage-table td.wage-description input{min-width:14em}.surcharge-table input[type=number]{width:4.5em}.surcharge-table td:first-child,.rule-table .rule-times{white-space:nowrap}.rule-table input[type=time]{width:6.4em}.wage-groups,.wage-columns .card{justify-items:stretch}.wage-add{grid-template-columns:minmax(0,.6fr) minmax(0,1.6fr) minmax(0,.7fr) auto}@media (width<=700px){.wage-add{grid-template-columns:minmax(0,1fr)}}.rule-source{color:var(--muted)}.absence-split{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.absence-split.accounts{grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr)}@media (width<=900px){.absence-split,.absence-split.accounts{grid-template-columns:minmax(0,1fr)}}.col-head{letter-spacing:.04em;color:var(--muted);text-transform:uppercase;margin:4px 2px 6px;font-size:.8rem;font-weight:700}.request-card{width:100%;font:inherit;color:var(--ink);text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;justify-content:stretch;gap:3px;margin-bottom:8px;padding:10px 12px;font-size:.9rem;display:grid}.request-card.selected,.request-card[aria-pressed=true]{color:var(--ink);border:2px solid var(--ink);background:#fff}.request-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.request-panel{gap:12px;display:grid}.request-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.request-head h2,.request-panel p{margin:0}.request-note{color:var(--muted);font-style:italic}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.tile{background:var(--background);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.tile b{font-size:1.6rem;display:block}.tile.bad{color:var(--danger);background:var(--danger-soft);border-color:#eab9b4}.sick-note{gap:6px;display:grid}.sick-photo{align-items:center;gap:12px;display:flex}.sick-photo img{object-fit:cover;border:1px solid var(--line);border-radius:10px;width:96px;height:96px}.sick-photo>div{justify-items:start;gap:6px;display:grid}.request-actions,.reject-form,.booking-form{gap:10px;display:grid}.booking-form h3{margin:0;font-size:.95rem}.booking-form .grow{flex:1}.account-table{border-collapse:collapse;width:100%;font-size:.9rem}.account-table th{color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:6px 8px;font-size:.75rem;font-weight:600}.account-table td{border-bottom:1px solid #ece9e1;padding:7px 8px}.account-table .num{text-align:right;white-space:nowrap}.account-table .minus{color:var(--danger)}.account-table tbody tr{cursor:pointer}.account-table tr.selected td{background:var(--gold-soft)}.account-table tr.sum td{border-bottom:0;font-weight:700}.account-panel{gap:12px;display:grid}.account-panel h2{margin:0}.me-menu{border:1px solid var(--line);background:#fff;border-radius:14px;display:grid;overflow:hidden}.me-menu button{min-height:56px;font:inherit;color:var(--ink);text-align:left;border:0;border-top:1px solid var(--line);background:#fff;border-radius:0;justify-content:space-between;align-items:center;padding:10px 14px;font-size:1rem;display:flex}.me-menu button:first-child{border-top:0}.me-menu button:after{content:"›";color:var(--muted);font-size:1.4rem}.me-menu .badge{margin-left:8px}.badge-gold{color:var(--gold-ink);background:var(--gold-soft)}.me-menu button small{color:var(--muted);margin-top:2px;font-size:.8rem;display:block}.closing{gap:12px;display:grid}.closing-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.closing-head h2{margin:0 auto 0 0}.closing-card{min-width:0}.table-scroll{overflow-x:auto}.closing-table{border-collapse:collapse;width:100%;font-size:.9rem}.closing-table th{color:var(--muted);text-align:left;vertical-align:bottom;border-bottom:1px solid var(--line);padding:6px 8px;font-size:.75rem;font-weight:600}.closing-table td{vertical-align:top;border-bottom:1px solid #ece9e1;padding:8px}.closing-table .number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.payroll-table{font-size:.82rem}.payroll-table td:not(.number){min-width:9em}.payroll-table td:first-child{min-width:7em;font-weight:600}.closing-paid{text-align:right;width:6.5em;min-height:36px;padding:4px 8px}.closing-paid.invalid{border-color:var(--danger)}.closing-line{white-space:nowrap;display:block}.closing-hints{flex-wrap:wrap;gap:4px;display:flex}.closing-hints .badge{white-space:normal}.closing-foot{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:10px;display:flex}.closing-foot .field{flex:280px}.payroll-table th.payroll-group{text-align:center;color:var(--ink);background:var(--gold-soft);border-left:2px solid #fff}.my-times{gap:12px;display:grid}.my-times .period-picker{justify-self:center}.time-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.time-tiles .card{gap:2px;padding:10px;display:grid}.time-tiles b{font-variant-numeric:tabular-nums;font-size:1.3rem}.time-tiles small{color:var(--muted);font-size:.72rem}.my-times-days{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.my-times-days li{border-top:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.my-times-days li:first-child{border-top:0}.my-times-date{font-weight:700;display:grid}.my-times-date small,.my-times-what small{color:var(--muted);font-size:.78rem;font-weight:400;display:block}.my-times-what{overflow-wrap:anywhere}.my-times-hours{font-variant-numeric:tabular-nums;justify-items:end;gap:4px;font-weight:600;display:grid}button.small{min-height:36px;padding:4px 10px;font-size:.85rem}.badge-grey{color:var(--ink);background:#e7e9ea}.badge-blue{color:#1d4b8f;background:#dbe8fb}.vacation,.vacation-form{gap:12px;display:grid}.vacation-form h2{margin:0;font-size:1.15rem}.vacation-account{gap:8px;display:grid}.vacation-big{align-items:baseline;gap:10px;display:flex}.vacation-big b{font-size:2.6rem;line-height:1}.vacation-big small:first-child{flex:1}.minus{color:var(--danger)}.kv{grid-template-columns:1fr auto;gap:3px 10px;margin:0;display:grid}.kv dt{margin:0}.kv dd{text-align:right;margin:0;font-weight:600}.two-buttons,.two-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.two-fields input{min-width:0}button.dark{color:#fff;background:var(--ink);border-color:var(--ink);font-weight:700}.dayhead{color:var(--muted);margin:6px 0 0;font-size:.9rem}.my-absences{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.my-absences li{border-top:1px solid var(--line);gap:4px;padding:10px 14px;display:grid}.my-absences li:first-child{border-top:0}.row-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.my-absences .reason{font-style:italic}.danger-button.small{justify-self:start;min-height:36px;padding:4px 12px}.sick-card{border-color:#e9b8b4;gap:8px;display:grid}.sick-extend{gap:8px;display:grid}.vacation-form .preview{background:var(--gold-soft);border-color:#e3d3b0;gap:4px;display:grid}.redline{color:var(--danger);background:var(--danger-soft);border-radius:10px;margin:0;padding:8px 10px}.two-buttons>:only-child{grid-column:1/-1}.my-absences:empty{display:none}.notice-banner{color:var(--warn-ink);background:var(--warn-bg);border:1px solid #f0dca6;border-radius:12px;gap:8px;padding:10px 12px;display:grid}.notice-banner button{background:#fff;min-height:40px}@media (width>=900px){main:has(.keys-page){max-width:none}}.keys-page{gap:12px;min-width:0;display:grid}.key-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.key-filters input[type=search]{width:240px;min-height:40px}button.chip{border-radius:18px;gap:6px;min-height:36px;padding:4px 12px;font-size:.95rem}.chip-count{color:var(--muted);font-size:.85rem}button.chip.selected .chip-count{color:var(--porcelain)}.chip-count.bad{color:var(--danger);font-weight:700}.key-list{gap:8px;min-width:0;display:grid;overflow-x:auto}.key-table th,.key-table td{padding:6px 10px}.key-table .key-nr{text-align:right;width:52px;font-size:1.15rem;font-weight:700}.key-table th.key-nr{font-size:inherit}.key-table .num{text-align:right}.key-table tr.key-free td{background:var(--porcelain);color:#a3a8a6;font-weight:400}.key-table tr.key-archived-row td,.key-archived{color:var(--muted)}.key-where .badge{margin-left:6px}.keys-page>.task-toolbar{z-index:4;background:var(--background);padding:6px 0;position:sticky;top:56px}.key-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}@media (width<=700px){.key-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.key-column{align-content:start;gap:3px;display:grid}button.key-cell{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:40px;padding:3px 8px 3px 4px;font-size:.85rem;line-height:1.2;display:grid}.key-cell-nr{text-align:right;font-size:1.05rem;font-weight:800}.key-cell-text{min-width:0;display:grid}.key-cell-text b,.key-cell-text small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.key-cell-text b{font-weight:600}.key-cell-text small{color:var(--muted)}.key-cell-where{color:var(--muted);white-space:nowrap;font-size:.78rem}.key-cell-where.bad{color:var(--danger);font-weight:600}.key-cell-where.warn{color:var(--warn-ink);font-weight:600}.key-cell-where.gold{color:var(--gold-ink)}button.key-cell.key-free{color:#a3a8a6;background:var(--porcelain);border-style:dashed;min-height:28px}button.key-cell.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}button.key-cell.key-hit{background:var(--gold-soft);border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}button.key-cell.key-dim{opacity:.35}button.key-cell.selected.key-hit{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.key-cell mark{color:inherit;background:#f5d77a;border-radius:3px;padding:0 1px}.key-extra-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:8px 0 0;font-size:.85rem}.key-side,.key-section,.key-form{gap:10px;display:grid}.key-side h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:6px 0 0;font-size:.85rem}.key-side-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.key-side-head h2{margin:0}.key-picker{position:relative}.key-picker .suggestions{z-index:5;width:100%;position:absolute}.key-number-field,.key-count-field{max-width:120px}:is(.key-form .row:has(.key-count-field),.key-side .row:has(.key-count-field)){grid-template-columns:minmax(0,1fr) 100px}:is(.key-form .row:has(.key-number-field),.key-side .row:has(.key-number-field)){grid-template-columns:120px minmax(0,1fr)}.key-form-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.key-lost{background:var(--danger-soft);color:var(--danger);border-radius:12px;margin:0;padding:8px 10px}.key-found{gap:8px;display:grid}.key-history{border-collapse:collapse;width:100%;font-size:.92rem}.key-history td{border-bottom:1px solid var(--line);vertical-align:top;padding:6px 4px}.key-history td:first-child{white-space:nowrap}.key-history td:last-child{color:var(--muted)}.confirm-box{background:var(--warn-bg);border-radius:12px;gap:8px;padding:10px;display:grid}.confirm-box p{margin:0}.confirm-actions{flex-wrap:wrap;gap:8px;display:flex}.in-use-list{margin:0;padding-left:20px}button.danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.key-fields{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.key-head-actions{gap:8px;display:flex}.key-head-actions button{min-height:40px}.code-hidden,.code-shown{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.code-hidden>span{letter-spacing:.15em}.code-shown b{letter-spacing:.06em;font-family:ui-monospace,Menlo,monospace;font-size:1.15rem}.code-problem{color:var(--danger);white-space:normal}.job-access{border-top:1px solid var(--line);gap:8px;padding-top:8px;display:grid}.job-access h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.8rem}.job-key,.job-code{align-items:center;gap:10px;display:flex}.job-key>span:nth-child(2),.job-code>span:first-child{flex:1;min-width:0;display:grid}.job-key small,.job-code small{color:var(--muted)}.key-badge{min-width:36px;height:36px;color:var(--ink);background:var(--gold-soft);border:1.5px solid var(--gold);border-radius:10px;place-items:center;padding:0 4px;font-weight:800;display:grid}button.code-button{white-space:nowrap;min-height:44px}.job-code .code-shown b{font-size:1.4rem}.job-codes-hidden{color:var(--danger);background:var(--danger-soft);border-radius:12px;gap:8px;padding:10px;display:grid}.job-codes-hidden .button{background:#fff}.plan-keys{color:var(--ink)}.my-keys,.my-key-list{gap:10px;display:grid}.my-key-list{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px}.my-keys .banner{color:var(--warn-ink);background:var(--warn-bg);border-radius:12px;gap:2px;padding:10px 12px;display:grid}.declaration{gap:10px;line-height:1.45;display:grid}.declaration h2{margin:0;font-size:1.15rem}.declaration h3{margin:4px 0 2px;font-size:1rem}.declaration p,.declaration ul{margin:0}.declaration ul{padding-left:20px}.declaration-draft{color:var(--danger);background:var(--danger-soft);border-radius:10px;padding:6px 10px;font-weight:700}.declaration-sign{border-top:1px solid var(--line);gap:10px;padding-top:10px;display:grid}.signature-box{border:1.5px dashed var(--muted);background:#fff;border-radius:12px;height:160px;position:relative}.signature-box canvas{touch-action:none;width:100%;height:100%}.signature-box button.link{min-height:32px;position:absolute;bottom:4px;right:10px}.exit-codes{gap:2px;display:grid}.work-sheet-fields{border:1px solid var(--line);border-radius:10px;gap:6px;margin:0;padding:8px 12px 10px;display:grid}.work-sheet-fields>small,.check small{color:var(--muted)}.ws-button{width:100%;min-height:48px;font:inherit;white-space:nowrap;color:var(--ink);background:var(--gold-soft);border:1px solid var(--gold);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:flex}.ws-button small{text-overflow:ellipsis;color:var(--gold-ink);font-weight:500;overflow:hidden}.ws-button.done{background:var(--ok-soft);border-color:var(--ok-soft)}.ws-button.done small{color:var(--ok-ink)}.ws-screen{gap:12px;display:grid}.ws-screen .card{gap:10px;display:grid}.ws-screen h2,.ws-screen h3{margin:0}.ws-head{gap:2px;display:grid}.ws-head small,.ws-screen .card>small{color:var(--muted)}.ws-positions{margin:0;padding:0;list-style:none;display:grid}.ws-position{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px;padding:10px 0;display:grid}.ws-position-name{overflow-wrap:anywhere;grid-column:1/-1;justify-items:start;gap:2px;min-width:0;display:grid}.ws-position.task .ws-position-name{grid-column:1}.ws-position>:last-child:not(.ws-position-name){grid-column:2;justify-self:end}.ws-position-name small{color:var(--muted)}.ws-position.struck .ws-position-name strong,.ws-position.struck .ws-quantity-text{color:var(--muted);text-decoration:line-through}.ws-position.struck button.link{white-space:nowrap;width:auto;font-size:.85rem}.ws-quantity{white-space:nowrap;align-items:center;gap:4px;display:flex}.ws-quantity input{text-align:right;width:84px;min-height:44px}.ws-quantity-text{white-space:nowrap;font-weight:600}.ws-strike{min-width:44px;min-height:44px;color:var(--danger);border:1px solid var(--line);background:0 0;border-radius:10px;padding:0}.ws-photos{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ws-photos li{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:4px 12px;display:grid}.ws-photos li .task-photo{grid-row:span 2}.ws-photos li button.link{text-align:left;justify-self:start;width:auto}.ws-summary{gap:6px;margin:0;padding:0;list-style:none;display:grid}.ws-summary li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding-bottom:6px;display:flex}.ws-summary b{white-space:nowrap}.ws-next{width:100%}.ws-notice{color:var(--ok-ink)}.ws-page .absence-split{grid-template-columns:minmax(0,1fr) minmax(360px,460px)}.ws-page .sales-toolbar .field{flex:none}.ws-page .segmented button{white-space:nowrap;flex:none;padding:6px 12px}.ws-page input[type=month]{width:180px;min-height:42px}button.link.ws-inline-link{text-align:left;width:auto}.ws-list{padding:6px 10px;overflow-x:auto}.ws-table,.ws-detail-table{border-collapse:collapse;width:100%;font-size:.9rem}.ws-table th{color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:8px 6px;font-size:.8rem;font-weight:600}.ws-table td,.ws-detail-table td{vertical-align:top;border-bottom:1px solid var(--line);padding:8px 6px}.ws-table td:nth-child(-n+2){white-space:nowrap}.ws-table td small{color:var(--muted);display:block}.ws-table tbody tr{cursor:pointer}.ws-table tr.selected td{background:#fffaf0}.ws-detail-table td.number{text-align:right;white-space:nowrap}.ws-detail-table tr.struck td{color:var(--muted);text-decoration:line-through}.ws-panel{gap:10px;display:grid}.ws-panel h2,.ws-panel h3{margin:0}.ws-panel>small{color:var(--muted)}.ws-section{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.ws-section h3{align-items:center;gap:8px;display:flex}.ws-section>small{color:var(--muted)}.ws-editor{gap:6px;display:grid}.ws-editor-row{grid-template-columns:minmax(0,1fr) 80px 76px auto;align-items:center;gap:6px;display:grid}.ws-editor-row>small{grid-column:1/-1}.ws-editor-row input[type=text]{min-height:38px}.ws-editor-row .check{gap:6px;min-height:38px;font-size:.85rem}.ws-editor-row.struck input[type=text]{color:var(--muted);text-decoration:line-through}.ws-note-save{justify-self:start}.ws-saved{color:var(--ok-ink)}.ws-thumbs{flex-wrap:wrap;gap:10px;display:flex}.ws-thumbs figure{gap:4px;width:104px;margin:0;font-size:.8rem;display:grid}.ws-thumbs img{object-fit:cover;border-radius:8px;width:104px;height:78px}.ws-thumbs .check{gap:6px;min-height:0}.ws-card{gap:10px;display:grid}.ws-card input[type=search]{min-height:40px}.ws-card-row{align-items:center}.ws-card-row small{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ws-card-actions{gap:6px;display:flex}.ws-card-actions .button{min-height:34px;padding:4px 10px;font-size:.85rem}@media (width<=900px){.ws-page .absence-split{grid-template-columns:minmax(0,1fr)}}.ws-unsent{align-self:end;min-height:40px}.ws-unsent.alert{color:var(--danger);font-weight:700}.ws-unsent.selected{background:var(--ink);border-color:var(--ink);color:#fff}.ws-mail{justify-items:start;gap:3px;display:grid}.ws-mail small{overflow-wrap:anywhere}.ws-mail-ok{color:var(--ok-ink)}.ws-mail-error{color:var(--danger)}button.ws-small,.button.ws-small{white-space:nowrap;min-height:30px;padding:2px 10px;font-size:.8rem}.ws-mail-switch{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.ws-mail-log{gap:6px;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.ws-mail-log li{overflow-wrap:anywhere;gap:1px;display:grid}.ws-mail-send{justify-self:start}.ws-card-numbers{flex-wrap:wrap;gap:18px;display:flex}.ws-card-numbers a{color:inherit;text-decoration:none}.ws-card-numbers a.alert{color:var(--danger)}.ws-customer{gap:10px;display:grid}.ws-customer .check small{color:var(--muted)}.ws-unsent-box{background:var(--danger-soft);color:var(--danger);border-radius:10px;justify-items:start;gap:8px;padding:10px 12px;display:grid}.report-code{gap:10px;display:grid}.report-code-facts{grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;display:grid}.report-code-facts dt{color:var(--muted)}.report-code-facts dd{margin:0}.danger-box{border-color:var(--danger);background:var(--danger-soft)}.reporter-box{background:var(--gold-soft);border-radius:10px;gap:4px;padding:10px 12px;display:grid}.reporter-box ul{margin:0;padding:0;font-size:.85rem;list-style:none}.customer-done{border:1px solid var(--line);border-radius:12px;gap:8px;padding:10px 12px;display:grid}.customer-done .check{min-height:0}@media (width>=900px){main:has(.devices-page){max-width:none}}.devices-page{gap:12px;min-width:0;display:grid}.devices-page .key-filters select{width:auto;min-height:40px}.devices-page .key-filters input[type=search]{width:280px}.device-table .device-pick input{width:18px;height:18px;min-height:0;margin:2px 0 0}@media (width>=1100px){.task-layout.device-layout{grid-template-columns:minmax(0,1fr) minmax(420px,640px)}}.device-selection{background:var(--gold-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 10px;display:flex}.device-table td{vertical-align:top}.device-table .device-pick{width:32px}.device-nr{white-space:nowrap;font-weight:800}.device-sub,.device-since{color:var(--muted);font-size:.85rem;display:block}.device-table tr.device-retired td{color:var(--muted)}.amp{align-items:center;gap:6px;display:inline-flex}.amp:before{content:"";background:#5a9b72;border-radius:50%;flex:none;width:10px;height:10px}.amp.amp-soon:before{background:#e0b43c}.amp.amp-late:before{background:var(--danger)}.amp.amp-none:before{background:#cfcac0}.device-side{gap:10px;display:grid}.device-side-head{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.device-photo{object-fit:cover;border:1px solid var(--line);border-radius:12px;flex:none;width:72px;height:72px}.device-photo.empty{color:var(--muted);background:var(--background);place-items:center;font-size:.75rem;display:grid}.device-title{flex:1;gap:2px;min-width:160px;display:grid}.device-title small{color:var(--muted)}.device-number{font-size:1.5rem;font-weight:800}.device-head-actions{flex-wrap:wrap;gap:6px;display:flex}.device-columns{gap:14px;display:grid}@media (width>=1300px){.device-columns{grid-template-columns:minmax(0,1fr) 210px}.device-history{border-left:1px solid var(--line);padding-left:12px}}.device-main{align-content:start;gap:8px;min-width:0;display:grid}.device-main h3,.device-history h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:8px 0 0;font-size:.9rem}.device-now{margin:0}.device-now .device-since{margin-left:6px;display:inline}.device-check{border:1px solid var(--line);background:var(--background);border-radius:10px;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 10px;display:grid}.device-check small{color:var(--muted);grid-column:1/-1}.device-files{flex-wrap:wrap;gap:8px;display:flex}.device-file{position:relative}.device-file a{width:84px;color:var(--ink);gap:2px;text-decoration:none;display:grid}.device-file img,.device-pdf{object-fit:cover;border:1px solid var(--line);border-radius:9px;width:84px;height:72px}.device-pdf{color:var(--danger);background:var(--surface);place-items:center;font-weight:800;display:grid}.device-file small{white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.device-add{border:1.5px dashed var(--line);text-align:center;width:84px;height:72px;color:var(--muted);cursor:pointer;border-radius:9px;place-items:center;padding:4px;font-size:.78rem;display:grid}.device-add.busy{opacity:.5}.device-add input{display:none}.device-copies input{width:100px}.device-inside{margin:0;padding-left:18px}.device-history ul{gap:10px;margin:6px 0 0;padding:0;font-size:.9rem;list-style:none;display:grid}.device-history li{border-left:3px solid var(--line);gap:1px;padding-left:10px;display:grid}.device-history li.red{border-left-color:var(--danger)}.device-history li.gold{border-left-color:var(--gold)}.device-history small{color:var(--muted)}.device-source{color:#24507a;background:#e3eef0;border-radius:5px;padding:0 5px;font-size:.72rem;font-weight:700}.device-event-photos{gap:4px;display:flex}.device-event-photos img{object-fit:cover;border-radius:6px;width:48px;height:48px}.device-form{gap:10px;display:grid}.devices-at li{margin:2px 0}.scan-button{color:#fff;background:var(--gold);white-space:nowrap;border:0;border-radius:18px;min-height:36px;padding:4px 12px;font-weight:700}.employee-bar .bar-me{gap:8px}.scanner{gap:12px;display:grid}.scanner-view{background:#1c2224;border-radius:16px;min-height:300px;position:relative;overflow:hidden}.scanner-view video{object-fit:cover;width:100%;height:360px;display:block}.scanner-frame{border:4px solid var(--gold);border-radius:18px;width:220px;height:220px;position:absolute;top:50%;left:50%;transform:translate(-50%,-58%);box-shadow:0 0 0 999px #0006}.scanner-view p{color:#fff;text-align:center;margin:0;font-size:.9rem;position:absolute;bottom:12px;left:0;right:0}.scanner-typed{align-items:flex-end;gap:8px;display:flex}.scanner-typed .field{flex:1}.scan-screen{gap:10px;display:grid}.scan-head{gap:3px;display:grid}.scan-head small{color:var(--muted)}.scan-number{font-size:1.7rem;font-weight:800}.scan-badges{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.scan-now{background:#e3eef0;border-radius:10px;margin:6px 0 0;padding:8px 10px}.scan-key{grid-template-columns:auto 1fr;align-items:center;column-gap:12px}.scan-key>span:nth-child(2){gap:2px;display:grid}.scan-key .scan-now{grid-column:1/-1}.scan-key-number{min-width:64px;height:64px;font-size:1.8rem}.scan-defect small{display:block}.scan-question{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:6px 0 0;font-size:.85rem}.scan-tiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.scan-tile{background:var(--surface);align-content:center;place-items:center;gap:1px;min-height:64px;font-size:1.05rem;font-weight:700;display:grid}.scan-tile small{color:var(--muted);font-size:.75rem;font-weight:400}.scan-tile.now{background:var(--background);color:var(--muted);border-style:dashed}.toast{color:#fff;background:var(--ink);border-radius:12px;margin:0;padding:10px 12px}.sheet-option>span{display:grid}.sheet-option>span small{color:var(--muted)}.device-badge{min-width:62px;height:36px;color:var(--ink);background:#e3eef0;border-radius:10px;place-items:center;padding:0 6px;font-size:.85rem;font-weight:800;display:grid}.my-devices{gap:10px;display:grid}.my-device>span:nth-child(2){display:grid}.label-dialog{gap:10px;max-width:560px;display:grid}.label-start{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.label-start .field input{width:110px}.label-sheet{border:1px solid var(--line);background:var(--surface);border-radius:4px;grid-template-columns:repeat(4,34px);gap:2px;padding:8px;display:grid}.label-sheet button{border:1px solid var(--line);background:var(--surface);border-radius:3px;width:34px;min-width:0;height:16px;min-height:0;padding:0;font-size:.65rem;font-weight:700}.label-sheet button.used{background:repeating-linear-gradient(135deg,#ece8de 0 3px,#fff 3px 6px)}.label-sheet button.print{background:var(--gold);border-color:var(--gold);color:#fff}a.button.disabled{pointer-events:none;opacity:.45}.exit-devices{flex-wrap:wrap}.exit-device{align-items:center;gap:6px;margin-right:10px;display:inline-flex}.exit-device button{min-height:30px;padding:2px 10px}.check-dialog{gap:10px;max-width:560px;display:grid}.chips{flex-wrap:wrap;gap:6px;display:flex}.info-line{background:#e3eef0;border-radius:10px;margin:0;padding:8px 10px;font-size:.9rem}.device-check-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.device-ok-check{margin:4px 0}.protocol-form{gap:10px;max-width:560px;display:grid}.legal-note{text-align:center;color:var(--danger);background:var(--danger-soft);border-radius:8px;margin:0;padding:5px 10px;font-size:.85rem;font-weight:700}.protocol-new-key{border:1px dashed var(--line);border-radius:12px;grid-template-columns:1fr 1.4fr 80px;align-items:end;gap:6px;padding:8px;display:grid}.protocol-new-key>.link{grid-column:1/-1;justify-self:start}.protocol-add{justify-self:start}.protocol-text summary{cursor:pointer;color:var(--muted);font-size:.9rem}.protocol-text p,.protocol-text ul{font-size:.9rem}.protocol-done{text-align:center;justify-items:center;gap:10px;padding:16px 8px;display:grid}.protocol-ok{width:64px;height:64px;color:var(--ok-ink);background:var(--ok-soft);border-radius:50%;place-items:center;font-size:2rem;font-weight:800;display:grid}.job-protocol{justify-self:start;font-size:.9rem}.protocol-list{gap:6px;display:grid}.protocol-list h3{margin:8px 0 0}.protocol-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.protocol-row>span:first-child{display:grid}.protocol-row small{color:var(--muted)}.protocol-send{gap:6px;width:100%;display:flex}button.badge{cursor:pointer;border:0;min-height:0}.device-list{min-width:0;overflow-x:auto}@media (width<=700px){.devices-page .key-filters input[type=search]{width:100%}.devices-page .key-filters select{flex:40%}.devices-page .task-toolbar{flex-wrap:wrap}}.material-row{text-align:left;width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;gap:3px;padding:10px 12px;display:grid}.material-row small,.material-action small,.material-detail small{color:var(--muted);overflow-wrap:anywhere}.material-row-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.material-row-head strong,.material-row-head h2{overflow-wrap:anywhere;min-width:0}.material-row-head .badge{flex:none}.material-action{border:1.5px solid var(--gold);gap:6px;display:grid}.material-where{background:#e3eef0;border-radius:8px;margin:0;padding:6px 10px;font-size:.92rem}.material-detail{gap:6px;display:grid}.material-flow{gap:4px;display:flex}.material-flow i{background:var(--line);border-radius:3px;width:24px;height:5px}.material-flow i.on{background:var(--gold)}.material-flow.rejected i.on{background:var(--danger)}.material-history{gap:8px;margin:0;padding:0;list-style:none;display:grid}.material-history li{border-left:3px solid var(--line);padding-left:10px;display:grid}.material-history li:first-child{border-left-color:var(--gold)}.material-history small{color:var(--muted)}.material-target{background:var(--surface);border:2px solid var(--ink);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px 8px 12px;display:flex}.material-target>span,.material-pick>span{min-width:0;display:grid}.material-target small,.material-pick small{color:var(--muted);font-weight:400}.material-target button{min-height:40px}.material-chips{flex-wrap:wrap;gap:6px;display:flex}.material-list{background:var(--surface);border:1px solid var(--line);border-radius:12px;display:grid}.material-list>.hint{padding:10px 12px}.material-pick{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding:6px 10px 6px 12px;display:flex}.material-pick:first-child{border-top:0}.material-pick b{overflow-wrap:anywhere}button.material-add{min-width:44px;min-height:44px;padding:0;font-size:1.4rem;line-height:1}.stepper{border:1px solid var(--ink);background:var(--surface);border-radius:10px;flex:none;align-items:center;display:inline-flex;overflow:hidden}.stepper button{background:0 0;border:0;border-radius:0;min-width:44px;min-height:44px;padding:0;font-size:1.3rem}.stepper b{text-align:center;min-width:30px}.material-extra{gap:8px;display:grid}.material-send{bottom:calc(68px + env(safe-area-inset-bottom));z-index:5;background:linear-gradient(transparent, var(--background) 35%);padding:8px 0 4px;position:sticky}.material-send button{width:100%}.job-material{border:1.5px solid var(--gold);background:#fffaf0;border-radius:12px;padding:8px 10px}.job-material h3{color:var(--gold-ink)}.job-material>small{color:var(--ink)}.job-material-row{align-items:flex-start}.job-material-row input{width:22px;height:22px;min-height:0;margin-top:2px}.job-material-row>span{display:grid}.job-material-row small{color:var(--muted)}.nav-count{color:#fff;background:var(--danger);border-radius:9px;margin-left:5px;padding:0 6px;font-size:.72rem;font-weight:700;line-height:17px}.material-board{grid-template-columns:minmax(230px,1.1fr) minmax(250px,1.25fr) minmax(200px,.95fr) minmax(250px,1.2fr) minmax(180px,.8fr)}.material-board .task-column>.hint{margin:0 2px;font-size:.8rem}.material-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:6px;min-width:0;padding:10px 11px;font-size:.92rem;display:grid}.material-card.current{border:2px solid var(--ink);padding:9px 10px}.material-card.material-card-open{border-style:dashed}.material-card.inactive{opacity:.6}.material-card small{color:var(--muted);overflow-wrap:anywhere}.material-note{background:#e3eef0;border-radius:8px;margin:0;padding:5px 8px;font-size:.88rem}.material-quantity{color:var(--muted);align-items:center;gap:8px;font-size:.88rem;display:flex}.material-quantity input{width:72px;min-height:34px;padding:4px 8px}.material-buttons{flex-wrap:wrap;align-items:center;gap:6px;display:flex}main .material-card button,main .material-card .button{min-width:0;min-height:34px;padding:4px 10px;font-size:.88rem}.material-line{grid-template-columns:minmax(0,1fr) auto;gap:0 8px;display:grid}.material-line small{grid-column:1/-1;font-size:.8rem}.material-check{align-items:flex-start;min-height:0}.material-check input,.material-billed input{width:17px;height:17px;min-height:0;margin-top:2px}.material-check>span{display:grid}.material-way{border:1px solid var(--line);border-radius:9px;align-items:center;gap:8px;padding:6px 8px;font-weight:600;display:flex}.material-way.selected{border:2px solid var(--ink);background:#fbfaf6;padding:5px 7px}.material-way input{width:17px;height:17px;min-height:0}.material-way-fields{gap:6px;padding-left:8px;display:grid}.material-way-fields input,.material-way-fields select{min-height:36px}.material-order{gap:10px;min-width:min(620px,80vw);display:grid}.material-order-list{max-height:320px;overflow-y:auto}.material-extra-row{align-items:end}.material-billing .num{text-align:right}.material-billing tbody tr{cursor:default}.material-billing tr.inactive td{color:#a39e93}.material-billing-customer td{border-top:2px solid var(--line);background:#f3f1eb;font-weight:700}.material-billing-customer small{color:var(--muted);font-weight:400}.material-billed{gap:6px;min-height:0}.material-card>button,.material-card>.button,.material-card>a.button{justify-self:start}.material-page .key-filters input[type=month]{width:auto;min-height:40px}.material-row{justify-content:stretch;justify-items:stretch}.task-table th.num,.task-table td.num{text-align:right;font-variant-numeric:tabular-nums}.article-table td:nth-child(2),.article-table td:nth-child(3){white-space:nowrap}.task-table td.clip{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.task-table .service-dot,.group-row .service-dot{margin-right:8px}.task-table tr.group-row td{background:var(--porcelain);border-top:2px solid var(--line);cursor:default}.task-table tr.inactive td{color:var(--muted)}.status-warn{color:var(--warn-ink);font-weight:600}.status-ok{color:var(--ok-ink);font-weight:600}.readonly-box{background:var(--porcelain);border:1px dashed var(--line);color:var(--muted);border-radius:10px;gap:4px;padding:8px 12px;display:grid}.readonly-box p{white-space:pre-line;font-style:italic}.effort-fields{border:1px solid var(--line);border-radius:12px;gap:8px;margin:4px 0;padding:8px 12px 10px;display:grid}.effort-fields legend{padding:0 4px;font-weight:600}.effort-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.quantity-input{text-align:right;font-variant-numeric:tabular-nums;width:5em}.quantity-mappings summary{cursor:pointer;padding:4px 0}.quantity-mappings[open] summary{margin-bottom:8px}.quantity-mappings select{max-width:100%}.effort-suggestion{border:1.5px solid var(--gold);background:#fffaf0;border-radius:12px;gap:8px;padding:10px 12px;display:grid}.effort-suggestion-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.effort-suggestion table{border-collapse:collapse;width:100%;font-size:.92rem}.effort-suggestion th,.effort-suggestion td{text-align:left;border-bottom:1px solid var(--line);padding:4px 6px}.effort-suggestion th.num,.effort-suggestion td.num{text-align:right;white-space:nowrap}.effort-suggestion tr.missing-row td{color:var(--warn-ink)}.effort-suggestion tr.muted-row td{color:var(--muted)}.effort-suggestion tr.sum-row td{border-bottom:0;font-weight:700}.job-todo{border:1.5px solid var(--gold);background:#fffaf0;border-radius:12px;padding:8px 12px}.job-todo summary{cursor:pointer;align-items:center;gap:4px;min-height:32px;font-weight:700;display:flex}.job-todo-list{gap:8px;margin-top:6px;display:grid}.job-todo-item{border-top:1px solid var(--line);gap:2px;padding-top:7px;display:grid}.job-todo-item:first-child{border-top:0;padding-top:0}.job-todo-item.optional strong{color:var(--muted);text-decoration:line-through}.job-todo-head{justify-content:space-between;gap:8px;display:flex}.job-todo-head span{white-space:nowrap;font-weight:700}.job-todo-desc{color:var(--muted);white-space:pre-line;font-size:.88rem;font-style:italic}.job-todo ul{margin:2px 0 0;padding-left:20px;font-size:.92rem}.contract-article select{flex:1;min-width:0}.task-layout.with-detail .task-table .clip{display:none}.task-side textarea{min-height:7em}.kpi-bars{gap:3px;width:140px;display:grid}.kpi-bars i{border-radius:4px;min-width:2px;height:7px;display:block}.service-kpi tr.sum-row td{border-top:2px solid var(--line);cursor:default;font-weight:700}.service-kpi-jobs th,.service-kpi-jobs td{padding:6px;font-size:.9rem}.service-kpi-jobs td small{display:block}.proof-types-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.proof-types-head button{flex:none}.proof-type-table td{vertical-align:middle}.proof-type-table .order-buttons{gap:4px;display:flex}.task-table tr.inactive-row td{color:var(--muted)}.radio-list{border:0;gap:2px;margin:0;padding:0;display:grid}.radio-list legend{color:var(--muted);margin-bottom:4px}.radio-list .check,.proof-type-form .check{align-items:flex-start}.radio-list .check input[type=radio],.proof-type-form .check input[type=checkbox]{margin-top:2px}.check input.months-input{width:64px;height:auto;min-height:34px;padding:2px 6px}.proof-type-table th:nth-child(5),.proof-type-table td:nth-child(5){white-space:nowrap}@media (width>=1100px){.task-layout.with-detail .proof-type-table th:nth-child(5),.task-layout.with-detail .proof-type-table td:nth-child(5){display:none}}.button-row,.proof-buttons,.proof-form-row,.inline-confirm{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.proof-buttons button,.proof-form-row button,.inline-confirm button,.proof-reject button{min-height:38px}.proof-form-row .field{min-width:220px}.proof-form-row{align-items:flex-end}.tag.proof-rot{color:var(--danger);background:var(--danger-soft)}.tag.proof-gelb{color:var(--warn-ink);background:var(--warn-bg)}.tag.proof-blau{color:#1d4b8f;background:#dbe8fb}.tag.proof-grau{color:var(--muted);background:#eceae4}.proof-card{gap:10px}.proof-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.proof-card-head h3{margin:0}.proof-card .tag{border-radius:999px;padding:2px 9px;font-size:.8rem;font-weight:600}.license-check{background:snow;border:1.5px solid #e6b4b0;border-radius:12px;gap:10px;padding:12px;display:grid}.license-photos{flex-wrap:wrap;gap:12px;display:flex}.license-photos a{color:var(--ink);gap:2px;text-decoration:none;display:grid}.license-photos img{object-fit:cover;border:1px solid var(--line);border-radius:10px;width:220px;max-width:100%;height:140px}.proof-decide{gap:6px;display:grid}.proof-reject{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.proof-reject input{flex:1;min-width:180px}.proof-files{flex-wrap:wrap;gap:8px;display:inline-flex}.proof-table td{vertical-align:top}.proof-table tbody tr{cursor:default}.proof-table tr.proof-pending td{background:#fffdf5}small.block{display:block}.proof-form{border:1px solid var(--line);background:#fbfaf7;border-radius:12px;gap:10px;padding:12px;display:grid}.proof-upload{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.proof-upload .badge button.link{min-height:0;padding:0 0 0 6px;text-decoration:none}.proof-log{gap:2px;display:grid}@media (width<=699px){.proof-types-head{flex-direction:column}}.proof-ask{border:1.5px solid var(--gold);gap:8px}.proof-ask ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.my-proofs{gap:8px}.my-proof-open{color:var(--ink);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;text-decoration:none;display:flex}.my-proof-open small{display:block}.my-proof-list{margin:0;padding:0;list-style:none;display:grid}.my-proof-list li{border-top:1px solid #eeebe4;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;display:grid}.my-proof-list li:first-child{border-top:0}.my-proof-list a{color:var(--ink)}.signal-dot{background:#b9c0c0;border-radius:50%;width:10px;height:10px}.signal-dot.ok{background:#3d9a62}.signal-dot.warn{background:#e2b23a}.signal-dot.bad{background:var(--danger)}.proof-capture{gap:12px;display:grid}.lock-note{color:var(--muted);text-align:center;font-size:.8rem}.warning.block{margin-top:6px;display:block}.declaration .privacy-data{gap:8px;margin:0;padding:0;list-style:none;display:grid}.privacy-data li{background:var(--surface);border:1px solid var(--line);border-radius:10px;gap:1px;padding:8px 10px;display:grid}.invoice-preview{border:2px solid var(--gold);background:#fffdf8;border-radius:12px;gap:8px;padding:12px;display:grid}.invoice-preview h3{margin:0}.invoice-preview small{color:var(--muted)}.invoice-preview ul{margin:4px 0 0;padding-left:20px}.invoice-lines th{color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:6px;font-size:.8rem;font-weight:600}.invoice-lines th.number{text-align:right}.invoice-lines .badge{margin-left:6px}.invoice-total{text-align:right;margin:0}.invoice-preview{margin-top:8px;font-weight:400}.material-billing-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.material-billing-actions{flex-wrap:wrap;gap:8px;display:flex}.material-billing-blocked{margin-top:4px;display:block}.material-invoice-done{background:var(--ok-soft);color:var(--ok-ink);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-weight:600;display:flex}.material-billing-customer .invoice-preview td{background:0 0;border-top:0;font-weight:400}a.app-switch{color:var(--ink);background:var(--gold);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700;text-decoration:none}.moved-banner{color:var(--warn-ink);background:var(--warn-bg);margin:0;padding:10px 16px}.moved-address{margin:4px 0 12px;font-size:1.15rem;font-weight:700}.moved-steps{margin:0;padding-left:22px;line-height:1.6}
