*{box-sizing:border-box}:root{--ui-zoom: 1;--color-primary: #0d7c6b;--color-primary-light: #0fa589;--color-primary-dark: #085c4e;--color-primary-subtle: #d4f0eb;--color-background: #f7f6f2;--color-card: #ffffff;--color-muted: #eeecea;--color-foreground: #1a2320;--color-muted-foreground: #8a9490;--color-border: #e4ded4;--color-sidebar-bg: #f0ede5;--radius: 8px;--shadow-sm: 0 1px 2px rgb(0 0 0 / 5%);--focus-ring: 0 0 0 2px rgb(13 124 107 / 35%);--font-body: "Manrope", "Plus Jakarta Sans", sans-serif;--font-heading: "Plus Jakarta Sans", "Manrope", sans-serif}#root{--app-vh: calc(100vh / var(--ui-zoom));zoom:var(--ui-zoom)}html,body,#root{min-height:100%;margin:0}html,body{padding:0}body{font-family:var(--font-body);color:var(--color-foreground);background:#f6f3ec;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.015em}::selection{color:#085c4e;background:#d4f0eb}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0d7c6b40;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#0d7c6b73}@media print{body *{visibility:hidden!important}.mat-print-area,.mat-print-area *{visibility:visible!important}.mat-print-area{position:absolute!important;inset:0 auto auto 0;width:100%;padding:24px!important;box-shadow:none!important}@page{margin:12mm}}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-primary)!important;outline-offset:2px}@keyframes popIn{0%{transform:translateY(-6px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes slideInRight{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:1100px){.detail-grid,.content-grid{grid-template-columns:1fr!important}}html.molaris-compact-viewport .molaris-mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;border:0;background:#1a232061;z-index:99}html.molaris-compact-viewport .calendar-mobile-agenda{display:flex;flex-direction:column;gap:12px;min-width:0}html.molaris-compact-viewport .calendar-week-grid,html.molaris-compact-viewport .jobs-desktop-table{display:none!important}html.molaris-compact-viewport .jobs-mobile-list{display:flex;flex-direction:column;gap:12px;min-width:0}html.molaris-compact-viewport .molaris-app-shell{height:100dvh!important}html.molaris-compact-viewport .molaris-main{padding:18px 14px 44px!important}html.molaris-compact-viewport .molaris-topbar{gap:8px!important;height:52px!important;padding:0 10px!important}html.molaris-compact-viewport .molaris-search-shortcut{display:none!important}html.molaris-compact-viewport .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}html.molaris-compact-viewport .content-grid,html.molaris-compact-viewport .settings-grid{grid-template-columns:1fr!important}html.molaris-compact-viewport .jobs-mobile-card{padding:14px;border:1px solid #e4ded4;border-radius:12px;background:#fff;box-shadow:0 1px 2px #1a23200a}html.molaris-compact-viewport .jobs-mobile-card-heading{display:flex;align-items:flex-start;gap:9px}html.molaris-compact-viewport .jobs-mobile-card-heading input{width:18px;height:18px;flex:0 0 auto;margin:2px 0 0}html.molaris-compact-viewport .jobs-mobile-title{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}html.molaris-compact-viewport .jobs-mobile-title strong{color:#1a2320;font:700 14px/1.3 Plus Jakarta Sans,sans-serif;overflow-wrap:anywhere}html.molaris-compact-viewport .jobs-mobile-title span{color:#8a9490;font-size:11px}html.molaris-compact-viewport .jobs-mobile-details{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:14px 0 12px}html.molaris-compact-viewport .jobs-mobile-details div{min-width:0}html.molaris-compact-viewport .jobs-mobile-details dt{color:#8a9490;font-size:10px}html.molaris-compact-viewport .jobs-mobile-details dd{margin:2px 0 0;color:#1a2320;font-size:12px;overflow-wrap:anywhere}html.molaris-compact-viewport .jobs-mobile-actions{display:flex;justify-content:flex-end;gap:5px;padding-top:8px;border-top:1px solid #f0ede5}html.molaris-compact-viewport .jobs-mobile-actions button{width:40px!important;height:40px!important;border:1px solid #ece7dc!important;border-radius:9px!important;background:#fff!important}html.molaris-compact-viewport .calendar-mobile-day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}html.molaris-compact-viewport .calendar-mobile-day{display:flex;min-width:0;min-height:58px;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 1px;border:1px solid #ece7dc;border-radius:9px;background:#fff;color:#5a6b66;font-family:Manrope,sans-serif;cursor:pointer}html.molaris-compact-viewport .calendar-mobile-day span{font-size:9px;text-transform:uppercase}html.molaris-compact-viewport .calendar-mobile-day strong{font-size:15px;color:#1a2320}html.molaris-compact-viewport .calendar-mobile-day small{min-height:10px;font-size:9px;color:#8a9490}html.molaris-compact-viewport .calendar-mobile-day.is-active{border-color:#0d7c6b;background:#eef7f4;box-shadow:inset 0 0 0 1px #0d7c6b}html.molaris-compact-viewport .calendar-mobile-day.is-today strong{color:#0d7c6b}html.molaris-compact-viewport .calendar-mobile-date-title{margin:4px 0 0;color:#1a2320;font:700 15px/1.3 Plus Jakarta Sans,sans-serif;text-transform:capitalize}html.molaris-compact-viewport .calendar-mobile-events{display:flex;flex-direction:column;gap:8px}html.molaris-compact-viewport .calendar-mobile-event{display:flex;width:100%;align-items:center;gap:10px;padding:11px 10px;border:0;border-left:4px solid;border-radius:8px;color:#1a2320;text-align:left;font-family:Manrope,sans-serif;cursor:pointer}html.molaris-compact-viewport .calendar-mobile-event.is-static{cursor:default}html.molaris-compact-viewport .calendar-mobile-event-time{flex:0 0 58px;color:#5a6b66;font-size:11px;font-weight:700}html.molaris-compact-viewport .calendar-mobile-event-copy{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}html.molaris-compact-viewport .calendar-mobile-event-copy strong{font-size:12px;overflow-wrap:anywhere}html.molaris-compact-viewport .calendar-mobile-event-copy small{color:#5a6b66;font-size:10.5px;overflow-wrap:anywhere}html.molaris-compact-viewport .calendar-mobile-event-type{flex:0 0 auto;max-width:74px;font-size:9px;text-align:right}html.molaris-compact-viewport .calendar-mobile-empty{margin:0;padding:18px 12px;border:1px dashed #d4cfc5;border-radius:8px;color:#8a9490;font-size:12px;text-align:center}html.molaris-compact-viewport .calendar-mobile-month-list{display:flex;flex-direction:column;gap:12px}html.molaris-compact-viewport .calendar-mobile-month-day{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid #f0ede5}html.molaris-compact-viewport .calendar-mobile-month-day h3{margin:0;color:#0d7c6b;font-size:12px;text-transform:capitalize}html.molaris-compact-viewport .calendar-mobile-month-day p{margin:0;color:#a0aaa6;font-size:11px}.jobs-mobile-list,.calendar-mobile-agenda{display:none}@media(max-width:720px){.molaris-app-shell{height:100dvh!important}.molaris-main{padding:18px 14px 44px!important}.molaris-topbar{gap:8px!important;height:52px!important;padding:0 10px!important}.molaris-search-shortcut{display:none!important}.settings-grid{grid-template-columns:1fr!important}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.content-grid{grid-template-columns:1fr!important}.jobs-desktop-table,.calendar-week-grid{display:none!important}.jobs-mobile-list,.calendar-mobile-agenda{display:flex;flex-direction:column;gap:12px;min-width:0}.jobs-mobile-card{padding:14px;border:1px solid #e4ded4;border-radius:12px;background:#fff;box-shadow:0 1px 2px #1a23200a}.jobs-mobile-card-heading{display:flex;align-items:flex-start;gap:9px}.jobs-mobile-card-heading input{width:18px;height:18px;flex:0 0 auto;margin:2px 0 0}.jobs-mobile-title{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.jobs-mobile-title strong{color:#1a2320;font:700 14px/1.3 Plus Jakarta Sans,sans-serif;overflow-wrap:anywhere}.jobs-mobile-title span{color:#8a9490;font-size:11px}.jobs-mobile-details{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:14px 0 12px}.jobs-mobile-details div{min-width:0}.jobs-mobile-details dt{color:#8a9490;font-size:10px}.jobs-mobile-details dd{margin:2px 0 0;color:#1a2320;font-size:12px;overflow-wrap:anywhere}.jobs-mobile-actions{display:flex;justify-content:flex-end;gap:5px;padding-top:8px;border-top:1px solid #f0ede5}.jobs-mobile-actions button{width:40px!important;height:40px!important;border:1px solid #ece7dc!important;border-radius:9px!important;background:#fff!important}.calendar-mobile-day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-mobile-day{display:flex;min-width:0;min-height:58px;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 1px;border:1px solid #ece7dc;border-radius:9px;background:#fff;color:#5a6b66;font-family:Manrope,sans-serif;cursor:pointer}.calendar-mobile-day span{font-size:9px;text-transform:uppercase}.calendar-mobile-day strong{font-size:15px;color:#1a2320}.calendar-mobile-day small{min-height:10px;font-size:9px;color:#8a9490}.calendar-mobile-day.is-active{border-color:#0d7c6b;background:#eef7f4;box-shadow:inset 0 0 0 1px #0d7c6b}.calendar-mobile-day.is-today strong{color:#0d7c6b}.calendar-mobile-date-title{margin:4px 0 0;color:#1a2320;font:700 15px/1.3 Plus Jakarta Sans,sans-serif;text-transform:capitalize}.calendar-mobile-events{display:flex;flex-direction:column;gap:8px}.calendar-mobile-event{display:flex;width:100%;align-items:center;gap:10px;padding:11px 10px;border:0;border-left:4px solid;border-radius:8px;color:#1a2320;text-align:left;font-family:Manrope,sans-serif;cursor:pointer}.calendar-mobile-event.is-static{cursor:default}.calendar-mobile-event-time{flex:0 0 58px;color:#5a6b66;font-size:11px;font-weight:700}.calendar-mobile-event-copy{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.calendar-mobile-event-copy strong{font-size:12px;overflow-wrap:anywhere}.calendar-mobile-event-copy small{color:#5a6b66;font-size:10.5px;overflow-wrap:anywhere}.calendar-mobile-event-type{flex:0 0 auto;max-width:74px;font-size:9px;text-align:right}.calendar-mobile-empty{margin:0;padding:18px 12px;border:1px dashed #d4cfc5;border-radius:8px;color:#8a9490;font-size:12px;text-align:center}.calendar-mobile-month-list{display:flex;flex-direction:column;gap:12px}.calendar-mobile-month-day{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid #f0ede5}.calendar-mobile-month-day h3{margin:0;color:#0d7c6b;font-size:12px;text-transform:capitalize}.calendar-mobile-month-day p{margin:0;color:#a0aaa6;font-size:11px}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:600px){.ir-root{margin:0 -8px}.ir-line{overflow-wrap:anywhere}}.molaris-feedback-card{position:fixed;right:16px;bottom:16px;z-index:9990;width:360px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:16px;background:#fff;border:1px solid #e4ded4;border-radius:14px;box-shadow:0 12px 40px #00000029;max-height:calc(100dvh - 32px);overflow-y:auto;overflow-x:hidden}@media(max-width:720px){.molaris-feedback-card{left:0;right:0;bottom:0;width:auto;max-width:none;border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));max-height:85dvh}}
