:root{--color-primary:#0663f6;--color-primary-dark:#0a4fc4;--color-primary-light:#e8f0ff;--color-accent:#00a8a8;--color-bg:#f2f5fb;--color-surface:#fff;--color-border:#dbe2ee;--color-input-bg:#fff;--color-input-border:#7a86a3;--color-input-border-hover:#56627f;--color-text:#0b1a45;--color-text-muted:#56627f;--color-danger:#c0392b;--color-high:#e0792a;--color-high-bg:#fdf0e3;--gradient-header:linear-gradient(135deg, #0a4fc4 0%, #0663f6 55%, #2f86ff 100%);--gradient-accent:linear-gradient(135deg, #0663f6 0%, #2f86ff 100%);--gradient-surface:linear-gradient(160deg, #fff 0%, #f6f9ff 100%);--glow-accent:0 0 0 1px #0663f62e, 0 8px 24px #0663f629;--shadow-card:0 2px 6px #1428260d, 0 8px 24px #1428260d;--shadow-card-hover:0 4px 10px #14282612, 0 14px 32px #1428261a;--ease-out:cubic-bezier(.16, 1, .3, 1);--brand-navy:#0b1a45;--brand-blue:#0663f6;--brand-teal:#00a8a8;--gradient-create:linear-gradient(135deg, #009a9a 0%, #12b8ae 100%);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;font-family:system-ui,Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Meiryo,sans-serif;font-size:16px;line-height:1.6}*{box-sizing:border-box}html,body{background:var(--color-bg);height:100%;margin:0}#root{background:radial-gradient(circle at 15% 0%, #0663f60f 0%, transparent 45%), radial-gradient(circle at 100% 100%, #00a8a80f 0%, transparent 50%), var(--color-bg);justify-content:center;height:100%;display:flex}button,input,select,textarea{font-family:inherit}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #21d6c280}50%{box-shadow:0 0 0 6px #21d6c200}}.app-shell{background:var(--color-bg);flex-direction:column;width:100%;max-width:480px;height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 0 1px #1428260f,0 24px 60px #1428261f}@media (width>=720px){.app-shell{max-width:840px}}.skip-link{z-index:100;background:var(--color-surface);color:var(--color-primary-dark);box-shadow:var(--shadow-card-hover);transition:top .15s var(--ease-out);border-radius:0 0 10px 10px;padding:10px 16px;font-size:15px;font-weight:700;text-decoration:none;position:absolute;top:-60px;left:8px}.skip-link:focus-visible{top:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.app-switcher{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:9;align-items:center;gap:4px;padding:4px 8px;display:flex;position:sticky;top:0}.app-switcher__home{min-width:40px;height:44px;color:var(--color-text-muted);background:var(--color-bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:19px;text-decoration:none;display:flex}.app-switcher__home:hover{background:var(--color-primary-light)}.app-switcher__scroll{scrollbar-width:none;flex:1;gap:4px;display:flex;overflow-x:auto}.app-switcher__scroll::-webkit-scrollbar{display:none}.app-switcher__tab{white-space:nowrap;min-height:44px;color:var(--color-text-muted);border-radius:10px;flex:1 0 auto;justify-content:center;align-items:center;gap:4px;padding:4px 10px;font-size:15px;font-weight:600;text-decoration:none;transition:background .18s,color .18s;display:flex}.app-switcher__tab:hover{background:var(--color-bg);color:var(--color-primary-dark)}.app-switcher__tab--active{background:var(--gradient-accent);color:#fff;box-shadow:0 2px 8px #0663f647}.app-switcher__icon{font-size:18px}@media (width<=419px){.app-switcher__tab:not(.app-switcher__tab--active){flex:none;padding:4px 12px}.app-switcher__tab:not(.app-switcher__tab--active) .app-switcher__label{display:none}.app-switcher__tab .app-switcher__icon{font-size:21px}}.app-header{background:var(--gradient-header);color:#fff;z-index:10;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0;box-shadow:inset 0 1px #ffffff14,0 6px 18px #143c372e}.app-header__left{align-items:center;gap:10px;display:flex}.app-header__brand{color:#fff;letter-spacing:.04em;flex-shrink:0;align-items:center;min-height:32px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.app-header__back{color:#fff;width:28px;height:28px;transition:background .2s var(--ease-out), transform .2s var(--ease-out);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;text-decoration:none;display:flex}.app-header__back:hover{background:#ffffff38;transform:translate(-2px)}.app-header__title{letter-spacing:.02em;font-size:18px;font-weight:700}.app-header__user{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff14;border:1px solid #ffffff24;border-radius:12px;align-items:center;gap:10px;padding:6px 10px 6px 14px;display:flex}.app-header__user-info{align-items:center;gap:10px;display:flex}.app-header__office{color:#ffffffa6;letter-spacing:.02em;white-space:nowrap;font-size:14px}.app-header__divider{background:#ffffff40;flex-shrink:0;width:1px;height:14px}.app-header__name{color:#fff;letter-spacing:.01em;white-space:nowrap;font-size:15px;font-weight:600}.app-header__role{letter-spacing:.04em;white-space:nowrap;color:#ffffffe6;background:#ffffff29;border:1px solid #ffffff38;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;line-height:1.6}.app-header__logout{color:#ffffffd9;cursor:pointer;letter-spacing:.02em;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff38;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:5px 11px;font-size:14px;font-weight:500;transition:background .18s,border-color .18s,color .18s;display:flex}@media (width<=479px){.app-header{padding:10px 12px}.app-header__office,.app-header__divider,.app-header__logout span:last-child{display:none}}.app-content{animation:fade-in-up .35s var(--ease-out);flex:1;padding:12px 14px 90px;overflow-y:auto}.page__title{margin:4px 0;font-size:21px;font-weight:700}.app-content--no-nav{padding-bottom:16px}@media (width>=720px){.app-menu{grid-template-columns:repeat(2,1fr);display:grid}}.app-menu__card{background:var(--gradient-surface);border:1px solid var(--color-border);color:var(--color-text);box-shadow:var(--shadow-card);transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out), border-color .25s var(--ease-out);animation:fade-in-up .4s var(--ease-out) backwards;border-radius:16px;align-items:center;gap:14px;padding:16px;text-decoration:none;display:flex}.app-menu__card:nth-child(2){animation-delay:60ms}.app-menu__card:hover{box-shadow:var(--shadow-card-hover), var(--glow-accent);border-color:#0663f659;transform:translateY(-3px)}.app-menu__icon{background:var(--gradient-accent);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:26px;display:flex;box-shadow:inset 0 1px #ffffff4d,0 4px 12px #0663f640}.app-menu__body{flex:1}.app-menu__name{margin-bottom:4px;font-size:17px;font-weight:700}.app-menu__arrow{color:var(--color-text-muted);transition:transform .25s var(--ease-out), color .25s var(--ease-out);font-size:22px}.app-menu__card:hover .app-menu__arrow{color:var(--color-primary);transform:translate(3px)}.page__subtitle{color:var(--color-text-muted);margin:0 0 12px;font-size:15px}.bottom-nav{background:var(--color-surface);border-top:1px solid var(--color-border);z-index:10;display:flex;position:sticky;bottom:0;box-shadow:0 -6px 16px #1428260d}.bottom-nav__item{min-height:56px;color:var(--color-text-muted);transition:color .2s var(--ease-out);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:8px 0 10px;font-size:13px;text-decoration:none;display:flex;position:relative}.bottom-nav__icon{transition:transform .25s var(--ease-out);font-size:22px}.bottom-nav__item--active{color:var(--color-primary-dark);font-weight:700}.bottom-nav__item--active:before{content:"";background:var(--gradient-accent);opacity:.14;z-index:-1;border-radius:10px;width:32px;height:32px;position:absolute;top:2px}.bottom-nav__item--active .bottom-nav__icon{transform:translateY(-2px)scale(1.08)}.card{background:var(--gradient-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);transition:box-shadow .25s var(--ease-out);border-radius:14px;margin-bottom:12px;padding:12px}.card--alert{background:linear-gradient(160deg, #fff7ef 0%, var(--color-high-bg) 100%);box-shadow:var(--shadow-card), 0 0 0 1px #e0792a0f;border-color:#e0792a59}.card__header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.card__heading{font-size:16px;font-weight:700}.badge{border-radius:999px;padding:2px 8px;font-size:13px;font-weight:700;display:inline-block}.badge--high{background:linear-gradient(135deg, #f0934b 0%, var(--color-high) 100%);color:#fff;box-shadow:0 2px 6px #e0792a59}.badge--small{vertical-align:middle;margin-left:6px;padding:1px 6px;font-size:12px}.badge--type{background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border);font-size:13px}.badge--geo{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7;font-size:13px}.alert-list{flex-direction:column;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.alert-list__item{transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);background:#fff;border:1px solid #f0d3b8;border-radius:10px;padding:8px 10px;box-shadow:0 1px 4px #e0792a14}.alert-list__item:hover{transform:translateY(-1px);box-shadow:0 4px 12px #e0792a29}.alert-list__name{font-size:16px;font-weight:700}.alert-list__note{color:var(--color-text-muted);margin-top:2px;font-size:14px}.staff-block{margin-bottom:12px}.staff-block:last-child{margin-bottom:0}.staff-block__name{border-bottom:1px solid var(--color-border);margin-bottom:6px;padding-bottom:4px;font-size:15px;font-weight:700}.staff-block__empty{color:var(--color-text-muted);padding:6px 0;font-size:14px}.schedule-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.schedule-list__item{background:var(--color-bg);transition:border-color .2s var(--ease-out), background .2s var(--ease-out);border:1px solid #0000;border-radius:10px;gap:10px;padding:8px;display:flex}.schedule-list__item:hover{background:#fff;border-color:#0663f62e}.schedule-list__time{color:var(--color-primary-dark);white-space:nowrap;font-size:14px;font-weight:700}.schedule-list__name{font-size:15px;font-weight:700}.schedule-list__memo,.schedule-list__status{color:var(--color-text-muted);margin-top:2px;font-size:13px}.schedule-list--cards{gap:10px;margin-top:12px}.schedule-card{background:var(--gradient-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:14px;padding:12px}.schedule-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.schedule-card__top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.schedule-card__date{color:var(--color-primary-dark);font-size:14px;font-weight:700}.schedule-card__name{font-size:17px;font-weight:700}.schedule-card__address{color:var(--color-text-muted);margin-top:2px;font-size:14px}.schedule-card__memo{color:var(--color-text-muted);background:var(--color-bg);border-radius:6px;margin-top:6px;padding:6px 8px;font-size:14px}.schedule-card__actions{gap:8px;margin-top:10px;display:flex}.status-pill{color:var(--color-primary-dark);background:#e3eef0;border-radius:999px;padding:2px 8px;font-size:13px;font-weight:700}.status-pill--completed{color:#1e7c34;background:#e6f4ea}.btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:transform .15s var(--ease-out), box-shadow .2s var(--ease-out), background .2s var(--ease-out), border-color .2s var(--ease-out);border-radius:10px;padding:8px 14px;font-size:15px;font-weight:700}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #14282614}.btn:active{transform:translateY(0)}.btn--primary:hover{box-shadow:0 6px 18px #0663f661}.btn--danger{color:var(--color-danger);border-color:var(--color-danger);background:#fff}.btn--block{width:100%}.btn--sm{padding:6px 10px;font-size:14px}.btn:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.modal-overlay{-webkit-backdrop-filter:blur(3px);z-index:200;animation:fade-in .18s var(--ease-out);background:#0f1e1c85;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);width:100%;max-width:480px;animation:modal-pop .22s var(--ease-out);border-radius:20px;flex-direction:column;max-height:calc(100vh - 32px);display:flex;overflow:hidden;box-shadow:0 12px 48px #14282647}@keyframes modal-pop{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal__header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:22px 24px 16px;display:flex}.modal__title{margin:0;font-size:19px;font-weight:700}.modal__close{background:var(--color-bg);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;transition:background .15s;display:flex}.modal__close:hover{background:var(--color-border)}.modal__body{flex:1;padding:20px 24px;overflow-y:auto}.modal__footer{border-top:1px solid var(--color-border);flex-shrink:0;gap:10px;padding:16px 24px;display:flex}.modal__message{padding:24px 24px 14px;font-size:16px;line-height:1.7}.modal__actions{justify-content:flex-end;gap:10px;padding:0 24px 24px;display:flex}.form{flex-direction:column;gap:10px;display:flex}.form__field{color:var(--color-text-muted);flex-direction:column;flex:1;gap:4px;font-size:14px;display:flex}.required{color:#e53e3e;margin-left:2px}.form__hint{color:var(--color-text-muted);margin:2px 0 0;font-size:14px}.alert{border-radius:8px;padding:10px 14px;font-size:15px;line-height:1.5}.alert--warn{color:#92400e;background:#fff8e1;border:1px solid #f59e0b}@media (prefers-color-scheme:dark){.alert--warn{color:#fcd34d;background:#f59e0b26;border-color:#f59e0b}}.form__field input,.form__field select,.form__field textarea{border:1px solid var(--color-input-border);color:var(--color-text);background:var(--color-input-bg);transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:8px;padding:8px 10px;font-size:16px}.form__field input:hover:not(:disabled),.form__field select:hover:not(:disabled),.form__field textarea:hover:not(:disabled){border-color:var(--color-input-border-hover)}.form__field input:focus,.form__field select:focus,.form__field textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #0663f647}.form__field input:disabled,.form__field select:disabled,.form__field textarea:disabled{border-color:var(--color-input-border);color:var(--color-text-muted);cursor:not-allowed;background:#eceeed}.form__field select{appearance:auto}.form__row{gap:10px;display:flex}.form__input-with-btn{align-items:center;gap:8px;display:flex}.form__input-with-btn input{flex:1;min-width:0}.form__actions{gap:10px;margin-top:6px;display:flex}.form__row--datetime{align-items:flex-end}.form__field--date{flex:1.6}.form__chip-group{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.form__chip{border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:999px;align-items:center;padding:6px 14px;font-size:15px;font-weight:500;line-height:1;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.form__chip:hover{border-color:var(--color-primary,#0663f6);background:#eaf4f2}.form__chip--on{border-color:var(--color-primary,#0663f6);background:var(--color-primary,#0663f6);color:#fff;font-weight:700}.form__chip--self{color:var(--color-primary,#0663f6);cursor:default;background:#eaf4f2;border-color:#1a6b5c59;font-weight:600}.form__chip--high{border-color:#f59e0b}.form__chip--high.form__chip--on{background:#f59e0b;border-color:#f59e0b}.form__color-group{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.form__color-swatch{border:2px solid var(--color-border);cursor:pointer;color:#fff;width:28px;height:28px;transition:transform .15s var(--ease-out), border-color .15s;border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.form__color-swatch:hover{transform:scale(1.1)}.form__color-swatch--on{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-primary,#0663f6)}.app-content:has(.page--chat){flex-direction:column;min-height:0;padding-bottom:0;display:flex;overflow:hidden}.page--chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat{flex-direction:column;flex:1;gap:10px;min-height:0;padding-bottom:12px;display:flex;overflow-y:auto}.chat-suggestion{background:var(--color-high-bg);transition:box-shadow .2s var(--ease-out);border:1px solid #f0d3b8;border-radius:10px;margin-top:8px;padding:8px 10px}.chat-suggestion:hover{box-shadow:0 4px 12px #e0792a24}.chat-suggestion__detail{font-size:15px;font-weight:700}.chat-suggestion__reason{color:var(--color-text-muted);margin:4px 0 8px;font-size:13px}.chat-input{border-top:1px solid var(--color-border);flex-shrink:0;gap:8px;padding:10px 0 12px;display:flex}.chat-input textarea{border:1px solid var(--color-input-border);min-width:0;min-height:48px;max-height:120px;color:var(--color-text);background:var(--color-input-bg);resize:none;transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:24px;flex:1;padding:12px 16px;font-family:inherit;font-size:18px;line-height:24px;overflow-y:auto}.chat-input textarea:hover:not(:disabled){border-color:var(--color-input-border-hover)}.chat-input textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #0663f647}.chat-input button{border-radius:999px;align-self:flex-end;min-width:72px;min-height:48px}.tool-confirm-card{background:#fff8f0;border:1px solid #f5c89a;border-radius:12px;flex-direction:column;gap:8px;margin-top:10px;padding:12px 14px;display:flex}.tool-confirm-card__label{color:var(--color-accent-dark,#c06010);align-items:center;gap:6px;font-size:15px;font-weight:700;display:flex}.tool-confirm-card__badge{background:var(--color-accent-dark,#c06010);color:#fff;border-radius:10px;padding:1px 8px;font-size:13px;font-weight:700}.tool-confirm-card__detail{white-space:pre-wrap;color:var(--color-text);background:#fff9;border-radius:8px;margin:0;padding:8px 10px;font-family:inherit;font-size:15px;line-height:1.7}.tool-confirm-card__actions{gap:8px;display:flex}.tool-confirm-card__result{border-radius:8px;padding:6px 10px;font-size:14px;font-weight:600}.tool-confirm-card__result--ok{color:#2e7d32;background:#e8f5e9}.tool-confirm-card__result--ng{color:#c62828;background:#fdecea}.chat-input textarea:disabled{opacity:.6;cursor:not-allowed}.chat-bubble{box-shadow:none;background:0 0;border:none;align-items:flex-start;gap:8px;padding:0;display:flex}.chat-bubble--ai{align-self:flex-start}.chat-bubble--user{flex-direction:row-reverse;align-self:flex-end}.chat-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;margin-top:2px;font-size:13px;font-weight:700;display:flex}.chat-avatar--ai{background:var(--gradient-accent);color:#fff}.chat-avatar--user{background:var(--color-text-muted);color:#fff}.chat-bubble__body{white-space:pre-line;max-width:calc(88% - 38px);animation:fade-in-up .3s var(--ease-out) backwards;border-radius:14px;padding:10px 12px;font-size:15px;line-height:1.6}.chat-bubble--ai .chat-bubble__body{background:var(--gradient-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-bottom-left-radius:4px}.chat-bubble--user .chat-bubble__body{background:var(--gradient-accent);color:#fff;border-bottom-right-radius:4px;box-shadow:0 4px 14px #0663f647}.chat-bubble__text--streaming:after{content:"▋";opacity:.8;margin-left:1px;animation:.7s step-end infinite blink-cursor;display:inline-block}@keyframes blink-cursor{0%,to{opacity:.8}50%{opacity:0}}.chat-typing{align-items:center;gap:4px;min-height:20px;padding:4px 2px;display:flex}.chat-typing span{background:var(--color-accent);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typing-bounce}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.month-calendar__header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.month-calendar__title{font-size:17px;font-weight:700}.month-calendar__nav{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-primary-dark);cursor:pointer;transition:background .2s var(--ease-out), box-shadow .2s var(--ease-out), transform .2s var(--ease-out);border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex}.month-calendar__nav:hover{background:var(--gradient-accent);color:#fff;box-shadow:var(--glow-accent);border-color:#0000;transform:translateY(-1px)}.month-calendar__weekdays{grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:4px;display:grid}.month-calendar__weekday{text-align:center;color:var(--color-text-muted);padding-bottom:4px;font-size:13px;font-weight:700}.month-calendar__weekday--sun{color:var(--color-danger)}.month-calendar__weekday--sat{color:#3a6ea5}.month-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.month-calendar__cell{aspect-ratio:1;background:var(--color-bg);cursor:pointer;transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out), background .2s var(--ease-out), color .2s var(--ease-out), border-color .2s var(--ease-out);border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:2px;display:flex;position:relative}.month-calendar__cell:hover{box-shadow:var(--shadow-card);transform:translateY(-1px)}.month-calendar__cell--muted{opacity:.35}.month-calendar__cell--sun .month-calendar__date{color:var(--color-danger)}.month-calendar__cell--sat .month-calendar__date{color:#3a6ea5}.month-calendar__cell--today{border-color:var(--color-accent)}.month-calendar__cell--selected{background:var(--gradient-accent);box-shadow:var(--glow-accent);border-color:#0000}.month-calendar__cell--selected .month-calendar__date,.month-calendar__cell--selected.month-calendar__cell--sun .month-calendar__date,.month-calendar__cell--selected.month-calendar__cell--sat .month-calendar__date{color:#fff}.month-calendar__date{font-size:15px;font-weight:700}.month-calendar__dots{align-items:center;gap:3px;display:flex}.month-calendar__dot{border-radius:50%;width:6px;height:6px}.month-calendar__dot--high{background:var(--color-high)}.month-calendar__cell--selected .month-calendar__dot--high{background:#fff}.month-calendar__count{background:var(--color-primary-light);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:11px;font-weight:700;display:flex}.card--day-schedule{padding:12px 8px 12px 12px}.day-grid{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;display:flex}.day-grid__times{border-right:1px solid var(--color-border);background:var(--color-bg);border-radius:12px 0 0 12px;flex:0 0 42px}.day-grid__corner{border-bottom:1px solid var(--color-border);height:36px}.day-grid__times-body{position:relative}.day-grid__hour-label{text-align:right;color:var(--color-text-muted);font-size:12px;font-weight:600;position:absolute;left:0;right:4px;transform:translateY(-50%)}.day-grid__staff{flex:1;display:flex}.day-grid__column{border-right:1px solid var(--color-border);flex:1 0 110px;min-width:110px}.day-grid__column:last-child{border-right:none}.day-grid__staff-header{border-bottom:1px solid var(--color-border);background:var(--gradient-surface);justify-content:center;align-items:center;height:36px;font-size:14px;font-weight:700;display:flex;position:sticky;top:0}.day-grid__column-body{position:relative}.day-grid__hour-line{border-top:1px dashed var(--color-border);position:absolute;left:0;right:0}.sched-event--pill{background:var(--evt-bg,var(--gradient-accent));color:#fff;animation:fade-in .3s var(--ease-out);transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:8px;padding:2px 5px;font-size:13px;line-height:1.3;position:absolute;overflow:hidden;box-shadow:0 2px 8px #0663f640}.sched-event--pill:hover{z-index:3;transform:translateY(-1px)scale(1.01);box-shadow:0 4px 12px #0663f659}.sched-event--pill.sched-event--completed{background:linear-gradient(135deg,#8a97a0 0%,#6b7780 100%);box-shadow:0 2px 8px #6b778040}.sched-event--pill.sched-event--cancelled{background:var(--color-surface);border:1px dashed var(--color-border);color:var(--color-text-muted);box-shadow:none}.sched-event--pill.sched-event--cancelled .sched-event__title{text-decoration:line-through}.sched-event--pill .sched-event__title{-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;font-size:13px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.sched-event--pill.sched-event--compact .sched-event__title{-webkit-line-clamp:1;white-space:nowrap;text-overflow:ellipsis;word-break:normal}.sched-event--pill .sched-event__time{opacity:.9;white-space:nowrap;gap:6px;font-size:12px;font-weight:700;line-height:1.3;display:flex}.sched-event__status{opacity:.85;font-weight:400}.sched-event--clickable{cursor:pointer}.event-detail-modal{width:min(480px,92vw);max-height:80vh;animation:.18s ease-out modal-fade-in}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.detail-list{grid-template-columns:5em 1fr;gap:10px 12px;margin:0;display:grid}.detail-list dt{color:var(--color-text-muted);padding-top:2px;font-size:14px}.detail-list dd{flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:16px;display:flex}.detail-tag{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:15px;display:inline-flex}.detail-memo{white-space:pre-wrap;color:var(--color-text-muted);font-size:15px}.master-list{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.master-card{background:var(--gradient-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:14px;padding:12px}.master-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.master-card__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.master-card__name{font-size:17px;font-weight:700}.master-card__kana{color:var(--color-text-muted,#888);margin-left:4px;font-size:13px;font-weight:400}.master-card__address{color:var(--color-text-muted);margin-top:2px;font-size:14px}.master-card__permissions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.master-card__patterns{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.master-card__patterns-label{color:var(--color-text-muted);font-size:14px;font-weight:700}.master-card__actions{gap:8px;margin-top:10px;display:flex}.badge--self{background:var(--color-primary-light);color:#fff}.pattern-editor{color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.pattern-editor__label{font-weight:700}.pattern-editor__empty{color:var(--color-text-muted);font-size:14px}.pattern-editor__row{align-items:center;gap:8px;display:flex}.pattern-editor__row select{border:1px solid var(--color-input-border);background:var(--color-input-bg);color:var(--color-text);border-radius:8px;padding:8px 10px;font-size:15px}.pattern-chips{flex-wrap:wrap;gap:6px;display:flex}.pattern-chip{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:13px;font-weight:700;display:inline-flex}.pattern-chip--static{color:var(--color-primary-dark);background:#e3eef0;border-color:#0000}.pattern-chip__remove{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:15px;line-height:1}.pattern-chip__remove:hover{color:var(--color-danger)}.checkbox-group{flex-direction:column;gap:6px;display:flex}.checkbox-group__item{color:var(--color-text);align-items:center;gap:8px;font-size:15px;display:flex}.contract-card{padding-bottom:6px}.contract-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.contract-row{background:var(--color-bg);cursor:pointer;transition:border-color .2s var(--ease-out), background .2s var(--ease-out), transform .2s var(--ease-out);border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.contract-row:hover{background:#fff;border-color:#0663f62e;transform:translateY(-1px)}.contract-row__icon{flex:none;font-size:22px}.contract-row__body{flex:1;min-width:0}.contract-row__name{font-size:15px;font-weight:700}.contract-row__price{color:var(--color-text-muted);margin-top:2px;font-size:13px}.status-pill.contract-row__status--active{color:#1e7c34;background:#e6f4ea}.status-pill.contract-row__status--pending{background:var(--color-high-bg);color:var(--color-high)}.status-pill.contract-row__status--none{color:#888;background:#f1f1f1}.contract-modal__user{margin:0 0 4px;font-size:15px;font-weight:700}.contract-modal__price{color:var(--color-primary-dark);margin:0 0 12px;font-size:16px;font-weight:700}.contract-modal__note{color:var(--color-text-muted);background:var(--color-bg);border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:14px;line-height:1.6}.billing-total{color:var(--color-primary-dark);letter-spacing:.02em;font-size:28px;font-weight:800}.billing-total__note{color:var(--color-text-muted);margin-top:4px;font-size:14px}.billing-pending-item{justify-content:space-between;align-items:center;gap:10px;display:flex}.summary-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.summary-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;font-size:15px;display:flex}.summary-row:last-child{border-bottom:none;padding-bottom:0}.summary-row__label{flex:1;font-weight:700}.summary-row__detail{color:var(--color-text-muted);font-size:14px}.summary-row__amount{color:var(--color-primary-dark);white-space:nowrap;font-weight:700}.summary-row--block{flex-direction:column;align-items:stretch;gap:4px}.summary-row__top{justify-content:space-between;align-items:center;display:flex}.summary-row__sub{color:var(--color-text-muted);font-size:13px}.login{background:var(--color-bg);grid-template-columns:1fr;display:grid;position:fixed;inset:0;overflow:auto}.login__brand{display:none}.login__panel{justify-content:center;align-items:center;padding:32px 20px;display:flex}.login__form-wrap{width:100%;max-width:400px;animation:fade-in .35s var(--ease-out)}.login__logo{align-items:center;gap:10px;display:inline-flex}.login__logo-mark{background:linear-gradient(135deg, var(--color-primary), var(--color-accent));color:#fff;border-radius:12px;place-items:center;width:40px;height:40px;font-size:22px;font-weight:800;display:grid;box-shadow:0 6px 16px #0663f64d}.login__logo-text{letter-spacing:.02em;font-size:20px;font-weight:700}.login__mobile-logo{color:var(--color-primary-dark);align-items:center;gap:10px;margin-bottom:28px;display:inline-flex}.login__title{color:var(--color-text);letter-spacing:-.01em;margin:0 0 6px;font-size:26px;font-weight:800}.login__lead{color:var(--color-text-muted);margin:0 0 24px;font-size:16px}.login__form{flex-direction:column;gap:18px;display:flex}.login__field{flex-direction:column;gap:6px;display:flex}.login__label{color:var(--color-text);font-size:15px;font-weight:600}.login__input{border:1.5px solid var(--color-input-border,#778580);background:var(--color-surface);width:100%;height:48px;color:var(--color-text);border-radius:10px;padding:0 14px;font-size:18px;transition:border-color .15s,box-shadow .15s}.login__input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #0663f62e}.login__pw{display:block;position:relative}.login__pw .login__input{padding-right:64px}.login__pw-toggle{height:36px;color:var(--color-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0 12px;font-size:15px;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.login__pw-toggle:hover{background:#0663f614}.login__submit{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));color:#fff;cursor:pointer;height:50px;transition:transform .15s var(--ease-out), box-shadow .15s;border:none;border-radius:12px;margin-top:4px;font-size:18px;font-weight:700;box-shadow:0 8px 20px #0663f647}.login__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px #0663f657}.login__submit:disabled{opacity:.7;cursor:progress}.login__error{color:#b91c1c;background:#fee2e2;border-radius:10px;align-items:flex-start;gap:8px;margin:0;padding:10px 14px;font-size:15px;display:flex}.login__help{color:var(--color-text-muted);margin:24px 0 0;font-size:14px}@media (width>=900px){.login{grid-template-columns:minmax(380px,46%) 1fr}.login__brand{color:#fff;background:radial-gradient(600px 400px at 85% 10%,#0663f659,#0000 60%),radial-gradient(500px 500px at 0 100%,#ffffff1a,#0000 60%),linear-gradient(160deg,#0a4fc4 0%,#0663f6 45%,#2f86ff 100%);flex-direction:column;justify-content:space-between;padding:48px 56px;display:flex}.login__brand-inner{max-width:440px}.login__brand .login__logo-text{color:#fff}.login__tagline{letter-spacing:-.01em;margin:40px 0 36px;font-size:30px;font-weight:800;line-height:1.35}.login__points{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.login__points li{align-items:flex-start;gap:14px;display:flex}.login__point-icon{background:#ffffff24;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.login__points strong{margin-bottom:2px;font-size:17px;display:block}.login__points span:not(.login__point-icon){opacity:.85;font-size:15px;line-height:1.5}.login__brand-foot{opacity:.7;font-size:14px}.login__mobile-logo{display:none}.login__panel{padding:48px}.login__form-wrap{max-width:420px}}.login-form__error{color:#b91c1c;background:#fee2e2;border-radius:8px;margin:0;padding:10px 14px;font-size:15px}.home-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.home-header__user{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.home-header__name{color:var(--color-text-muted,#6b7280);font-size:15px;font-weight:600}.form-label{color:var(--color-text,#1a1a1a);flex-direction:column;gap:6px;font-size:15px;font-weight:600;display:flex}.form-input{border:1px solid var(--color-input-border);background:var(--color-input-bg);color:var(--color-text);border-radius:8px;outline:none;padding:10px 12px;font-size:17px;transition:border-color .15s,box-shadow .15s}.form-input:hover:not(:disabled){border-color:var(--color-input-border-hover)}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0663f647}.btn--full{width:100%}.btn--ghost{background:0 0;border:1px solid}.btn--sm{border-radius:6px;padding:4px 10px;font-size:14px}.status-pill--pending{color:#92400e;background:#fef3c7}.status-pill--cancelled{color:#6b7280;background:#f3f4f6}.contract-modal__status{align-items:center;gap:8px;margin:12px 0;font-size:15px;display:flex}.modal__icon{text-align:center;margin-bottom:4px;font-size:32px}.day-schedule-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.staff-filter-btn{border:1.5px solid var(--color-primary,#0663f6);color:var(--color-primary,#0663f6);cursor:pointer;white-space:nowrap;background:#fff;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:15px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.staff-filter-btn:hover{background:var(--color-primary,#0663f6);color:#fff}.staff-filter-btn__icon{font-size:17px}.staff-filter-btn__caret{opacity:.7;font-size:12px}.staff-filter-panel{background:#f8fffe;border:1px solid #d1e8e4;border-radius:12px;margin-bottom:12px;padding:12px 14px}.staff-filter-panel__actions{gap:8px;margin-bottom:10px;display:flex}.btn--xs{cursor:pointer;color:#444;background:#fff;border:1px solid #ccc;border-radius:6px;padding:3px 10px;font-size:13px;transition:background .12s}.btn--xs:hover{background:#f0f0f0}.staff-filter-panel__list{flex-wrap:wrap;gap:8px;display:flex}.staff-filter-panel__empty{color:#888;text-align:center;padding:12px 0;font-size:15px}.staff-filter-chip{cursor:pointer;color:#334;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px solid #c8dcd9;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:15px;font-weight:500;transition:border-color .15s,background .15s;display:inline-flex}.staff-filter-chip input[type=checkbox]{accent-color:var(--color-primary,#0663f6);cursor:pointer;width:14px;height:14px}.staff-filter-chip:has(input:checked){border-color:var(--color-primary,#0663f6);color:var(--color-primary,#0663f6);background:#eaf4f2;font-weight:600}.staff-filter-chip__name{line-height:1}.form__checkbox-group{flex-direction:column;gap:6px;max-height:160px;margin-top:6px;padding:2px 0;display:flex;overflow-y:auto}.form__checkbox-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:15px;transition:background .12s;display:flex}.form__checkbox-item:hover{background:#1a6b5c0f}.form__checkbox-item input[type=checkbox]{accent-color:var(--color-primary,#0663f6);cursor:pointer;flex-shrink:0;width:15px;height:15px}.loading-overlay{z-index:9999;-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;background:#0a1e1c85;justify-content:center;align-items:center;transition:opacity .22s;display:flex;position:fixed;inset:0}.loading-overlay--visible{opacity:1;pointer-events:auto}.loading-overlay__card{text-align:center;background:#fffffff7;border-radius:20px;flex-direction:column;align-items:center;gap:14px;width:90%;max-width:320px;padding:32px 36px;display:flex;box-shadow:0 8px 40px #00000038}.loading-overlay__spinner{color:var(--color-primary,#0663f6);font-size:36px;line-height:1;animation:.56s step-end infinite loading-spin-step}@keyframes loading-spin-step{0%{opacity:1}to{opacity:1}}.loading-overlay__message{color:var(--color-primary,#0663f6);letter-spacing:.02em;font-size:17px;font-weight:700}.loading-overlay__tip{color:#6b7280;border-left:3px solid var(--color-primary,#0663f6);text-align:left;background:#f3f4f6;border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.6}.form__checkbox-item--fixed{color:var(--color-primary,#0663f6);cursor:default;background:#1a6b5c0f;font-weight:600}.form__checkbox-item--fixed input{cursor:default}.data-card{border:1px solid var(--color-border,#e5e7eb);background:#fff;border-radius:12px;margin-top:10px;font-size:15px;overflow:hidden}.data-card--empty{color:#6b7280;padding:12px 14px;font-style:italic}.data-card__header{background:var(--color-primary,#0663f6);color:#fff;align-items:center;gap:6px;padding:9px 14px;font-size:15px;font-weight:700;display:flex}.data-card__icon{font-size:17px}.data-card__title{flex:1}.data-card__badge{background:#ffffff40;border-radius:10px;padding:1px 8px;font-size:13px;font-weight:600}.data-card__list{margin:0;padding:0;list-style:none}.data-card__row{border-bottom:1px solid #f3f4f6;padding:10px 14px;line-height:1.5}.data-card__row:last-child{border-bottom:none}.data-card__row--inline{align-items:center;gap:8px;display:flex}.data-card__row-head{align-items:center;gap:6px;margin-bottom:2px;display:flex}.data-card__datetime{color:var(--color-primary,#0663f6);font-size:14px;font-weight:700}.data-card__row-title{color:#111827;font-weight:600}.data-card__row-sub{color:#6b7280;margin-top:2px;font-size:14px}.data-card__row-note{color:#92400e;background:#fef3c7;border-radius:6px;margin-top:4px;padding:3px 7px;font-size:14px}.data-card__name{color:#111827;flex:1;font-weight:600}.data-card__tag{color:#374151;background:#f3f4f6;border-radius:8px;padding:2px 8px;font-size:13px}.data-card__progress{align-items:center;gap:8px;margin-top:4px;display:flex}.data-card__progress-bar{background:#e5e7eb;border-radius:3px;flex:1;height:6px;overflow:hidden}.data-card__progress-fill{background:var(--color-primary,#0663f6);border-radius:3px;height:100%;transition:width .3s}.data-card__progress-label{color:#6b7280;white-space:nowrap;font-size:13px}.page--calendar{flex-direction:column;min-height:100%;display:flex}.cal-toolbar{flex-direction:column;gap:8px;margin:4px 0 8px;display:flex}.cal-toolbar__nav{align-items:center;gap:4px;display:flex}.cal-toolbar__arrow{border:1px solid var(--color-border);background:var(--color-surface);width:44px;height:44px;color:var(--color-primary-dark);cursor:pointer;border-radius:10px;flex-shrink:0;font-size:24px;line-height:1;transition:background .15s,border-color .15s}.cal-toolbar__arrow:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:#fff}.cal-toolbar__title{text-align:center;letter-spacing:.01em;flex:1;margin:0;font-size:18px;font-weight:700}.cal-toolbar__actions{align-items:center;gap:8px;display:flex}.cal-toolbar__today{border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-primary-dark);cursor:pointer;border-radius:10px;flex-shrink:0;padding:0 16px;font-size:15px;font-weight:700}.cal-toolbar__today:hover{background:var(--color-primary-light);color:#fff}.cal-switch{background:var(--color-border);border-radius:12px;flex:1;gap:2px;padding:3px;display:flex}.cal-switch__btn{min-height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;font-size:16px;font-weight:700;transition:background .18s,color .18s}.cal-switch__btn--on{background:var(--color-surface);color:var(--color-primary-dark);box-shadow:0 1px 3px #14282626}.page__title--compact{margin:0 0 6px;font-size:19px}.cal-hint{color:var(--color-text-muted);margin:0 0 6px;font-size:13px}.tgrid{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.tgrid__head{z-index:3;border-bottom:1px solid var(--color-border);background:var(--color-surface);display:flex;position:sticky;top:0}.tgrid__gutter-head{z-index:4;background:var(--color-surface);flex-shrink:0;width:46px;position:sticky;left:0}.tgrid__day-head{border-left:1px solid var(--color-border);flex-direction:column;flex:1;align-items:center;gap:1px;min-width:0;padding:6px 2px;display:flex}.tgrid__dow{color:var(--color-text-muted);font-size:13px}.tgrid__day-head--sun .tgrid__dow{color:#d05252}.tgrid__day-head--sat .tgrid__dow{color:#3b7dd8}.tgrid__daynum{font-size:17px;font-weight:700;line-height:1.3}.tgrid__day-head--today .tgrid__daynum{background:var(--gradient-accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.tgrid__day-count{color:var(--color-text-muted);font-size:12px}.tgrid__scroll{overflow:visible}.tgrid__canvas{width:max-content;min-width:100%}.tgrid--week .tgrid__canvas{min-width:max(100%,466px)}.tgrid__body{display:flex;position:relative}.tgrid__gutter{z-index:3;background:var(--color-surface);flex-shrink:0;width:46px;position:sticky;left:0}.tgrid__hour-label{color:var(--color-text-muted);white-space:nowrap;font-size:13px;position:absolute;right:6px;transform:translateY(-6px)}.tgrid__col{border-left:1px solid var(--color-border);flex:1;min-width:0;position:relative}.tgrid__hour-line{background:var(--color-border);height:1px;position:absolute;left:0;right:0}.tgrid__slot{cursor:pointer;background:0 0;border:none;padding:0;position:absolute;left:0;right:0}.tgrid__slot:hover{background:#0663f629;box-shadow:inset 0 0 0 1px #0663f659}.sched-event--card{background:var(--evt-bg,var(--gradient-accent));color:#fff;text-align:left;cursor:pointer;z-index:2;transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);border:none;border-radius:8px;flex-direction:column;align-items:stretch;gap:0;padding:2px 6px;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 8px #0663f640}.sched-event--card:hover{z-index:3;transform:translateY(-1px)scale(1.01);box-shadow:0 4px 12px #1428264d}.sched-event--card .sched-event__title{-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;width:100%;font-size:13px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.sched-event--card.sched-event--compact .sched-event__title{-webkit-line-clamp:1;white-space:nowrap;text-overflow:ellipsis;word-break:normal}.sched-event--card .sched-event__time{opacity:.9;white-space:nowrap;font-size:12px;font-weight:700;line-height:1.3}.sched-event--card.sched-event--completed{background:linear-gradient(135deg,#8a97a0 0%,#6b7780 100%);box-shadow:0 2px 8px #6b778040}.sched-event--card.sched-event--cancelled{background:var(--color-surface);border:1px dashed var(--color-border);color:var(--color-text-muted);box-shadow:none}.sched-event--card.sched-event--cancelled .sched-event__title{text-decoration:line-through}.tgrid--week .sched-event--card .sched-event__title{-webkit-line-clamp:1;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.mgrid{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:14px;overflow:hidden}.mgrid__weekdays{background:var(--gradient-surface);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.mgrid__weekday{text-align:center;color:var(--color-text-muted);padding:6px 0;font-size:13px;font-weight:700}.mgrid__weekday--sun{color:#d05252}.mgrid__weekday--sat{color:#3b7dd8}.mgrid__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.mgrid__cell{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:stretch;gap:2px;min-width:0;min-height:84px;padding:2px;display:flex;position:relative}.mgrid__cell:nth-child(7n){border-right:none}.mgrid__cell--muted{background:#fafbfb}.mgrid__cell--muted .mgrid__date{color:var(--color-text-muted)}.mgrid__cell--today{background:#0663f614}.mgrid__cell-bg{cursor:pointer;z-index:0;background:0 0;border:none;position:absolute;inset:0}.mgrid__cell-bg:hover{background:#0663f624}.mgrid__date{z-index:1;min-width:24px;height:22px;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:999px;align-self:center;font-size:14px;font-weight:700;position:relative}.mgrid__date:hover{background:var(--color-border)}.mgrid__cell--sun .mgrid__date{color:#d05252}.mgrid__cell--sat .mgrid__date{color:#3b7dd8}.mgrid__cell--today .mgrid__date{background:var(--gradient-accent);color:#fff}.mgrid__chips{z-index:1;flex-direction:column;gap:2px;min-width:0;display:flex;position:relative}.mgrid__chip{border:none;border-left:3px solid var(--color-primary);background:var(--color-bg);text-align:left;cursor:pointer;border-radius:4px;align-items:baseline;gap:3px;width:100%;padding:2px 3px;display:flex;overflow:hidden}.mgrid__chip:hover{background:var(--color-border)}.mgrid__chip-time{color:var(--color-text-muted);flex-shrink:0;font-size:11px}.mgrid__chip-title{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.mgrid__chip--cancelled{opacity:.5}.mgrid__chip--cancelled .mgrid__chip-title{text-decoration:line-through}.mgrid__more{color:var(--color-primary-dark);text-align:left;cursor:pointer;background:0 0;border:none;padding:1px 3px;font-size:12px;font-weight:600}@media (width<=479px){.mgrid__cell{min-height:66px}.mgrid__chip{background:var(--chip-color,var(--color-primary-light));border-left:none;border-radius:3px;height:6px;padding:0}.mgrid__chip-time,.mgrid__chip-title{display:none}.mgrid__more{padding:0 2px;font-size:11px}}.fab{background:var(--gradient-accent);color:#fff;cursor:pointer;z-index:20;width:56px;height:56px;transition:transform .2s var(--ease-out);border:none;border-radius:999px;font-size:26px;line-height:1;position:fixed;bottom:84px;right:max(16px,50% - 224px);box-shadow:0 6px 20px #0663f666}.fab:hover{transform:scale(1.06)}@media (width>=720px){.fab{right:max(16px,50% - 404px)}}.alert-banner{border-bottom:1px solid var(--color-border);animation:.25s fade-in}.alert-banner--danger{background:#fdecea;border-bottom-color:#f2b8b2}.alert-banner--warn{background:#fdf6e3;border-bottom-color:#eddaa8}.alert-banner__bar{align-items:center;gap:8px;padding:8px 12px;display:flex}.alert-banner__icon{flex-shrink:0;font-size:16px}.alert-banner__summary{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:1px;min-width:0;min-height:40px;padding:0;display:flex}.alert-banner__title{color:#7a2318;font-size:15px;font-weight:700;line-height:1.3}.alert-banner--warn .alert-banner__title{color:#7a5a12}.alert-banner__detail{color:var(--color-text-muted);font-size:13px}.alert-banner__chevron{color:var(--color-text-muted);flex-shrink:0;font-size:12px}.alert-banner__close{width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;font-size:15px}.alert-banner__close:hover{background:#0000000f}.alert-banner__body{padding:0 12px 12px}.alert-banner__list{flex-direction:column;gap:6px;max-height:40vh;margin:0 0 10px;padding:0;list-style:none;display:flex;overflow-y:auto}.alert-banner__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:8px 10px}.alert-banner__item-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.alert-banner__name{font-size:15px;font-weight:700}.alert-banner__due{color:var(--color-primary-dark);margin-top:2px;font-size:14px;font-weight:600}.alert-banner__reason{color:var(--color-text-muted);margin-top:2px;font-size:13px;line-height:1.5}.alert-banner__cta{text-align:center;width:100%;text-decoration:none;display:block}.alert-pill{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700;line-height:1.6}.alert-pill--overdue{color:#9b2c1c;background:#fbdad5}.alert-pill--due_soon{color:#8a6212;background:#fbeec6}.alert-pill--unknown{color:#4b5563;background:#e5e7eb}.alert-pill--scheduled,.alert-pill--ok{color:#0663f6;background:#d8f0ea}.alert-pill--paused{color:#6b7280;background:#e5e7eb}.form__group{border:1px solid var(--color-border);background:#f6f9f8;border-radius:12px;flex-direction:column;gap:10px;margin:4px 0 0;padding:12px;display:flex}.form__group-title{color:var(--color-primary-dark);padding:0 4px;font-size:15px;font-weight:700}.form__group-note{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.6}.form__hint{color:var(--color-text-muted);margin-top:2px;font-size:12px;line-height:1.5}.alert-banner__note{color:var(--color-text-muted);background:#ffffffb3;border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:13px;line-height:1.6}.master-card__warn{color:var(--color-danger,#c0392b);font-weight:600}.contract-modal__notice{border:1px solid var(--color-border);background:var(--color-bg);border-radius:12px;margin:14px 0 4px;padding:12px}.contract-modal__notice-title{margin:0 0 6px;font-size:15px;font-weight:700}.contract-modal__notice-body{color:var(--color-text-muted);margin:0 0 10px;font-size:14px;line-height:1.7}.contract-modal__mail{text-align:center;width:100%;color:var(--color-primary-dark);text-decoration:none;display:block}.quota-meter{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;padding:7px 12px;font-size:14px;display:flex}.quota-meter__label{color:var(--color-text-muted);white-space:nowrap}.quota-meter__count{white-space:nowrap}.quota-meter__count strong{color:var(--color-primary-dark);font-size:17px}.quota-meter__bar{background:var(--color-border);border-radius:3px;flex:1;min-width:60px;height:6px;overflow:hidden}.quota-meter__fill{background:var(--color-primary-light);border-radius:3px;height:100%;transition:width .3s}.quota-meter__sub{color:var(--color-text-muted);white-space:nowrap;font-size:13px}.quota-meter--low{background:#fdf6e3;border-color:#eddaa8}.quota-meter--low .quota-meter__count strong{color:#8a6212}.quota-meter--low .quota-meter__fill{background:#e0a83a}.quota-meter--empty{background:#fdecea;border-color:#f2b8b2}.quota-meter--empty .quota-meter__count strong{color:#9b2c1c}.quota-meter--empty .quota-meter__fill{background:#c0392b}.quota-meter__fill--low{background:#e0a83a}.quota-meter__fill--empty{background:#c0392b}.chat-input--blocked{background:#fdecea;border-top:1px solid #f2b8b2;align-items:center;gap:10px;padding:12px 14px;display:flex}.chat-input__blocked-icon{flex-shrink:0;font-size:20px}.chat-input__blocked-text{color:#7a2318;margin:0;font-size:14px;line-height:1.6}.chat-bubble__text--quota{color:#7a2318;background:#fdecea;border-radius:10px;padding:8px 10px;font-weight:600}.section-title{color:var(--color-primary-dark);margin:18px 0 8px;font-size:16px;font-weight:700}.quota-rows{flex-direction:column;gap:6px;margin:8px 0 4px;display:flex}.quota-row{align-items:center;gap:8px;font-size:13px;display:flex}.quota-row__label{color:var(--color-text-muted);white-space:nowrap;min-width:108px}.quota-row__value{white-space:nowrap;font-weight:600}.ai-history__meta{color:var(--color-text-muted);margin-top:2px;font-size:13px}.ai-history__line{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.ai-history__line--result{color:var(--color-text)}.ai-history__line--error{color:var(--color-danger,#c0392b)}.ai-history__status--success{color:#0663f6;background:#d8f0ea}.ai-history__status--error{color:#9b2c1c;background:#fbdad5}.ai-history__status--blocked{color:#8a6212;background:#fbeec6}.ai-history__pre{background:var(--color-bg);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:240px;margin:0 0 8px;padding:10px;font-family:inherit;font-size:14px;line-height:1.7;overflow-y:auto}.monthly-note{margin-bottom:8px}.monthly-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.monthly-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:10px;padding:9px 12px;display:flex}.monthly-row__period{white-space:nowrap;min-width:84px;font-size:15px;font-weight:700}.monthly-row__items{flex-wrap:wrap;flex:1;gap:4px 12px;min-width:0;display:flex}.monthly-row__item{color:var(--color-text-muted);white-space:nowrap;font-size:13px}.monthly-row__item strong{color:var(--color-primary-dark);font-size:16px}.rebuild-box{border:1px dashed var(--color-border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding:12px;display:flex}.rebuild-box__text{min-width:180px;color:var(--color-text-muted);flex:1;margin:0;font-size:13px;line-height:1.6}.absence-editor{flex-direction:column;gap:8px;display:flex}.absence-editor__empty{color:var(--color-text-muted);margin:0;font-size:14px}.absence-editor__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.absence-editor__add{align-self:flex-start}.absence-rule{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.absence-rule__row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.absence-rule__nth{flex:0 0 76px}.absence-rule__weekday{flex:0 0 96px}.absence-rule select,.absence-rule input[type=time],.absence-rule input[type=text]{border:1px solid var(--color-input-border);background:var(--color-input-bg);min-height:38px;color:var(--color-text);transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:8px;padding:6px 8px;font-size:15px}.absence-rule select:focus,.absence-rule input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #0663f647}.absence-rule__remove,.absence-editor__add{min-height:38px;padding:6px 14px}.absence-rule__remove{margin-left:auto}.absence-rule__summary{color:var(--color-primary-dark);font-size:14px;font-weight:700}.absence-rule__scope{gap:6px;display:flex}.absence-rule__scope-opt{border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;white-space:nowrap;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 8px;font-size:15px;display:flex}.absence-rule__scope-opt--on{border-color:var(--color-primary);background:var(--color-primary-light);color:#fff;font-weight:700}.absence-rule__scope-opt input{width:18px;height:18px;accent-color:var(--color-primary-dark);cursor:pointer;flex-shrink:0}.absence-rule__times{flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.absence-rule__times input{flex:90px;min-width:0}.absence-rule__times-sep{flex-shrink:0}.absence-rule__times-suffix{color:var(--color-text-muted);flex-shrink:0}.absence-rule__note{width:100%}.absence-rule__error{color:var(--color-danger,#c0392b);margin:0;font-size:13px;font-weight:600}.master-card__absence{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.master-card__absence-tag{background:var(--color-high-bg,#fdf0e3);color:var(--color-high,#e0792a);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px}.data-card__header--ok{background:#0663f6}.data-card__header--warn{background:#b8651c}.problem-pill--high{color:#9b2c1c;background:#fbdad5}.problem-pill--medium{color:#8a6212;background:#fbeec6}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg, var(--color-border) 25%, #eef2f1 50%, var(--color-border) 75%);background-size:200% 100%;animation:1.4s linear infinite skeleton-shimmer;display:block}.skeleton--title{margin:4px 0 8px}.skeleton--subtitle{margin:0 0 14px}.skeleton-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.skeleton-list__item{animation:fade-in-up .4s var(--ease-out) backwards}.skeleton-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.skeleton-card__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.skeleton-card__actions{gap:8px;margin-top:2px;display:flex}.boot-screen{flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;height:100%;animation:.3s fade-in;display:flex}.boot-screen__logo{letter-spacing:.06em;background:var(--gradient-accent);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:700}.boot-screen__bar{background:var(--color-border);border-radius:999px;width:160px;height:4px;overflow:hidden}.boot-screen__bar span{background:var(--gradient-accent);width:40%;height:100%;animation:boot-bar 1.2s var(--ease-out) infinite;border-radius:999px;display:block}@keyframes boot-bar{0%{transform:translate(-100%)}to{transform:translate(350%)}}.boot-screen__text{color:var(--color-text-muted);margin:0;font-size:14px}@keyframes tab-pop{0%{transform:scale(1)}45%{transform:scale(1.06)}to{transform:scale(1)}}.app-switcher__tab--active{animation:tab-pop .3s var(--ease-out)}@keyframes banner-drop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.alert-banner{animation:banner-drop .32s var(--ease-out)}@keyframes alert-pulse{0%,70%,to{opacity:1;transform:scale(1)}35%{opacity:.85;transform:scale(1.18)}}.alert-banner--danger .alert-banner__icon{animation:2.4s ease-in-out infinite alert-pulse;display:inline-block}@keyframes banner-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.alert-banner__body{animation:banner-expand .24s var(--ease-out)}.btn--busy{cursor:progress;position:relative}.btn__spinner{vertical-align:-2px;border:2px solid;border-top-color:#0000;border-radius:50%;width:13px;height:13px;margin-right:7px;animation:.7s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}.data-card{animation:fade-in-up .32s var(--ease-out)}.tgrid,.mgrid{animation:.22s fade-in}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.skeleton{background:var(--color-border)}.btn__spinner,.boot-screen__bar span{animation-duration:.9s!important;animation-iteration-count:infinite!important}}.now-line{z-index:4;pointer-events:none;border-top:2px solid #e0342b;height:0;position:absolute;left:0;right:0}.now-line__dot{background:#e0342b;border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:-4px;box-shadow:0 0 0 2px #e0342b40}.now-line__label{color:#fff;letter-spacing:.02em;background:#e0342b;border-radius:4px;padding:0 4px;font-size:11px;font-weight:700;line-height:15px;position:absolute;top:-8px;right:2px}.tgrid--week .now-line__label{display:none}.auto-plan-btn{margin-bottom:4px;padding:12px;font-size:16px}.auto-plan-btn__note{color:var(--color-text-muted);margin:0 0 10px;font-size:13px;line-height:1.6}.auto-plan{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;margin-top:10px;padding:12px}.auto-plan__header{align-items:center;gap:6px;margin-bottom:10px;font-size:15px;font-weight:700;display:flex}.auto-plan__title{flex:1}.auto-plan__badge{background:var(--color-primary-light);color:#fff;border-radius:999px;padding:2px 9px;font-size:13px;font-weight:700}.auto-plan__days{flex-direction:column;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.auto-plan__day{border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.auto-plan__day-head{background:var(--color-bg);align-items:center;gap:8px;padding:6px 10px;font-size:14px;font-weight:700;display:flex}.auto-plan__day-count{color:var(--color-text-muted);margin-left:auto;font-size:12px;font-weight:400}.auto-plan__visits{margin:0;padding:0;list-style:none}.auto-plan__visit{border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:7px 10px;font-size:14px;display:flex}.auto-plan__time{color:var(--color-primary-dark);white-space:nowrap;font-weight:700}.auto-plan__name{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:6em;font-weight:600;overflow:hidden}.chat-bubble:has(.auto-plan){align-self:stretch}.chat-bubble:has(.auto-plan) .chat-bubble__body{flex:auto;width:auto;max-width:min(720px,88% - 38px)}@media (width<=719px){.chat-bubble:has(.auto-plan) .chat-bubble__body{max-width:calc(100% - 38px)}}.auto-plan__travel{color:var(--color-text-muted);white-space:nowrap;margin-left:auto;font-size:12px}.auto-plan__travel+.alert-pill,.auto-plan__name+.alert-pill{flex-shrink:0}.auto-plan__skipped{color:#7a5a12;background:#fdf6e3;border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:13px;line-height:1.6}.auto-plan__result{color:#0663f6;text-align:center;background:#d8f0ea;border-radius:8px;margin:0;padding:8px;font-size:14px;font-weight:700}.auto-plan__result--ng{color:#9b2c1c;background:#fbdad5}.quick-actions{flex-shrink:0;gap:8px;padding:8px 0 0;display:flex}.quick-actions__btn{white-space:nowrap;flex:1;min-height:42px;font-size:15px}.check-plan{background:#fffaf9;border:1px solid #f2b8b2;border-radius:12px;margin-top:10px;padding:12px}.check-plan__header{color:#7a2318;align-items:center;gap:6px;margin-bottom:10px;font-size:15px;font-weight:700;display:flex}.check-plan__title{flex:1}.check-plan__badge{color:#fff;background:#e0342b;border-radius:999px;padding:2px 9px;font-size:13px;font-weight:700}.check-plan__list{flex-direction:column;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.check-plan__item{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;padding:10px}.check-plan__item-head{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:3px;display:flex}.check-plan__when{color:var(--color-primary-dark);white-space:nowrap;font-size:14px;font-weight:700}.check-plan__event-title{font-size:15px;font-weight:700}.check-plan__reason{color:var(--color-text-muted);margin-top:3px;font-size:13px;line-height:1.6}.check-plan__one{min-height:38px;margin-top:8px;padding:6px 14px}.check-plan .btn--block{min-height:42px}.check-plan__hint{color:var(--color-text-muted);text-align:center;margin:8px 0 0;font-size:13px}.check-plan__done{color:#0663f6;text-align:center;background:#d8f0ea;border-radius:8px;margin:0 0 8px;padding:8px;font-size:14px;font-weight:700}.check-plan__next{color:var(--color-text-muted);text-align:center;margin:0 0 10px;font-size:14px;line-height:1.6}.gnav{display:none}.app-main{flex-direction:column;flex:1;min-height:0;display:flex}@media (width>=1024px){.app-shell{width:100%;max-width:none;box-shadow:none;flex-direction:row}.app-main{min-width:0}.gnav{background:var(--gradient-header);color:#fff;flex-direction:column;flex-shrink:0;width:248px;display:flex;overflow-y:auto}.gnav__brand{color:#fff;border-bottom:1px solid #ffffff24;align-items:center;gap:10px;padding:18px 16px;text-decoration:none;display:flex}.gnav__brand-mark{background:#ffffff2e;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:19px;font-weight:800;display:flex}.gnav__brand-name{letter-spacing:.04em;font-size:17px;font-weight:700;display:block}.gnav__brand-sub{color:#ffffffb3;font-size:12px;display:block}.gnav__nav{flex-direction:column;flex:1;gap:4px;padding:12px 10px;display:flex}.gnav__group{flex-direction:column;display:flex}.gnav__app{color:#ffffffd1;border-radius:10px;align-items:center;gap:10px;min-height:42px;padding:8px 12px;font-size:15px;font-weight:600;text-decoration:none;transition:background .18s,color .18s;display:flex}.gnav__app:hover{color:#fff;background:#ffffff1f}.gnav__app--active{color:#fff;box-shadow:inset 3px 0 0 var(--color-accent);background:#fff3}.gnav__icon{text-align:center;width:22px;font-size:19px}.gnav__label{line-height:1.3}.gnav__subs{border-left:1px solid #ffffff2e;flex-direction:column;gap:2px;margin:2px 0 6px 22px;padding-left:10px;display:flex}.gnav__sub{color:#ffffffb8;border-radius:8px;align-items:center;gap:8px;min-height:34px;padding:5px 10px;font-size:14px;text-decoration:none;transition:background .15s,color .15s;display:flex}.gnav__sub:hover{color:#fff;background:#ffffff1a}.gnav__sub--active{color:#fff;background:#ffffff2e;font-weight:700}.gnav__sub-icon{font-size:15px}.gnav__foot{border-top:1px solid #ffffff24;flex-direction:column;gap:8px;padding:12px;display:flex}.gnav__user-name{font-size:15px;font-weight:700}.gnav__user-office{color:#ffffffb3;margin-bottom:4px;font-size:13px}.gnav__logout{color:#ffffffe0;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff38;border-radius:8px;min-height:38px;font-size:14px;transition:background .18s,border-color .18s}.gnav__logout:hover{color:#fff;background:#ff505047;border-color:#ff6e6e80}.app-switcher,.bottom-nav{display:none}.app-header{padding:10px 24px}.app-header__brand{display:none}.app-header__user{margin-left:auto}.app-content{padding:20px 24px 32px}.app-content>.page{max-width:1100px;margin:0 auto}.tgrid__scroll{overscroll-behavior:contain;max-height:calc(100vh - 250px);overflow:auto}.app-content>.page--all{max-width:1400px}.page--all{grid-template-columns:320px minmax(0,1fr);grid-template-areas:"title title""alert alert""cal day";align-items:start;gap:16px 20px;display:grid}.page--all__title{grid-area:title;margin-bottom:0}.page--all__alert{grid-area:alert}.page--all__cal{grid-area:cal;position:sticky;top:0}.page--all__day{grid-area:day}.page--all .month-calendar__cell{aspect-ratio:auto;border-radius:8px;height:44px}.page--all .month-calendar__date{font-size:14px}.page--all .month-calendar__grid{gap:3px}.page--all .day-grid-scroll{overscroll-behavior:contain;border-radius:12px;max-height:calc(100vh - 230px);overflow:auto}.master-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.page>.btn--block{max-width:320px}.page--chat{width:100%;padding-bottom:20px}.quick-actions{width:100%;max-width:560px;margin-left:auto;margin-right:auto}.chat-input{width:100%;max-width:860px;margin-left:auto;margin-right:auto}.chat-input textarea{font-size:17px}.fab{bottom:28px;right:28px}.alert-banner__bar,.alert-banner__body{max-width:1100px;margin-left:auto;margin-right:auto}}@media (width>=1440px){.gnav{width:268px}.app-content{padding:24px 40px 40px}.app-content>.page,.alert-banner__bar,.alert-banner__body{max-width:1280px}}.sched-event--movable{cursor:grab;touch-action:none}.sched-event--movable:active{cursor:grabbing}.sched-event--dragging{opacity:.4;box-shadow:none}.tgrid__ghost,.day-grid__ghost{z-index:5;border:2px dashed var(--color-primary);pointer-events:none;background:#0663f629;border-radius:6px;align-items:flex-start;padding:2px 4px;display:flex;position:absolute;left:2px;right:2px;overflow:hidden}.tgrid__ghost-time,.day-grid__ghost-time{color:var(--color-primary-dark);white-space:nowrap;font-size:12px;font-weight:700}.sched-event:not(.sched-event--movable){cursor:pointer}.auto-plan__warn{color:#b45309;white-space:nowrap;cursor:help;background:#fef3c7;border-radius:999px;padding:1px 6px;font-size:12px;font-weight:700}.app-header__support{color:#fff;background:#ffffff24;border-radius:999px;align-items:center;gap:6px;min-height:36px;margin-right:8px;padding:0 12px;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.app-header__support>span:first-child{width:20px;height:20px;color:var(--color-primary);background:#fff;border-radius:50%;place-items:center;font-size:15px;font-weight:800;display:grid}@media (width<=599px){.app-header__support{padding:0 8px}.app-header__support-label{display:none}}.gnav__support{color:#ffffffe6;background:#ffffff14;border-radius:10px;align-items:center;gap:8px;margin:0 0 8px;padding:10px 12px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.gnav__support:hover,.gnav__support--on{color:#fff;background:#ffffff2e}.home-support{color:var(--color-text);transition:background .15s, transform .15s var(--ease-out);background:#0663f60f;border:1.5px dashed #0663f673;border-radius:14px;align-items:center;gap:14px;margin-top:18px;padding:16px 18px;text-decoration:none;display:flex}.home-support:hover{background:#0663f61f;transform:translateY(-1px)}.home-support__icon{background:var(--color-primary);color:#fff;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:20px;font-weight:800;display:grid}.home-support__body{flex-direction:column;flex:1;gap:2px;display:flex}.home-support__title{font-size:17px;font-weight:700}.home-support__desc{color:var(--color-text-muted);font-size:14px}.home-support__arrow{color:var(--color-text-muted);font-size:24px}.support-to{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:4px 0 16px;padding:12px 16px;display:flex}.support-to__label{color:var(--color-text-muted);font-size:14px;font-weight:700}.support-to__mail{color:var(--color-primary);word-break:break-all;font-size:18px;font-weight:700;text-decoration:none}.support-to__note{color:var(--color-text-muted);flex-basis:100%;font-size:14px}.support-quick{margin-bottom:16px}.support-quick__title{color:var(--color-text-muted);margin-bottom:8px;font-size:14px;font-weight:700}.support-quick__chips{flex-wrap:wrap;gap:8px;display:flex}.support-chip{border:1.5px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-text);cursor:pointer;border-radius:999px;padding:0 14px;font-size:15px;font-weight:600;transition:border-color .15s,background .15s}.support-chip:hover{border-color:var(--color-primary);background:#eaf4f2}.support-form{flex-direction:column;gap:16px;display:flex}.support-form__hint{color:var(--color-text-muted);font-size:14px;font-weight:400}.support-form__body{resize:vertical;min-height:180px;font-size:18px;line-height:1.6}.support-form__auto{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;padding:12px 14px}.support-form__auto-title{color:var(--color-text-muted);margin-bottom:6px;font-size:14px;font-weight:700}.support-form__auto dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:15px;display:grid}.support-form__auto dt{color:var(--color-text-muted)}.support-form__auto dd{word-break:break-all;margin:0}.support-form__actions{flex-direction:column;gap:10px;display:flex}.support-form__send{justify-content:center;align-items:center;min-height:50px;font-size:18px;text-decoration:none;display:flex}.support-form__send--empty{opacity:.75}.support-form__note{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.6}@media (width>=1024px){.page--support{max-width:760px}.support-form__actions{flex-direction:row}.support-form__actions .btn--block{flex:1;max-width:none}}.support-form__alt{border:1px dashed var(--color-border);border-radius:10px;padding:12px 14px}.support-form__alt-title{color:var(--color-text-muted);margin-bottom:8px;font-size:14px;font-weight:700}.support-form__alt-btns{flex-wrap:wrap;gap:8px;display:flex}.support-form__alt-btn{flex:160px;justify-content:center;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.loc-toolbar{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.loc-toolbar__search{border:1px solid var(--color-input-border);background:var(--color-input-bg);border-radius:12px;width:100%;min-height:44px;padding:10px 14px;font-size:17px}.loc-toolbar__types{flex-wrap:wrap;gap:6px;display:flex}.loc-toolbar__type{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;border-radius:999px;min-height:34px;padding:6px 12px;font-size:14px;font-weight:700}.loc-toolbar__type--on{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.loc-warn{margin-bottom:14px}.loc-warn__text{margin:0;font-size:15px;line-height:1.6}.loc-empty{text-align:center;color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:14px;padding:36px 16px}.loc-empty__icon{margin-bottom:8px;font-size:40px}.loc-empty__sub{margin-bottom:16px;font-size:14px}.loc-grid{grid-template-columns:1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}.loc-card{background:var(--gradient-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.loc-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.loc-card--warn{border-color:#e0792a73}.loc-card__head{align-items:flex-start;gap:10px;display:flex}.loc-card__icon{background:var(--color-bg);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;display:flex}.loc-card__icon--home{background:#fff3e0}.loc-card__icon--hospital{background:#fdecea}.loc-card__icon--facility{background:#e8f1fb}.loc-card__icon--office{background:#ece9fb}.loc-card__title{flex:1;min-width:0}.loc-card__name{word-break:break-word;margin-bottom:4px;font-size:17px;font-weight:700;line-height:1.3}.loc-card__body{flex-direction:column;gap:6px;display:flex}.loc-card__row{gap:8px;font-size:15px;line-height:1.5;display:flex}.loc-card__label{width:2.5em;color:var(--color-text-muted);flex-shrink:0;padding-top:2px;font-size:13px;font-weight:700}.loc-card__value{word-break:break-word;min-width:0}.loc-card__value--empty{color:var(--color-high);font-weight:700}.loc-card__value--note{color:var(--color-text-muted);white-space:pre-line}.loc-card__actions{border-top:1px solid var(--color-border);justify-content:flex-end;gap:6px;padding-top:8px;display:flex}.loc-card__actions .btn{min-height:36px}.loc-type-picker{flex-wrap:wrap;gap:6px;display:flex}.loc-type-picker__btn{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:999px;min-height:40px;padding:8px 12px;font-size:15px}.loc-type-picker__btn--on{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:700}.loc-coords{background:var(--color-bg);border:1px dashed var(--color-border);color:var(--color-text-muted);border-radius:10px;padding:10px 12px;font-size:15px}.loc-coords--ok{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7;font-weight:700}.loc-coords__val{font-variant-numeric:tabular-nums;margin-left:6px;font-weight:400}.loc-coords__manual{color:var(--color-text-muted);margin-top:6px;font-size:14px}.loc-coords__manual summary{cursor:pointer}.form__error{color:#c62828;background:#fdecea;border-radius:10px;margin:0 0 10px;padding:10px 12px;font-size:15px;font-weight:700}@media (width>=720px){.loc-toolbar{flex-flow:wrap;align-items:center}.loc-toolbar__search{flex:240px;width:auto}.loc-toolbar__add{margin-left:auto}.loc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1200px){.loc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.loc-warn .badge{white-space:nowrap;flex-shrink:0}.tm-toolbar{flex-direction:column;gap:8px;margin:12px 0 4px;display:flex}.tm-toolbar__search{border:1px solid var(--color-input-border);background:var(--color-input-bg);border-radius:12px;width:100%;min-height:44px;padding:10px 14px;font-size:17px}.tm-toolbar__staff{border:1px solid var(--color-input-border);background:var(--color-input-bg);border-radius:12px;min-height:44px;padding:8px 12px;font-size:16px}.tm-toolbar__sort{flex-wrap:wrap;gap:6px;display:flex}.tm-toolbar__sort-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;border-radius:999px;min-height:34px;padding:6px 12px;font-size:14px;font-weight:700}.tm-toolbar__sort-btn--on{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tm-toolbar__sort-btn:disabled{opacity:.5;cursor:not-allowed}.tm-toolbar__count{color:var(--color-text-muted);font-size:14px}.tm-toolbar__note{color:var(--color-high);margin:0 0 4px;font-size:14px}.tm-distance{color:#2e7d32;white-space:nowrap;background:#e8f5e9;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:13px;font-weight:700;display:inline-block}.tm-distance--none{background:var(--color-bg);color:var(--color-text-muted)}@media (width>=720px){.tm-toolbar{flex-flow:wrap;align-items:center}.tm-toolbar__search{flex:240px;width:auto}.tm-toolbar__count{margin-left:auto}}.holiday__year{align-items:center;gap:8px;margin-left:auto;font-size:16px;font-weight:700;display:flex}.holiday__note{color:var(--color-text-muted);margin:0 0 10px;font-size:14px;line-height:1.6}.holiday__add{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.holiday__add input[type=date]{border:1px solid var(--color-input-border);background:var(--color-input-bg);border-radius:10px;min-height:40px;padding:6px 10px;font-size:16px}.holiday__add input[type=text]{border:1px solid var(--color-input-border);background:var(--color-input-bg);border-radius:10px;flex:160px;min-height:40px;padding:6px 12px;font-size:16px}.holiday__list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.holiday__list--auto{max-height:260px;margin-top:6px;overflow:auto}.holiday__item{background:var(--color-bg);border-radius:8px;align-items:center;gap:10px;padding:6px 8px;font-size:15px;display:flex}.holiday__date{font-variant-numeric:tabular-nums;min-width:6.5em;font-weight:700}.holiday__name{flex:1;min-width:0}.holiday__empty{color:var(--color-text-muted);padding:6px 8px;font-size:14px}.holiday__toggle{color:var(--color-primary);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:4px 0;font-size:14px}.msplit{display:block}.msplit__panel{display:none}@media (width>=1024px){.msplit{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.msplit--open{grid-template-columns:minmax(360px,5fr) minmax(420px,6fr)}.msplit__list{min-width:0}.msplit__panel{overscroll-behavior:contain;max-height:calc(100vh - 110px);display:block;position:sticky;top:0;overflow:auto}.msplit__box{background:var(--gradient-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);animation:fade-in .2s var(--ease-out);border-radius:14px;padding:0 0 4px}.msplit__head{border-bottom:1px solid var(--color-border);background:var(--color-surface);z-index:1;border-radius:14px 14px 0 0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.msplit__title{font-size:17px;font-weight:700}.msplit__box .modal__body{padding:14px 16px}.page--master .master-list{gap:6px}.page--master .master-card{cursor:pointer;border-left:4px solid #0000;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"top actions""addr actions""addr2 actions""memo actions";gap:2px 12px;padding:10px 14px;display:grid}.page--master .master-card:hover{background:var(--color-bg);transform:none}.page--master .master-card--selected{border-left-color:var(--color-primary);box-shadow:var(--shadow-card-hover);background:#e8f0ff}.page--master .master-card__top{grid-area:top}.page--master .master-card__address:first-of-type{grid-area:addr}.page--master .master-card__address:nth-of-type(2){grid-area:addr2}.page--master .schedule-card__memo{grid-area:memo}.page--master .master-card__actions{grid-area:actions;align-self:center;margin:0}.page--master .master-card__actions .btn:first-child{display:none}.msplit--open .loc-grid{grid-template-columns:1fr;gap:6px}.msplit--open .loc-card{cursor:pointer;border-left:4px solid #0000;gap:4px;padding:10px 14px}.msplit--open .loc-card:hover{background:var(--color-bg);transform:none}.msplit--open .loc-card__icon{width:32px;height:32px;font-size:18px}.msplit--open .loc-card__actions{border-top:none;padding-top:0}.msplit--open .loc-card__edit{display:none}.loc-card{cursor:pointer}.loc-card--selected{background:#e8f0ff;border-left:4px solid var(--color-primary)!important}}.unsaved{color:#92400e;z-index:1;background:#fef3c7;border:1px solid #f5c86a;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin:10px 16px 0;padding:8px 12px;font-size:15px;font-weight:700;display:flex;position:sticky;top:52px}.modal .unsaved{margin:12px 16px 0;position:static}.unsaved .btn{white-space:nowrap;min-height:34px}.msplit__box--dirty{border-color:#f5c86a;box-shadow:0 0 0 3px #f59e0b26}@media (width>=1024px){.modal{max-width:720px}.modal--wide{max-width:960px}.modal--wide .form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px 20px;display:grid}:is(.modal--wide .form>.form__row,.modal--wide .form>.form__group,.modal--wide .form>.form__actions,.modal--wide .form>.form__error,.modal--wide .form>.form__hint,.modal--wide .form>.absence-editor,.modal--wide .form>.form__field:has(textarea),.modal--wide .form>.form__field:has(.form__input-with-btn),.modal--wide .form>.form__field:has(.loc-type-picker),.modal--wide .form>.form__field:has(.loc-coords)){grid-column:1/-1}.modal--wide .form>.form__actions{justify-content:flex-end}.modal--wide .form>.form__actions .btn--block{width:auto;min-width:160px}.modal--wide .form__group{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;display:grid}.modal--wide .form__group>.form__group-title,.modal--wide .form__group>.form__group-note,.modal--wide .form__group>.form__hint,.modal--wide .form__group>.form__checkbox-item,.modal--wide .form__group>.absence-editor{grid-column:1/-1}}.contract-steps{margin:12px 0 16px}.contract-steps__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.contract-steps__item{align-items:flex-start;gap:12px;display:flex}.contract-steps__num{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;font-weight:700;display:flex}.contract-steps__title{margin-bottom:2px;font-size:16px;font-weight:700}.contract-steps__desc{color:var(--color-text-muted);font-size:14px;line-height:1.6}.contract-steps__desc a{color:var(--color-primary);font-weight:700}@media (width>=1024px){.contract-steps__list{flex-direction:row}.contract-steps__item{flex:1}}.page__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.page__header--wrap{display:contents}.app-header__page-slot:empty{display:none}.page__actions{justify-content:flex-end;gap:8px;margin-bottom:8px;display:flex}@media (width>=1024px){.app-header__page-slot{align-items:center;min-width:0;display:flex}.app-header__page{color:#fff;align-items:baseline;gap:12px;min-width:0;display:flex}.app-header__page-title{white-space:nowrap;margin:0;font-size:20px;font-weight:700}.app-header__page-sub{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.app-content:has(.page--master){flex-direction:column;min-height:0;display:flex;overflow:hidden}.app-content>.page--master{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.page--master .msplit{flex:1;align-items:stretch;min-height:0}.page--master .msplit__list{overscroll-behavior:contain;min-height:0;padding:0 4px 12px 0;overflow:auto}.page--master .msplit__panel{min-height:0;max-height:none;position:static;overflow:auto}.page--master .msplit__list-head{z-index:1;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border);align-items:center;gap:8px;margin-bottom:4px;padding:6px 4px 8px;font-size:14px;font-weight:700;display:flex;position:sticky;top:0}.msplit__count{font-weight:400}.page--master>.btn--block{max-width:320px;margin-bottom:10px}}.chat-clear-btn{white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;width:auto;min-height:36px;padding:6px 12px;display:inline-flex}.page--chat .page__actions{margin:0 0 6px}@media (width<=719px){.chat-clear-btn{justify-content:center;min-width:40px;padding:6px 10px}.chat-clear-btn__label{display:none}}.brand-logo{object-fit:contain;max-width:100%;display:block}.app-header{color:var(--color-text);border-bottom:1px solid var(--color-border);background:#fff;box-shadow:0 2px 10px #0b1a450d}.app-header__brand{color:var(--color-text);min-height:36px}.app-header__user{background:var(--color-bg);border-color:var(--color-border);-webkit-backdrop-filter:none;backdrop-filter:none}.app-header__office{color:var(--color-text-muted)}.app-header__divider{background:var(--color-border)}.app-header__name{color:var(--color-text);font-size:15px}.app-header__role{border-color:var(--color-border);color:var(--color-text-muted);background:#fff;font-size:12px}.app-header__role--leader{color:#8a5a00;background:#fff6dd;border-color:#f2cf6b}.app-header__logout{border-color:var(--color-border);color:var(--color-text-muted);background:#fff;min-height:40px;font-size:14px}.app-header__logout:hover{color:#c62828;background:#fdecea;border-color:#f2b8b2}.app-header__support{background:var(--color-primary-light);color:var(--color-primary);border-color:#0000}.app-header__support:hover{background:#d6e5ff}.app-header__back{background:var(--color-bg);border-color:var(--color-border);color:var(--color-text)}.app-switcher__tab{min-height:48px;font-size:15px}.app-switcher__tab--active{background:var(--brand-blue);box-shadow:0 4px 12px #0663f647}.bottom-nav__item{font-size:13px}.bottom-nav__item--active{color:var(--brand-blue)}@media (width>=1024px){.gnav{color:var(--color-text);border-right:1px solid var(--color-border);background:#fff}.gnav__brand{color:var(--color-text);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:flex-start;gap:6px;padding:20px 20px 16px}.gnav__brand-sub{color:var(--color-text-muted);letter-spacing:.12em;font-size:12px}.gnav__app{color:var(--color-text);border-radius:12px;min-height:48px;font-size:16px}.gnav__app:hover{background:var(--color-bg);color:var(--brand-blue)}.gnav__app--active{background:var(--brand-blue);color:#fff;box-shadow:0 4px 12px #0663f640}.gnav__subs{border-left-color:var(--color-border)}.gnav__sub{color:var(--color-text-muted);border-radius:10px;min-height:42px;font-size:15px}.gnav__sub:hover{background:var(--color-bg);color:var(--brand-blue)}.gnav__sub--active{background:var(--color-primary-light);color:var(--brand-blue);font-weight:700}.gnav__foot{border-top-color:var(--color-border)}.gnav__user-name{font-size:15px}.gnav__user-office{color:var(--color-text-muted);font-size:13px}.gnav__logout{border-color:var(--color-border);color:var(--color-text-muted);background:#fff;min-height:44px;font-size:14px}.gnav__logout:hover{color:#c62828;background:#fdecea;border-color:#f2b8b2}.gnav__support{color:var(--brand-blue);background:var(--color-primary-light)}.gnav__support:hover,.gnav__support--on{color:var(--brand-blue);background:#d6e5ff}.app-header__page{color:var(--color-text)}.app-header__page-title{font-size:22px}.app-header__page-sub{color:var(--color-text-muted);opacity:1;font-size:14px}}.btn{border-color:#c9d3e6;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 18px;font-size:16px;line-height:1.3;display:inline-flex}.btn--block{width:100%;display:flex}.btn--primary{background:var(--brand-blue);color:#fff;border-color:#0000;box-shadow:0 6px 16px #0663f647}.btn--primary:hover{background:#0a58e0;box-shadow:0 8px 20px #0663f65c}.btn--create{background:var(--gradient-create);color:#fff;border-color:#0000;box-shadow:0 6px 16px #009a9a47}.btn--create:hover{box-shadow:0 8px 20px #009a9a5c}.btn--danger{min-height:44px}.btn--sm{border-radius:10px;min-height:40px;padding:6px 14px;font-size:15px}.btn--xs{border-radius:8px;min-height:34px;padding:4px 10px;font-size:14px}.btn--ghost{color:var(--color-text);border-color:#c9d3e6}.action-btn{color:#fff;letter-spacing:.02em;text-align:left;cursor:pointer;background:var(--brand-blue);width:100%;min-height:84px;transition:transform .15s var(--ease-out), box-shadow .2s var(--ease-out), filter .2s;border:none;border-radius:18px;align-items:center;gap:16px;padding:16px 22px;font-size:20px;font-weight:800;text-decoration:none;display:flex;box-shadow:0 8px 22px #0663f647}.action-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px #0663f657}.action-btn--create{background:var(--gradient-create);box-shadow:0 8px 22px #009a9a47}.action-btn--create:hover{box-shadow:0 12px 26px #009a9a57}.action-btn:disabled{opacity:.55;cursor:default;transform:none}.action-btn__icon{background:#ffffff2e;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:28px;display:flex}.action-btn__label{flex:1;min-width:0;line-height:1.35}.action-btn__desc{opacity:.9;margin-top:2px;font-size:14px;font-weight:500;display:block}.action-btn__chevron{opacity:.9;flex-shrink:0;font-size:30px;font-weight:400}.app-menu{flex-direction:column;gap:14px;display:flex}.app-menu__card{background:var(--brand-blue);color:#fff;border:none;border-radius:18px;align-items:center;gap:16px;min-height:92px;padding:18px 22px;text-decoration:none;display:flex;box-shadow:0 8px 22px #0663f642}.app-menu__card:nth-child(2n){background:var(--gradient-create);box-shadow:0 8px 22px #009a9a42}.app-menu__card:hover{transform:translateY(-2px)}.app-menu__icon{background:#ffffffeb;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;display:flex}.app-menu__name{color:#fff;font-size:21px;font-weight:800}.app-menu__desc{color:#ffffffe6;font-size:14px}.app-menu__arrow{color:#fff;opacity:.9;font-size:32px}.quick-actions__btn{border-radius:14px;min-height:60px;font-size:18px}.quick-actions__btn.btn--primary{background:var(--gradient-create);box-shadow:0 6px 16px #009a9a47}.quick-actions__btn:not(.btn--primary){background:var(--brand-blue);color:#fff;border-color:#0000;box-shadow:0 6px 16px #0663f63d}.fab{background:var(--gradient-create);width:64px;height:64px;font-size:32px;box-shadow:0 10px 24px #009a9a59}.form__field>span,.form__field>label{font-size:15px}.form__field input,.form__field select,.form__field textarea,.loc-toolbar__search,.tm-toolbar__search,.tm-toolbar__staff{min-height:48px;font-size:16px}.page__title{font-size:24px}.page__subtitle{font-size:15px}.login__mobile-logo{justify-content:center;margin-bottom:20px}@media (width>=900px){.login__brand{color:var(--color-text);border-right:1px solid var(--color-border);background:radial-gradient(520px 380px at 90% 0,#0663f61f,#0000 60%),radial-gradient(480px 420px at 0 100%,#00a8a81a,#0000 60%),#fff}.login__tagline{color:var(--brand-navy);font-size:32px}.login__point-icon{background:var(--color-primary-light)}.login__points strong{font-size:18px}.login__points span:not(.login__point-icon){opacity:1;color:var(--color-text-muted);font-size:15px}.login__brand-foot{color:var(--color-text-muted);opacity:1;font-size:14px}}.login__submit{background:var(--brand-blue);border-radius:14px;min-height:56px;font-size:18px}.boot-screen__logo{color:inherit;background:0 0;-webkit-background-clip:initial;background-clip:initial}.brand-logo--narrow{display:none}@media (width<=479px){.brand-logo--wide{display:none}.brand-logo--narrow{display:block}.app-header__user{gap:6px;padding:4px 6px 4px 10px}}.login__mobile-logo{display:flex}@media (width>=900px){.login__mobile-logo{display:none}}.mmenu__toggle{display:none}@media (width<=1023px){.app-header,.app-switcher{display:none}.mmenu__toggle{z-index:60;border:1px solid var(--color-border);cursor:pointer;background:#fffffff5;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:fixed;top:10px;right:12px;box-shadow:0 4px 14px #0b1a4529}.mmenu__bars{flex-direction:column;gap:4px;display:flex}.mmenu__bars i{background:var(--brand-navy);border-radius:2px;width:20px;height:2.5px;display:block}.app-content{padding-top:70px}.app-content:has(.page--chat){padding-top:10px}.page--chat .page__actions--mobile{align-items:center;min-height:48px;margin:0 64px 6px 0}.page__actions--mobile{justify-content:flex-start;gap:8px;margin:0 0 8px;display:flex}.alert-banner__bar{gap:6px;min-height:0;padding:6px 64px 6px 12px}.alert-banner__icon{font-size:12px}.alert-banner__title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.alert-banner__summary{min-width:0;padding:0}.alert-banner__detail,.alert-banner__chevron{display:none}.alert-banner__close{width:32px;height:32px;font-size:14px}}.mmenu{z-index:300;background:#0b1a4573;justify-content:flex-end;animation:.15s fade-in;display:flex;position:fixed;inset:0}.mmenu__panel{width:min(320px,86vw);height:100%;animation:mmenu-in .2s var(--ease-out);background:#fff;flex-direction:column;gap:12px;padding:16px 16px 24px;display:flex;overflow-y:auto;box-shadow:-8px 0 30px #0b1a4533}@keyframes mmenu-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.mmenu__head{justify-content:space-between;align-items:center;display:flex}.mmenu__close{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:50%;width:44px;height:44px;font-size:18px}.mmenu__user{background:var(--color-bg);border-radius:12px;flex-direction:column;padding:10px 12px;display:flex}.mmenu__name{font-size:17px;font-weight:700}.mmenu__office{color:var(--color-text-muted);font-size:14px}.mmenu__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.mmenu__item{min-height:56px;color:var(--color-text);border-radius:14px;align-items:center;gap:14px;padding:10px 14px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.mmenu__item--active{background:var(--brand-blue);color:#fff}.mmenu__icon{text-align:center;width:28px;font-size:22px}.mmenu__note{color:var(--color-text-muted);margin:auto 0 0;font-size:13px;line-height:1.6}.mmenu__logout{border:1px solid var(--color-border);color:#c62828;cursor:pointer;background:#fff;border-radius:12px;min-height:48px;font-size:16px;font-weight:700}.page--dashboard{width:100%;max-width:640px;margin:0 auto}.dash-kpi{border:1px solid var(--color-border);background:#fff;border-radius:22px;flex-direction:column;align-items:center;gap:6px;margin:8px 0 18px;padding:22px 20px 20px;display:flex;box-shadow:0 6px 20px #0b1a4514}.dash-kpi__label{color:var(--brand-navy);font-size:20px;font-weight:800}.dash-kpi__row{align-items:center;gap:14px;display:flex}.dash-kpi__icon{width:60px;height:60px;color:var(--brand-blue);flex-shrink:0}.dash-kpi__value{color:var(--brand-navy);letter-spacing:-.02em;font-size:76px;font-weight:900;line-height:1}.dash-kpi__unit{color:var(--brand-navy);align-self:flex-end;margin-bottom:8px;font-size:30px;font-weight:900}.dash-actions{flex-direction:column;gap:14px;display:flex}@media (width<=1023px){.page--dashboard{padding-top:0}}@media (width>=1024px){.dash-kpi{padding:28px 24px 24px}.dash-kpi__icon{width:72px;height:72px}.dash-kpi__value{font-size:96px}}.auto-plan--latest{border:2px solid var(--brand-blue);box-shadow:0 6px 18px #0663f61f}.auto-plan--old{background:var(--color-bg);border:1px dashed var(--color-border);color:var(--color-text-muted);border-radius:12px;margin-top:8px;padding:10px 14px;font-size:14px}.auto-plan__notes{color:#7a4d00;background:#fff7e6;border:1px solid #f2cf6b;border-radius:10px;margin:8px 0 0;padding:10px 12px 10px 28px;font-size:14px;line-height:1.6}.auto-plan__badge{background:var(--brand-blue);color:#fff}.month-calendar__count{background:var(--brand-navy);color:#fff;font-weight:800}.month-calendar__cell--selected .month-calendar__count{color:var(--brand-navy);background:#fff}.tgrid__day-count{color:var(--brand-navy);font-weight:800}.dash-kpi-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=1024px){.dash-kpi-grid{grid-template-columns:1fr 1fr}}.dash-progress{border:1px solid var(--color-border,#dfe6f3);background:#fff;border-radius:18px;flex-direction:column;gap:12px;padding:20px 24px;display:flex}.dash-progress__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.dash-progress__label{color:var(--brand-navy);font-size:20px;font-weight:800}.dash-progress__num{color:var(--brand-navy);font-size:20px;font-weight:700}.dash-progress__num strong{font-size:30px;font-weight:900}.dash-progress__bar{background:#e6edf9;border-radius:999px;height:20px;overflow:hidden}.dash-progress__fill{background:var(--brand-teal);border-radius:999px;height:100%;transition:width .4s}.dash-progress__note{color:var(--brand-navy);margin:0;font-size:18px}.dash-progress__note strong{color:#c0392b;font-size:22px}@media (width>=1024px){.page--dashboard{max-width:920px}}.dash-kpi-grid{gap:0 16px}.dash-kpi-grid .dash-kpi{margin:8px 0 12px}.dash-progress{margin:4px 0 18px;box-shadow:0 6px 20px #0b1a4514}@media (width<=1023px){.dash-kpi-grid .dash-kpi{padding:16px 16px 14px}.dash-kpi-grid .dash-kpi__value{font-size:60px}.page--all,.page--all__day{min-width:0;max-width:100%}.page--all .day-grid-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-radius:12px;overflow:auto visible}.page--all .day-grid{width:max-content;min-width:100%}.page--all .day-grid__times{z-index:3;background:var(--color-bg);position:sticky;left:0}.page--all .day-grid__column{flex:0 0 116px;min-width:116px}}@media (width>=1024px){.page--all .day-grid-scroll{max-height:none;padding-bottom:12px;overflow:auto visible}}
