:root{color:#19253c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 10% 10%,#fff3e0 0,#f4f2ed 36%,#edf2f8 100%);font-family:Segoe UI,Avenir Next,Helvetica Neue,sans-serif;font-weight:400;line-height:1.4}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}h1,h2,h3,p{margin:0}.layout{width:min(100%,1100px);margin:0 auto;padding:.75rem}.auth-layout{place-items:center;min-height:100vh;display:grid}.grid{grid-template-columns:minmax(0,920px);justify-content:center;gap:.6rem;margin-top:.4rem;display:grid}.card{box-shadow:none;background:#fff;border:1px solid #e2e8f3;border-radius:.8rem;grid-column:auto;padding:.75rem}.stack{flex-direction:column;gap:.65rem;display:flex}.row{align-items:center;gap:.5rem;display:flex}.month-nav{flex-wrap:wrap;justify-content:center;gap:.25rem}.month-nav-main{gap:.2rem}.month-nav .month-arrow{color:#12213f;background:#f8fbff;border:1px solid #d7dfec;border-radius:.45rem;place-items:center;width:1.8rem;height:1.8rem;padding:0;font-size:.92rem;line-height:1;display:grid}.month-nav strong{text-align:center;min-width:128px;font-size:.95rem;font-weight:600}.month-nav .month-arrow:hover,.month-nav .month-today:hover{background:#eef3fb}.month-nav .month-today,.month-nav .month-toggle{color:#12213f;background:#f8fbff;border:1px solid #d7dfec;border-radius:.45rem;padding:.2rem .5rem;font-size:.84rem}.section-heading{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.title-row{align-items:center;gap:.35rem;display:flex}.section-heading h2{margin:0;font-size:1.05rem;font-weight:600}.edit-order-customer-title{color:#3a5276;margin-left:.55rem;font-size:.9rem;font-weight:600;display:inline-block}.network-chip{color:#4d5f7e;background:#f7f9fc;border:1px solid #d6deeb;border-radius:999px;padding:.08rem .4rem;font-size:.72rem}.network-chip.online{color:#1f6a3a;background:#edf9f2;border-color:#b8e3c9}.network-chip.offline{color:#8a3a23;background:#fff3ef;border-color:#f2c8bc}.summary-strip{color:#556781;flex-wrap:wrap;gap:.3rem .6rem;margin:.35rem 0 .2rem;font-size:.76rem;display:flex}.summary-toggle{color:#3d5579;background:#f3f6fb;border:1px solid #d6deeb;border-radius:999px;min-height:24px;padding:.08rem .4rem;font-size:.7rem}.summary-details{color:#5b6d89;margin:.1rem 0 .2rem;font-size:.74rem}.summary-details p{margin:0}.customer-decision-box{background:#f7faff;border:1px solid #dce5f2;border-radius:.55rem;padding:.45rem}.customer-decision-box p{color:#4a607f;margin:0 0 .35rem;font-size:.78rem}.distance-line{color:#1c3f76;background:#f3f8ff;border:1px solid #cfe0fb;border-radius:.55rem;margin:0;padding:.4rem .55rem;font-size:.84rem;font-weight:600}.timer-panel{background:#fbfcfe;border:1px solid #dbe4f2;border-radius:.62rem;gap:.4rem;padding:.5rem;display:grid}.timer-header{justify-content:space-between;align-items:baseline}.timer-header strong{font-size:.88rem}.timer-actions{flex-wrap:wrap}.compact-hint{margin:.05rem 0 0;font-size:.74rem}.manual-time-entry,.time-entry-card{background:#fff;border:1px solid #dbe4f2;border-radius:.6rem;gap:.35rem;padding:.45rem;display:grid}.manual-time-entry h3{margin:0;font-size:.82rem}.time-entry-grid{flex-wrap:wrap}.time-entry-top{justify-content:space-between;align-items:center}.time-entry-list{gap:.45rem}.time-simple-section{border-top:1px solid #e5ebf5;gap:.4rem;margin-top:.2rem;padding-top:.45rem;display:grid}.time-simple-list{gap:.35rem;display:grid}.time-entry-list-item{text-align:left;color:#173053;background:#fff;border:1px solid #dbe4f2;border-radius:.55rem;gap:.08rem;width:100%;padding:.35rem .45rem;display:grid}.time-entry-list-main{font-size:.83rem;font-weight:600}.time-entry-list-duration{color:#3f567a;font-size:.76rem}.time-entry-list-note{color:#536a8e;font-size:.76rem}.time-entry-modal{width:min(92vw,620px)}.edit-order-note{min-height:170px}.edit-order-actions-bottom{border-top:1px solid #e5ebf5;margin-top:.2rem;padding-top:.45rem}.form-action-bar{border-top:1px solid #e5ebf5;gap:.5rem;margin-top:.2rem;padding-top:.45rem;display:grid}.form-action-bar>button{width:100%}.form-action-bar-row{gap:.5rem;display:flex}.form-action-bar-row>button{flex:1;min-width:0}.order-contact-card{background:#f2f6ff;border:1px solid #d6deeb;border-radius:.6rem;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.4rem .55rem;font-size:.88rem;display:flex}.contact-name{color:#12213f;background:#e6ebf7;border:1px solid #d6deeb;border-radius:999px;align-items:center;padding:.2rem .55rem;font-weight:600;display:inline-flex}.contact-phone{color:#fff;background:#0f5bd8;border:1px solid #0f5bd8;border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .55rem;font-weight:600;text-decoration:none;display:inline-flex}.contact-phone-text{letter-spacing:.02em;text-transform:uppercase;opacity:.95;font-size:.72rem;font-weight:700}.contact-phone-number{font-variant-numeric:tabular-nums}.contact-phone:active{background:#0d4fbf}.modal button.delete-order-button{color:#fff;background:#d32027;border-color:#d32027}.modal button.delete-order-button:hover{color:#fff;background:#b81b21;border-color:#b81b21}.address-autocomplete{gap:.3rem;display:grid}.address-suggestion-list{gap:.25rem;display:grid}.address-suggestion-list button{text-align:left}.customer-autocomplete{gap:.3rem;display:grid;position:relative}.customer-suggestion-list{background:#fff;border:1px solid #d6deeb;border-radius:.6rem;gap:.2rem;padding:.3rem;display:grid}.customer-suggestion-list button{text-align:left;flex-direction:column;gap:.1rem;padding:.3rem .5rem;display:flex}.cs-name{font-size:.88rem;font-weight:600}.cs-address{color:#556781;font-size:.76rem}.day-order-list-item{text-align:left;border-left:3px solid #0000;grid-template-rows:auto auto;grid-template-columns:2.8rem 1fr;align-items:baseline;gap:0 .4rem;padding:.4rem .55rem;display:grid}.day-order-list-time{grid-row:1;font-size:.78rem;font-weight:600}.day-order-list-title{grid-row:1;font-size:.88rem;font-weight:600}.day-order-list-customer{color:#556781;grid-area:2/2;font-size:.76rem}.day-order-split{box-sizing:border-box;background:#fff;border:1px solid #dbe4f2;border-radius:.65rem;grid-template-columns:minmax(0,1fr) 3.2rem 3.2rem 3.2rem 3.2rem;align-items:stretch;gap:.08rem;width:100%;margin:0 auto;padding:.08rem;display:grid}.day-order-list{width:100%}.day-order-split-part{color:#152744;background:#f8fbff;border:1px solid #dbe4f2;border-radius:.5rem;min-height:2.1rem;padding:.35rem .45rem}.day-order-split-edit{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-content:start;align-items:center;gap:.08rem;padding:.28rem .4rem;display:grid}.day-order-edit-main{gap:.08rem;min-width:0;display:grid}.day-order-time-counter{color:#3d5579;white-space:nowrap;background:#eef4fb;border:1px solid #d6e1f1;border-radius:999px;justify-self:end;padding:.08rem .4rem;font-size:.72rem;font-weight:700}.day-order-split-start,.day-order-split-stop,.day-order-split-clip,.day-order-split-maps{place-items:center;width:3.2rem;min-width:3.2rem;height:auto;min-height:100%;padding:0;font-size:.74rem;font-weight:700;line-height:1;display:grid}.day-order-split-start:disabled,.day-order-split-stop:disabled{opacity:.45}.timer-start{color:#1f6a3a;background:#eaf8ef;border-color:#bfe6ca}.timer-stop{color:#8a2020;background:#fde8e8;border-color:#f0b8b8}.day-order-split-clip{color:#543f89;background:#f3effd;border-color:#c7b4ee}button.danger{color:#8a2020;background:#fde8e8;border:1px solid #f0b8b8}.section-heading.compact{align-items:flex-start}.modal-backdrop{z-index:20;background:#0c1b3a66;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{width:min(620px,100vw - 1.5rem);max-height:min(88vh,760px);overflow:auto}.day-block{background:#fcfdff;border:1px solid #dde3ee;border-radius:.8rem;margin-bottom:.6rem;padding:.6rem}.order-row{border-top:1px solid #edf1f8;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem 0;display:flex}.order-row:first-of-type{border-top:none}.weekdays{grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.5fr));gap:.35rem;margin:.45rem 0 .35rem;display:grid}.weekdays span{text-align:center;color:#5d6d87;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.calendar-grid{grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.5fr));gap:.3rem;display:grid}.day-cell{color:#12213f;text-align:left;background:#fdfefe;border:1px solid #e3e9f4;border-radius:.6rem;flex-direction:column;justify-content:flex-start;gap:.2rem;height:92px;padding:.35rem;display:flex;overflow:hidden}.day-cell.muted{opacity:.45}.day-cell.selected{border-color:#0f5bd8;box-shadow:0 0 0 2px #0f5bd826}.day-number{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.day-orders{flex-direction:column;gap:.08rem;min-width:0;display:flex;overflow:hidden}.day-order-item{color:#2d456c;white-space:nowrap;text-overflow:ellipsis;border-left:3px solid #0000;max-width:100%;padding-left:.28rem;font-size:.64rem;line-height:1.2;overflow:hidden}.day-order-item.status-ny,.status-chip.status-ny{color:#224b87;background:#edf4ff;border-color:#96b8ea}.day-order-item.status-planlagt,.status-chip.status-planlagt{color:#6d4a08;background:#fff5df;border-color:#e8c47c}.day-order-item.status-i-gang,.status-chip.status-i-gang{color:#8a311f;background:#fff0ec;border-color:#efab9d}.day-order-item.status-faerdig,.status-chip.status-faerdig{color:#1f6a3a;background:#ebf9f0;border-color:#9bd4b1}.day-order-item.status-faktureret,.status-chip.status-faktureret{color:#543f89;background:#f3effd;border-color:#c7b4ee}.status-chip{border:1px solid #d6deeb}.status-chip.active{box-shadow:inset 0 0 0 1px #12213f14}button,input,textarea,select{font:inherit}button{color:#fff;cursor:pointer;background:#0f5bd8;border:none;border-radius:.55rem;min-height:38px;padding:.42rem .65rem}button:disabled{opacity:.55;cursor:not-allowed}button.active{background:#db5f1f}button.ghost{color:#12213f;background:#e6ebf7}input,textarea,select{background:#fff;border:1px solid #c5cedd;border-radius:.65rem;width:100%;padding:.6rem .7rem}.day-order-item.support-order{color:#111;background:#fff;border-color:#c62828}.day-order-item.support-order.status-faktureret{color:#543f89;background:#f3effd;border-color:#c7b4ee}textarea{min-height:90px}.day-order-split.support-order,.day-order-split.support-order.status-faktureret{background:#fff;border-color:#b44d00}.day-order-split.support-order .day-order-split-edit,.day-order-split.support-order.status-faktureret .day-order-split-edit,.day-order-split.support-order .day-order-time-counter,.day-order-split.support-order.status-faktureret .day-order-time-counter{color:#111;background:#fff;border-color:#b44d00}.product-list{gap:.35rem;margin-top:.8rem;padding:0;list-style:none;display:grid}.product-list li{border:1px solid #e2e8f3;border-radius:.6rem;padding:.45rem .55rem}.message{color:#114327;background:#e7f7ed;border:1px solid #92d0a8;border-radius:.6rem;margin:.8rem 0;padding:.55rem .7rem}.order-items{border-top:1px solid #e5ebf5;gap:.75rem;padding-top:.75rem;display:grid}.order-item-card{background:#f8fbff;border:1px solid #dde5f0;border-radius:.8rem;gap:.65rem;padding:.75rem;display:grid}.order-item-grid{gap:.6rem;display:grid}.quantity-stepper{grid-template-columns:repeat(2,minmax(40px,48px));gap:.35rem;display:grid}.quantity-stepper button{min-height:40px;padding:.2rem;font-size:.9rem}.hint{color:#54627a;margin:0;font-size:.94rem}.modal-close{min-height:30px;padding:.2rem .5rem;font-size:.82rem}.modal .section-heading.compact{margin-bottom:.22rem}.order-list button{text-align:left}.action-primary{font-weight:600}.new-order-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;display:grid}.section-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin-top:.75rem;display:grid}.section-shortcuts button{min-height:34px;padding:.3rem .4rem;font-size:.82rem}.calendar-section{gap:.6rem;width:100%;display:grid}.calendar-legend{background:#f9fbff;border:1px solid #dbe4f2;border-radius:.7rem;gap:.35rem;margin-top:0;padding:.55rem .65rem;display:grid}.calendar-legend-title{color:#2e4467;margin:0;font-size:.8rem;font-weight:700}.calendar-legend-grid{flex-wrap:wrap;gap:.25rem .7rem;display:flex}.calendar-legend-footer{justify-content:flex-end;display:flex;position:relative}.backup-file-input{display:none}.legend-actions{justify-items:end;gap:.45rem;display:grid}.legend-buttons-row{align-items:center;gap:.45rem;display:flex}.app-update-box{justify-items:start;gap:.14rem;display:grid}.auth-update-box{margin-top:.35rem}.app-update-text{color:#4d607e;text-align:right;margin:0;font-size:.64rem;font-weight:600}.app-update-text.update-available{color:#8f5f00}.app-update-text.error{color:#8f1418}.app-update-text.up-to-date{color:#1f6a3a}.legend-menu{position:relative}.legend-submenu{z-index:10;background:#fff;border:1px solid #dbe4f2;border-radius:.7rem;gap:.35rem;min-width:180px;padding:.45rem;display:grid;position:absolute;bottom:calc(100% + .45rem);right:0;box-shadow:0 14px 28px #11223f29}.legend-submenu button{text-align:left;border-radius:.5rem;min-height:30px;padding:.35rem .55rem}.legend-submenu-hint{color:#5a6d8c;margin:.1rem 0 0;font-size:.72rem;line-height:1.35}.logout-legend-btn{color:#fff;background:#8f1418;border:1px solid #7a0f12;border-radius:.45rem;min-height:24px;padding:.15rem .5rem;font-size:.72rem;font-weight:700;line-height:1}.logout-legend-btn:hover{background:#741014;border-color:#5f0d10}.backup-legend-btn{background:#1d63cc;border-color:#164b9b}.backup-legend-btn:hover{background:#1854ae;border-color:#134689}.update-legend-btn{background:#398a41;border-color:#2d6f33}.update-legend-btn:hover{background:#2f7336;border-color:#275f2d}.legend-item{color:#20334f;white-space:nowrap;align-items:center;gap:.35rem;font-size:.76rem;display:inline-flex}.legend-dot{border:1px solid #0000;border-radius:.25rem;flex:none;width:.78rem;height:.78rem}.legend-dot.status-ny{background:#edf4ff;border-color:#96b8ea}.legend-dot.status-planlagt{background:#fff5df;border-color:#e8c47c}.legend-dot.status-i-gang{background:#fff0ec;border-color:#efab9d}.legend-dot.status-faerdig{background:#ebf9f0;border-color:#9bd4b1}.legend-dot.status-faktureret{background:#f3effd;border-color:#c7b4ee}.legend-dot.support{background:#fff;border-color:#c62828}.calendar-legend-outside{box-sizing:border-box;width:100%}.admin-card{gap:.75rem;display:grid}.admin-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.admin-list li{background:#fbfdff;border:1px solid #dce5f2;border-radius:.7rem;justify-content:space-between;align-items:center;gap:.7rem;padding:.6rem;display:flex}.admin-list .hint{margin-top:.2rem}.admin-actions{flex-wrap:wrap;justify-content:flex-end}.customer-list-search-grid{grid-template-columns:1fr auto;gap:.45rem;display:grid}.order-list-search-grid{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.order-list-search-grid input[type=date]{grid-column:span 1}.order-admin-list{margin-top:.25rem}.order-admin-row{border-left:3px solid #0000}.order-admin-row.status-ny{border-left-color:#96b8ea}.order-admin-row.status-planlagt{border-left-color:#e8c47c}.order-admin-row.status-i-gang{border-left-color:#efab9d}.order-admin-row.status-faerdig{border-left-color:#9bd4b1}.order-admin-row.status-faktureret{border-left-color:#c7b4ee}.order-admin-row-main{grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:0 .5rem;width:100%;min-width:0;display:grid}.order-admin-number{color:#6e82a0;white-space:nowrap;grid-area:2/2;justify-self:end;font-size:.72rem;font-weight:600}.order-admin-title{color:#2b4368;white-space:nowrap;text-overflow:ellipsis;grid-area:2/1;min-width:0;font-size:.84rem;font-weight:600;overflow:hidden}.order-admin-customer{color:#1f3558;white-space:nowrap;text-overflow:ellipsis;grid-area:1/1;min-width:0;font-size:.9rem;font-weight:700;overflow:hidden}.order-admin-date{color:#7a8fa8;white-space:nowrap;grid-area:1/2;justify-self:end;font-size:.72rem}.admin-form-grid{align-items:flex-start}.field-block{gap:.2rem;width:100%;display:grid}.field-label{color:#223a5d;font-size:.85rem;font-weight:600}.field-help{color:#5a6d8c;margin:0;font-size:.76rem}.support-action{color:#111;background:#fff;border:1px solid #b44d00}.support-form textarea{min-height:74px}.support-timer-row{align-items:center;gap:.6rem}.support-start-toggle{color:#334766;align-items:center;gap:.35rem;font-size:.88rem;display:inline-flex}.support-start-toggle input{width:auto}.detail-toggle{text-align:center}.status-chips{flex-wrap:wrap;gap:.35rem;display:flex}.status-chip{min-height:30px;padding:.2rem .45rem;font-size:.78rem}.modal-actions{position:static}.status-inline{align-items:center;gap:.45rem;margin-top:.3rem;display:flex}.status-inline span{color:#45546d;font-size:.88rem}.status-select{border-radius:.5rem;width:auto;min-width:150px;padding:.3rem .5rem;font-size:.9rem}.inline-items{color:#32435e;gap:.15rem;margin:.35rem 0 0;padding-left:1rem;font-size:.88rem;display:grid}@media (width<=640px){.layout{padding:.55rem}.grid{grid-template-columns:minmax(0,1fr);margin-top:.4rem}.section-heading{flex-direction:column;align-items:stretch}.title-row{justify-content:space-between}.summary-strip{gap:.2rem .5rem;font-size:.72rem}.summary-toggle{font-size:.68rem}.modal-backdrop{padding:.5rem}.modal{border-radius:1rem 1rem .7rem .7rem;width:100%;max-height:92vh}.modal .stack>button,.modal .row>button,.modal .order-list>button{width:100%}.modal .action-primary{min-height:40px}.new-order-actions{grid-template-columns:1fr}.section-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-list li{flex-direction:column;align-items:stretch}.order-admin-row-main{grid-template-rows:auto auto auto auto;grid-template-columns:1fr;gap:.08rem}.order-admin-customer,.order-admin-title,.order-admin-date,.order-admin-number{grid-column:1;justify-self:start}.order-admin-customer{grid-row:1}.order-admin-title{grid-row:2}.order-admin-date{grid-row:3}.order-admin-number{grid-row:4}.order-admin-customer{font-size:.88rem}.order-admin-title{font-size:.8rem}.admin-actions{justify-content:stretch}.modal .row{flex-direction:column;align-items:stretch}.modal .modal-actions{background:#fff;border-top:1px solid #e2e8f3;margin-top:.2rem;padding-top:.45rem;position:sticky;bottom:0}.modal .section-heading.compact{flex-direction:row;justify-content:space-between;align-items:center}.day-cell{height:72px;padding:.25rem}.calendar-grid:not(.week-mode){gap:.25rem}.calendar-grid:not(.week-mode) .day-cell{height:68px;padding:.25rem}.calendar-grid:not(.week-mode) .badge{display:none}.calendar-grid.week-mode{grid-template-columns:1fr;gap:.5rem}.weekdays.week-mode{display:none}.calendar-grid.week-mode .day-cell{border-radius:.8rem;height:84px;padding:.55rem}.calendar-grid.week-mode .day-cell.selected{box-shadow:0 0 0 2px #0f5bd833}.calendar-grid.week-mode .day-number{font-size:1.1rem}.badge{padding:.1rem .35rem;font-size:.7rem}.month-nav{justify-content:flex-start}.month-nav-main{justify-content:center;width:100%}.month-nav .month-toggle,.month-nav .month-today{text-align:center;flex:1}}@media (width>=860px){.grid>.card:first-child{grid-column:span 7}.grid>.card:nth-child(2){grid-column:span 5}.order-item-grid{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}}
