/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#27332e;--muted:#7a8882;--line:#e6ebe7;--paper:#fff;--canvas:#f5f7f4;--green:#345e4d;--green-dark:#243c33;--green-soft:#e7f0eb;--cream:#f5efe4;--shadow:0 12px 36px #283d3314}*{box-sizing:border-box}html,body{background:var(--canvas);min-height:100%;color:var(--ink);margin:0;font-family:Hiragino Sans,Yu Gothic UI,Yu Gothic,Meiryo,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}h1,h2,h3,p{margin:0}::selection{background:#cfe1d6}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--green-dark);color:#fff;z-index:10;flex-direction:column;width:236px;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;height:54px;display:flex}.brand b{letter-spacing:.08em;font-family:Yu Mincho,serif;font-size:19px;display:block}.brand small{letter-spacing:.18em;opacity:.62;margin-top:3px;font-size:10px;display:block}.brand-mark{background:#e9efe7;border-radius:12px 12px 17px 17px;flex:none;width:34px;height:34px;position:relative;transform:rotate(-2deg)}.brand-mark span{background:#6c8c79;border-radius:100% 0;width:9px;height:15px;position:absolute}.brand-mark span:first-child{top:10px;left:7px;transform:rotate(-25deg)}.brand-mark span:nth-child(2){top:7px;right:7px;transform:rotate(18deg)}.brand-mark span:nth-child(3){background:#98aa86;width:7px;height:10px;top:16px;left:14px;transform:rotate(52deg)}.nav-label{letter-spacing:.16em;opacity:.38;margin:34px 12px 12px;font-size:10px}.sidebar nav button{color:#d8e1dc;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;width:100%;height:47px;margin:3px 0;padding:0 12px;font-size:13px;transition:all .2s;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff1c}.sidebar nav button.active{box-shadow:inset 3px 0 #aac4b4}.sidebar nav button em{color:#fff;background:#d99079;border-radius:50%;place-items:center;width:20px;height:20px;margin-left:auto;font-size:10px;font-style:normal;display:grid}.nav-icon{border:1px solid #fff3;border-radius:7px;place-items:center;width:23px;height:23px;font-size:13px;display:grid}.sidebar-bottom{margin-top:auto}.capacity-card{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:14px;margin-bottom:14px;padding:14px}.capacity-card small{opacity:.56;font-size:10px}.capacity-card strong{margin:5px 0;font-size:22px;display:block}.capacity-card strong span{opacity:.5;font-size:11px}.capacity-bar{background:#ffffff1f;border-radius:5px;height:4px}.capacity-bar i{background:#91ad99;border-radius:5px;width:80%;height:100%;display:block}.capacity-card p{color:#b8ccbf;margin-top:7px;font-size:10px}.staff-profile{color:#fff;text-align:left;background:0 0;border:0;border-top:1px solid #ffffff17;align-items:center;gap:9px;width:100%;padding:15px 2px 0;display:flex}.staff-profile>span{flex:1}.staff-profile b{font-size:12px;display:block}.staff-profile small{opacity:.52;font-size:9px}.staff-profile i{opacity:.45;letter-spacing:2px;font-style:normal}.avatar{color:#476354;border:2px solid #ffffffa6;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:12px;display:inline-grid}.workspace{width:calc(100% - 236px);min-height:100vh;margin-left:236px}.page-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:88px;padding:0 32px;display:flex}.page-header h1{letter-spacing:.04em;font-family:Yu Mincho,serif;font-size:24px;font-weight:700}.page-header p{color:var(--muted);margin-top:5px;font-size:11px}.header-actions{align-items:center;gap:10px;display:flex}.role-switch,.view-switch,.family-filter{background:#f0f3f0;border-radius:9px;padding:3px;display:flex}.role-switch button,.view-switch button,.family-filter button{color:#7a8781;background:0 0;border:0;border-radius:7px;height:30px;padding:0 13px;font-size:11px}.role-switch button.active,.view-switch button.active,.family-filter button.active{color:var(--green);background:#fff;font-weight:700;box-shadow:0 2px 7px #1e362c14}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:10px;width:38px;height:38px;position:relative}.icon-btn span{background:#d98068;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:8px}.primary-btn,.outline-btn,.reject-btn{border-radius:9px;height:38px;padding:0 16px;font-size:11px;font-weight:700}.primary-btn{border:1px solid var(--green);background:var(--green);color:#fff;box-shadow:0 5px 13px #345e4d29}.primary-btn:hover{background:#294d3e}.outline-btn{color:#4a5c54;background:#fff;border:1px solid #dbe3de}.outline-btn:hover{border-color:#9db5a7}.reject-btn{color:#a85d4b;background:#fff6f4;border:1px solid #ebcec8}.small{height:32px;padding:0 12px}.full{width:100%}.page-content{padding:25px 28px 30px}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.month-nav{align-items:center;gap:8px;display:flex}.month-nav h2{text-align:center;min-width:125px;font-family:Yu Mincho,serif;font-size:18px}.month-nav button{border:1px solid var(--line);background:#fff;border-radius:8px;width:30px;height:30px;font-size:18px}.month-nav .today-btn{width:auto;margin-left:2px;padding:0 11px;font-size:10px}.toolbar-right{align-items:center;gap:10px;display:flex}.filter-select{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;gap:6px;height:36px;padding-left:10px;font-size:12px;display:flex}.filter-select select{background:0 0;border:0;outline:0;padding-right:6px;font-size:11px}.calendar-layout{grid-template-columns:minmax(0,1fr) 276px;gap:18px;display:grid}.calendar-panel,.content-card{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 28px #30443a0a}.calendar-grid{grid-template-columns:repeat(7,minmax(92px,1fr));display:grid}.weekday{border-bottom:1px solid var(--line);color:#79867f;background:#fafbfa;place-items:center;height:38px;font-size:10px;font-weight:700;display:grid}.weekday.sun{color:#c9796e}.weekday.sat{color:#64829a}.calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:116px;padding:7px;overflow:hidden}.calendar-day:nth-child(7n){border-right:0}.calendar-day.muted{color:#bbc2be;background:#fafbfa}.calendar-day.today{background:#fbf8ef;box-shadow:inset 0 0 0 1px #dacda8}.day-number{align-items:center;gap:5px;height:21px;font-size:10px;display:flex}.day-number>span{font-weight:700}.day-number em{color:#997a31;background:#f4e7bd;border-radius:4px;padding:2px 4px;font-size:8px;font-style:normal}.day-number small{color:#58816d;border:1px solid #bcd2c5;border-radius:4px;margin-left:auto;padding:1px 3px;font-size:7px}.events{flex-direction:column;gap:3px;display:flex}.event-card{text-align:left;background:#eef5f1;border:0;border-left:3px solid;border-radius:5px;grid-template-columns:1fr auto;gap:1px 4px;min-width:0;padding:4px 5px;display:grid}.event-card b{white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.event-time{color:#668075;grid-area:1/2;font-size:7px}.event-card small{color:#75857d;grid-column:1/-1;font-size:7px}.event-card.mint{background:#eaf3ed;border-color:#7ba18c}.event-card.blue{background:#ebf1f5;border-color:#7d9bb1}.event-card.sand{background:#f5f0e7;border-color:#b39a70}.event-card.rose{background:#f6eceb;border-color:#bd8b83}.event-card.violet{background:#f1ebf3;border-color:#9b7ba0}.more-events{text-align:left;color:#607269;background:0 0;border:0;font-size:8px}.calendar-aside{flex-direction:column;gap:14px;display:flex}.aside-section{border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px}.section-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title>div{align-items:center;gap:7px;display:flex}.section-title h3{font-size:12px}.section-title div span{color:#b46f58;background:#f0e6df;border-radius:50%;place-items:center;width:19px;height:19px;font-size:9px;display:grid}.section-title button,.section-title>span{color:#819087;background:0 0;border:0;font-size:8px}.request-card{border-top:1px solid #edf0ed;padding:11px 0}.request-card:first-of-type{border-top:0}.request-card-head{align-items:center;gap:7px;display:flex}.request-card-head .avatar{width:29px;height:29px;font-size:9px}.request-card-head>div{flex:1}.request-card-head b{font-size:10px;display:block}.request-card-head div span{color:#78867f;font-size:8px}.request-card>strong{margin-top:8px;font-size:10px;display:block}.request-card>p{color:#829087;margin-top:3px;font-size:8px}.text-btn{color:#4b7965;background:0 0;border:0;padding:6px 0 0;font-size:8px;font-weight:700}.status-pill{white-space:nowrap;border-radius:20px;padding:4px 7px;font-size:8px;display:inline-block}.status-pill.pending{color:#ad7558;background:#f6eadf}.status-pill.approved{color:#46745d;background:#e5f0e9}.status-pill.rejected{color:#a65c53;background:#f5e6e4}.decision-note{color:#819088;margin-top:7px;font-size:8px;display:block}.today-summary{background:#fcfbf7}.summary-grid{border:1px solid #ecebe5;border-radius:9px;grid-template-columns:repeat(3,1fr);margin-bottom:10px;display:grid}.summary-grid div{text-align:center;border-right:1px solid #ecebe5;padding:10px 6px}.summary-grid div:last-child{border:0}.summary-grid small{color:#8b958f;font-size:7px;display:block}.summary-grid strong{font-family:Yu Mincho,serif;font-size:18px}.summary-grid strong span{margin-left:2px;font-size:8px}.today-summary>.outline-btn{width:100%;height:32px;font-size:9px}.week-grid{grid-template-columns:repeat(6,1fr);min-height:630px;display:grid}.week-grid>div{border-right:1px solid var(--line);padding:8px;position:relative}.week-grid>div:last-child{border:0}.week-grid>div.today{background:#fbf8ef}.week-head{text-align:center;border-bottom:1px solid var(--line);margin-bottom:14px;padding:7px 0 15px}.week-head span{color:var(--muted);font-size:9px;display:block}.week-head strong{font-family:Yu Mincho,serif;font-size:20px}.event-card.expanded{flex-direction:column;margin-bottom:8px;padding:9px;display:flex}.event-card.expanded b{font-size:10px}.event-card.expanded .event-time{order:-1;font-size:8px}.assigned{margin-top:5px;font-size:7px}.time-line{color:#c56f5d;border-top:1px solid #d98772;font-size:7px;position:absolute;top:300px;left:0;right:0}.day-view{grid-template-columns:150px 1fr;min-height:630px;display:grid}.day-date{text-align:center;border-right:1px solid var(--line);padding:30px}.day-date small,.day-date span{color:var(--muted);font-size:10px;display:block}.day-date strong{font-family:Yu Mincho,serif;font-size:56px;display:block}.day-timeline{padding-top:20px;position:relative}.time-row{grid-template-columns:50px 1fr;align-items:start;height:70px;display:grid}.time-row span{color:var(--muted);text-align:right;padding-right:10px;font-size:8px}.time-row i{border-top:1px solid #edf0ee}.day-event{width:250px;position:absolute;left:72px}.day-event.one{top:54px}.day-event.two{top:334px;left:350px}.content-card{min-height:610px;padding:22px}.card-toolbar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-toolbar>div:last-child{gap:8px;display:flex}.card-toolbar h2{font-family:Yu Mincho,serif;font-size:18px}.card-toolbar p{color:var(--muted);margin-top:4px;font-size:10px}.search-box{border:1px solid var(--line);border-radius:9px;align-items:center;gap:6px;width:250px;height:38px;padding:0 11px;display:flex}.search-box input{border:0;outline:0;width:100%;font-size:11px}.success-banner{color:#3f6c56;background:#e7f1eb;border-radius:9px;margin-bottom:14px;padding:11px 14px;font-size:10px}.children-head,.child-row{grid-template-columns:1.35fr 1fr 1.45fr 1.25fr 1fr 35px;align-items:center;gap:14px;display:grid}.children-head{color:#89938e;background:#f7f9f7;border-radius:8px;height:38px;padding:0 13px;font-size:9px}.child-row{border-bottom:1px solid #edf0ee;min-height:70px;padding:10px 13px;font-size:10px}.person-cell{align-items:center;gap:9px;display:flex}.person-cell b{font-size:10px}.person-cell small{color:#8b9690;margin-top:3px;font-size:8px;display:block}.child-dot{border-radius:7px;width:10px;height:38px}.child-dot.mint{background:#8cad99}.child-dot.blue{background:#8aa5b7}.child-dot.sand{background:#b39a70}.child-dot.rose{background:#bd8b83}.kebab{color:#9aa39e;background:0 0;border:0}.staff-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.staff-card{border:1px solid var(--line);border-radius:13px;padding:16px}.staff-card-top{justify-content:space-between;align-items:start;display:flex}.staff-card-top .avatar{width:44px;height:44px}.on-duty,.off-duty{border-radius:20px;padding:4px 7px;font-size:8px}.on-duty{color:#4a735e;background:#e6f1eb}.off-duty{color:#8a948f;background:#eef0ee}.staff-card h3{margin-top:13px;font-size:13px}.staff-card p{color:var(--muted);margin-top:3px;font-size:8px}.skill-list{gap:4px;margin:13px 0;display:flex}.skill-list span{color:#597064;border:1px solid #dbe4df;border-radius:5px;padding:4px 7px;font-size:8px}.staff-time{border-top:1px solid var(--line);justify-content:space-between;padding:10px 0;display:flex}.staff-time span,.staff-time strong{font-size:8px}.requests-screen{padding-top:0}.tabs{border-bottom:1px solid var(--line);align-items:end;gap:22px;height:60px;display:flex}.tabs button{color:#7b8881;background:0 0;border:0;border-bottom:2px solid #0000;height:45px;font-size:10px}.tabs button.active{color:var(--green);border-color:var(--green);font-weight:700}.tabs button span{color:#ad6e58;background:#f0e5dd;border-radius:10px;margin-left:5px;padding:2px 5px}.request-table-head,.request-row{grid-template-columns:1.1fr .75fr 1fr 1.7fr .75fr 80px;align-items:center;gap:12px;padding:0 12px;display:grid}.request-table-head{color:#87938d;background:#f7f9f7;height:42px;font-size:8px}.request-row{border-bottom:1px solid var(--line);min-height:67px;font-size:9px}.shift-grid{border:1px solid var(--line);border-radius:11px;overflow:hidden}.shift-head,.shift-row{grid-template-columns:180px repeat(6,1fr);display:grid}.shift-head{background:#f5f7f5;height:45px}.shift-head span{border-right:1px solid var(--line);place-items:center;font-size:9px;display:grid}.shift-head span.today{color:#416b57;background:#e7f0eb}.shift-row{border-top:1px solid var(--line);min-height:63px}.shift-row>div{border-right:1px solid var(--line);padding:12px}.shift-row>button{border:0;border-right:1px solid var(--line);background:#fff;font-size:8px}.shift-row>button:hover{background:#f1f6f3}.shift-row>button.holiday{color:#a5ada9;background:#fafafa}.shift-row>button.today{background:#fbf8ef}.assignment-panel{margin-top:20px}.assignment-panel h3{margin-bottom:10px;font-size:12px}.assignment-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.assignment-grid>div{border:1px solid var(--line);border-left:3px solid #83a390;border-radius:9px;grid-template-columns:1fr auto;padding:12px;display:grid}.assignment-grid span{color:var(--muted);grid-column:1/-1;font-size:8px}.assignment-grid b{margin-top:4px;font-size:10px}.assignment-grid small{color:var(--muted);font-size:8px}.assignment-grid em{color:#51735f;font-size:8px;font-style:normal}.transport-list{flex-direction:column;display:flex}.transport-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.6fr 1.2fr .8fr .65fr 60px;align-items:center;gap:15px;padding:16px;display:grid}.route-time b,.route-time span,.route-child b,.route-child span{display:block}.route-time b,.route-child b{font-size:10px}.route-time span,.route-child span,.transport-row small{color:var(--muted);font-size:8px}.transport-row strong{margin-top:3px;font-size:9px;display:block}.route-status{color:#87918c;text-align:center;background:#f1f2f1;border-radius:20px;padding:5px 7px;font-size:8px}.route-status.ready{color:#46705a;background:#e4f0e9}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1827217a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:min(650px,100%);max-height:90vh;padding:28px;position:relative;overflow:auto;box-shadow:0 28px 80px #13231c40}.modal-close{background:#f1f3f1;border:0;border-radius:50%;width:30px;height:30px;font-size:18px;position:absolute;top:16px;right:18px}.eyebrow{color:#5e816e;letter-spacing:.12em;font-size:9px;font-weight:700}.modal h2{margin-top:5px;font-family:Yu Mincho,serif;font-size:22px}.modal-intro{color:var(--muted);margin:5px 0 20px;font-size:10px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid label,.note-field{color:#64736c;font-size:9px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea,.note-field textarea{background:#fcfdfc;border:1px solid #dce3df;border-radius:8px;outline:0;width:100%;height:40px;margin-top:6px;padding:0 10px;font-size:11px;display:block}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.note-field textarea:focus{border-color:#7da18e;box-shadow:0 0 0 3px #edf4f0}.form-grid textarea,.note-field textarea{resize:vertical;height:75px;padding-top:10px}.form-grid .wide,.decision-detail .wide{grid-column:1/-1}.time-inputs{align-items:center;gap:5px;display:flex}.time-inputs input{margin-top:6px}.check-label{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:10px;display:flex}.check-label input{width:16px;height:16px;margin:0}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin-top:22px;padding-top:17px;display:flex}.modal-actions.split{justify-content:space-between}.decision-detail{background:#f6f8f6;border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0;padding:14px;display:grid}.decision-detail div{flex-direction:column;gap:3px;display:flex}.decision-detail small{color:var(--muted);font-size:8px}.decision-detail strong{font-size:11px}.note-field textarea{height:90px}.processed-message{background:#f7f9f7;border-radius:10px;margin-top:18px;padding:16px}.processed-message p{margin-top:10px;font-size:10px}.toast{color:#fff;box-shadow:var(--shadow);z-index:200;background:#284b3c;border-radius:10px;padding:13px 18px;font-size:11px;animation:.25s toastIn;position:fixed;bottom:26px;right:26px}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}}.login-page{background:#eef3ef;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";background:#dfeae2;border-radius:50%;position:absolute}.login-page:before{width:420px;height:420px;bottom:-190px;left:-160px}.login-page:after{background:#f2eadc;width:300px;height:300px;top:-130px;right:-100px}.login-brand{z-index:1;align-items:center;gap:14px;margin-bottom:25px;display:flex}.login-brand b{letter-spacing:.1em;font-family:Yu Mincho,serif;font-size:24px;display:block}.login-brand small{letter-spacing:.2em;color:#7d8a83;font-size:10px}.brand-mark.large{background:#345e4d;width:44px;height:44px}.brand-mark.large span{background:#dce9df}.login-card{z-index:1;text-align:center;background:#fff;border-radius:22px;width:min(430px,100%);padding:35px 38px;box-shadow:0 24px 70px #2f4a3d1c}.login-hello{color:#6f8e7d;letter-spacing:.15em;font-size:10px}.login-card h1{margin-top:5px;font-family:Yu Mincho,serif;font-size:26px}.login-card>p{color:var(--muted);margin:8px 0 24px;font-size:11px}.login-card form{text-align:left}.login-card label{margin-top:12px;font-size:10px;font-weight:700;display:block}.login-card input{border:1px solid #dce3df;border-radius:9px;outline:0;width:100%;height:45px;margin-top:7px;padding:0 12px}.login-card .primary-btn{height:45px;margin-top:20px}.form-error{color:#b15f51;margin-top:8px;font-size:9px}.login-note{color:#84918b;text-align:left;align-items:center;gap:8px;margin-top:17px;font-size:8px;display:flex}.login-note span{border:1px solid #c9d4ce;border-radius:50%;place-items:center;width:18px;height:18px;display:grid}.office-link{z-index:1;color:#527260;background:0 0;border:0;margin-top:20px;font-size:10px}.security-note{z-index:1;color:#94a099;margin-top:10px;font-size:8px}.family-shell{background:#f5f7f4;min-height:100vh}.family-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 max(30px,50vw - 560px);display:flex}.family-header>div{align-items:center;gap:10px;display:flex}.family-header .brand b{color:var(--green-dark)}.family-name{font-size:11px;font-weight:700}.family-content{max-width:1120px;margin:0 auto;padding:35px 0}.family-welcome{justify-content:space-between;align-items:end;margin-bottom:22px;display:flex}.family-welcome>div>span{color:#6f8077;font-size:9px}.family-welcome h1{margin:6px 0;font-family:Yu Mincho,serif;font-size:24px}.family-welcome p{color:var(--muted);font-size:10px}.family-actions{gap:9px;display:flex}.next-use{background:var(--green-dark);color:#fff;border-radius:16px;grid-template-columns:140px 1.2fr 1fr 1fr;min-height:125px;margin-bottom:18px;display:grid;overflow:hidden;box-shadow:0 12px 30px #213a3024}.next-use>div{border-right:1px solid #ffffff1c;padding:22px}.next-use>div:last-child{border:0}.next-date{text-align:center;background:#ffffff0f}.next-date small{opacity:.6;font-size:8px;display:block}.next-date strong{font-family:Yu Mincho,serif;font-size:38px;line-height:1.1}.next-date span{font-size:9px;display:block}.confirmed{color:#bcd9c8;font-size:8px}.next-detail h2{margin:9px 0 4px;font-size:19px}.next-detail p,.transport-detail span{opacity:.65;font-size:8px}.transport-detail small{opacity:.58;font-size:8px;display:block}.transport-detail strong{margin:11px 0 6px;font-size:15px;display:block}.family-calendar{min-height:auto;padding:0}.family-calendar .card-toolbar{padding:18px 20px 0}.family-calendar .calendar-day{height:96px}.family-calendar .event-card{grid-template-columns:1fr}.family-calendar .event-time{grid-area:auto/1}.family-legend{color:#74827b;border-top:1px solid var(--line);gap:20px;padding:13px 20px;font-size:8px;display:flex}.family-legend span{align-items:center;gap:5px;display:flex}.family-legend i{border-radius:3px;width:10px;height:10px}.family-legend i.mint{background:#9bb8a7}.family-legend i.available{border:1px dashed #789786}.family-legend i.pending{background:#e5c997}.family-modal{width:min(580px,100%)}.sent-state{text-align:center;padding:25px}.sent-state>div{color:#47745e;background:#e4f0e9;border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 16px;font-size:24px;display:grid}.sent-state p{color:var(--muted);margin:8px 0 20px;font-size:10px}@media (width<=1100px){.calendar-layout{grid-template-columns:1fr}.calendar-aside{grid-template-columns:1fr 1fr;display:grid}.staff-grid{grid-template-columns:repeat(2,1fr)}.family-content{padding:30px}.family-header{padding:0 30px}.next-use{grid-template-columns:120px 1fr 1fr}.next-use>div:last-child{display:none}}@media (width<=760px){.sidebar{width:68px;padding:20px 10px}.sidebar .brand>div:last-child,.nav-label,.sidebar nav button span:not(.nav-icon),.sidebar nav button em,.sidebar-bottom{display:none}.sidebar .brand{justify-content:center}.sidebar nav button{justify-content:center;padding:0}.workspace{width:calc(100% - 68px);margin-left:68px}.page-header{height:auto;min-height:82px;padding:15px 18px}.page-header p,.header-actions .role-switch{display:none}.page-content{padding:16px}.calendar-toolbar{align-items:flex-start;gap:12px}.toolbar-right{flex-direction:column;align-items:end}.filter-select{display:none}.calendar-panel{overflow:auto}.calendar-grid{min-width:720px}.calendar-aside{grid-template-columns:1fr}.content-card{padding:14px;overflow:auto}.children-table,.shift-grid{min-width:850px}.staff-grid{grid-template-columns:1fr}.request-table-head,.request-row{min-width:760px}.transport-list{min-width:800px}.family-content{padding:20px 15px}.family-header{padding:0 15px}.family-name{display:none}.family-welcome{align-items:flex-start;gap:15px}.family-actions{flex-direction:column}.next-use{grid-template-columns:90px 1fr}.next-use>div:nth-child(n+3){display:none}.family-calendar{overflow:auto}.family-calendar .card-toolbar,.family-legend{min-width:720px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.modal{padding:24px 20px}}.vacancy-button{background:#fbfdfb;height:36px}.floating-banner{z-index:80;box-shadow:var(--shadow);animation:.25s toastIn;position:fixed;top:104px;right:26px}.vacancy-summary{padding-bottom:10px}.vacancy-mini{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:2px 8px;padding:9px 0;display:grid}.vacancy-mini:first-of-type{border-top:0}.vacancy-mini b{font-size:9px}.vacancy-mini span{color:var(--muted);font-size:8px}.vacancy-mini em{color:#47745e;background:#e6f1eb;border-radius:20px;grid-area:1/2/3;align-self:center;padding:4px 7px;font-size:8px;font-style:normal}.vacancy-modal{width:min(690px,100%)}.capacity-check{background:#f6f8f6;border-radius:11px;grid-template-columns:150px 1fr auto;align-items:center;gap:15px;margin:16px 0 20px;padding:13px 15px;display:grid}.capacity-check small{color:var(--muted);font-size:8px;display:block}.capacity-check strong{font-family:Yu Mincho,serif;font-size:20px}.capacity-check strong span{color:var(--muted);font-family:inherit;font-size:9px}.capacity-check em{color:#47745e;font-size:9px;font-style:normal}.capacity-bar.office{background:#dde5e0}.capacity-bar.office i{background:#7da18d}.field-group>span{color:#64736c;margin-bottom:6px;font-size:9px;font-weight:700;display:block}.period-toggle{grid-template-columns:1fr 1fr;gap:6px;display:grid}.period-toggle button{background:#fcfdfc;border:1px solid #dce3df;border-radius:8px;height:40px;font-size:10px}.period-toggle button.active{color:#3f6b55;background:#e6f1eb;border-color:#7da18e;font-weight:700}.template-options{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.template-options label{background:#fff;border:1px solid #dce3df;border-radius:8px;grid-template-columns:18px 1fr;align-items:center;height:51px;padding:8px 10px;display:grid}.template-options label.selected{background:#f2f7f4;border-color:#6f987f;box-shadow:0 0 0 2px #e3eee7}.template-options label input{grid-row:1/3;width:14px;height:14px;margin:0}.template-options label b{font-size:10px}.template-options label small{color:var(--muted);font-size:7px}.template-link{color:#47745e;background:0 0;border:0;padding:9px 0;font-size:9px}.template-editor{background:#f6f8f6;border-radius:8px;align-items:center;gap:7px;padding:9px;display:flex}.template-editor input{width:115px!important;margin:0!important}.template-editor button{margin-left:auto}.family-calendar-tabs{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.family-calendar-tabs>button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;align-items:center;gap:11px;height:62px;padding:10px 14px;display:flex;position:relative}.family-calendar-tabs>button>span{color:#547764;background:#eef3f0;border-radius:9px;place-items:center;width:31px;height:31px;display:grid}.family-calendar-tabs button b{font-size:11px;display:block}.family-calendar-tabs button small{color:var(--muted);margin-top:3px;font-size:8px;display:block}.family-calendar-tabs button em{color:#47745e;background:#dfece4;border-radius:20px;padding:3px 7px;font-size:8px;font-style:normal;position:absolute;top:10px;right:13px}.family-calendar-tabs>button.active{background:#f7faf8;border-color:#779b87;box-shadow:inset 0 0 0 1px #779b87}.family-calendar-tabs>button.active>span{background:var(--green);color:#fff}.family-calendar .card-toolbar>p{color:var(--muted);font-size:8px}.availability-mode{border-color:#dce6e0}.availability-calendar .calendar-day{height:112px}.availability-day{position:relative}.availability-day .day-number{margin-bottom:3px}.day-number .own-use{color:#547362;background:#e8f0eb;border:0;padding:2px 4px}.slot-buttons{flex-direction:column;gap:3px;display:flex}.slot-buttons button{border:1px solid;border-radius:6px;justify-content:space-between;align-items:center;height:27px;padding:0 6px;display:flex}.slot-buttons button span{font-size:8px;font-weight:700}.slot-buttons button b{font-size:8px}.slot-buttons button.am{color:#436e57;background:#edf4ee;border-color:#bad1c1}.slot-buttons button.pm{color:#4d7089;background:#edf2f6;border-color:#bfd0dd}.slot-buttons button:hover{transform:translateY(-1px);box-shadow:0 3px 7px #344c401a}.use-marker{color:#789085;white-space:nowrap;border-left:2px solid #87a893;padding-left:4px;font-size:6px;position:absolute;bottom:5px;left:7px;right:7px}.family-legend i.am{background:#a8c3af}.family-legend i.pm{background:#a9bece}.slot-detail-modal{width:min(500px,100%)}.slot-detail-card{background:var(--green-dark);color:#fff;border-radius:13px;justify-content:space-between;align-items:center;margin:18px 0;padding:20px;display:flex}.slot-detail-card small{opacity:.6;font-size:8px;display:block}.slot-detail-card strong{margin-top:5px;font-size:22px;display:block}.slot-detail-card>span{background:#ffffff21;border-radius:20px;padding:7px 10px;font-size:9px}.slot-info{border:1px solid var(--line);border-radius:10px;overflow:hidden}.slot-info>div{border-bottom:1px solid var(--line);grid-template-columns:95px 1fr;padding:11px 13px;display:grid}.slot-info>div:last-child{border:0}.slot-info span{color:var(--muted);font-size:8px}.slot-info b{font-size:9px}.slot-note{color:var(--muted);margin-top:11px;font-size:8px}.cancel-modal{width:min(670px,100%)}.request-section{border-top:1px solid var(--line);grid-template-columns:31px 1fr;gap:11px;padding:14px 0;display:grid}.request-section:first-of-type{border-top:0}.section-number{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:10px;font-weight:700;display:grid}.section-body h3{margin:4px 0 8px;font-size:11px}.section-body h3 em{color:#a95f4e;background:#f7e8e4;border-radius:4px;margin-left:5px;padding:2px 5px;font-size:7px;font-style:normal}.section-body>p{color:var(--muted);margin:-3px 0 9px;font-size:8px}.standalone-field{color:#65746d;font-size:8px;font-weight:700}.standalone-field select,.standalone-field textarea{background:#fff;border:1px solid #dce3df;border-radius:8px;width:100%;height:42px;margin-top:6px;padding:0 10px;font-size:10px;display:block}.standalone-field textarea{resize:vertical;height:68px;padding-top:9px}.available-time-radios{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.available-time-radios label{cursor:pointer;border:1px solid #dce3df;border-radius:9px;gap:8px;padding:10px;display:flex}.available-time-radios label.selected{background:#f0f6f2;border-color:#739985;box-shadow:0 0 0 2px #e2ece6}.available-time-radios input{accent-color:var(--green)}.available-time-radios label>span{flex:1;grid-template-columns:1fr auto;gap:3px 8px;display:grid}.available-time-radios b{color:#597266;font-size:8px}.available-time-radios strong{font-size:10px}.available-time-radios small{color:var(--muted);grid-column:1/-1;font-size:7px}.no-slots{color:var(--muted);background:#f7f8f7;border-radius:8px;padding:15px;font-size:9px}.form-grid.compact{gap:8px}.radio-choices{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.radio-choices label{cursor:pointer;border:1px solid #dce3df;border-radius:8px;align-items:center;gap:7px;min-height:36px;padding:8px 10px;font-size:9px;display:flex}.radio-choices label.selected{color:#385f4c;background:#f0f6f2;border-color:#749a86;font-weight:700}.radio-choices input{accent-color:var(--green);margin:0}.other-field{margin-top:8px;display:block}.rule-note{background:#faf6e9;border:1px solid #e9dcae;border-radius:9px;margin-bottom:10px;padding:10px 12px}.rule-note b{color:#826a2e;font-size:9px}.rule-note p{color:#6e654d;margin-top:3px;font-size:8px;line-height:1.65}.condition-section .section-number{background:#927b3c}.not-required-note{color:var(--muted);background:#f6f8f6;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.not-required-note>span{background:#e8ece9;border-radius:50%;place-items:center;width:23px;height:23px;font-size:9px;display:grid}.not-required-note p{font-size:8px}.request-error{background:#fff3f0;border-radius:7px;margin-top:8px;padding:8px 10px}.advice-alert{background:#faf6e9;border:1px solid #eadcae;border-radius:9px;margin-bottom:13px;padding:10px 12px}.advice-alert span{color:#8c702c;font-size:8px;font-weight:700}.advice-alert p{color:#6f654a;margin-top:3px;font-size:8px;line-height:1.5}.advice-help{color:#77877f;margin-top:6px;font-size:8px}.shift-screen{overflow:visible}.monthly-shift-wrap{border:1px solid var(--line);border-radius:11px;overflow:auto}.monthly-shift{min-width:1540px}.monthly-shift-head,.monthly-shift-row{grid-template-columns:180px repeat(31,44px);display:grid}.monthly-shift-head{z-index:4;background:#f5f7f5;height:48px;position:sticky;top:0}.monthly-shift-head>span{border-right:1px solid var(--line);place-items:center;font-size:8px;display:grid}.monthly-shift-head>span b{font-size:9px}.monthly-shift-head>span small{color:var(--muted);font-size:7px}.monthly-shift-head>span.sun{color:#b96c63;background:#fcf5f4}.monthly-shift-head>span.sat{color:#587b94;background:#f3f7fa}.monthly-shift-head>span.today{color:#3f6a55;background:#e6f0ea}.staff-sticky{z-index:3;position:sticky;left:0;box-shadow:3px 0 7px #283c320d;background:#fff!important}.monthly-shift-head .staff-sticky{z-index:6;background:#f5f7f5!important}.monthly-shift-row{border-top:1px solid var(--line);height:60px}.monthly-shift-row>.person-cell{border-right:1px solid var(--line);padding:8px 10px}.monthly-shift-row>.person-cell .avatar{width:29px;height:29px}.monthly-shift-row>.person-cell small{white-space:nowrap;text-overflow:ellipsis;max-width:115px;overflow:hidden}.monthly-shift-row>button{border:0;border-right:1px solid var(--line);background:#fff;padding:0;font-size:7px}.monthly-shift-row>button span{writing-mode:vertical-rl;letter-spacing:.03em}.monthly-shift-row>button:hover{background:#eff5f1}.monthly-shift-row>button.holiday{color:#a0a8a4;background:#f5f6f5}.monthly-shift-row>button.leave-pending{color:#a76e45;background:#faf2e7;font-weight:700}.monthly-shift-row>button.leave-approved{color:#457259;background:#e5f0e9;font-weight:700}.monthly-shift-row>button.today{box-shadow:inset 2px 0 #8ead9a,inset -1px 0 #8ead9a}.shift-lower{grid-template-columns:minmax(0,1fr) 210px;gap:14px;margin-top:18px;display:grid}.leave-approval-panel,.shift-legend{border:1px solid var(--line);border-radius:11px;padding:14px}.leave-approval-panel .section-title{margin-bottom:4px}.leave-approval-panel .section-title small{color:var(--muted);font-size:8px}.leave-request{border-top:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:10px 0;display:grid}.leave-request:first-of-type{border-top:0}.leave-request b,.leave-request span,.leave-request small{display:block}.leave-request b{font-size:9px}.leave-request span{color:#586e62;margin-top:2px;font-size:8px}.leave-request small{color:var(--muted);margin-top:2px;font-size:7px}.leave-actions{gap:5px;display:flex}.leave-state{border-radius:20px;padding:5px 8px;font-size:8px!important}.leave-state.approved{color:#47745e;background:#e6f1eb}.leave-state.rejected{color:#9d5e52;background:#f6e7e4}.shift-legend h3{margin-bottom:10px;font-size:10px}.shift-legend span{color:#65746d;align-items:center;gap:7px;margin:8px 0;font-size:8px;display:flex}.shift-legend i{border-radius:3px;width:11px;height:11px}.shift-legend i.work{border:1px solid #dce3df}.shift-legend i.off{background:#edefed}.shift-legend i.pending{background:#f1d7b9}.shift-legend i.approved{background:#b7d2c1}.leave-modal{width:min(560px,100%)}@media (width<=760px){.vacancy-button{width:36px;padding:0;font-size:0}.vacancy-button:after{content:"＋";font-size:14px}.capacity-check,.template-options,.available-time-radios,.radio-choices{grid-template-columns:1fr}.family-calendar-tabs{grid-template-columns:1fr 1fr}.family-calendar-tabs>button{padding:8px}.family-calendar-tabs>button>span,.family-calendar-tabs button small{display:none}.family-calendar-tabs>button em{top:5px;right:6px}.availability-calendar{min-width:720px}.shift-lower{grid-template-columns:1fr}.monthly-shift-wrap{max-width:calc(100vw - 116px)}.request-section{grid-template-columns:25px 1fr}}.category-filter{min-width:132px}.calendar-type-legend{border-bottom:1px solid var(--line);background:#fcfdfc;justify-content:flex-end;align-items:center;gap:13px;height:30px;padding:0 10px;display:flex}.calendar-type-legend span{color:#7a8881;align-items:center;gap:5px;font-size:7px;display:flex}.calendar-type-legend i{border-radius:3px;width:9px;height:4px}.calendar-type-legend i.use{background:#7fa08d}.calendar-type-legend i.other{background:#9b7ba0}.event-card:not(.expanded) b{grid-row:1/3;align-self:center}.event-type{text-align:right;grid-area:2/2;font-size:6px;font-weight:700;line-height:1}.event-type.use{color:#547765}.event-type.other{color:#86668b}.event-card.expanded .event-type{background:#fff9;border-radius:4px;order:-1;align-self:flex-end;padding:2px 4px}.shift-toolbar>div:last-child{align-items:center}.shift-priority-guide{border:1px solid var(--line);background:#f7f9f7;border-radius:9px;align-items:center;gap:14px;margin-bottom:12px;padding:9px 12px;display:flex}.shift-priority-guide>b{margin-right:auto;font-size:9px}.shift-priority-guide span{color:#65746d;align-items:center;gap:5px;font-size:8px;display:flex}.shift-priority-guide i,.leave-priority,.daily-staff-shift>i{border-radius:6px;flex:none;place-items:center;width:20px;height:20px;font-size:9px;font-style:normal;font-weight:800;display:grid}.priority-s{color:#a34c40!important;background:#f4d9d3!important}.priority-a{color:#98732c!important;background:#f1e5c9!important}.priority-b{color:#4d738a!important;background:#dfe9ef!important}.shift-calendar{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.shift-calendar-weekdays,.shift-calendar-grid{grid-template-columns:repeat(7,minmax(110px,1fr));display:grid}.shift-calendar-weekdays{border-bottom:1px solid var(--line);background:#f7f9f7;height:36px}.shift-calendar-weekdays span{place-items:center;font-size:8px;font-weight:700;display:grid}.shift-calendar-weekdays .sun{color:#b86e63}.shift-calendar-weekdays .sat{color:#5e7f97}.shift-calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-height:157px;padding:7px}.shift-calendar-day:nth-child(7n){border-right:0}.shift-calendar-day.muted{color:#b6bfba;background:#fafbfa}.shift-calendar-day.today{background:#fbf9f0;box-shadow:inset 0 0 0 1px #d8cca5}.shift-date{align-items:center;gap:5px;height:22px;display:flex}.shift-date em{color:#8b722f;background:#efe3bc;border-radius:4px;padding:2px 4px;font-size:6px;font-style:normal}.daily-staff-list{flex-direction:column;gap:3px;display:flex}.daily-staff-shift{background:#f3f6f4;border-left:2px solid #8baa97;border-radius:6px;grid-template-columns:20px 1fr auto;align-items:center;gap:4px;min-height:26px;padding:3px 4px;display:grid}.staff-initial{color:#4f665a;border-radius:50%;place-items:center;width:18px;height:18px;font-size:6px;display:grid}.daily-staff-shift div{min-width:0}.daily-staff-shift b{white-space:nowrap;text-overflow:ellipsis;font-size:7px;display:block;overflow:hidden}.daily-staff-shift small{color:#78867f;white-space:nowrap;font-size:6px;display:block}.daily-staff-shift.holiday{color:#929b96;background:#f2f3f2;border-color:#c7ceca}.daily-staff-shift.leave-pending{background:#fbf5e8;border-color:#d6ad58}.daily-staff-shift.leave-approved{background:#e9f2ec;border-color:#70a080}.daily-staff-shift>i{border-radius:5px;width:17px;height:17px;font-size:7px}.leave-request{grid-template-columns:34px 24px 1fr auto}.leave-priority{width:22px;height:22px}.priority-options{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.priority-options label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;grid-template-columns:24px 1fr;align-items:center;gap:8px;padding:10px;display:grid}.priority-options label.selected{border-color:#739985;box-shadow:0 0 0 2px #dfeae4}.priority-options input{opacity:0;pointer-events:none;position:absolute}.priority-options label>i{border-radius:7px;grid-row:1/3;place-items:center;width:24px;height:24px;font-size:10px;font-style:normal;font-weight:800;display:grid}.priority-card-s>i{color:#a34c40;background:#f4d9d3}.priority-card-a>i{color:#98732c;background:#f1e5c9}.priority-card-b>i{color:#4d738a;background:#dfe9ef}.priority-options b{font-size:8px;display:block}.priority-options small{color:var(--muted);margin-top:2px;font-size:7px;display:block}.priority-card-s.selected{background:#fff8f6}.priority-card-a.selected{background:#fffbf2}.priority-card-b.selected{background:#f5f9fb}@media (width<=1100px){.shift-calendar-weekdays,.shift-calendar-grid{grid-template-columns:repeat(7,minmax(105px,1fr))}.shift-calendar{overflow:auto}.shift-calendar-weekdays,.shift-calendar-grid{min-width:760px}.shift-priority-guide{flex-wrap:wrap}.shift-priority-guide>b{width:100%;margin:0}.priority-options{grid-template-columns:1fr}}@media (width<=760px){.category-filter{display:flex}.calendar-toolbar .toolbar-right{flex-flow:wrap;justify-content:flex-end}.shift-toolbar{align-items:flex-start}.shift-toolbar>div:last-child{flex-wrap:wrap;justify-content:flex-end}.shift-calendar{max-width:calc(100vw - 116px)}.shift-priority-guide span{width:100%}.leave-request{grid-template-columns:30px 22px 1fr}.leave-actions,.leave-state{grid-column:3;justify-self:start;margin-top:5px}}.sidebar .brand b{letter-spacing:.03em;white-space:nowrap;font-size:14px}.login-brand b,.family-header .brand b{letter-spacing:.04em;font-family:Yu Mincho,serif}.capacity-policy{border-bottom:1px solid var(--line);background:#fbfdfb;justify-content:space-between;align-items:center;gap:16px;min-height:61px;padding:10px 14px;display:flex}.capacity-policy>div:first-child b{font-size:11px;display:block}.capacity-policy>div:first-child span{color:var(--muted);margin-top:2px;font-size:7px;display:block}.capacity-rules{align-items:center;gap:9px;display:flex}.capacity-rules span{align-items:center;gap:5px;font-size:8px;display:flex}.capacity-rules i{border-radius:3px;width:10px;height:10px}.capacity-rules i.am{background:#9ebda8}.capacity-rules i.pm{background:#a7bccd}.capacity-rules em{color:#806d35;background:#f5edcf;border-radius:20px;padding:4px 8px;font-size:7px;font-style:normal}.office-capacity-calendar .capacity-day{height:120px}.capacity-slots{flex-direction:column;gap:4px;display:flex}.capacity-slot{text-align:left;border:1px solid;border-radius:7px;grid-template-columns:1fr auto;align-items:center;min-height:32px;padding:4px 6px;display:grid;position:relative}.capacity-slot.am{color:#416c55;background:#edf5ef;border-color:#b8d0c0}.capacity-slot.pm{color:#4c7088;background:#edf3f7;border-color:#bfd0dc}.capacity-slot span b,.capacity-slot span small{display:block}.capacity-slot span b{font-size:8px}.capacity-slot span small{opacity:.75;font-size:6px}.capacity-slot strong{font-size:8px}.capacity-slot>em{color:#fff;background:#d3b865;border-radius:4px;padding:2px 4px;font-size:5px;font-style:normal;position:absolute;top:-5px;right:4px}.capacity-day .capacity-slots:empty{display:none}.shift-calendar-day.off-only{min-height:125px}.shift-calendar-day.off-only .daily-staff-shift{min-height:29px}.no-off-staff{text-align:center;color:#b2bbb6;padding:22px 0;font-size:7px;display:block}.shift-calendar-day.off-only .daily-staff-shift.holiday,.shift-calendar-day.off-only .daily-staff-shift.leave-approved{color:#58675f;background:#eef1ef;border-color:#aebbb4}@media (width<=900px){.capacity-policy{flex-direction:column;align-items:flex-start}.capacity-rules{flex-wrap:wrap}.office-capacity-calendar{min-width:720px}.capacity-calendar-panel{overflow:auto}}.login-mode{background:#f0f3f0;border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:18px;padding:3px;display:grid}.login-mode button{color:#718077;background:0 0;border:0;border-radius:8px;height:34px;font-size:11px;font-weight:700}.login-mode button.active{color:var(--green);background:#fff;box-shadow:0 3px 10px #2c493b1a}.primary-btn:disabled{opacity:.58;cursor:wait}.password-rule{color:var(--muted);margin-top:7px;font-size:8px}.login-card .office-link{margin:15px auto 0;display:block}.empty-records{text-align:center;color:var(--muted);grid-column:1/-1;padding:50px 20px;font-size:11px}.temporary-password{letter-spacing:.08em;color:#274c3d;-webkit-user-select:all;user-select:all;background:#f1f5f2;border:1px solid #d8e4dc;border-radius:9px;margin:17px 0;padding:13px;font-size:18px;display:block}.back-to-portal{z-index:1;color:#667a6f;margin-top:14px;font-size:10px;text-decoration:none}.back-to-portal:hover,.office-link:hover{text-decoration:underline}.login-card .office-link{color:#456c59;text-decoration:none}.portal-page{padding-block:42px}.portal-brand{margin-bottom:28px}.portal-brand b{font-size:22px}.portal-card{z-index:1;background:#fff;border-radius:24px;width:min(780px,100%);padding:36px;position:relative;box-shadow:0 24px 70px #2f4a3d1c}.portal-heading{text-align:center}.portal-heading>span{letter-spacing:.2em;color:#6f8e7d;font-size:9px;font-weight:700}.portal-heading h1{margin-top:6px;font-family:Yu Mincho,serif;font-size:28px}.portal-heading p{color:var(--muted);margin-top:8px;font-size:11px}.portal-options{grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;display:grid}.portal-choice{min-height:245px;color:var(--ink);border:1px solid #dce5df;border-radius:18px;flex-direction:column;align-items:flex-start;padding:25px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.portal-choice:hover{border-color:#aac1b4;transform:translateY(-3px);box-shadow:0 14px 30px #2c483b1a}.portal-choice.staff{background:#f8faf8}.portal-choice-icon{color:#3d6652;background:#e3eee7;border-radius:14px;place-items:center;width:46px;height:46px;font-size:13px;font-weight:800;display:grid}.portal-choice.staff .portal-choice-icon{color:#334c40;background:#e6ece9}.portal-choice small{color:#6f8278;margin-top:18px;font-size:9px;font-weight:700}.portal-choice strong{margin-top:5px;font-family:Yu Mincho,serif;font-size:19px}.portal-choice p{color:var(--muted);margin-top:9px;font-size:10px;line-height:1.65}.portal-choice em{color:#416b56;margin-top:auto;padding-top:20px;font-size:10px;font-style:normal;font-weight:700}.portal-choice em b{margin-left:5px;font-size:14px}.portal-link{place-items:center;height:45px;margin-top:20px;text-decoration:none;display:grid}.portal-mismatch>p{line-height:1.7}.portal-mismatch .office-link{margin-top:16px}@media (width<=680px){.portal-page{padding:28px 20px}.portal-brand{align-items:flex-start}.portal-brand b{font-size:17px}.portal-card{padding:27px 20px}.portal-options{grid-template-columns:1fr}.portal-choice{min-height:205px}.portal-heading h1{font-size:24px}}.shift-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.shift-summary article{border:1px solid var(--line);background:#fbfcfb;border-radius:10px;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.shift-summary span{color:var(--muted);font-size:11px}.shift-summary b{color:var(--green);font-size:20px}.shift-summary small{margin-left:3px;font-size:10px;font-weight:500}.shift-calendar-weekdays span{font-size:11px}.shift-date b{font-size:12px}.shift-date em{font-size:9px}.daily-staff-shift{grid-template-columns:24px 1fr auto;min-height:34px;padding:4px 6px}.daily-staff-shift b{font-size:11px}.daily-staff-shift small{font-size:9px}.staff-initial{background:#dcece3;width:22px;height:22px;font-size:9px}.no-off-staff{font-size:10px}.shift-priority-guide>b,.shift-priority-guide span,.leave-approval-panel .section-title small,.leave-request b{font-size:11px}.leave-request span,.leave-request small,.leave-state{font-size:10px!important}.leave-state.pending{color:#946c2f;background:#fbf1df}.shift-empty{text-align:center;color:var(--muted);border-top:1px solid var(--line);padding:28px 12px;font-size:11px}.shift-screen button:disabled,.leave-modal button:disabled{cursor:not-allowed;opacity:.55}@media (width<=760px){.shift-summary{grid-template-columns:1fr}.shift-summary article{padding:9px 11px}.shift-summary b{font-size:17px}}.shift-calendar-day.facility-closed{background:#f5f1ee}.closure-badge{text-align:center;color:#805c49;background:#fffaf7;border:1px solid #dbc9bd;border-radius:8px;margin-top:9px;padding:10px 7px}.closure-badge b{font-size:11px;display:block}.closure-badge span{margin-top:3px;font-size:9px;display:block}.daily-staff-shift.leave-hourly{color:#466b82;background:#eef4f8;border-color:#7194aa}.shift-side-stack{flex-direction:column;gap:10px;display:flex}.shift-legend i.closed{background:#dbc9bd}.custom-closure-list{border:1px solid var(--line);border-radius:11px;padding:14px}.custom-closure-list h3{margin-bottom:8px;font-size:11px}.custom-closure-list>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.custom-closure-list>div:first-of-type{border-top:0}.custom-closure-list span b,.custom-closure-list span small{display:block}.custom-closure-list span b{font-size:10px}.custom-closure-list span small,.custom-closure-list p{color:var(--muted);margin-top:2px;font-size:9px}.custom-closure-list button{color:#9b5a4d;background:#f5e9e5;border:0;border-radius:6px;width:25px;height:25px}.weekly-rule-card{background:#f3f8f5;border:1px solid #cdded4;border-radius:10px;margin:14px 0;padding:11px 13px}.weekly-rule-card b,.weekly-rule-card span{display:block}.weekly-rule-card b{color:#3d6752;font-size:12px}.weekly-rule-card span{color:#60766a;margin-top:4px;font-size:10px}.weekly-rule-card.closed{background:#fcf4f1;border-color:#dfc5bc}.weekly-rule-card.closed b{color:#8e5748}.leave-type-options{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.leave-type-options label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;padding:10px;position:relative}.leave-type-options label.selected{background:#f7fbf8;border-color:#739985;box-shadow:0 0 0 2px #dfeae4}.leave-type-options input{opacity:0;position:absolute}.leave-type-options b,.leave-type-options small{display:block}.leave-type-options b{font-size:11px}.leave-type-options small{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.45}.closure-warning{color:#80634f;background:#fbf6ef;border-radius:8px;margin-top:13px;padding:9px 11px;font-size:10px;line-height:1.6}@media (width<=760px){.leave-type-options{grid-template-columns:1fr}.shift-side-stack{min-width:0}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
