:root{color-scheme:dark light;--bg-app: #0B0D12;--bg-panel: #11141B;--bg-panel-2: #161A23;--bg-hover: #1D222D;--bg-active: #232937;--bg-overlay: rgba(8, 10, 14, .72);--border-default: #232937;--border-strong: #2F3645;--border-muted: #1A1F29;--text-1: #E6E9EF;--text-2: #B5BCC9;--text-3: #838B99;--text-4: #5B6371;--accent: #5B8DEF;--accent-strong: #4A7AD9;--accent-soft: rgba(91, 141, 239, .12);--accent-border: rgba(91, 141, 239, .36);--accent-glow: linear-gradient(135deg, #5B8DEF 0%, #9D73EF 100%);--ok: #2FB877;--warn: #E5A13D;--err: #E5556C;--info: #38B6CE;--text-status-info: #B8CDFA;--text-status-warn: #FCD34D;--text-status-danger: #FCA5A5;--text-status-success: #6EE7B7;--tone-blue-bg: #4A6BB0;--tone-blue-fg: #FFFFFF;--tone-blue-bd: #6E8BD0;--tone-amber-bg: #B07A2C;--tone-amber-fg: #FFFFFF;--tone-amber-bd: #D49043;--tone-violet-bg: #8056D0;--tone-violet-fg: #FFFFFF;--tone-violet-bd: #A47EE8;--tone-teal-bg: #2E7E91;--tone-teal-fg: #FFFFFF;--tone-teal-bd: #4AA0B5;--tone-green-bg: #2A8861;--tone-green-fg: #FFFFFF;--tone-green-bd: #44A47E;--tone-orange-bg: #C97A2A;--tone-orange-fg: #FFFFFF;--tone-orange-bd: #E59443;--tone-rose-bg: #B04050;--tone-rose-fg: #FFFFFF;--tone-rose-bd: #C8606E;--tone-slate-bg: #5A6270;--tone-slate-fg: #FFFFFF;--tone-slate-bd: #7A8294;--ff-sans: "Inter", "Hiragino Kaku Gothic ProN", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ff-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ff-num: "Inter", "Roboto Mono", ui-monospace, monospace;--fs-3xs: 9px;--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 14px;--fs-xl: 16px;--fs-h2: 18px;--fs-2xl: 20px;--fs-3xl: 24px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(0, 0, 0, .4);--sh-2: 0 6px 18px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .35);--sh-glow: 0 0 0 3px var(--accent-soft);--sidebar-w-full: 220px;--sidebar-w-collapsed: 56px;--header-h: 56px;--row-h: 36px;--btn-primary-bg: var(--accent);--btn-primary-bg-hover: var(--accent-strong);--btn-primary-fg: #FFFFFF;--btn-primary-bd: var(--accent);--btn-secondary-bg: transparent;--btn-secondary-bg-hover: var(--accent-soft);--btn-secondary-fg: var(--accent);--btn-secondary-bd: var(--accent-border);--btn-ghost-bg: transparent;--btn-ghost-bg-hover: var(--bg-hover);--btn-ghost-fg: var(--text-2);--btn-ghost-bd: transparent;--btn-danger-bg: var(--tone-rose-bg);--btn-danger-bg-hover: #C84A5C;--btn-danger-fg: var(--tone-rose-fg);--btn-danger-bd: var(--tone-rose-bd);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-std: cubic-bezier(.4, 0, .2, 1);--dur-quick: .12s;--dur-base: .2s;--dur-slow: .32s}select,input[type=date],input[type=time],input[type=datetime-local],input[type=month],input[type=week],input[type=color]{color-scheme:dark}@media (prefers-color-scheme: light){:root{--bg-app: #F6F7FA;--bg-panel: #FFFFFF;--bg-panel-2: #F2F4F8;--bg-hover: #EDF0F5;--bg-active: #E3E8F0;--bg-overlay: rgba(255, 255, 255, .72);--border-default: #E3E6EC;--border-strong: #CFD4DE;--border-muted: #EEF0F4;--text-1: #0F1522;--text-2: #374151;--text-3: #5B6371;--text-4: #8D95A4;--text-status-info: #1D4ED8;--text-status-warn: #B45309;--text-status-danger: #B91C1C;--text-status-success: #047857;--accent-soft: rgba(91, 141, 239, .1);--accent-border: rgba(91, 141, 239, .3);--sh-1: 0 1px 2px rgba(16, 24, 40, .06);--sh-2: 0 4px 12px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .04)}}html[data-theme=dark]{--bg-app: #0B0D12;--bg-panel: #11141B;--bg-panel-2: #161A23;--bg-hover: #1D222D;--bg-active: #232937;--border-default: #232937;--border-strong: #2F3645;--border-muted: #1A1F29;--text-1: #E6E9EF;--text-2: #B5BCC9;--text-3: #838B99;--text-4: #5B6371;--text-status-info: #B8CDFA;--text-status-warn: #FCD34D;--text-status-danger: #FCA5A5;--text-status-success: #6EE7B7}html[data-theme=light]{--bg-app: #F6F7FA;--bg-panel: #FFFFFF;--bg-panel-2: #F2F4F8;--bg-hover: #EDF0F5;--bg-active: #E3E8F0;--border-default: #E3E6EC;--border-strong: #CFD4DE;--border-muted: #EEF0F4;--text-1: #0F1522;--text-2: #374151;--text-3: #5B6371;--text-4: #8D95A4;--text-status-info: #1D4ED8;--text-status-warn: #B45309;--text-status-danger: #B91C1C;--text-status-success: #047857}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg-app);color:var(--text-1);font-family:var(--ff-sans);font-size:var(--fs-md);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:#5b8def73;color:#fff}::-moz-selection{background:#5b8def73;color:#fff}input,textarea,select{caret-color:var(--accent, #5B8DEF)}:focus{outline:none}:focus-visible{outline:2px solid rgba(91,141,239,.55);outline-offset:2px;border-radius:var(--r-xs);transition:outline-offset var(--dur-quick) var(--ease-out)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-soft),0 0 0 1px var(--accent-border);border-color:var(--accent-border, transparent)}.num,.tabular,table th,table td,input[type=number],input[type=text][inputmode=decimal]{font-variant-numeric:tabular-nums}*::-webkit-scrollbar{width:8px;height:8px;background:transparent}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#2f3645;border-radius:999px;border:1px solid transparent;background-clip:padding-box;transition:background var(--dur-quick) var(--ease-out)}*:hover::-webkit-scrollbar-thumb{background:#4a5266}*::-webkit-scrollbar-thumb:hover{background:#5b6478!important}*::-webkit-scrollbar-corner{background:transparent}*{scrollbar-color:#2F3645 transparent;scrollbar-width:thin}page-project{display:block;font-family:var(--ff-sans)}page-customer{display:block;font-family:var(--ff-sans)}page-staff{display:block;font-family:var(--ff-sans)}page-property{display:block;font-family:var(--ff-sans)}page-partner,page-vendor{display:block;font-family:var(--ff-sans)}page-todo{display:block;font-family:var(--ff-sans)}page-dashboard{display:block;font-family:var(--ff-sans)}page-estimate,page-invoice{display:block;font-family:var(--ff-sans)}page-analytics,page-funnel,page-calendar,page-gantt,page-map{display:block;font-family:var(--ff-sans)}page-help,page-admin-guide,page-runbook{display:block;font-family:var(--ff-sans)}button{transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .1s ease,box-shadow .16s ease}button:focus-visible,[role=button]:focus-visible{outline:none;box-shadow:0 0 0 3px #5b8def59}button:not(:disabled):active{transform:translateY(.5px) scale(.985)}@keyframes status-pulse{0%{transform:scale(1);box-shadow:0 0 #5b8def80}50%{transform:scale(1.06);box-shadow:0 0 0 8px #5b8def00}to{transform:scale(1);box-shadow:0 0 #5b8def00}}.pulse-on-change{animation:status-pulse .6s ease-out}@keyframes row-fade-slide-out{0%{opacity:1;transform:translate(0) scaleY(1);max-height:200px}60%{opacity:0;transform:translate(40px) scaleY(1)}to{opacity:0;transform:translate(40px) scaleY(0);max-height:0;padding-top:0;padding-bottom:0;border:none}}.fade-slide-out{animation:row-fade-slide-out .32s ease-in forwards;overflow:hidden;pointer-events:none}@keyframes save-success-morph{0%{background-color:var(--ok, #2FB877);transform:scale(1)}18%{transform:scale(1.1);box-shadow:0 0 0 4px #2fb87766}45%{transform:scale(1.04);box-shadow:0 0 0 10px #2fb87726}to{transform:scale(1);box-shadow:0 0 #2fb87700}}.save-success{animation:save-success-morph .9s cubic-bezier(.16,1,.3,1);background-color:var(--ok, #2FB877)!important;border-color:var(--ok, #2FB877)!important;color:#fff!important;position:relative;overflow:hidden}.save-success:after{content:"";position:absolute;left:50%;top:50%;width:20px;height:20px;transform:translate(-50%,-50%) scale(.4);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");background-repeat:no-repeat;background-position:center;background-size:contain;opacity:0;pointer-events:none;animation:save-success-check .9s cubic-bezier(.16,1,.3,1)}@keyframes save-success-check{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}60%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.3)}}@keyframes save-success-ripple{0%{background:#2fb8771a}60%{background:#2fb8770a}to{background:transparent}}.save-success-ripple{animation:save-success-ripple 1.2s ease-out}@keyframes fx-particle-fly{0%{transform:translate(-50%,-50%) rotate(0) scale(.6);opacity:0}20%{opacity:1;transform:translate(calc(-50% + var(--fx-dx) * .3),calc(-50% + var(--fx-dy) * .3)) rotate(calc(var(--fx-rot) * .3)) scale(1.1)}to{transform:translate(calc(-50% + var(--fx-dx)),calc(-50% + var(--fx-dy))) rotate(var(--fx-rot)) scale(.7);opacity:0}}@keyframes fx-fly-icon{0%{transform:translate(-50%,-50%) rotate(0) scale(.5);opacity:0}15%{transform:translate(-50%,-50%) rotate(15deg) scale(1.3);opacity:1}to{transform:translate(calc(-50% + var(--fx-to-x)),calc(-50% + var(--fx-to-y))) rotate(var(--fx-rot)) scale(.6);opacity:0}}.fx-rotate-once{animation:fx-rotate-once var(--fx-rotate-duration, .6s) cubic-bezier(.4,0,.2,1)}@keyframes fx-rotate-once{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fx-save-pulse-breath{0%,to{box-shadow:0 0 #5b8def8c,0 4px 12px #5b8def4d}50%{box-shadow:0 0 0 8px #5b8def00,0 4px 12px #5b8def4d}}button.save-pulse:not(:hover):not(:active):not(:disabled){animation:fx-save-pulse-breath 2.2s ease-in-out infinite}@keyframes fx-glow-ring-cycle{0%{box-shadow:0 0 #5b8def8c,0 0 #9d73ef00}35%{box-shadow:0 0 0 4px #5b8def4d,0 0 0 10px #9d73ef2e}70%{box-shadow:0 0 0 6px #5eead433,0 0 0 14px #5eead40f}to{box-shadow:0 0 #5b8def00,0 0 #5eead400}}.fx-glow-ring{position:relative;z-index:1;border-radius:8px;animation:fx-glow-ring-cycle 1.4s ease-out}@keyframes fx-wf-lightup{0%{transform:scale(1);box-shadow:0 0 #5b8def99;filter:brightness(1)}30%{transform:scale(1.25);box-shadow:0 0 0 12px #5b8def00;filter:brightness(1.4)}60%{transform:scale(1.1);box-shadow:0 0 0 16px #5b8def00;filter:brightness(1.2)}to{transform:scale(1);box-shadow:0 0 #5b8def00;filter:brightness(1)}}.fx-wf-lightup{animation:fx-wf-lightup .9s cubic-bezier(.2,.7,.3,1)}@media (prefers-reduced-motion: reduce){.fx-particle,.fx-fly-icon,.fx-rotate-once,.fx-glow-ring,.fx-wf-lightup,button.save-pulse{animation:none!important}}.h-primary{transition:transform .14s ease,box-shadow .2s ease,filter .14s ease}.h-primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 6px 20px #5b8def59}#sidebar-nav .nav-item{position:relative;overflow:hidden}#sidebar-nav .nav-item:before{content:"";position:absolute;left:-8px;top:0;bottom:0;width:3px;background:var(--accent, #5B8DEF);border-radius:0 2px 2px 0;opacity:0;transition:opacity .18s ease,left .18s ease}#sidebar-nav .nav-item.active:before{opacity:1;left:0}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}html.mobile-mode,html.mobile-mode body{height:100dvh;overscroll-behavior:none;touch-action:manipulation}html.mobile-mode *{-webkit-tap-highlight-color:transparent}html.mobile-mode button,html.mobile-mode .nav-item,html.mobile-mode select,html.mobile-mode [role=button]{min-height:44px}html.mobile-mode input:not([type=checkbox]):not([type=radio]),html.mobile-mode textarea,html.mobile-mode select{font-size:max(16px,1em)}html.mobile-mode #app-shell{grid-template-columns:0 1fr;grid-template-rows:calc(var(--header-h, 56px) + max(var(--safe-top),8px)) 1fr;height:100dvh}html.mobile-mode #app-sidebar{display:flex!important;position:fixed;top:0;left:0;height:100dvh;width:min(280px,80vw);z-index:200;transform:translate(-100%);transition:transform .22s ease;border-right:1px solid var(--border-default, #232937);box-shadow:4px 0 16px #00000080}html.mobile-mode #app-shell.sidebar-open #app-sidebar{transform:translate(0)}html.mobile-mode #app-shell.sidebar-open:before{content:"";position:fixed;inset:0;background:#0000008c;z-index:199;pointer-events:auto;animation:rexys-fade-in .18s ease}@keyframes rexys-fade-in{0%{opacity:0}to{opacity:1}}html.mobile-mode #app-header{padding-top:max(var(--safe-top),8px);padding-left:max(12px,var(--safe-left));padding-right:max(12px,var(--safe-right));height:calc(48px + max(var(--safe-top),8px));gap:10px}html.mobile-mode #app-shell{grid-template-rows:calc(48px + max(var(--safe-top),8px)) 1fr}html.mobile-mode #app-main{padding-bottom:var(--safe-bottom)}html.mobile-mode .header-clock,html.mobile-mode .header-user .user-text{display:none}html.mobile-mode .burger-btn{width:40px!important;height:40px!important;min-width:40px;background:transparent!important;border:none!important;border-radius:50%!important;color:var(--text-2, #B5BCC9)!important;font-size:19px;line-height:1;position:relative;z-index:6;flex-shrink:0;transition:background .12s ease-out,color .12s ease-out,transform .12s ease-out}html.mobile-mode .burger-btn:hover,html.mobile-mode .burger-btn:active{background:#ffffff0f!important;color:var(--text-1, #E6E9EF)!important;transform:scale(.94)}html.mobile-mode .breadcrumb{flex-shrink:0;gap:10px}html.mobile-mode .bc-text{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding-left:18px;font-size:15px;font-weight:700;line-height:1.15;color:var(--text-1, #E6E9EF);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 140px)}html.mobile-mode .bc-text:before{content:"REXYS CRM";display:block;font-size:var(--fs-sm, 12px);font-weight:700;letter-spacing:.18em;line-height:1;background:linear-gradient(135deg,#5eead4,#3b82f6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;margin-bottom:2px;position:static;width:auto;height:auto;border-radius:0;transform:none;left:auto;top:auto}html.mobile-mode .bc-text:after{content:"";position:absolute;left:0;top:5px;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#5eead4,#3b82f6);box-shadow:0 0 8px #5eead473,0 0 0 2px #5eead41a}html.mobile-mode .user-avatar{position:relative}html.mobile-mode .user-avatar:after{content:"";position:absolute;top:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background:#2fb877;border:2px solid var(--bg-panel, #11141B);box-shadow:0 0 6px #2fb87799;animation:rexys-sync-pulse 3s ease-in-out infinite}@keyframes rexys-sync-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.92)}}html.mobile-mode #new-project-btn{padding:0 10px;font-size:var(--fs-sm, 12px);min-height:36px}html.mobile-mode .header-user{gap:4px;padding:0}html.mobile-mode .user-avatar{width:32px;height:32px}@media (display-mode: standalone){:root{--is-pwa-standalone: 1}}html.mobile-mode panel-project-360,html.mobile-mode panel-project-cockpit{display:none!important}html:not(.mobile-mode) drawer-project-mobile-view{display:none!important}html.mobile-mode drawer-project-edit{display:none!important}
