/* Smarto field service 0.9 · preserve the supervision design and improve daily work. */
:root{--business-teal:#195d58;--business-soft:#e9f2ef;--business-gold:#e3b56a}
.business-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0 26px}.business-welcome h2{font-size:clamp(24px,2.6vw,34px);letter-spacing:-1.1px;margin:10px 0}.business-welcome p{font-size:13px;color:#627a7b;text-transform:capitalize;margin:0}.business-welcome .primary{background:var(--business-teal);border-color:var(--business-teal)}.business-welcome .actions{justify-content:flex-end}.business-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:26px}.business-kpi{position:relative;padding:22px;background:#fff;border:1px solid #e1e8e6;border-radius:15px;min-width:0}.business-kpi span{display:block;font-size:12px;color:#5c7479;font-weight:600}.business-kpi strong{display:block;font-size:36px;letter-spacing:-1.5px;line-height:1.4;margin:9px 0}.business-kpi small{display:block;font-size:11px;color:#687e83}.business-kpi .icon{position:absolute;right:18px;top:18px;color:#48776b;width:20px;height:20px}.business-kpi:first-child{background:var(--navy);color:#fff;border-color:var(--navy)}.business-kpi:first-child span,.business-kpi:first-child small{color:#bed2d2}.business-kpi:first-child .icon{color:var(--business-gold)}.business-home-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;align-items:start}.business-maintenance{margin-top:24px}.business-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:15px 0 22px}.business-toolbar>label{margin:0;flex:1;min-width:170px}.business-toolbar>label:first-child{flex:2}.business-toolbar input,.business-toolbar select{margin:0}.business-toolbar>.primary{margin-left:auto}.business-client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.business-client-card,.business-link-card{background:#fff;border:1px solid #e0e8e5;border-radius:14px;padding:22px;min-width:0}.business-client-card h3{margin:0;font-size:16px}.business-client-card p,.business-link-card p{font-size:13px;color:#637a7f;line-height:1.65;overflow-wrap:anywhere}.business-client-card small,.business-link-card small{display:block;color:#637a7f;font-size:12px;margin:12px 0}.business-client-card>button,.business-link-card>button{margin-top:8px}.business-link-card{background:#f8faf9}.business-link-card .business-badge{display:block;width:fit-content;margin:12px 0}.business-order-card{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid #e8eeeb;min-width:0;flex-wrap:wrap}.business-order-card:last-child{border-bottom:0}.business-order-date{width:56px;flex-shrink:0;align-self:flex-start;padding-top:1px}.business-order-date strong{display:block;font-size:15px;color:#275b55}.business-order-date span{display:block;color:#718685;font-size:11px;margin-top:6px}.business-order-body{flex:1;min-width:140px}.business-order-body strong{font-size:13px;line-height:1.5}.business-order-body p{font-size:12px;color:#657d83;margin:6px 0;line-height:1.6}.business-order-body small{color:#657d83;font-size:11px}.business-order-card>button{font-size:11px;padding:8px 11px}.business-badge{display:inline-flex;font-size:10px;line-height:1.45;padding:5px 9px;border-radius:6px;background:#edf3f1;color:#426b61;font-weight:650;white-space:nowrap}.state-planned{background:#f0f1e9;color:#6c7044}.state-in_progress{background:#e5f0f9;color:#306382}.state-completed{background:#e8f3ed;color:#2e704f}.state-cancelled{background:#f0eeee;color:#7a7070}.business-urgent{font-size:10px;font-weight:700;color:#a44b36;background:#fff0e7;border-radius:6px;padding:5px 8px}.business-empty{text-align:center;padding:38px 16px;color:#758b8a}.business-empty>.icon{width:30px;height:30px;color:#799b90}.business-empty h3{font-size:15px;color:#3e605a;margin:18px 0 8px}.business-empty p{font-size:12px;line-height:1.8;max-width:350px;margin:0 auto 18px}.business-empty button{font-size:12px}.business-due{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid #e8eeeb}.business-due strong{font-size:13px;flex:1}.business-due span{font-size:12px;color:#6f7971}.business-calendar-scroll{overflow:auto;border:1px solid #e0e7e3;border-radius:14px;background:#fff}.business-calendar{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:940px;min-height:350px}.business-calendar-day{padding:12px 10px;border-right:1px solid #e6ece8;min-width:0}.business-calendar-day:last-child{border-right:0}.business-calendar-day>h3{font-size:12px;margin:3px 0 22px;color:#395a53;text-transform:capitalize}.business-calendar-day>p{font-size:11px}.business-calendar-event{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:12px 9px;margin-bottom:12px;border:1px solid #dce6d9;border-left:3px solid #709783;border-radius:9px;width:100%;white-space:normal}.business-calendar-event strong{font-size:11px;line-height:1.6;overflow-wrap:anywhere}.business-calendar-event small,.business-calendar-event>span{font-size:10px}.business-calendar-event .business-badge{padding:3px 5px;white-space:normal}.business-connection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0}.business-connection-grid>div{border:1px solid #e1e9e5;background:#f8faf9;padding:20px;border-radius:12px}.business-connection-grid span{font-size:11px;color:#648279}.business-connection-grid strong{display:block;font-size:13px;margin:12px 0;line-height:1.6}.business-connection-grid p{font-size:12px;color:#6a807c;line-height:1.8;margin:0}.business-help{font-size:13px;margin-top:28px;line-height:1.8}.business-help summary{cursor:pointer;font-weight:650}.business-global-search{margin:0;min-width:160px;max-width:230px;flex:1}.business-global-search input{margin:0;background:#fff;padding:10px 12px;font-size:12px}#businessDialog{width:min(860px,94vw);max-height:92dvh;padding:28px;border-radius:18px;border:1px solid #dce6e2;color:var(--ink);overflow:auto}#businessDialog::backdrop{background:#0b292a88;backdrop-filter:blur(3px)}#businessDialog>.panel-heading h2{font-size:21px;line-height:1.5}#businessDialog form{max-width:none}#businessDialog form>button{margin-top:14px}#businessDialog>.business-action-error{position:sticky;top:0;z-index:3}#businessDialog .business-order-meta p{font-size:13px;color:#607772;line-height:1.8}.business-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.business-form-grid label{margin-bottom:6px}.business-detail-section{padding:22px 0;border-top:1px solid #dfe8e3;margin-top:22px}.business-detail-section h3{font-size:16px;margin:0 0 15px}.business-detail-section h4{font-size:13px;margin:16px 0 6px}.business-detail-section p{font-size:13px;line-height:1.8}.business-detail-section>form{padding:12px 0}.business-line{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #e6ede8;font-size:13px}.business-line>span{overflow-wrap:anywhere}.business-line button{font-size:11px}.business-estimate{border:1px solid #d7e5de;background:#f1f7f3;border-radius:12px;padding:20px;margin:24px 0;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.business-estimate span{font-size:12px;flex:1}.business-estimate strong{font-size:27px;letter-spacing:-1px}.business-estimate small{flex-basis:100%;font-size:12px;color:#617b6f}.form-error{padding:13px 16px;border:1px solid #e6b6a8;background:#fff3ef;color:#973b2a;border-radius:10px;font-size:13px;line-height:1.6}.business-print{display:inline-flex;align-items:center;font-size:12px;padding:10px 0}.business-prewrap{white-space:pre-wrap}#businessDialog>button{margin:5px;max-width:100%;overflow-wrap:anywhere}#businessDialog .actions{flex-wrap:wrap}
@media(min-width:761px){aside nav{margin-top:20px;gap:2px}aside nav button{min-height:37px;padding:9px 12px}.nav-label{padding-top:14px}aside{padding-top:26px}.sidebar-foot{margin-top:20px}}
@media(max-width:1100px){.business-home-grid{grid-template-columns:1fr}.business-welcome{align-items:flex-start}.business-welcome .actions{max-width:240px}.business-kpis{gap:10px}.business-kpi{padding:18px}.business-global-search{max-width:200px}}
@media(max-width:760px){.business-kpis{grid-template-columns:1fr 1fr}.business-kpi strong{font-size:30px}.business-welcome{display:block;padding-top:5px}.business-welcome .actions{justify-content:flex-start;max-width:none;margin-top:20px}.business-client-grid,.business-connection-grid{grid-template-columns:1fr}.business-calendar{min-width:980px}.business-toolbar{gap:10px}.business-toolbar>.primary{margin-left:0}.business-form-grid{grid-template-columns:1fr;gap:0}#businessDialog{padding:20px}.business-global-search{width:100%;max-width:none;flex-basis:100%}.business-order-card{gap:10px}.business-order-card>.business-badge{margin-left:68px}.business-estimate{padding:16px}.business-estimate strong{font-size:24px}.business-client-card{padding:18px}.business-kpi small{font-size:10px}.business-kpi .icon{width:17px;height:17px}}
/* 0.9.1: clickable hourly calendar, quarter-hour drops and overlapping teams. */
.business-calendar-scroll{max-height:690px;overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff}.business-calendar{grid-template-columns:58px repeat(7,minmax(116px,1fr));min-width:900px;align-items:start}.planning-timed-day{padding:0;position:relative}.planning-day-title{height:46px;position:sticky;top:0;z-index:6;background:#f8faf9;border-bottom:1px solid #dce6df;margin:0!important;padding:15px 7px!important;text-align:center;font-size:11px!important;color:#335c51!important;box-sizing:border-box}.planning-day-title.planning-today{background:#e5f0e9;color:#155647!important;box-shadow:inset 0 3px #34755d}.planning-hours{position:sticky;left:0;z-index:7;background:#f6f9f7;border-right:1px solid #dce6df}.planning-hours .planning-day-title{font-size:9px!important;color:#6c8175!important}.planning-hour-label{height:48px;box-sizing:border-box;border-top:1px solid #e1e8e2;font-size:10px;padding:7px 6px;color:#617b6b;text-align:center}.planning-day-grid{position:relative;height:1152px}.planning-slot{display:block;width:100%;height:48px;border:0;border-top:1px solid #e4eae6;border-radius:0;padding:0;background:linear-gradient(to bottom,transparent 24%,#eef3ef 25%,transparent 26%,transparent 49%,#eef3ef 50%,transparent 51%,transparent 74%,#eef3ef 75%,transparent 76%);transition:none;color:#42836a}.planning-slot:hover{background-color:#edf6f0;border-color:#d9e8dc}.planning-slot-plus{opacity:0;font-size:18px;font-weight:400}.planning-slot:hover .planning-slot-plus,.planning-slot:focus-visible .planning-slot-plus{opacity:1}.planning-slot:disabled{opacity:1;cursor:default}.planning-slot:disabled .planning-slot-plus{display:none}.planning-slot:focus-visible{outline:2px solid #4e9376;outline-offset:-3px}.planning-slot.planning-drop-target{background-color:#d7eddd;box-shadow:inset 0 0 0 2px #39835b}.business-calendar-event.planning-positioned{position:absolute;z-index:2;margin:0;padding:5px 5px 4px;gap:2px;min-height:0;max-width:none;display:flex;align-items:flex-start;justify-content:flex-start;border-radius:5px;overflow:hidden;box-sizing:border-box;box-shadow:0 1px 2px #18483112}.planning-positioned strong{font-size:10px;line-height:1.3;max-width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.planning-positioned small,.planning-positioned>span{font-size:9px;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-compact>span{display:none}.planning-draggable{cursor:grab}.planning-draggable:active{cursor:grabbing}.planning-dragging{opacity:.45}.planning-feedback{font-size:12px;color:#2a6c4d;padding:12px 14px;border:1px solid #d8e8dc;background:#f1f8f3;border-radius:8px;line-height:1.6}#planningFeedback:empty{display:none}#businessUnplanned .planning-draggable{border-left:3px solid #7da98c;padding-left:15px}.business-calendar-event.state-completed{opacity:.75}
@media(max-width:760px){.business-calendar-scroll{max-height:65dvh}.business-calendar{min-width:950px}.planning-positioned strong{font-size:10px}}

.planning-slot.planning-drop-target .planning-slot-plus{opacity:0}.planning-slot.planning-drop-target::after{content:attr(data-drop-time);font-size:11px;font-weight:700;color:#205d3b}

.planning-draggable{touch-action:none;user-select:none;-webkit-user-select:none}.planning-drag-ghost{position:fixed;z-index:10000;pointer-events:none;max-width:250px;padding:10px 14px;border-radius:8px;background:#1c5c48;color:#fff;box-shadow:0 4px 18px #12382b40;font-size:12px}.planning-dragging{opacity:.5}
