
:root{
  --black:#272727;--black2:#191919;--ribbon:#cfeafa;--ribbon2:#b8dff3;
  --blue:#2597cf;--blue2:#54a9d2;--blue3:#a9d7ef;--blue4:#e9f5fb;
  --line:#c8c8c8;--text:#222;--link:#0072bc;--muted:#6c6c6c;
  --sun:#ffdede;--sat:#dff7fb;--today:#dcff9f;--holiday:#ffe6e7;
  --green:#00c987;--green2:#3fb24c;--req:#ff9b18;
  --theme-ribbon-bg:#cfeafa;--theme-ribbon-border:#62b0d5;--theme-schedule-bg:#a9d7ef;--theme-box-bg:#acd9ef;--theme-section-border:#69b1d4;--theme-schedule-text:#266585;--theme-box-text:#27647f;
  --theme-under:linear-gradient(90deg,#3aa9dc 0 47%,#1577a6 47% 53%,#3aa9dc 53% 100%);
}
.theme-standard{--theme-ribbon-bg:#cfeafa;--theme-ribbon-border:#62b0d5;--theme-schedule-bg:#a9d7ef;--theme-box-bg:#acd9ef;--theme-section-border:#69b1d4;--theme-schedule-text:#266585;--theme-box-text:#27647f;--theme-under:linear-gradient(90deg,#3aa9dc 0 47%,#1577a6 47% 53%,#3aa9dc 53% 100%)}
.theme-simple{--theme-ribbon-bg:linear-gradient(#f3f5f6,#e2e7ea);--theme-ribbon-border:#aab7be;--theme-schedule-bg:linear-gradient(#edf1f3,#dbe3e7);--theme-box-bg:linear-gradient(#f5f7f8,#e2e8eb);--theme-section-border:#aab7be;--theme-schedule-text:#43535c;--theme-box-text:#43535c;--theme-under:linear-gradient(90deg,#98a8b0,#778890,#98a8b0)}
.theme-green{--theme-ribbon-bg:linear-gradient(135deg,#e1f4e6 0%,#bfe2c8 100%);--theme-ribbon-border:#75b187;--theme-schedule-bg:linear-gradient(#c9ead1,#a8d7b5);--theme-box-bg:linear-gradient(#d8f0de,#b9dfc3);--theme-section-border:#75b187;--theme-schedule-text:#285e39;--theme-box-text:#285e39;--theme-under:linear-gradient(90deg,#62b47b,#2e8a51,#62b47b)}
.theme-sakura{--theme-ribbon-bg:linear-gradient(135deg,#fff2f6 0%,#f7ccda 48%,#ffe8ef 100%);--theme-ribbon-border:#d78ba5;--theme-schedule-bg:linear-gradient(#f9dbe5,#efbfd0);--theme-box-bg:linear-gradient(#fde8ef,#f4cbd8);--theme-section-border:#d78ba5;--theme-schedule-text:#7a3550;--theme-box-text:#7a3550;--theme-under:linear-gradient(90deg,#e99ab4,#c76788,#e99ab4)}
.theme-wood{--theme-ribbon-bg:repeating-linear-gradient(92deg,#e5d5bd 0 18px,#dbc8aa 18px 36px,#eadbc6 36px 54px);--theme-ribbon-border:#aa895f;--theme-schedule-bg:linear-gradient(90deg,#d9c09e,#ead8bd,#d9c09e);--theme-box-bg:linear-gradient(90deg,#eadcc8,#dcc4a5,#eadcc8);--theme-section-border:#aa895f;--theme-schedule-text:#61472c;--theme-box-text:#61472c;--theme-under:linear-gradient(90deg,#b78d5d,#8c653c,#b78d5d)}
.theme-ocean{--theme-ribbon-bg:linear-gradient(135deg,#e0f7fa 0%,#a9e2ec 42%,#cdeff3 100%);--theme-ribbon-border:#55aebb;--theme-schedule-bg:linear-gradient(#b9eaf0,#88d3df);--theme-box-bg:linear-gradient(#d2f2f5,#a4e0e8);--theme-section-border:#55aebb;--theme-schedule-text:#1d6270;--theme-box-text:#1d6270;--theme-under:linear-gradient(90deg,#52c0cf,#238b9c,#52c0cf)}
.theme-aurora{--theme-ribbon-bg:radial-gradient(85% 130% at 8% 120%,rgba(55,181,171,.55),transparent 58%),radial-gradient(72% 130% at 58% -35%,rgba(116,106,199,.46),transparent 62%),linear-gradient(120deg,#dff4f2 0%,#d8e6f6 50%,#eee6f6 100%);--theme-ribbon-border:#839fc0;--theme-schedule-bg:radial-gradient(80% 150% at 18% 130%,rgba(53,169,159,.42),transparent 58%),linear-gradient(120deg,#d8efec,#d8e2f1 58%,#e9def2);--theme-box-bg:radial-gradient(90% 150% at 80% -50%,rgba(108,91,181,.28),transparent 58%),linear-gradient(120deg,#edf8f6,#e5ebf5 58%,#f2ebf7);--theme-section-border:#8aa6bb;--theme-schedule-text:#315b67;--theme-box-text:#3f5570;--theme-under:linear-gradient(90deg,#58afa5,#708dc2 48%,#9b7cb8)}
.theme-glass_blue{--theme-ribbon-bg:radial-gradient(75% 90% at 15% 115%,rgba(255,255,255,.85),transparent 58%),radial-gradient(55% 100% at 82% -15%,rgba(62,150,210,.26),transparent 62%),linear-gradient(135deg,#dfeef7,#c8e0ee);--theme-ribbon-border:#6f9eb8;--theme-schedule-bg:radial-gradient(80% 100% at 70% -30%,rgba(255,255,255,.55),transparent 55%),linear-gradient(135deg,#d5e8f2,#bcd9e8);--theme-box-bg:radial-gradient(90% 110% at 12% 120%,rgba(255,255,255,.78),transparent 55%),linear-gradient(135deg,#edf5f9,#d5e6ef);--theme-section-border:#7aa6bd;--theme-schedule-text:#315f77;--theme-box-text:#355f73;--theme-under:linear-gradient(90deg,#8ec3dc,#4b8fb2,#8ec3dc)}
.theme-silk_rose{--theme-ribbon-bg:radial-gradient(80% 130% at 0% 100%,rgba(255,255,255,.72),transparent 58%),radial-gradient(70% 120% at 95% 0%,rgba(188,104,142,.24),transparent 60%),linear-gradient(125deg,#f7e9ee,#ecd7e2 48%,#f5e6eb);--theme-ribbon-border:#bd8da1;--theme-schedule-bg:radial-gradient(80% 120% at 15% 120%,rgba(255,255,255,.45),transparent 55%),linear-gradient(125deg,#f0dce5,#e3c4d2);--theme-box-bg:radial-gradient(70% 130% at 90% -20%,rgba(191,112,145,.18),transparent 58%),linear-gradient(125deg,#faf1f4,#eddae2);--theme-section-border:#c292a6;--theme-schedule-text:#70485a;--theme-box-text:#70485a;--theme-under:linear-gradient(90deg,#ddb5c6,#b97995,#ddb5c6)}
.theme-slate{--theme-ribbon-bg:radial-gradient(70% 130% at 15% 115%,rgba(255,255,255,.14),transparent 58%),radial-gradient(60% 110% at 92% -20%,rgba(139,174,192,.22),transparent 60%),linear-gradient(130deg,#556979,#354a5b);--theme-ribbon-border:#334b5d;--theme-schedule-bg:radial-gradient(75% 120% at 85% -20%,rgba(160,193,208,.18),transparent 58%),linear-gradient(130deg,#657b8c,#455d6e);--theme-box-bg:radial-gradient(85% 130% at 10% 120%,rgba(255,255,255,.12),transparent 58%),linear-gradient(130deg,#6b7e8c,#4d6272);--theme-section-border:#3d5668;--theme-schedule-text:#fff;--theme-box-text:#fff;--theme-under:linear-gradient(90deg,#879baa,#40596c,#879baa)}
.theme-champagne{--theme-ribbon-bg:radial-gradient(80% 130% at 12% 115%,rgba(255,255,255,.72),transparent 58%),radial-gradient(60% 120% at 88% -20%,rgba(166,126,62,.20),transparent 62%),linear-gradient(125deg,#faf5e8,#eadcb9 52%,#f4ecd6);--theme-ribbon-border:#b49a66;--theme-schedule-bg:radial-gradient(75% 120% at 75% -20%,rgba(255,255,255,.4),transparent 58%),linear-gradient(125deg,#f2e7cb,#dfcb9e);--theme-box-bg:radial-gradient(85% 130% at 10% 120%,rgba(255,255,255,.66),transparent 56%),linear-gradient(125deg,#fbf7ec,#eadfbe);--theme-section-border:#b79b61;--theme-schedule-text:#6d582e;--theme-box-text:#6d582e;--theme-under:linear-gradient(90deg,#d9c48e,#a48343,#d9c48e)}
.theme-jade{--theme-ribbon-bg:radial-gradient(80% 130% at 8% 120%,rgba(255,255,255,.62),transparent 58%),radial-gradient(62% 115% at 90% -20%,rgba(28,135,111,.22),transparent 60%),linear-gradient(125deg,#e4f2ec,#c7e1d6 50%,#deeee7);--theme-ribbon-border:#75a18e;--theme-schedule-bg:radial-gradient(80% 120% at 75% -20%,rgba(255,255,255,.35),transparent 58%),linear-gradient(125deg,#d8ebe3,#b8d9ca);--theme-box-bg:radial-gradient(85% 130% at 12% 120%,rgba(255,255,255,.58),transparent 56%),linear-gradient(125deg,#eef7f3,#d1e7de);--theme-section-border:#79a590;--theme-schedule-text:#365f50;--theme-box-text:#365f50;--theme-under:linear-gradient(90deg,#9bc8b5,#4f9075,#9bc8b5)}
.theme-pearl{--theme-ribbon-bg:radial-gradient(70% 120% at 12% 110%,rgba(255,255,255,.95),transparent 58%),radial-gradient(62% 115% at 88% -15%,rgba(181,194,211,.24),transparent 60%),linear-gradient(130deg,#fbfcfd,#e9eef3 52%,#f7f9fb);--theme-ribbon-border:#aebbc6;--theme-schedule-bg:linear-gradient(130deg,#f1f5f8,#dde6ec);--theme-box-bg:linear-gradient(130deg,#ffffff,#eaf0f4);--theme-section-border:#afbec8;--theme-schedule-text:#465c69;--theme-box-text:#465c69;--theme-under:linear-gradient(90deg,#d4dde4,#8ea4b2,#d4dde4)}
.theme-greige{--theme-ribbon-bg:radial-gradient(75% 130% at 10% 120%,rgba(255,255,255,.72),transparent 58%),linear-gradient(125deg,#eee9e2,#d7cec2 52%,#e9e3db);--theme-ribbon-border:#aa9b89;--theme-schedule-bg:linear-gradient(125deg,#e5ddd3,#cfc2b3);--theme-box-bg:linear-gradient(125deg,#f4f0eb,#ddd4c8);--theme-section-border:#ad9e8b;--theme-schedule-text:#645749;--theme-box-text:#645749;--theme-under:linear-gradient(90deg,#c8b9a5,#8e7a63,#c8b9a5)}
.theme-sage{--theme-ribbon-bg:radial-gradient(75% 130% at 12% 120%,rgba(255,255,255,.68),transparent 58%),linear-gradient(125deg,#e7efe7,#cbdacb 52%,#e2ebe1);--theme-ribbon-border:#8da68e;--theme-schedule-bg:linear-gradient(125deg,#d7e5d7,#b9cfba);--theme-box-bg:linear-gradient(125deg,#eef4ed,#d1dfd0);--theme-section-border:#8fa891;--theme-schedule-text:#49634d;--theme-box-text:#49634d;--theme-under:linear-gradient(90deg,#aac1aa,#66866b,#aac1aa)}
.theme-nordic{--theme-ribbon-bg:radial-gradient(70% 120% at 10% 115%,rgba(255,255,255,.7),transparent 58%),linear-gradient(125deg,#e6f0f2,#c9dce0 52%,#eef3ef);--theme-ribbon-border:#789aa0;--theme-schedule-bg:linear-gradient(125deg,#d8e8ea,#b7d0d4);--theme-box-bg:linear-gradient(125deg,#f1f6f6,#d5e4e5);--theme-section-border:#7f9fa4;--theme-schedule-text:#3d6065;--theme-box-text:#3d6065;--theme-under:linear-gradient(90deg,#9ec1c6,#537c83,#9ec1c6)}
.theme-dusk{--theme-ribbon-bg:radial-gradient(78% 130% at 10% 120%,rgba(255,255,255,.30),transparent 58%),radial-gradient(58% 120% at 90% -10%,rgba(187,144,177,.30),transparent 62%),linear-gradient(128deg,#7c8298,#5b6179 54%,#797087);--theme-ribbon-border:#51596e;--theme-schedule-bg:linear-gradient(128deg,#8f95aa,#6b7189);--theme-box-bg:linear-gradient(128deg,#969caf,#72788e);--theme-section-border:#5c6478;--theme-schedule-text:#fff;--theme-box-text:#fff;--theme-under:linear-gradient(90deg,#9da5b9,#626b82,#a18da4)}
.theme-terracotta{--theme-ribbon-bg:radial-gradient(72% 125% at 12% 115%,rgba(255,255,255,.55),transparent 58%),linear-gradient(125deg,#f2ddd4,#d8b5a5 52%,#edd5ca);--theme-ribbon-border:#b07e6d;--theme-schedule-bg:linear-gradient(125deg,#e8cabc,#cfa08d);--theme-box-bg:linear-gradient(125deg,#f6e8e1,#dfc1b4);--theme-section-border:#b48170;--theme-schedule-text:#704a3d;--theme-box-text:#704a3d;--theme-under:linear-gradient(90deg,#d7a997,#a4614d,#d7a997)}
.theme-ink{--theme-ribbon-bg:radial-gradient(70% 120% at 10% 115%,rgba(255,255,255,.12),transparent 58%),radial-gradient(55% 110% at 92% -15%,rgba(92,132,165,.28),transparent 62%),linear-gradient(128deg,#43576c,#26394d);--theme-ribbon-border:#21364a;--theme-schedule-bg:linear-gradient(128deg,#566c82,#344b61);--theme-box-bg:linear-gradient(128deg,#617589,#3f556a);--theme-section-border:#294158;--theme-schedule-text:#fff;--theme-box-text:#fff;--theme-under:linear-gradient(90deg,#6e879d,#22394f,#6e879d)}
.theme-lavender{--theme-ribbon-bg:linear-gradient(135deg,#f0eaff 0%,#d7c9f3 50%,#ece6fb 100%);--theme-ribbon-border:#9f88cf;--theme-schedule-bg:linear-gradient(#ded1f4,#c4b0e7);--theme-box-bg:linear-gradient(#ebe3f9,#d3c2ee);--theme-section-border:#9f88cf;--theme-schedule-text:#513d78;--theme-box-text:#513d78;--theme-under:linear-gradient(90deg,#ac94da,#765bb4,#ac94da)}
.theme-sea{--theme-ribbon-bg:radial-gradient(ellipse at 20% 115%,rgba(255,255,255,.46) 0 20%,transparent 21%),radial-gradient(ellipse at 65% 115%,rgba(255,255,255,.34) 0 17%,transparent 18%),linear-gradient(180deg,#9fe2f2,#58bbd7);--theme-ribbon-border:#3f9eb9;--theme-schedule-bg:linear-gradient(180deg,#c8eef5,#86d3e3);--theme-box-bg:linear-gradient(180deg,#d9f4f8,#a8e0ea);--theme-section-border:#4aa5bd;--theme-schedule-text:#15576a;--theme-box-text:#15576a;--theme-under:linear-gradient(90deg,#55c1da,#1686aa,#55c1da)}
.theme-sky{--theme-ribbon-bg:radial-gradient(circle at 18% 38%,rgba(255,255,255,.78) 0 6%,transparent 7%),radial-gradient(circle at 24% 44%,rgba(255,255,255,.65) 0 8%,transparent 9%),linear-gradient(180deg,#a7dbff,#dff2ff);--theme-ribbon-border:#69acd5;--theme-schedule-bg:linear-gradient(#d7efff,#b8def6);--theme-box-bg:linear-gradient(#e7f6ff,#cbe8f8);--theme-section-border:#72afd1;--theme-schedule-text:#245c7d;--theme-box-text:#245c7d;--theme-under:linear-gradient(90deg,#75c0ef,#2d8ec6,#75c0ef)}
.theme-seigaiha{--theme-ribbon-bg:radial-gradient(circle at 0 100%,transparent 0 18px,rgba(70,118,155,.10) 19px 21px,transparent 22px),radial-gradient(circle at 36px 100%,transparent 0 18px,rgba(70,118,155,.10) 19px 21px,transparent 22px),linear-gradient(#e7f1f8,#cbddea);--theme-ribbon-border:#7195ad;--theme-schedule-bg:repeating-radial-gradient(circle at 0 100%,#dae8f1 0 17px,#cbdce8 18px 20px,#dae8f1 21px 38px);--theme-box-bg:linear-gradient(#e8f1f6,#d5e3ec);--theme-section-border:#7899ae;--theme-schedule-text:#2f566d;--theme-box-text:#2f566d;--theme-under:linear-gradient(90deg,#7aa6c2,#466e89,#7aa6c2)}
.theme-forest{--theme-ribbon-bg:repeating-linear-gradient(105deg,#dcebdc 0 22px,#c9dfca 22px 44px,#e5f0e4 44px 66px);--theme-ribbon-border:#6f9f73;--theme-schedule-bg:linear-gradient(#cee4ce,#abcfae);--theme-box-bg:linear-gradient(#e0eee0,#c4ddc5);--theme-section-border:#719b73;--theme-schedule-text:#285733;--theme-box-text:#285733;--theme-under:linear-gradient(90deg,#79b67e,#3d7c47,#79b67e)}
.theme-linen{--theme-ribbon-bg:repeating-linear-gradient(0deg,rgba(110,91,65,.045) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(110,91,65,.035) 0 1px,transparent 1px 5px),linear-gradient(#f4efe5,#e8dfd0);--theme-ribbon-border:#b6a78e;--theme-schedule-bg:linear-gradient(#efe7da,#dfd2bf);--theme-box-bg:linear-gradient(#f6f0e7,#e8ddce);--theme-section-border:#b6a78e;--theme-schedule-text:#625444;--theme-box-text:#625444;--theme-under:linear-gradient(90deg,#c1ad8f,#8e795e,#c1ad8f)}
.theme-stone{--theme-ribbon-bg:radial-gradient(circle at 20% 25%,rgba(90,104,112,.08) 0 2px,transparent 3px),radial-gradient(circle at 75% 70%,rgba(90,104,112,.06) 0 3px,transparent 4px),linear-gradient(#eef1f2,#d7dcdf);--theme-ribbon-border:#9ca9ae;--theme-schedule-bg:linear-gradient(#e4e8ea,#cfd6da);--theme-box-bg:linear-gradient(#f0f2f3,#dce1e3);--theme-section-border:#98a5aa;--theme-schedule-text:#45555c;--theme-box-text:#45555c;--theme-under:linear-gradient(90deg,#aeb9bd,#75878e,#aeb9bd)}
.theme-sunset{--theme-ribbon-bg:linear-gradient(120deg,#ffe5c9 0%,#f6c5b1 48%,#d7c9e8 100%);--theme-ribbon-border:#c68d83;--theme-schedule-bg:linear-gradient(#f7d6c5,#e7b6a8);--theme-box-bg:linear-gradient(#f9e1d5,#edc9ba);--theme-section-border:#c88e83;--theme-schedule-text:#70453f;--theme-box-text:#70453f;--theme-under:linear-gradient(90deg,#e8aa87,#b66f6b,#9f85bd)}
.theme-snow{--theme-ribbon-bg:radial-gradient(circle,rgba(255,255,255,.95) 0 2px,transparent 3px) 0 0/26px 26px,radial-gradient(circle,rgba(255,255,255,.75) 0 1.5px,transparent 2.5px) 13px 13px/24px 24px,linear-gradient(#dbeef8,#bedbe9);--theme-ribbon-border:#87adbf;--theme-schedule-bg:linear-gradient(#e7f4fa,#cfe5ef);--theme-box-bg:linear-gradient(#f0f8fb,#d9eaf2);--theme-section-border:#88aebe;--theme-schedule-text:#315c70;--theme-box-text:#315c70;--theme-under:linear-gradient(90deg,#a4cadb,#668fa2,#a4cadb)}
.theme-mint{--theme-ribbon-bg:repeating-linear-gradient(135deg,#e3f8f1 0 16px,#d2f0e6 16px 32px);--theme-ribbon-border:#79b8a4;--theme-schedule-bg:linear-gradient(#d3efe6,#b3dfd1);--theme-box-bg:linear-gradient(#e5f6f0,#c7e8de);--theme-section-border:#7bb7a5;--theme-schedule-text:#2d6555;--theme-box-text:#2d6555;--theme-under:linear-gradient(90deg,#77c4ad,#3b8e79,#77c4ad)}
.theme-washi{--theme-ribbon-bg:repeating-linear-gradient(12deg,rgba(126,105,79,.045) 0 1px,transparent 1px 7px),repeating-linear-gradient(96deg,rgba(126,105,79,.035) 0 1px,transparent 1px 9px),linear-gradient(#f7f3e9,#ebe3d4);--theme-ribbon-border:#b7a98f;--theme-schedule-bg:linear-gradient(#f1eadc,#dfd4c0);--theme-box-bg:linear-gradient(#f8f4eb,#e9e0d1);--theme-section-border:#b7a98f;--theme-schedule-text:#5f5242;--theme-box-text:#5f5242;--theme-under:linear-gradient(90deg,#c3b08e,#8c7657,#c3b08e)}
.theme-komon{--theme-ribbon-bg:radial-gradient(circle at 6px 6px,rgba(62,99,126,.28) 0 1.8px,transparent 2px) 0 0/18px 18px,radial-gradient(circle at 15px 15px,rgba(255,255,255,.62) 0 1.5px,transparent 1.7px) 0 0/18px 18px,linear-gradient(#e9f1f5,#cfdde5);--theme-ribbon-border:#7f9eaf;--theme-schedule-bg:radial-gradient(circle at 5px 5px,rgba(63,104,130,.20) 0 1.5px,transparent 1.8px) 0 0/16px 16px,linear-gradient(#dce8ee,#c5d7e0);--theme-box-bg:radial-gradient(circle at 6px 6px,rgba(63,104,130,.15) 0 1.4px,transparent 1.7px) 0 0/18px 18px,linear-gradient(#eef4f7,#dce7ed);--theme-section-border:#829fad;--theme-schedule-text:#365e73;--theme-box-text:#365e73;--theme-under:linear-gradient(90deg,#91afbd,#5e8295,#91afbd)}
.theme-checker{--theme-ribbon-bg:conic-gradient(from 45deg,rgba(74,112,134,.18) 25%,transparent 0 50%,rgba(74,112,134,.18) 0 75%,transparent 0) 0 0/28px 28px,linear-gradient(#eef4f6,#d9e4e9);--theme-ribbon-border:#7899aa;--theme-schedule-bg:conic-gradient(from 45deg,rgba(73,113,135,.14) 25%,transparent 0 50%,rgba(73,113,135,.14) 0 75%,transparent 0) 0 0/24px 24px,linear-gradient(#dce9ee,#c8d9e1);--theme-box-bg:conic-gradient(from 45deg,rgba(73,113,135,.11) 25%,transparent 0 50%,rgba(73,113,135,.11) 0 75%,transparent 0) 0 0/26px 26px,linear-gradient(#eff5f7,#dde8ed);--theme-section-border:#7f9dac;--theme-schedule-text:#355d70;--theme-box-text:#355d70;--theme-under:linear-gradient(90deg,#89aabb,#587b8e,#89aabb)}
.theme-herringbone{--theme-ribbon-bg:linear-gradient(45deg,rgba(90,105,128,.16) 25%,transparent 25% 75%,rgba(90,105,128,.16) 75%) 0 0/24px 24px,linear-gradient(-45deg,rgba(255,255,255,.48) 25%,transparent 25% 75%,rgba(255,255,255,.48) 75%) 12px 12px/24px 24px,linear-gradient(#e9edf4,#d3dae6);--theme-ribbon-border:#818da8;--theme-schedule-bg:linear-gradient(45deg,rgba(90,105,128,.13) 25%,transparent 25% 75%,rgba(90,105,128,.13) 75%) 0 0/22px 22px,linear-gradient(-45deg,rgba(255,255,255,.35) 25%,transparent 25% 75%,rgba(255,255,255,.35) 75%) 11px 11px/22px 22px,linear-gradient(#dce2ec,#c7d0df);--theme-box-bg:linear-gradient(45deg,rgba(90,105,128,.10) 25%,transparent 25% 75%,rgba(90,105,128,.10) 75%) 0 0/24px 24px,linear-gradient(#eef1f6,#dce2eb);--theme-section-border:#8792aa;--theme-schedule-text:#46536c;--theme-box-text:#46536c;--theme-under:linear-gradient(90deg,#9ea9bd,#69758d,#9ea9bd)}
.theme-weave{--theme-ribbon-bg:repeating-linear-gradient(0deg,rgba(97,76,59,.13) 0 2px,transparent 2px 8px),repeating-linear-gradient(90deg,rgba(97,76,59,.10) 0 2px,transparent 2px 8px),linear-gradient(#efe8de,#d8cbbb);--theme-ribbon-border:#a18e79;--theme-schedule-bg:repeating-linear-gradient(0deg,rgba(97,76,59,.10) 0 2px,transparent 2px 7px),repeating-linear-gradient(90deg,rgba(97,76,59,.08) 0 2px,transparent 2px 7px),linear-gradient(#e2d6c7,#cdbda9);--theme-box-bg:repeating-linear-gradient(0deg,rgba(97,76,59,.07) 0 2px,transparent 2px 8px),repeating-linear-gradient(90deg,rgba(97,76,59,.06) 0 2px,transparent 2px 8px),linear-gradient(#f3ece3,#ded2c4);--theme-section-border:#a38f78;--theme-schedule-text:#5d4a3b;--theme-box-text:#5d4a3b;--theme-under:linear-gradient(90deg,#b7a087,#7d674f,#b7a087)}
.theme-diamond{--theme-ribbon-bg:repeating-linear-gradient(45deg,transparent 0 13px,rgba(126,91,134,.17) 13px 15px,transparent 15px 28px),repeating-linear-gradient(-45deg,transparent 0 13px,rgba(126,91,134,.17) 13px 15px,transparent 15px 28px),linear-gradient(#f1eaf3,#ddd0e2);--theme-ribbon-border:#9a7fa2;--theme-schedule-bg:repeating-linear-gradient(45deg,transparent 0 12px,rgba(126,91,134,.13) 12px 14px,transparent 14px 26px),repeating-linear-gradient(-45deg,transparent 0 12px,rgba(126,91,134,.13) 12px 14px,transparent 14px 26px),linear-gradient(#e5dbe8,#cfbfd5);--theme-box-bg:repeating-linear-gradient(45deg,transparent 0 13px,rgba(126,91,134,.10) 13px 15px,transparent 15px 28px),repeating-linear-gradient(-45deg,transparent 0 13px,rgba(126,91,134,.10) 13px 15px,transparent 15px 28px),linear-gradient(#f4eef5,#e2d7e5);--theme-section-border:#9b82a2;--theme-schedule-text:#644d69;--theme-box-text:#644d69;--theme-under:linear-gradient(90deg,#b89dbc,#806487,#b89dbc)}
.theme-dots{--theme-ribbon-bg:radial-gradient(circle,rgba(39,111,96,.26) 0 2.3px,transparent 2.5px) 0 0/20px 20px,linear-gradient(#e5f2ee,#cfe3dc);--theme-ribbon-border:#6e9d90;--theme-schedule-bg:radial-gradient(circle,rgba(39,111,96,.18) 0 2px,transparent 2.2px) 0 0/18px 18px,linear-gradient(#d6e9e3,#bdd7cf);--theme-box-bg:radial-gradient(circle,rgba(39,111,96,.14) 0 1.8px,transparent 2px) 0 0/20px 20px,linear-gradient(#ecf5f2,#d9e9e4);--theme-section-border:#729c90;--theme-schedule-text:#365f56;--theme-box-text:#365f56;--theme-under:linear-gradient(90deg,#8eb8ac,#507f72,#8eb8ac)}
.theme-bamboo{--theme-ribbon-bg:linear-gradient(78deg,transparent 0 10%,rgba(43,103,61,.32) 10% 11.4%,transparent 11.4% 22%,rgba(72,132,83,.26) 22% 23.3%,transparent 23.3% 37%,rgba(38,92,55,.32) 37% 38.5%,transparent 38.5% 56%,rgba(83,140,92,.25) 56% 57.2%,transparent 57.2% 74%,rgba(37,91,53,.30) 74% 75.4%,transparent 75.4%),linear-gradient(110deg,transparent 0 38%,rgba(68,126,79,.22) 38% 40%,transparent 40% 100%),linear-gradient(#e5efe0,#c8dcc3);--theme-ribbon-border:#6e9470;--theme-schedule-bg:linear-gradient(82deg,transparent 0 16%,rgba(46,100,57,.17) 16% 17.5%,transparent 17.5% 39%,rgba(75,128,79,.14) 39% 40.4%,transparent 40.4% 67%,rgba(45,100,55,.17) 67% 68.4%,transparent 68.4%),linear-gradient(#d8e8d2,#b9d2b3);--theme-box-bg:linear-gradient(80deg,transparent 0 24%,rgba(48,105,61,.13) 24% 25.4%,transparent 25.4% 61%,rgba(77,130,82,.11) 61% 62.2%,transparent 62.2%),linear-gradient(#edf4e9,#d6e6d1);--theme-section-border:#729474;--theme-schedule-text:#31573a;--theme-box-text:#31573a;--theme-under:linear-gradient(90deg,#8eb18c,#4b7c52,#8eb18c)}
.theme-asanoha{--theme-ribbon-bg:linear-gradient(30deg,transparent 24%,rgba(91,105,134,.20) 25% 26%,transparent 27% 74%,rgba(91,105,134,.20) 75% 76%,transparent 77%) 0 0/32px 56px,linear-gradient(150deg,transparent 24%,rgba(91,105,134,.20) 25% 26%,transparent 27% 74%,rgba(91,105,134,.20) 75% 76%,transparent 77%) 0 0/32px 56px,linear-gradient(90deg,transparent 47%,rgba(91,105,134,.15) 48% 52%,transparent 53%) 0 0/32px 56px,linear-gradient(#eef0f5,#d9deea);--theme-ribbon-border:#8791ad;--theme-schedule-bg:linear-gradient(30deg,transparent 24%,rgba(87,103,133,.16) 25% 27%,transparent 28% 73%,rgba(87,103,133,.16) 74% 76%,transparent 77%) 0 0/30px 52px,linear-gradient(150deg,transparent 24%,rgba(87,103,133,.16) 25% 27%,transparent 28% 73%,rgba(87,103,133,.16) 74% 76%,transparent 77%) 0 0/30px 52px,linear-gradient(#e1e5ef,#cbd2e1);--theme-box-bg:linear-gradient(30deg,transparent 24%,rgba(87,103,133,.12) 25% 27%,transparent 28% 73%,rgba(87,103,133,.12) 74% 76%,transparent 77%) 0 0/32px 56px,linear-gradient(150deg,transparent 24%,rgba(87,103,133,.12) 25% 27%,transparent 28% 73%,rgba(87,103,133,.12) 74% 76%,transparent 77%) 0 0/32px 56px,linear-gradient(#f2f3f7,#e0e4ec);--theme-section-border:#8892ab;--theme-schedule-text:#49556f;--theme-box-text:#49556f;--theme-under:linear-gradient(90deg,#9da7bd,#6d7893,#9da7bd)}
.theme-shippo{--theme-ribbon-bg:radial-gradient(circle at 0 0,transparent 0 14px,rgba(72,107,135,.20) 14px 16px,transparent 16px 30px) 0 0/30px 30px,radial-gradient(circle at 30px 30px,transparent 0 14px,rgba(72,107,135,.20) 14px 16px,transparent 16px 30px) 0 0/30px 30px,radial-gradient(circle at 0 30px,transparent 0 14px,rgba(72,107,135,.15) 14px 16px,transparent 16px 30px) 0 0/30px 30px,radial-gradient(circle at 30px 0,transparent 0 14px,rgba(72,107,135,.15) 14px 16px,transparent 16px 30px) 0 0/30px 30px,linear-gradient(#edf4f7,#d7e4ea);--theme-ribbon-border:#7896a8;--theme-schedule-bg:radial-gradient(circle at 0 0,transparent 0 13px,rgba(69,104,130,.17) 13px 15px,transparent 15px 28px) 0 0/28px 28px,radial-gradient(circle at 28px 28px,transparent 0 13px,rgba(69,104,130,.17) 13px 15px,transparent 15px 28px) 0 0/28px 28px,linear-gradient(#dce9ee,#c8d9e1);--theme-box-bg:radial-gradient(circle at 0 0,transparent 0 14px,rgba(69,104,130,.12) 14px 16px,transparent 16px 30px) 0 0/30px 30px,radial-gradient(circle at 30px 30px,transparent 0 14px,rgba(69,104,130,.12) 14px 16px,transparent 16px 30px) 0 0/30px 30px,linear-gradient(#f0f6f8,#dde9ee);--theme-section-border:#7d99a8;--theme-schedule-text:#355c70;--theme-box-text:#355c70;--theme-under:linear-gradient(90deg,#8fabb9,#5c7d8e,#8fabb9)}
.theme-yagasuri{--theme-ribbon-bg:linear-gradient(135deg,rgba(108,78,115,.18) 25%,transparent 25%) -12px 0/24px 24px,linear-gradient(225deg,rgba(108,78,115,.18) 25%,transparent 25%) -12px 0/24px 24px,linear-gradient(315deg,rgba(108,78,115,.18) 25%,transparent 25%) 0 0/24px 24px,linear-gradient(45deg,rgba(108,78,115,.18) 25%,transparent 25%) 0 0/24px 24px,linear-gradient(#f0e9f1,#dfd2e1);--theme-ribbon-border:#9a819f;--theme-schedule-bg:linear-gradient(135deg,rgba(105,76,111,.15) 25%,transparent 25%) -11px 0/22px 22px,linear-gradient(225deg,rgba(105,76,111,.15) 25%,transparent 25%) -11px 0/22px 22px,linear-gradient(315deg,rgba(105,76,111,.15) 25%,transparent 25%) 0 0/22px 22px,linear-gradient(45deg,rgba(105,76,111,.15) 25%,transparent 25%) 0 0/22px 22px,linear-gradient(#e4d9e6,#cfbfd3);--theme-box-bg:linear-gradient(135deg,rgba(105,76,111,.11) 25%,transparent 25%) -12px 0/24px 24px,linear-gradient(225deg,rgba(105,76,111,.11) 25%,transparent 25%) -12px 0/24px 24px,linear-gradient(#f4eef4,#e4d8e5);--theme-section-border:#9c83a0;--theme-schedule-text:#654f69;--theme-box-text:#654f69;--theme-under:linear-gradient(90deg,#b69cba,#7e6382,#b69cba)}
.theme-botanical{--theme-ribbon-bg:radial-gradient(ellipse at 16% 48%,rgba(54,116,83,.22) 0 7%,transparent 8%) 0 0/120px 64px,radial-gradient(ellipse at 31% 32%,rgba(84,137,99,.18) 0 6%,transparent 7%) 0 0/120px 64px,radial-gradient(ellipse at 61% 66%,rgba(49,108,76,.20) 0 7%,transparent 8%) 0 0/120px 64px,radial-gradient(ellipse at 82% 34%,rgba(91,143,104,.17) 0 6%,transparent 7%) 0 0/120px 64px,linear-gradient(105deg,#eaf3e7,#d0e3ce);--theme-ribbon-border:#789b78;--theme-schedule-bg:radial-gradient(ellipse at 18% 52%,rgba(51,107,77,.17) 0 7%,transparent 8%) 0 0/110px 58px,radial-gradient(ellipse at 67% 40%,rgba(79,131,94,.15) 0 6%,transparent 7%) 0 0/110px 58px,linear-gradient(#dcebd8,#c1d9bf);--theme-box-bg:radial-gradient(ellipse at 22% 48%,rgba(54,111,80,.13) 0 7%,transparent 8%) 0 0/120px 64px,radial-gradient(ellipse at 76% 36%,rgba(84,135,98,.11) 0 6%,transparent 7%) 0 0/120px 64px,linear-gradient(#eff6ed,#d9e8d6);--theme-section-border:#7a9b79;--theme-schedule-text:#355b3c;--theme-box-text:#355b3c;--theme-under:linear-gradient(90deg,#99b998,#587f5d,#99b998)}
.theme-indigo_kamon{--theme-ribbon-bg:radial-gradient(circle at 8px 8px,rgba(255,255,255,.20) 0 2px,transparent 2.3px) 0 0/22px 22px,radial-gradient(circle at 19px 19px,rgba(255,255,255,.12) 0 1.5px,transparent 1.8px) 0 0/22px 22px,linear-gradient(#617a92,#455f79);--theme-ribbon-border:#40576d;--theme-schedule-bg:radial-gradient(circle at 7px 7px,rgba(255,255,255,.15) 0 1.8px,transparent 2.1px) 0 0/20px 20px,linear-gradient(#71889d,#536c84);--theme-box-bg:radial-gradient(circle at 8px 8px,rgba(255,255,255,.13) 0 1.7px,transparent 2px) 0 0/22px 22px,linear-gradient(#8093a6,#60768b);--theme-section-border:#435b70;--theme-schedule-text:#fff;--theme-box-text:#fff;--theme-under:linear-gradient(90deg,#8da2b5,#435e77,#8da2b5)}
.theme-chidori{--theme-ribbon-bg:linear-gradient(45deg,rgba(73,91,110,.12) 25%,transparent 25% 75%,rgba(73,91,110,.12) 75%) 0 0/20px 20px,linear-gradient(45deg,transparent 25%,rgba(255,255,255,.56) 25% 75%,transparent 75%) 10px 10px/20px 20px,linear-gradient(#edf1f3,#d8e0e4);--theme-ribbon-border:#93a3ad;--theme-schedule-bg:linear-gradient(45deg,rgba(71,92,109,.10) 25%,transparent 25% 75%,rgba(71,92,109,.10) 75%) 0 0/18px 18px,linear-gradient(#e4eaed,#cdd8dd);--theme-box-bg:linear-gradient(45deg,rgba(71,92,109,.08) 25%,transparent 25% 75%,rgba(71,92,109,.08) 75%) 0 0/20px 20px,linear-gradient(#f3f5f6,#dde4e7);--theme-section-border:#97a7b0;--theme-schedule-text:#455963;--theme-box-text:#455963;--theme-under:linear-gradient(90deg,#b6c2c8,#758a95,#b6c2c8)}
.theme-tweed{--theme-ribbon-bg:repeating-linear-gradient(22deg,rgba(111,86,64,.08) 0 1px,transparent 1px 5px),repeating-linear-gradient(112deg,rgba(72,94,100,.07) 0 1px,transparent 1px 6px),linear-gradient(#eee9df,#d9d0c2);--theme-ribbon-border:#a89a86;--theme-schedule-bg:repeating-linear-gradient(22deg,rgba(101,80,61,.08) 0 1px,transparent 1px 5px),repeating-linear-gradient(112deg,rgba(69,91,96,.06) 0 1px,transparent 1px 6px),linear-gradient(#e5ddd0,#cfc3b2);--theme-box-bg:repeating-linear-gradient(22deg,rgba(103,82,62,.06) 0 1px,transparent 1px 5px),repeating-linear-gradient(112deg,rgba(70,92,97,.05) 0 1px,transparent 1px 6px),linear-gradient(#f4efe7,#ded5c8);--theme-section-border:#aa9b87;--theme-schedule-text:#625648;--theme-box-text:#625648;--theme-under:linear-gradient(90deg,#c5b69e,#8d7960,#c5b69e)}
.theme-ripple{--theme-ribbon-bg:repeating-radial-gradient(ellipse at 15% 50%,rgba(74,131,154,.13) 0 2px,transparent 3px 13px),linear-gradient(120deg,#e6f1f4,#cddfe5);--theme-ribbon-border:#7fa6b4;--theme-schedule-bg:repeating-radial-gradient(ellipse at 18% 52%,rgba(65,123,147,.12) 0 2px,transparent 3px 12px),linear-gradient(120deg,#d9e9ed,#bdd3da);--theme-box-bg:repeating-radial-gradient(ellipse at 82% 48%,rgba(78,132,153,.09) 0 2px,transparent 3px 13px),linear-gradient(120deg,#eef6f7,#d7e6ea);--theme-section-border:#82a8b5;--theme-schedule-text:#3d6574;--theme-box-text:#3d6574;--theme-under:linear-gradient(90deg,#9dc3ce,#4f8ca0,#9dc3ce)}
*{box-sizing:border-box}html,body{margin:0;background:#fff;color:var(--text);font-family:Meiryo,"Yu Gothic UI",sans-serif;font-size:15px}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.nowrap{white-space:nowrap}
/* top chrome-like application bars */
.topbar{height:32px;min-height:32px;overflow:hidden;background:linear-gradient(#303030,#1d1d1d);color:#fff;border-bottom:1px solid #0e0e0e;display:flex;align-items:center;padding:0 8px;gap:8px;line-height:1}.topbar>*{min-width:0}.brand{display:flex;align-items:center;height:100%;font-weight:800;font-size:14px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 1px}.brand-mark{display:inline-grid;place-items:center;flex:0 0 18px;width:18px;height:18px;margin-left:2px;background:#1aa3d8;border-radius:2px;color:#fff;font-weight:900;line-height:1}.topsearch{margin-left:4px;width:180px;height:22px;border:1px solid #767676;background:#fff;padding:1px 6px}.topspacer{flex:1}.topbar a{color:#fff}.app-version{font-size:12px;font-weight:700;color:#d8e8f2;white-space:nowrap;margin-right:10px}.topuser{height:100%;display:flex;align-items:center;gap:0;font-size:13px;white-space:nowrap}.topuser .sep{display:none}.blue-under{height:10px;background:var(--theme-under)}
.ribbon{height:76px;background:var(--theme-ribbon-bg);border-bottom:1px solid var(--theme-ribbon-border);display:flex;align-items:flex-start;padding:4px 10px 5px;gap:3px;overflow:hidden}.ribbon-item{position:relative;flex:0 0 84px;width:84px;height:66px;background:rgba(255,255,255,.72);border:1px solid #b6d7e9;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#333;text-decoration:none;font-size:13px;line-height:1.15;white-space:nowrap;overflow:hidden;padding:2px 4px 3px}.ribbon-item:hover{text-decoration:none;background:#fff}.ribbon-item.active{box-shadow:inset 0 -3px #d94747;background:#fff}.nav-alert-badge{position:absolute;top:4px;right:6px;min-width:17px;height:17px;padding:0 1px;border-radius:999px;background:#e34242;color:#fff;font-size:12px;font-weight:700;line-height:17px;text-align:center;box-shadow:0 0 0 2px rgba(255,255,255,.96)}.nav-alert-badge[hidden]{display:none!important}.ribbon-ico{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:1px;line-height:1}.ribbon-ico img{display:block;width:40px;height:40px;object-fit:contain;filter:none}.ribbon-spacer{flex:1}.page{padding:0 12px 16px}.crumb{font-size:13px;color:#286d98;padding:7px 8px 6px}.noticebar{min-height:50px;height:auto;border:7px solid #03cb8c;border-radius:4px;margin:3px 0 10px;display:flex;align-items:center;flex-wrap:wrap;background:#fff}.noticeicon{width:37px;text-align:center;font-size:21px;color:#00a876}.noticetext{font-weight:400}.notice-right{margin-left:auto;flex:1;display:flex;justify-content:flex-end;font-size:15px;padding:4px 16px;color:#24739c;line-height:1.5}.leave-summary{display:inline-flex;align-items:center;justify-content:flex-end;gap:13px;flex-wrap:wrap;white-space:normal;font-size:15px}.leave-summary .leave-item{white-space:nowrap}.leave-summary .leave-sep{color:#7f99a7}.leave-summary .leave-arrow{color:#24739c;font-weight:400}.leave-summary .leave-balance{font-size:inherit;font-weight:400;color:#176b4a}.leave-summary .leave-warning{font-size:inherit;font-weight:400;color:#b43b32}.leave-summary.leave-muted{color:#777}
/* common schedule chrome */
.schedule-head{background:var(--theme-ribbon-bg);border-top:1px solid var(--theme-section-border);border-bottom:1px solid var(--theme-section-border);min-height:32px;display:flex;align-items:center;padding:2px 8px;gap:8px}.schedule-head-title{font-weight:700;color:var(--theme-schedule-text);white-space:nowrap}.schedule-head .searchbox{margin-left:8px}.schedule-head .searchbox input{width:170px}.searchbox{display:flex;align-items:center;gap:4px}.searchbox input{height:27px;font-size:14px;width:150px;border:1px solid #8f9ca4}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:3px 8px;font-size:14px;border:1px solid #a4b3bb;border-radius:2px;background:linear-gradient(#fff,#edf2f5);color:#266487;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{text-decoration:none;background:#e7f2f8}.btn.primary{background:linear-gradient(#4bb0e1,#208bc0);border-color:#1680b0;color:#fff;font-weight:700}.btn.danger{color:#d34b42}.btn.small{font-size:13px;min-height:20px;padding:1px 5px}.toolbarline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 10px;background:#c9e7f7;margin:0 0 7px}.toolbarline .searchbox{margin-left:auto}.viewtabs{display:flex;height:33px;align-items:flex-end;background:#f4f4f4;padding-left:12px;border-bottom:1px solid #ddd;margin-bottom:8px}.viewtabs a{height:32px;padding:7px 12px 6px;font-size:14px;color:#333;border-right:1px solid #ddd;text-decoration:none;background:#eee}.viewtabs a.active{background:#fff;border-top:3px solid #35a8dc;padding-top:4px;font-weight:700}.groupbar,.personbar{display:flex;align-items:center;gap:7px;padding:0 4px 5px}.groupbar>b{font-weight:400}.groupbar select{width:150px;min-width:150px;height:29px;font-size:14px;border:1px solid #9ea7ad;background:white}.personbar select{min-width:180px;height:29px;font-size:14px;border:1px solid #9ea7ad;background:white}.center-title{font-size:18px;font-weight:400;text-align:center;flex:1}.nav-right{display:flex;gap:4px;margin-left:auto}.datepick-btn{border:0;background:transparent;cursor:pointer;font-size:14px;padding:0 2px}.floating-cal{position:absolute;z-index:50;width:215px;background:#fff;border:1px solid #adb9c0;box-shadow:0 3px 10px #0003;padding:7px;display:none}.floating-cal.open{display:block}.floating-cal table{width:100%;border-collapse:collapse;text-align:center;font-size:13px}.floating-cal td,.floating-cal th{padding:3px}.floating-cal .sun{color:red}.floating-cal .sat{color:blue}.floating-cal a{display:block}.date-anchor{position:relative;display:inline-block}
/* group schedule */
.schedule-scroll{overflow:auto;border:1px solid var(--line)}.group-grid{width:100%;border-collapse:collapse;table-layout:fixed;min-width:1180px}.group-grid th,.group-grid td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top}.group-grid thead th,.group-grid tfoot th{height:28px;background:#f4f4f4;text-align:center;font-weight:400;padding:4px 2px}.group-grid tfoot th{border-top:1px solid var(--line);border-bottom:0}.group-grid .namecol{width:185px}.group-grid .namecell{width:185px;padding:8px 8px;background:#fff;color:#0876ae;position:sticky;left:0;z-index:2}.group-grid .namecell .person{font-weight:400;display:flex;align-items:center;gap:6px}.group-grid .namecell .person .schedule-person-name{display:inline-block;width:7em;max-width:7em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-grid .name .schedule-person-name{display:inline-block;width:7em;max-width:7em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-grid .namecell .sub{font-size:13px;margin-top:7px;line-height:1.7}.user-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;border-radius:2px;vertical-align:middle;background:#eef4f7;border:1px solid #cad6dc}.user-avatar img{display:block;width:100%;height:100%;object-fit:cover}.user-avatar-fallback{display:inline-block;position:relative;flex:0 0 auto;vertical-align:middle;background:transparent;border:0;color:#63b9da}.user-avatar-fallback.self{color:#7fd8a2}.user-avatar-fallback.other{color:#61b7d9}.user-avatar-fallback .avatar-head{position:absolute;left:31%;top:5%;width:38%;height:38%;border-radius:50%;background:currentColor}.user-avatar-fallback .avatar-body{position:absolute;left:12%;bottom:4%;width:76%;height:48%;border-radius:50% 50% 8% 8%/70% 70% 12% 12%;background:currentColor}.admin-user-name{display:flex;align-items:center;gap:7px;white-space:nowrap}.subicon{display:inline-flex;width:15px;height:15px;align-items:center;justify-content:center;margin-right:3px;font-size:13px;vertical-align:-1px}.cell-actions{display:flex;align-items:center;gap:7px;margin:5px 3px 3px}.cell-actions .addcell{margin:0}.add-secondary{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;background:transparent;color:#47a94a;line-height:1;cursor:pointer;vertical-align:middle}.quick-mark{position:relative;display:block;width:21px;height:20px}.quick-mark:before{content:"";position:absolute;left:1px;top:1px;width:14px;height:16px;border:1px solid #c9d1d4;background:#fff}.quick-mark:after{content:"＋";position:absolute;right:0;bottom:-1px;width:13px;height:13px;border:1px solid #d0d8da;background:#fff;color:#47a94a;font-size:13px;font-weight:900;line-height:11px;text-align:center}.hover-tip{position:relative}.hover-tip:after{content:attr(data-tip);position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);z-index:250;display:none;padding:5px 8px;background:#fff;border:1px solid #222;color:#111;font-size:13px;font-weight:400;line-height:1.2;white-space:nowrap;box-shadow:1px 1px 2px #0002;pointer-events:none}.hover-tip:hover:after,.hover-tip:focus-visible:after{display:block}.quick-modal-backdrop{position:fixed;inset:0;background:#0003;z-index:500;display:none;align-items:center;justify-content:center;padding:18px}.quick-modal-backdrop.open{display:flex}.quick-modal{width:min(760px,96vw);max-height:92vh;overflow:auto;background:#fff;border:1px solid #9ba8af;box-shadow:0 8px 30px #0005}.quick-modal-title{font-size:22px;font-weight:700;text-align:center;padding:16px 12px 10px;border-bottom:1px solid #d9dfe2}.quick-modal-body{padding:16px 24px 18px}.quick-formtable{width:100%;border-collapse:collapse}.quick-formtable th{width:115px;text-align:right;padding:9px 12px 9px 0;font-size:16px;font-weight:400;vertical-align:top}.quick-formtable td{padding:7px 0;font-size:16px}.quick-formtable input[type=text],.quick-formtable textarea{font-size:16px;width:100%;border:1px solid #8f9ca4}.quick-formtable input[type=text]{height:32px}.quick-formtable textarea{height:105px;resize:vertical}.quick-formtable select{font-size:15px;height:31px}.quick-person{font-size:17px}.quick-actions{display:flex;align-items:center;justify-content:center;gap:28px;padding:12px 0 4px}.quick-actions .btn.primary{min-width:130px;font-size:17px;min-height:42px}.quick-detail-link{font-size:16px}.quick-close{float:right;margin:8px 10px 0 0;border:0;background:transparent;font-size:22px;cursor:pointer;color:#555}@media(max-width:700px){.hover-tip:after{display:none!important}.quick-modal-backdrop{align-items:flex-start;padding:8px}.quick-modal{margin-top:3vh}.quick-modal-body{padding:10px 12px}.quick-formtable th{width:76px;font-size:14px;padding-right:7px}.quick-formtable td{font-size:14px}.quick-actions{gap:12px}.quick-actions .btn.primary{min-width:100px}.quick-detail-link{font-size:14px}}.group-grid .daycell{height:152px;padding:4px;background:#fff}.group-grid .sat{background:var(--sat)}.group-grid .sun{background:var(--sun)}.group-grid .today{box-shadow:none!important;outline:none!important}.addcell{display:inline-block;margin:4px 3px 2px;color:#47a94a;font-weight:900;font-size:17px;line-height:1;text-decoration:none}.event-dot{color:#b3b3b3;margin-right:2px;font-weight:400}
.event-person-name{display:inline-block;margin-right:4px;padding:0 3px;border:1px solid #b9cbd4;border-radius:2px;background:#fff;color:#315e75;font-size:11px;line-height:1.35;vertical-align:1px;white-space:nowrap}
.event{display:block;margin:1px 0;padding:2px 4px;border-radius:1px;color:#0070b3;line-height:1.32;font-size:14px;overflow:hidden;border:1px solid transparent;background:transparent;position:relative;padding-right:25px}.event:hover{text-decoration:none;filter:brightness(.98)}.event-done-quick{position:absolute;right:3px;top:2px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:17px;padding:0;border:1px solid #9db3bd;border-radius:2px;background:#fff;color:#607984;font-size:12px;line-height:1;cursor:pointer;box-sizing:border-box}.event-done-quick:hover{background:#eef6f8}.event-done-quick.is-done{background:#fff;border-color:#9db3bd;color:#607984}.done-state-badge{display:inline-flex;align-items:center;justify-content:center;width:calc(2em + 8px);min-width:calc(2em + 8px);box-sizing:border-box;padding:1px 4px;margin-right:2px;border-radius:3px;background:#d8c100;color:#fff;font-size:12px;line-height:1.2;vertical-align:1px;text-align:center;white-space:nowrap}.period-band{position:relative;padding-right:25px!important}.period-band .event-done-quick{top:2px}.schedule-done-detail{border-color:#bca900!important;background:#fffbe5!important;color:#756800!important}.schedule-done-detail.is-done{background:#d8c100!important;color:#fff!important;border-color:#bea900!important}.weekday-today{font-weight:700!important}.event.normal,.event.timed,.event.required,.event.important,.event.holiday{background:transparent;border-color:transparent;color:#0070b3}.event.period{background:#dbf8de;border-color:#a8d8ad;color:#0070b3}.badge{display:inline-block;padding:1px 4px;color:#fff;border-radius:3px;font-size:12px;margin-right:2px;vertical-align:1px}.badge.req{background:#f5a623}.badge.imp{background:#30a765}.badge.hol{background:#f15b64}.badge.onsite{background:#43a65e}.badge.office{background:#d2a600}.badge.meeting{background:#159aa6}.badge.pm{background:#ea5762}.badge.delay{background:#b49a64}.badge.memo{background:#7a8da6}.tm{color:#333;font-weight:400!important}.overlap-warn{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;margin-right:2px;vertical-align:-1px}.overlap-warn svg{display:block;width:12px;height:12px}.event.conflict .tm{font-weight:400}.weekday-sat{background:#e5f5ff!important}.weekday-sun{background:#ffe6ea!important}.holiday-name{display:inline-block;margin-left:4px;color:#d33;font-size:12px;font-weight:400}.participant-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.time-select{height:29px;min-width:68px;padding:1px 4px}.time-sep{display:inline-block;padding:0 5px}.participant-box{width:210px;height:165px}.participant-buttons{display:flex;flex-direction:column;gap:6px}.participant-buttons .btn{min-width:58px}.label-picker{position:relative;display:inline-block;width:220px}.label-picker-button{width:220px;min-height:30px;border:1px solid #9ea7ad;background:#fff;text-align:left;padding:3px 28px 3px 8px;cursor:pointer;position:relative}.label-picker-button:after{content:"▼";position:absolute;right:8px;top:5px;font-size:11px;color:#444}.label-menu{display:none;position:absolute;z-index:120;left:0;top:31px;width:245px;max-height:420px;overflow:auto;background:#fff;border:1px solid #888;box-shadow:0 4px 12px #0003}.label-picker.open .label-menu{display:block}.label-choice{display:flex;align-items:center;gap:7px;width:100%;padding:5px 8px;border:0;background:#fff;text-align:left;cursor:pointer}.label-choice:hover,.label-choice.selected{background:#e9f2f8}.label-swatch{display:inline-block;width:14px;height:14px;border:1px solid #666;border-radius:3px;flex:0 0 14px}.label-empty{display:inline-block;width:14px;flex:0 0 14px}.admin-labels{width:100%;border-collapse:collapse}.admin-labels th,.admin-labels td{border:1px solid #ccd5da;padding:5px 7px;vertical-align:middle}.admin-labels th{background:#58a8cf;color:#fff}.admin-labels input[type=text]{width:100%;min-width:110px}.admin-labels input[type=color]{width:42px;height:28px;padding:0;border:1px solid #999;background:#fff}.employment-form{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.employment-form input[type=date]{width:145px}.photo-upload-wrap{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:5px}.photo-upload-title{font-weight:700;color:#355c70;min-width:42px}.photo-file-native{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.photo-pick-btn{cursor:pointer}.leave-note{font-size:12px;color:#666;line-height:1.55;margin-top:7px}.legend{font-size:13px;color:#555;margin:6px 0}.legend .badge{margin-left:6px}.holiday-title{color:#d22;font-size:13px;margin-left:3px;font-weight:400}
.period-subrow td,.period-subrow th{height:30px;padding:2px 3px;background:#fdfdfd}.period-gap{background:#fff}.period-span,.month-period-span{padding:2px 3px;background:#f7fffa}.leave-period-cell{background:#fff!important}.period-band.leave-no-band{background:transparent!important;border-color:transparent!important;color:#0070b3!important;padding-left:0}.period-band{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:3px 6px;border-radius:2px;border:1px solid #9fd1a6;background:#dff6e1;color:#0070b3;line-height:1.25;font-size:13px}.period-band.required{background:#fff3dc;border-color:#f0d29e;color:#9a6200}.period-band.important{background:#eaf8ed;border-color:#bee1c4;color:#1d7d34}.period-band.holiday{background:#ffe9eb;border-color:#efbec1;color:#0070b3}.period-band.period{background:#dbf8de;border-color:#a8d8ad;color:#0070b3}.group-grid .period-subrow td{height:32px}.group-grid .period-subrow .period-gap{background:#fff}.group-grid .period-subrow .sat{background:var(--sat)}.group-grid .period-subrow .sun{background:var(--sun)}
/* personal time grids */
.hour-grid{width:100%;border-collapse:collapse;table-layout:fixed;min-width:1100px}.hour-grid th,.hour-grid td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.hour-grid thead th{height:28px;background:#f4f4f4;font-weight:400}.hour-grid .timecol{width:36px;background:#fafafa;text-align:right;padding-right:4px;font-size:13px;font-weight:400}.hour-grid td{height:43px;vertical-align:top;padding:2px}.hour-grid tr.half td{height:21px;border-bottom:1px dotted #dadada}.hour-grid .allday td{height:84px}.hour-grid .sat{background:var(--sat)}.hour-grid .sun{background:var(--sun)}.hour-grid .workhour .timecol{background:#fff2c4}.day-one{min-width:750px}.day-one td{height:43px}.day-one .contentcol{width:auto}.day-one .timecol{width:34px}
/* month/year */
.month-grid{width:100%;border-collapse:collapse;table-layout:fixed}.month-grid th,.month-grid td{border:1px solid var(--line)}.month-grid th{height:29px;background:#f4f4f4}.month-grid td{height:104px;vertical-align:top;padding:3px}.month-grid .outside{background:#fafafa;color:#aaa}.month-grid .sun{background:var(--sun)}.month-grid .sat{background:var(--sat)}.month-grid .today{box-shadow:none!important;outline:none!important}.month-grid .today .md{font-weight:700;color:#0b6fa4;background:#e7f7d4;border-bottom:1px solid #b9dc90;margin:-3px -3px 3px;padding:3px 5px}.month-grid .md.month-md-sun{background:var(--sun)!important;margin:-3px -3px 3px;padding:3px 5px}.month-grid .md.month-md-sat{background:var(--sat)!important;margin:-3px -3px 3px;padding:3px 5px}.month-grid .month-period-row td{height:30px;padding:2px 3px;background:#fff;vertical-align:middle}.month-grid .month-period-gap{background:#fff}.month-grid .month-period-span{background:#f7fffa}.md{font-size:13px;margin-bottom:2px}.year-wrap{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:4px}.year-month{border:1px solid #aaa}.year-month h3{text-align:center;font-size:15px;font-weight:400;margin:0;padding:3px;background:#fff}.year-month h3 a{font-weight:400}.year-month.current-month h3{background:#d8ff95}.year-month table{width:100%;border-collapse:collapse;table-layout:fixed}.year-month td{height:29px;border-top:1px solid #aaa;font-size:13px}.year-month .d{width:31px;text-align:center;background:#ffffd4;border-right:1px solid #aaa}.year-month tr.sun td{background:#ffd0d0}.year-month tr.sat td{background:#ccfbfb}.year-month .evtxt{padding:1px 3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.year-month .evtxt .badge,.year-month .evtxt .done-state-badge{font-size:10px;line-height:1.15;padding:1px 3px;margin-right:2px;vertical-align:0}.year-month .today td{outline:none}
/* home dashboard */
.home-week{border:1px solid var(--line);overflow:auto}.home-grid{width:100%;border-collapse:collapse;table-layout:fixed;min-width:1020px}.home-grid th,.home-grid td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.home-grid th{height:25px;background:#f4f4f4;font-weight:400}.home-grid .name{width:180px;padding:9px 7px;color:#0876ae;vertical-align:top}.home-grid .name>a{display:block;width:100%;text-align:center;margin-top:5px}.home-grid .day{height:245px;padding:4px;vertical-align:top}.home-lower{display:grid;grid-template-columns:minmax(590px,1.85fr) minmax(270px,.92fr) minmax(350px,1fr);gap:8px;margin-top:18px;width:100%;align-items:stretch}.home-lower>div{min-width:0;display:flex;height:100%}.home-lower .box{border:1px solid var(--theme-section-border);min-height:382px;overflow:hidden;width:100%;display:flex;flex-direction:column;height:100%}.home-lower .calendar-box{min-height:470px;height:100%}.home-lower .notification-box{min-height:470px;height:100%}.home-lower .timecard-box{min-height:470px;height:100%}.notification-box .box-title{display:flex;align-items:center;gap:8px;font-family:inherit;font-weight:700;font-size:16px}.home-lower .calendar-box .box-title,.home-lower .notification-box .box-title,.home-lower .timecard-box .box-title{font-family:inherit;font-size:16px;font-weight:700}.notification-list{display:flex;flex-direction:column;min-height:0;overflow:auto;background:#fff;flex:1}.notification-item{display:block;position:relative;padding:10px 34px 9px 12px;border-bottom:1px solid #e4e9ec;color:#2e4d5e;text-decoration:none;line-height:1.35;background:#fff}.notification-item:hover{background:#f5fafc;text-decoration:none}.notification-item-title{font-size:15px;font-weight:400;color:#245a76}.notification-item-detail{font-size:13px;font-weight:400;color:#697d87;margin-top:4px;white-space:normal;overflow-wrap:anywhere}.notification-item-count{position:absolute;right:9px;top:10px;min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:#e64a4a;color:#fff;font-size:13px;font-weight:400;line-height:22px;text-align:center}.notification-item.warn{border-left:4px solid #e5a72c;padding-left:8px}.notification-item.danger{border-left:4px solid #d84c4c;padding-left:8px}.notification-item.info{border-left:4px solid #4a9cc6;padding-left:8px}.notification-item.ok{border-left:4px solid #4ca66a;padding-left:8px}.notification-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:180px;color:#81919a;font-size:15px;font-weight:400;padding:20px;text-align:center}.notification-updated{font-size:10px;color:#81919a;padding:6px 9px;text-align:right;border-top:1px solid #e7ecef;background:#fafcfd}.box{border:1px solid var(--theme-section-border)}.box-title{background:var(--theme-ribbon-bg);border-bottom:1px solid var(--theme-section-border);padding:6px 9px;font-weight:400;color:var(--theme-box-text);min-height:35px;font-size:16px}.calendar-box .box-title{display:flex;align-items:center;gap:8px}.weather-location-wrap{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:12px;font-weight:400}.weather-location-wrap select{height:25px;max-width:230px;border:1px solid #9bacb5;background:#fff;color:#315e75;font-size:12px;padding:1px 5px}.mini-cal-nav{height:36px;display:flex;align-items:center;justify-content:center;gap:12px;padding:4px 7px;background:#fff;border-bottom:1px solid #d5d5d5}.mini-cal-nav .btn{min-height:24px;height:24px;padding:1px 8px;font-size:13px;font-weight:400}.mini-cal-nav strong{font-size:17px;min-width:120px;text-align:center;font-weight:700}.mini-cal{width:100%;border-collapse:collapse;table-layout:fixed;border:1px solid #bcc6cc}.mini-cal th{height:31px;font-weight:400;font-size:15px;background:#f4f4f4}.mini-cal td{height:76px;vertical-align:top;background:#fff}.mini-cal th,.mini-cal td{text-align:center;border:1px solid #bcc6cc;font-size:15px}.mini-cal-day{display:flex;min-height:74px;width:100%;height:100%;flex-direction:column;align-items:stretch;justify-content:flex-start;line-height:1.05;text-decoration:none;font-weight:400;padding:3px 3px 2px;box-sizing:border-box}.mini-cal-day:hover{text-decoration:none;background:rgba(255,255,255,.35)}.mini-date-line{position:relative;display:block;width:100%;height:21px;min-height:21px}.mini-date-num{position:absolute;left:50%;top:0;transform:translateX(-50%);font-size:17px;font-weight:400;line-height:19px;white-space:nowrap;font-variant-numeric:tabular-nums}.mini-rokuyo{position:absolute;left:calc(50% + 20px);top:1px;display:block;font-size:11px;font-weight:400;line-height:17px;color:#5f7079;white-space:nowrap;text-align:left}.mini-weather{position:relative;margin-top:0;min-height:48px;height:48px;display:block;color:#65747c;font-variant-numeric:tabular-nums}.mini-weather-icon{position:absolute;left:17%;top:53%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:26px;height:26px;line-height:1}.mini-weather-icon svg{display:block;width:26px;height:26px;overflow:visible}.mini-weather-high{position:absolute;right:51%;top:5px;color:#e3423b;font-size:13px;font-weight:400;line-height:16px;white-space:nowrap;text-align:right}.mini-weather-low{position:absolute;left:53%;top:5px;color:#176fd0;font-size:13px;font-weight:400;line-height:16px;white-space:nowrap;text-align:left}.mini-weather-pop{position:absolute;left:52%;top:26px;transform:translateX(-50%);font-size:11px;line-height:15px;color:#536873;white-space:nowrap;text-align:center}.mini-weather-empty{position:absolute;left:50%;top:18px;transform:translateX(-50%);color:#94a0a6;font-size:11px;white-space:nowrap}.mini-cal thead th.sun{background:#ffe6ea;color:#d33}.mini-cal thead th.sat{background:#e5f5ff;color:#176fd0}.mini-cal tbody td.sun{background:#ffe6ea;color:#d33}.mini-cal tbody td.sat{background:#e5f5ff;color:#176fd0}.mini-cal tbody td.sun,.mini-cal tbody td.sat{border-color:#b8c3c9}.mini-cal .today{background:#d8ff95;font-weight:400}.mini-cal .today .mini-date-num,.mini-cal .today .mini-rokuyo{font-weight:400}.updates{padding:7px 9px}.updates table{width:100%;border-collapse:collapse;table-layout:auto}.updates td{padding:7px 4px;border-bottom:1px solid #eee;height:49px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.updates .who{width:112px;min-width:112px}.updates .when{width:166px;min-width:166px;text-align:right;color:#555;overflow:visible;text-overflow:clip;white-space:nowrap}.emptybox{height:45px}
.home-updates{padding:3px 8px 8px;overflow:hidden;flex:1;background:#fff}.home-updates table{width:100%;border-collapse:collapse;table-layout:fixed}.home-updates td{border-bottom:1px solid #e5e5e5;padding:8px 5px;height:55px;font-size:13px;vertical-align:middle}.home-updates .hu-title{width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-updates .hu-action{width:38px;text-align:center;color:#333;white-space:nowrap}.home-updates .hu-actor{width:94px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-updates .hu-title a{white-space:nowrap}.home-updates .hu-stamp{color:#65747d;margin-right:7px;font-size:12px;white-space:nowrap}.home-updates .hu-empty{color:#777;text-align:center;height:80px}.updates-box .box-title{display:flex;align-items:center;gap:8px}.updates-box .box-title a{margin-left:auto;font-size:12px;font-weight:400;color:var(--link)}.updates-title-icon{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;color:#2f9d55;flex:0 0 19px}.updates-title-icon svg{width:19px;height:19px;display:block}
@media(max-width:900px){.home-lower{grid-template-columns:1fr}.home-lower>div{grid-column:auto;grid-row:auto}}
/* v10.58 home timecard */
.home-lower .timecard-box{border:1px solid var(--theme-section-border)!important}
.timecard-box .box-title{font-weight:700}
.timecard-wrap{height:calc(100% - 35px);min-height:0;box-sizing:border-box;padding:10px 18px 9px;background:linear-gradient(#fff,#f8fcfe);display:flex;flex-direction:column;gap:8px}
.timecard-split{flex:1;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:8px}
.timecard-top-group,.timecard-bottom-group{min-height:0;display:flex;flex-direction:column}
.timecard-top-group{border:1px solid #d7e4ea;background:#fff;border-radius:3px;padding:9px 12px 9px;justify-content:center;gap:7px}
.timecard-bottom-group{min-height:0}
.timecard-headline{display:flex;align-items:center;justify-content:space-between;gap:8px}.timecard-person{display:flex;align-items:center;gap:7px;font-weight:400;color:#345b70;min-width:0;font-size:15px}.timecard-person span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timecard-date{font-size:12px;color:#5a6971;white-space:nowrap;flex:0 0 auto}
.timecard-status-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:318px;max-width:100%;margin:0 auto;min-height:32px}.timecard-status-label{justify-self:end;margin-right:10px;font-size:12px;color:#60727c}.timecard-status-spacer{display:block}.timecard-status{display:inline-flex;align-items:center;justify-content:center;min-width:96px;height:28px;padding:0 12px;border-radius:15px;font-size:13px;font-weight:400;border:1px solid #cfd9de;background:#f3f5f6;color:#5d666b}.timecard-status.working{background:#e5f7ee;border-color:#a9dbc0;color:#217145}.timecard-status.done{background:#eaf3fb;border-color:#b9d4e8;color:#2b6486}
.timecard-buttons{display:flex;justify-content:center;gap:16px;width:318px;max-width:100%;margin:0 auto}.timecard-buttons form{margin:0;flex:0 0 auto}.timecard-btn{min-width:146px;height:42px;border:0;border-radius:5px;font-size:17px;font-weight:400;cursor:pointer;box-shadow:0 1px 2px #0002}.timecard-btn.in{background:#69c99b;color:#fff}.timecard-btn.out{background:#f0a074;color:#fff}.timecard-btn:disabled{background:#e5e8ea;color:#9ba4a9;cursor:default;box-shadow:none}
.timecard-times{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;border-top:1px solid #dbe5ea;border-bottom:1px solid #dbe5ea;padding:8px 0}.timecard-time{text-align:center}.timecard-time .label{display:block;font-size:12px;color:#687983;margin-bottom:2px}.timecard-time strong{font-size:18px;color:#243b48;font-weight:400}
.timecard-summary{height:100%;margin-top:0;border:1px solid #d7e4ea;background:#f8fcfe;border-radius:3px;padding:10px 10px 9px;display:flex;flex-direction:column;justify-content:center;gap:9px;color:#4e6470}.timecard-summary-work{text-align:center;font-size:14px;color:#4e6470}.timecard-summary-work span{display:block;font-size:11px;color:#6a7c86;margin-bottom:2px}.timecard-summary-work b{font-size:19px;color:#27485a;font-weight:400}.timecard-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 6px}.timecard-summary-item{text-align:center;white-space:nowrap;font-size:13px;color:#5a6f7a}.timecard-summary-item span{display:block;font-size:11px;color:#71828b;margin-bottom:2px}.timecard-summary-item b{font-size:15px;color:#27485a;font-weight:400}.timecard-note{font-size:9px;color:#7a878e;text-align:center;margin-top:0}.tc-tag.holiday{font-weight:400!important}
@media(max-width:900px){.timecard-wrap{height:auto;min-height:300px;padding:12px}.timecard-split{grid-template-rows:auto auto}.timecard-headline{flex-wrap:wrap}.timecard-date{white-space:normal}.timecard-status-row,.timecard-buttons{width:100%}.timecard-buttons{gap:8px}.timecard-btn{min-width:128px}.timecard-times{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.timecard-summary-grid{grid-template-columns:1fr 1fr}.timecard-status-row{grid-template-columns:auto auto auto}.timecard-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%}.timecard-btn{width:100%;min-width:0}.timecard-times{gap:3px}.timecard-time strong{font-size:16px}}
@media(max-width:900px){.message-thread-card{width:100%;max-width:none;min-width:0}}
/* forms/details/search/admin */
.form-head,.detail-head,.search-head{background:#58a9d2;color:#fff;font-size:18px;font-weight:700;padding:6px 10px;margin:8px 0 0}.mode-tabs{display:flex;gap:0;margin:2px 0 10px;padding-left:15px}.mode-tabs a{background:#eee;border:1px solid #ddd;padding:6px 10px;color:#333;text-decoration:none}.mode-tabs a.active{background:#fff;border-bottom-color:#fff;font-weight:700}.form-area{background:#eef5f9;padding:8px 0 0}.formtable,.detailtable{width:100%;border-collapse:collapse}.formtable th,.detailtable th{width:120px;text-align:right;padding:9px 10px;font-weight:400;vertical-align:top;font-size:15px}.formtable td,.detailtable td{padding:8px 10px;font-size:15px}.formtable input[type=text],.formtable input[type=password],.formtable input[type=date],.formtable input[type=time],.formtable select,.formtable textarea{border:1px solid #999;background:#fff;padding:5px;font-size:15px;min-height:30px}.formtable input[type=text]{width:min(470px,95%)}.formtable textarea{width:min(470px,95%);height:80px;resize:vertical}.formtable .inline{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.multiusers{width:170px;height:145px}.form-actions{background:#e1e9ed;padding:9px;display:flex;justify-content:center;gap:28px;margin-top:8px}.detail-actions{background:#cce8f7;padding:5px 10px;display:flex;gap:8px;align-items:center}.detail-meta{background:#eef7fb;padding:6px 10px;color:#555}.detailtable th{border-bottom:1px solid #ddd;background:#fff}.detailtable td{border-bottom:1px solid #ddd;background:#fff}.commentbox{width:440px;max-width:90%;height:44px;border:1px solid #bbb}.search-panel{background:#eef5f9;padding:12px}.searchtable th{text-align:right;font-weight:400;padding:5px 10px;vertical-align:top}.searchtable td{padding:5px}.resulttable,.listtable{width:100%;border-collapse:collapse}.resulttable th,.listtable th{background:#54a8d0;color:#fff;text-align:left;padding:5px;border-right:1px solid #fff}.resulttable td,.listtable td{padding:5px;border-bottom:1px solid #eee}.resulttable tr:nth-child(even) td{background:#f7f7f7}.notice-msg{padding:7px 10px;margin:7px 0;border:1px solid #cbdbe2;background:#f7fcff}.error{padding:7px 10px;margin:7px 0;border:1px solid #e2b5b0;background:#fff0ef;color:#8e3029}.ok{padding:7px 10px;margin:7px 0;border:1px solid #bad9b7;background:#f0faef;color:#266324}.admin-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:10px}.panel{border:1px solid #cbd6db}.panel h2{margin:0;padding:6px 8px;background:#acd9ef;font-size:15px}.panel-body{padding:8px}.compact{font-size:13px;color:#666}
/* login */
.login-bg{min-height:100vh;background:#5fd0e7;position:relative;overflow:hidden;padding-top:17vh}.login-title{text-align:center;color:#fff;font-size:34px;font-weight:800;text-shadow:0 3px 5px #2589a866;letter-spacing:2px;margin-bottom:24px}.loginbox{width:375px;max-width:calc(100% - 28px);margin:auto;background:#fff;position:relative;z-index:3;box-shadow:0 1px 3px #0001}.login-domain{font-size:19px;color:#777;padding:18px 20px 12px}.loginrow input{width:100%;height:42px;border:0;border-top:1px solid #d7d7d7;background:#e8f1ff;padding:0 20px}.login-actions{display:flex;align-items:center;padding:13px 20px 18px;gap:8px}.login-actions .btn{margin-left:auto;width:140px;height:40px}.login-help{font-size:13px;color:#2989c0;padding:7px 20px 0}.login-demo{font-size:12px;color:#777;padding:0 20px 14px}.cloud{position:absolute;background:#fff;border-radius:50%;bottom:-80px;opacity:.96}.cloud:before,.cloud:after{content:'';position:absolute;background:inherit;border-radius:50%}.c1{width:340px;height:210px;left:-45px}.c1:before{width:180px;height:180px;left:90px;top:-90px}.c1:after{width:220px;height:180px;left:240px;top:-30px}.c2{width:390px;height:240px;right:-70px}.c2:before{width:180px;height:180px;right:120px;top:-100px}.c2:after{width:220px;height:180px;right:280px;top:-30px}.c3{width:240px;height:145px;left:42%;bottom:-40px;opacity:.55}.c3:before{width:120px;height:120px;left:-90px;top:10px}.c3:after{width:140px;height:130px;right:-105px;top:8px}
.scroll-hint{display:none}
.memo-content{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.65;min-height:72px;padding:2px 0}
@media(max-width:900px){
  html,body{font-size:14px;max-width:100%;overflow-x:hidden}
  .topbar{height:36px;min-height:36px;padding:0 5px;gap:5px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
  .brand{font-size:13px;flex:0 0 auto}.brand-mark{width:17px;height:17px;flex-basis:17px}
  .topsearch{display:none}.topspacer{min-width:8px}.topuser{font-size:12px;gap:0;flex:0 0 auto}.topuser .labelhide{display:none}.topuser .sep{display:none}
  .blue-under{height:7px}
  .ribbon{height:64px;padding:4px 5px 5px;gap:4px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .ribbon-item{flex:0 0 78px;width:78px;height:60px;font-size:12px;white-space:nowrap}.ribbon-ico{width:36px;height:36px}.ribbon-ico img{width:34px;height:34px}
  .page{padding:0 4px 76px;min-width:0}.crumb{padding:6px 4px;font-size:12px;white-space:nowrap;overflow-x:auto}
  .noticebar{margin:3px 0 8px;height:auto;min-height:42px;border-width:4px}.notice-right{font-size:13px;flex:1 1 70%;margin-left:6px;padding:4px 8px;line-height:1.45}.leave-summary{font-size:13px;gap:8px;justify-content:flex-end}.leave-summary .leave-balance,.leave-summary .leave-warning{font-size:inherit}.noticeicon{width:30px}
  .toolbarline{padding:5px 4px;gap:5px}.toolbarline>.btn{flex:0 0 auto}.toolbarline .searchbox{width:100%;margin-left:0}.toolbarline .searchbox input{flex:1;width:auto;min-width:0}
  .viewtabs{overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding-left:0;height:38px;-webkit-overflow-scrolling:touch}.viewtabs a{flex:0 0 auto;height:36px;padding:8px 11px 6px}
  .groupbar,.personbar{flex-wrap:wrap;gap:5px;padding:2px 1px 6px}.groupbar>b{flex:0 0 auto}.groupbar select{width:145px;min-width:0;max-width:100%;height:32px}.personbar select{min-width:0;max-width:100%;height:32px}
  .center-title{order:-1;width:100%;flex:0 0 100%;font-size:17px;text-align:center;padding:3px 0}
  .nav-right{width:100%;margin-left:0;display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding-bottom:2px}.nav-right .btn{flex:0 0 auto}
  .date-anchor .floating-cal{position:fixed;left:50%;top:18%;transform:translateX(-50%);width:min(310px,calc(100vw - 24px));max-height:65vh;overflow:auto}
  .schedule-scroll,.home-week{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
  .schedule-scroll{border:1px solid var(--line)}
  .scroll-hint{display:block;font-size:11px;color:#65737c;padding:2px 4px 4px;text-align:right}
  .group-grid{min-width:980px}.group-grid .namecol,.group-grid .namecell{width:138px}.group-grid .namecell{position:sticky;left:0;z-index:4;box-shadow:1px 0 0 #ccc}.group-grid .daycell{height:130px}.event{font-size:13px}.badge{font-size:11px}
  .home-grid{min-width:980px}.home-grid .name{position:sticky;left:0;z-index:4;background:#fff;box-shadow:1px 0 0 #ccc}
  .hour-grid{min-width:940px}.hour-grid .timecol{position:sticky;left:0;z-index:3}.hour-grid thead .timecol{z-index:5}
  .month-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-x:contain}.month-grid{min-width:760px}
  .home-lower{grid-template-columns:1fr;gap:8px}.home-lower .box{height:auto;min-height:0}.home-lower .calendar-box{height:auto}.mini-cal{height:auto}.year-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}
  .form-area{padding-top:4px}.formtable,.detailtable{display:block;width:100%}.formtable tbody,.detailtable tbody{display:block;width:100%}.formtable tr,.detailtable tr{display:block;width:100%;border-bottom:1px solid #dbe3e8;padding:4px 6px}.formtable th,.detailtable th{display:block;width:100%;text-align:left;padding:4px 1px 2px;font-size:13px;color:#45626f}.formtable td,.detailtable td{display:block;width:100%;padding:3px 1px 6px}
  .formtable input[type=text],.formtable input[type=password],.formtable input[type=date],.formtable textarea{width:100%!important;max-width:none}.formtable select{max-width:100%}.formtable textarea{height:96px}
  .formtable .inline{gap:5px}.time-select{min-width:68px;flex:0 0 auto}.time-sep{padding:0 1px}
  .label-select{width:min(100%,300px)!important;min-height:34px}
  .participant-wrap{display:grid;grid-template-columns:1fr;gap:7px;width:100%}.participant-box{width:100%;height:135px}.participant-buttons{flex-direction:row;justify-content:flex-start;order:2}.participant-search-pane{order:3}.participant-search-pane input,.participant-search-pane select{width:100%!important;margin-bottom:5px}.selected-participants{order:1}
  .form-actions{position:sticky;bottom:0;z-index:20;margin:8px -4px 0;padding:10px 8px 14px;gap:10px;box-shadow:0 -2px 10px #0002}.form-actions .btn{min-width:120px;min-height:38px}
  .detail-actions{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.detail-actions .btn,.detail-actions form{flex:0 0 auto}.commentbox{width:100%;max-width:100%}
  .search-panel{padding:7px}.searchtable{display:block}.searchtable tbody{display:block}.searchtable tr{display:block;border-bottom:1px solid #dbe3e8;padding:4px 0}.searchtable th,.searchtable td{display:block;width:100%;text-align:left;padding:3px}.resulttable,.listtable{min-width:720px}.panel{overflow-x:auto}
  .login-title{font-size:26px}.login-bg{padding-top:12vh}
}
@media(max-width:600px){
  html,body{font-size:14px}.page{padding-left:3px;padding-right:3px}.ribbon-item{flex-basis:72px;width:72px}.group-grid{min-width:920px}.home-grid{min-width:920px}.hour-grid{min-width:900px}.month-grid{min-width:720px}
  .year-wrap{grid-template-columns:1fr}.notice-right{display:block;width:auto}.schedule-head{font-size:14px}.form-head,.detail-head,.search-head{font-size:16px}
  .mode-tabs{overflow-x:auto;padding-left:0;white-space:nowrap;-webkit-overflow-scrolling:touch}.mode-tabs a{flex:0 0 auto}.form-actions{justify-content:stretch}.form-actions .btn{flex:1}
}

/* v10.38 next-week A3 print + detail avatars */
.detail-person{display:inline-flex;align-items:center;gap:5px;vertical-align:middle;margin-right:12px;white-space:nowrap}.detail-meta .detail-person{margin-right:4px}
.print-week-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 10px}.print-week-title{font-size:20px;font-weight:700}.print-week-range{font-size:15px;color:#455}.print-week-table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff}.print-week-table th,.print-week-table td{border:1px solid #9da9af;padding:4px 5px;vertical-align:top;font-size:11px;line-height:1.25}.print-week-table th{background:#eef5f8;text-align:center}.print-week-table .print-person{width:115px;font-weight:400;vertical-align:middle;text-align:center}.print-person-inner{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:22px}.print-week-table .sun{background:#fff0f2}.print-week-table .sat{background:#eef8ff}.print-event{display:block;margin:0 0 3px;padding:1px 2px 2px;border-bottom:1px dotted #ccd6da;overflow:hidden;white-space:normal}.print-event-time{display:block;color:#333;font-size:10px;line-height:1.2;margin-bottom:1px}.print-event-main{display:block;color:#0070b3;line-height:1.25;overflow-wrap:anywhere;word-break:break-word}.print-event-main .badge{vertical-align:1px}.print-empty{color:#aaa}.print-only-title{display:none}.print-week-table .period-subrow td{height:24px;padding:2px 3px;vertical-align:middle}.print-week-table .period-band{font-size:10px;line-height:1.2;padding:2px 4px;border-radius:2px;text-decoration:none}.print-week-table .period-gap{background:#fff}.print-week-table .period-span{background:#f7fffa}

/* v11.45: smartphone usability (iPhone / Android). Keep normal page flow; allow pinch zoom. */
@media(max-width:900px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .schedule-scroll,.home-week,.month-wrap,.office-table-wrap{touch-action:pan-x pan-y pinch-zoom}
  input,select,textarea{font-size:16px}
  input[type=text],input[type=password],input[type=date],input[type=time],input[type=number],input[type=search],input[type=email],input[type=tel],select,textarea{min-height:40px}
  .groupbar select,.personbar select,.time-select,.ymd-pickers select,.leave-date-pickers select{min-height:40px;height:40px;font-size:16px}
  .searchbox input{min-height:40px;font-size:16px}
  .office-form-row input,.office-form-row select,.office-form-row textarea{font-size:16px;max-width:100%}
  .formtable input,.formtable select,.formtable textarea,.searchtable input,.searchtable select,.searchtable textarea{font-size:16px;max-width:100%}
  .btn{min-height:36px}
}
@media(max-width:600px){
  .groupbar select,.personbar select{width:min(100%,220px)}
  .office-module-head{padding:8px}.office-module-head h2{font-size:17px}
  .office-card-body{padding:8px}
  .leave-field{grid-template-columns:1fr;gap:4px}
  .leave-field-label{margin-bottom:1px}
}
@media print{
 @page{size:A3 landscape;margin:7mm}
 html,body{width:auto!important;height:auto!important;background:#fff!important}
 .topbar,.ribbon,.blue-under,.crumb,.toolbarline,.viewtabs,.print-week-controls{display:none!important}
 .page{padding:0!important;margin:0!important}
 body.view-adminprint .page{width:100%!important;max-width:none!important;margin:0 auto!important;padding:0!important}
 body.view-adminprint .print-week-table{width:calc(100% - 12mm)!important;margin-left:auto!important;margin-right:auto!important}
 .print-only-title{display:block!important;width:calc(100% - 12mm)!important;font-size:13pt;font-weight:700;text-align:center;margin:0 auto 3mm!important}
 .print-week-table{font-size:7.2pt!important;page-break-inside:avoid;break-inside:avoid}
 .print-week-table th,.print-week-table td{font-size:7.2pt!important;padding:1.2mm 1.4mm!important;line-height:1.18!important}
 .print-week-table .print-person{width:27mm!important}
 .print-event{margin:0 0 .5mm!important;padding:0!important}
 .print-event .pt{font-size:6.5pt!important}
 .print-week-table .event-done-quick{display:none!important}
}

/* v10.25 targeted UI fixes */
.ribbon-ico svg{display:block;width:38px;height:38px}
.home-grid .name{position:relative}
.home-grid .name>a.home-month-link{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);width:auto;margin:0;text-align:center}
.admin-add-form{width:min(430px,100%);margin:0 auto}
.admin-add-form th{width:145px!important;white-space:nowrap}
.admin-label-panel{width:100%;max-width:none}
.admin-label-panel .panel-body{padding:8px 10px}.admin-label-help{max-width:480px;margin:0 auto 8px}.admin-label-panel hr{max-width:480px;margin:10px auto}
.admin-label-scroll{width:min(480px,100%);max-width:480px;overflow:auto;margin:0 auto}
.admin-labels{width:470px;max-width:100%;table-layout:fixed}
.admin-labels th:nth-child(1),.admin-labels td:nth-child(1){width:34px;text-align:center}
.admin-labels th:nth-child(2),.admin-labels td:nth-child(2){width:215px}
.admin-labels th:nth-child(3),.admin-labels td:nth-child(3){width:65px;text-align:center}
.admin-labels th:nth-child(4),.admin-labels td:nth-child(4){width:55px;text-align:center}
.admin-labels th:nth-child(5),.admin-labels td:nth-child(5){width:75px;text-align:center}
.admin-label-add{display:flex;gap:7px;flex-wrap:wrap;align-items:center;max-width:480px;margin:0 auto}
.user-maint-actions{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.user-maint-actions form{display:inline-flex;align-items:center;gap:2px}
.photo-upload-wrap{max-width:520px}
@media(max-width:760px){.admin-label-panel{width:100%;max-width:none}.admin-label-scroll{max-width:100%}.admin-labels{min-width:560px}}

/* v10.26 admin cleanup + label ordering */
.admin-users{display:flex;flex-direction:column;gap:9px}
.admin-user-card{border:1px solid #cbd6db;background:#fff;border-radius:3px;overflow:hidden}
.admin-user-head{display:flex;align-items:center;gap:8px;padding:7px 9px;background:#f3f8fb;border-bottom:1px solid #dbe5ea}
.admin-user-head-name{font-weight:700;color:#265e7d;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-status-pill{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:45px;height:22px;padding:0 7px;border-radius:11px;font-size:12px;font-weight:700}
.admin-status-pill.on{background:#e8f6ec;color:#29703f;border:1px solid #bddfc6}
.admin-status-pill.off{background:#f2f2f2;color:#777;border:1px solid #d3d3d3}
.admin-user-body{padding:5px 7px}
.admin-basic-form{display:grid;grid-template-columns:190px 170px 190px 150px auto;gap:5px;align-items:end;justify-content:start;padding-bottom:5px;border-bottom:1px solid #e4ebef}
.admin-basic-form>.admin-field:first-of-type{max-width:190px}
.admin-left-stack{display:flex;flex-direction:column;gap:10px;min-width:0;align-self:start}
.admin-left-stack>.panel,.admin-left-stack>.company-calendar-panel,.admin-left-stack>.admin-label-panel{width:100%;max-width:none}
.admin-left-stack .panel h2{box-sizing:border-box}
.admin-left-stack .panel-body{padding-left:10px;padding-right:10px}
.admin-left-stack .form-actions{max-width:480px;margin-left:auto;margin-right:auto}
.company-calendar-panel{width:100%;max-width:none}
.company-calendar-panel .panel-body{padding:9px 10px}
.company-calendar-status{font-size:13px;color:#365f75;margin-bottom:8px;line-height:1.5;max-width:520px;margin-left:auto;margin-right:auto}
.company-calendar-form{display:flex;flex-direction:column;gap:8px;max-width:520px;margin:0 auto}
.company-calendar-file-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.company-calendar-file-row input[type=file]{max-width:100%;font-size:13px}
.company-calendar-action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.company-calendar-action-row input[type=number]{width:88px;height:28px;border:1px solid #9faeb6;padding:2px 5px}
.company-calendar-legend{font-size:12px;color:#556873;line-height:1.7;max-width:520px;margin:8px auto 0}
.company-calendar-legend .cc-swatch{display:inline-block;width:13px;height:13px;border:1px solid #777;vertical-align:-2px;margin:0 2px 0 5px}
.company-calendar-legend .cc-red{background:#ef3748}.company-calendar-legend .cc-green{background:#8cc95c}.company-calendar-legend .cc-blue{background:#238bd0}.company-calendar-legend .cc-yellow{background:#f4c542}
.company-calendar-progress{min-height:18px;font-size:12px;color:#296787;max-width:520px;margin:6px auto 0}
@media(max-width:760px){.company-calendar-panel{width:100%;max-width:none}}
.admin-field{display:flex;flex-direction:column;gap:2px;min-width:0}
.admin-field>span{font-size:11px;color:#61727c;font-weight:700}
.admin-field input,.admin-field select{width:100%;height:27px;border:1px solid #9faeb6;background:#fff;padding:2px 5px}
.admin-basic-save{height:27px}
.admin-user-head .admin-basic-save{margin-left:auto;flex:0 0 auto}
.admin-tools-grid{display:grid;grid-template-columns:minmax(330px,1.18fr) minmax(220px,.82fr) minmax(285px,1fr);gap:5px;margin-top:5px}
.admin-tool-box{border:1px solid #d7e0e5;background:#fafcfd;padding:5px 6px;min-height:54px}
.admin-tool-title{font-size:12px;font-weight:700;color:#3b667c;margin-bottom:3px}
.admin-tool-line{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.admin-tool-line input[type=date]{width:140px;height:27px;border:1px solid #9faeb6;padding:2px 4px}
.admin-tool-line input[type=password]{width:118px;height:27px;border:1px solid #9faeb6;padding:2px 5px}
.leave-badge{display:inline-flex;align-items:center;height:24px;padding:0 7px;border-radius:11px;background:#eef7fb;border:1px solid #c9e4f0;color:#226784;font-weight:700;font-size:12px;white-space:nowrap}
.admin-danger-zone{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap;margin-top:5px;padding-top:4px;border-top:1px dashed #d9dfe3}
.admin-danger-label{font-size:11px;color:#8a5c59;font-weight:700;white-space:nowrap}
.admin-user-card .photo-upload-wrap{margin-top:0}
.admin-user-card .photo-upload-title{display:none}
.admin-user-card .btn.small{min-height:24px}
.admin-label-help{font-size:12px;color:#586c77;margin:0 0 6px}
.admin-labels .drag-col{width:34px;text-align:center}
.label-drag-handle{display:flex;align-items:center;justify-content:center;width:100%;height:32px;box-sizing:border-box;border:1px solid #c3cdd2;background:#f7fafb;color:#65808e;border-radius:2px;cursor:grab;font-size:17px;line-height:1;user-select:none;-webkit-user-select:none;touch-action:none}
.label-drag-handle:hover{background:#eef6fa;border-color:#8db8cc}
.label-drag-handle:active{cursor:grabbing}
body.label-reordering,body.label-reordering *{user-select:none!important;-webkit-user-select:none!important}
.label-sort-row{transition:background-color .08s ease}
.label-sort-row.dragging{opacity:.62;background:#eef7fb}
.label-sort-row.dragging td{box-shadow:inset 0 1px 0 #2b98ce,inset 0 -1px 0 #2b98ce}
.label-sort-row.drag-over td{border-top:2px solid #2b98ce}
@media(max-width:1450px){.admin-basic-form{grid-template-columns:repeat(2,minmax(160px,1fr))}.admin-basic-form>.admin-field:first-of-type{max-width:none}.admin-basic-save{width:max-content}.admin-tools-grid{grid-template-columns:1fr}.admin-danger-zone{justify-content:flex-end}}
@media(max-width:700px){.admin-basic-form{grid-template-columns:1fr}.admin-tools-grid{grid-template-columns:1fr}.admin-user-head .admin-basic-save{width:auto}.admin-danger-zone{align-items:center;justify-content:flex-end}.admin-danger-zone form{display:flex}.admin-danger-zone .btn{width:auto}}

/* v10.27 */
/* v10.28 admin layout */
.ribbon-admin-gap{flex:0 0 10px;width:10px;height:1px}.ribbon-item.admin-side{flex-basis:78px;width:78px}
.band-theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;max-width:980px;padding:8px 0 14px}
.band-theme-card{display:block;border:1px solid #c8d3d9;border-radius:4px;background:#fff;padding:7px;cursor:pointer;box-shadow:0 1px 2px #0001}
.band-theme-card:hover{border-color:#63a9ce;box-shadow:0 2px 7px #0002}.band-theme-card input{vertical-align:middle;margin-right:5px}.band-theme-card.selected{outline:2px solid #299bd0;outline-offset:1px}
.band-theme-name{font-weight:700;margin-bottom:6px;display:flex;align-items:center}.band-theme-preview{height:74px;border:1px solid var(--theme-section-border);background:#fff;overflow:hidden}
.band-preview-ribbon{height:27px;background:var(--theme-ribbon-bg);border-bottom:1px solid var(--theme-ribbon-border);padding:4px 5px;display:flex;gap:3px}.band-preview-ribbon i{display:block;width:27px;height:18px;background:#ffffffcc;border:1px solid #ffffff88;border-radius:2px}
.band-preview-section{height:15px;background:var(--theme-schedule-bg);border-bottom:1px solid var(--theme-section-border);margin-top:8px}.band-preview-section.two{margin-top:6px;background:var(--theme-box-bg)}.band-theme-note{font-size:12px;color:#5d6b73;margin:4px 0 10px}
.admin-tools-grid{grid-template-columns:minmax(330px,1.18fr) minmax(220px,.82fr) minmax(285px,1fr)}.admin-tool-box{min-height:54px}.admin-tool-line.leave-line{flex-wrap:nowrap;gap:4px}.admin-tool-line.leave-line input[type=date]{width:126px;min-width:126px}.admin-tool-line.leave-line .btn{padding-left:6px;padding-right:6px}.admin-tool-line.leave-line .leave-badge{padding:0 6px}
.admin-tool-line.leave-manual-line{margin-top:5px;gap:4px;flex-wrap:nowrap}.leave-manual-label{font-size:12px;color:#556873;white-space:nowrap}.admin-tool-line.leave-manual-line input[type=number]{width:64px;min-width:64px;height:25px;border:1px solid #9faeb6;padding:2px 4px}.admin-tool-line.leave-manual-line>span{font-size:12px;white-space:nowrap}
/* v10.40 center employee tool contents */
.admin-user-card .admin-tool-box{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.admin-user-card .admin-tool-title{width:100%;text-align:center;margin-bottom:4px}
.admin-user-card .admin-tool-line{width:100%;justify-content:center}
.admin-user-card .admin-tool-line.leave-line,.admin-user-card .admin-tool-line.leave-manual-line{justify-content:center}
.admin-user-card .admin-tool-box form{justify-content:center}
@media(max-width:1180px){.ribbon-admin-gap{flex-basis:14px;width:14px}.admin-tool-line.leave-line{flex-wrap:wrap}}


/* v10.58 timecard history + compact admin tools */
.timecard-page{display:flex;flex-direction:column;gap:9px}
.timecard-month-total{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;border:1px solid #b8d9e8;background:#f7fcff;padding:9px 12px;color:#365f75;font-size:14px}.timecard-month-total span{white-space:nowrap}.timecard-month-total b{font-weight:400;color:#244f65;font-size:16px}
.timecard-page-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1px solid #b8d9e8;background:#f7fcff;padding:8px 10px}
.timecard-page-person{display:flex;align-items:center;gap:8px;font-weight:400;color:#285f7d;font-size:16px}
.timecard-page-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.timecard-page-nav .current-month{font-size:18px;font-weight:400;min-width:120px;text-align:center;color:#263f4d}
.timecard-admin-note{font-size:12px;color:#6b7780;margin-left:auto}
.timecard-table-wrap{overflow-x:auto;border:1px solid #aebfc8;background:#fff;padding:0}
.timecard-history{width:100%;min-width:650px;border-collapse:collapse;table-layout:fixed}
.timecard-history th,.timecard-history td{border-bottom:1px solid #d8e2e7;border-right:1px solid #e1e8ec;padding:5px 6px;text-align:center;vertical-align:middle}
.timecard-history th{background:#d9eef8;color:#315e75;font-size:13px;font-weight:400;position:sticky;top:0;z-index:2}
.timecard-history td:first-child,.timecard-history th:first-child{width:92px}.timecard-history td:nth-child(2),.timecard-history th:nth-child(2){width:52px}
.timecard-history td:nth-child(3),.timecard-history th:nth-child(3){width:220px;text-align:left}.timecard-history td:nth-child(4),.timecard-history td:nth-child(5),.timecard-history th:nth-child(4),.timecard-history th:nth-child(5){width:125px}
.timecard-history td:nth-child(6),.timecard-history th:nth-child(6){width:112px}.timecard-history td:nth-child(7),.timecard-history th:nth-child(7){width:82px}.timecard-history th:last-child,.timecard-history td:last-child{border-right:0}
.timecard-history tr.sun td{background:#ffe5e5}.timecard-history tr.sat td{background:#e3f2ff}.timecard-history tr.holiday td{background:#ffdede}.timecard-history tr.today td{box-shadow:none;border-top:2px solid #84ba35!important;border-bottom:2px solid #84ba35!important;border-right-color:transparent!important}.timecard-history tr.today td:first-child{border-left:2px solid #84ba35!important}.timecard-history tr.today td:last-child{border-right:2px solid #84ba35!important}
.timecard-history .date-cell{font-weight:400;color:#364f5e}.timecard-history .weekday{font-weight:400}.timecard-history tr.sun .weekday,.timecard-history tr.holiday .weekday,.timecard-history tr.holiday .date-cell{color:#c52f3c}.timecard-history tr.sat:not(.holiday) .weekday{color:#1977b2}
.tc-tags{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-height:25px}.tc-tag{display:inline;color:#435965;font-size:13px;font-weight:400;line-height:1.45;padding:0;border:0;background:transparent;border-radius:0}.tc-tag.holiday,.tc-tag.off,.tc-tag.leave{color:#c22c36}.tc-tag.late{color:#24699a}.tc-tag.early{color:#9b5c12}.tc-tag.note{color:#624c95}.tc-tag.auto{color:#56656d}
.tc-time-pickers{display:flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap}.tc-time-pickers .time-select{height:29px;min-width:55px;width:55px;padding:1px 2px;font-size:13px}.tc-time-pickers .time-select:disabled{background:#f3f5f6;color:#8b969c;border-color:#cbd3d7;cursor:not-allowed}.tc-future-note{font-size:12px;color:#9aa5ab;white-space:nowrap}
.tc-duration{font-weight:400;color:#415d6b;white-space:nowrap}.tc-empty{color:#a2abb0}.tc-save{min-width:58px;font-weight:400}.timecard-history tbody td,.timecard-history tbody select{font-weight:400}
.timecard-help{font-size:12px;color:#60727c;padding:0 2px}
.timecard-back{margin-left:auto}
.ribbon-item.timecard-nav .ribbon-ico svg{width:38px;height:38px}.ribbon-item.holidaywork-nav{flex-basis:88px;width:88px;font-size:11px}.ymd-pickers{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}.ymd-pickers select{height:32px;min-width:74px;padding:2px 6px;border:1px solid #8fa4af;background:#fff;font-size:14px}.ymd-pickers .ymd-year{min-width:88px}.ymd-pickers .ymd-day{min-width:72px}.holidaywork-page .office-grid{grid-template-columns:minmax(360px,.85fr) minmax(0,1.45fr);align-items:start}.holidaywork-page .holidaywork-balance-table{min-width:760px}.holidaywork-page .holidaywork-history{margin-top:10px}.holidaywork-kind{min-width:150px}.holidaywork-use-form{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.holidaywork-use-form .ymd-pickers{display:inline-flex}.holidaywork-status-available{color:#23734a;font-weight:700}.holidaywork-status-used{color:#6d7a81}.managed-schedule-note{padding:8px 10px;background:#fff8e8;border:1px solid #ead8a5;color:#6b5931;font-size:12px;margin-bottom:10px}@media(max-width:900px){.holidaywork-page .office-grid{grid-template-columns:1fr}.ymd-pickers{flex-wrap:wrap}}
.admin-tools-grid{grid-template-columns:minmax(300px,1.35fr) minmax(170px,.75fr) minmax(165px,.72fr) minmax(175px,.78fr);gap:4px}
.admin-tool-box{padding:4px 5px;min-height:52px}
.admin-timecard-link{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:27px}
.admin-timecard-meta{font-size:11px;color:#647681;margin-bottom:4px;white-space:nowrap}
@media(max-width:1500px){.admin-tools-grid{grid-template-columns:minmax(290px,1.3fr) minmax(160px,.7fr) minmax(155px,.68fr) minmax(170px,.72fr)}}
@media(max-width:1250px){.admin-tools-grid{grid-template-columns:repeat(2,minmax(230px,1fr))}}

.tools-page{padding-bottom:20px}.tools-intro{margin:0 0 12px;padding:10px 12px;border:1px solid #bdd9e7;background:#f5fbfe;color:#3d5968;font-size:13px}.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool-card{border:1px solid #b8c9d2;background:#fff;min-width:0;box-shadow:0 1px 2px #0000000d}.tool-card-title{display:flex;align-items:center;gap:7px;padding:9px 10px;background:linear-gradient(#eaf6fc,#d5edf8);border-bottom:1px solid #b8c9d2;font-size:16px;font-weight:700;color:#2d6078}.tool-card-title .tool-dot{width:9px;height:9px;border-radius:50%;background:#38a86a;box-shadow:0 0 0 3px #dff3e7}.tool-card-body{padding:11px}.tool-label{display:block;font-size:12px;color:#5b6971;margin:0 0 4px}.tool-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:9px}.tool-row input,.tool-row select{height:32px;border:1px solid #9eacb4;background:#fff;font-size:14px;padding:4px 7px;min-width:0}.tool-row input[type=number]{width:145px}.tool-row input[type=date]{width:160px}.tool-result{min-height:50px;padding:9px 10px;background:#f8fafb;border:1px solid #d9e1e5;font-size:14px;line-height:1.55}.tool-result strong{font-size:17px;color:#194f69}.tool-sub{font-size:11px;color:#78868d;margin-top:6px;line-height:1.45}.tool-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.tool-mini-grid>label{display:block}.tool-mini-grid input,.tool-mini-grid select{width:100%;box-sizing:border-box;height:32px;border:1px solid #9eacb4;background:#fff;font-size:14px;padding:4px 7px}.stamp-note{margin-top:7px;padding:7px 8px;background:#fff8e9;border:1px solid #ead8a5;font-size:11px;line-height:1.45;color:#6b5931}.stamp-source{display:inline-block;margin-top:6px;font-size:11px}.tool-wide{grid-column:span 2}.tool-badge{display:inline-block;border-radius:12px;padding:2px 8px;background:#e4f4eb;color:#27714a;font-size:11px;margin-left:auto}.calc-money{font-variant-numeric:tabular-nums}.tool-card button.btn{min-width:74px}.tool-era-year-select{width:112px!important}.tool-era-name-select{width:78px!important}.tool-era-number-input{width:58px!important;flex:0 0 58px!important}
@media(max-width:1100px){.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-wide{grid-column:span 2}}

@media(max-width:760px){.tools-grid{grid-template-columns:1fr}.tool-wide{grid-column:span 1}.admin-tools-grid{grid-template-columns:1fr}.timecard-page-head{align-items:flex-start}.timecard-page-nav{width:100%}.timecard-admin-note{width:100%;margin-left:0}.tc-time-pickers .time-select{min-width:52px;width:52px}}

/* v10.90 office modules */
.documents-page .documents-grid{grid-template-columns:minmax(400px,440px) minmax(0,1fr);align-items:stretch}.documents-page .documents-card{min-width:0;height:100%}.documents-page .documents-card>.office-table-wrap{height:calc(100% - 39px);overflow-x:hidden}.documents-page .documents-table{width:100%;min-width:0;table-layout:fixed}.documents-page .documents-table th,.documents-page .documents-table td{padding-left:4px;padding-right:4px;min-width:0;overflow:hidden}.documents-page .documents-table th:nth-child(1),.documents-page .documents-table td:nth-child(1){width:31%}.documents-page .documents-table th:nth-child(2),.documents-page .documents-table td:nth-child(2){width:8%}.documents-page .documents-table th:nth-child(3),.documents-page .documents-table td:nth-child(3){width:11%;overflow-wrap:anywhere}.documents-page .documents-table th:nth-child(4),.documents-page .documents-table td:nth-child(4){width:10%}.documents-page .documents-table th:nth-child(5),.documents-page .documents-table td:nth-child(5){width:10%}.documents-page .documents-table th:nth-child(6),.documents-page .documents-table td:nth-child(6){width:11%}.documents-page .documents-table th:nth-child(7),.documents-page .documents-table td:nth-child(7){width:12%}.documents-page .documents-table th:nth-child(8),.documents-page .documents-table td:nth-child(8){width:7%;text-align:center}.documents-page .doc-file,.documents-page .doc-file>div{min-width:0}.documents-page .doc-file a strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.documents-page .doc-size{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documents-page .doc-datetime{display:inline-block;white-space:nowrap;line-height:1.25;text-align:center}.documents-page .office-form-row input[readonly]{background:#f3f6f8;color:#4f626d}.vehicles-page .vehicles-grid{grid-template-columns:minmax(390px,470px) minmax(0,1fr);align-items:start}.vehicles-page .vehicles-table{min-width:950px}.vehicles-page .vehicles-table th,.vehicles-page .vehicles-table td{white-space:nowrap}.vehicle-expiry-due{color:#b26000;font-weight:700}.vehicle-expiry-overdue{color:#c23b3b;font-weight:700}.vehicle-expiry-note{display:block;font-size:11px;margin-top:2px}.vehicle-view-note{padding:8px 10px;background:#f7fbfd;border:1px solid #d4e4ec;color:#60737d;font-size:12px;margin-bottom:9px}.doc-upload-progress{display:none;margin-top:9px;padding:8px 10px;border:1px solid #b8cbd5;background:#f7fbfd}.doc-upload-progress.show{display:block}.doc-upload-bar{height:12px;border:1px solid #9fb3bd;background:#eef3f5;overflow:hidden}.doc-upload-bar>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#38a86a,#66c58a);transition:width .15s}.doc-upload-text{margin-top:5px;font-size:12px;color:#526975}.leave-request-period{white-space:nowrap}.leave-request-reason{min-width:180px;max-width:420px;white-space:normal;line-height:1.4}.leave-request-form .tool-mini-grid{margin-bottom:8px}.leave-request-form .office-form-row textarea{height:84px}.leave-date-pickers{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:34px}.leave-date-pickers select{height:32px;min-width:78px;padding:2px 7px;border:1px solid #8fa4af;background:#fff;font-size:14px}.leave-date-pickers .leave-day{min-width:82px}.leave-date-pickers select:disabled{background:#f1f4f6;color:#88969e}.leave-auto-year{font-size:12px;color:#617680;margin-left:3px}.leave-request-layout{grid-template-columns:minmax(460px,.92fr) minmax(0,1.5fr)}.leave-apply-card>h3{font-size:16px}.leave-apply-card .office-card-body{padding:14px 16px}.leave-apply-summary{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:12px;background:#f4fafc;border:1px solid #c9dde6}.leave-apply-summary b{color:#315e75}.leave-section{border-top:1px solid #dde7eb;padding-top:11px;margin-top:11px}.leave-section:first-of-type{border-top:0;padding-top:0;margin-top:0}.leave-section-title{font-size:13px;font-weight:700;color:#315e75;margin-bottom:8px}.leave-field{display:grid;grid-template-columns:95px minmax(0,1fr);align-items:center;gap:9px;margin:8px 0}.leave-field-label{font-size:13px;color:#526975;font-weight:700}.leave-field-help{font-size:12px;color:#73838b;margin-top:4px}.leave-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.leave-actions{display:flex;gap:10px;margin-top:13px}.leave-actions .btn{min-width:92px}.leave-request-form textarea{width:100%;height:76px!important}.leave-same-note{display:inline-block;font-size:12px;color:#286d98;background:#edf7fb;border-radius:10px;padding:2px 7px}.leave-list-note{font-size:12px;color:#667982;padding:7px 10px;border-bottom:1px solid #dce5e9;background:#fafcfd}@media(max-width:760px){.leave-time-grid{grid-template-columns:1fr}}
.ribbon-feature-group{display:flex;gap:3px;flex:0 0 auto}.ribbon-item.feature-side{flex-basis:78px;width:78px}.office-module-page{padding-bottom:18px}.office-module-head{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:10px 12px;background:#edf7fb;border:1px solid #b7d7e6}.office-module-head h2{margin:0;font-size:19px;color:#315e75}.office-module-head p{margin:0;color:#647681;font-size:12px}.office-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:10px}.office-card{border:1px solid #b9cbd4;background:#fff}.office-card>h3{margin:0;padding:8px 10px;background:linear-gradient(#eaf6fc,#d5edf8);border-bottom:1px solid #b9cbd4;font-size:15px;color:#315e75}.office-card-body{padding:10px}.office-form-row{margin-bottom:8px}.office-form-row label{display:block;font-size:12px;color:#5c6d76;margin-bottom:3px}.office-form-row input,.office-form-row select,.office-form-row textarea{width:100%;border:1px solid #9eacb4;background:#fff;padding:5px 7px;min-height:31px}.office-form-row textarea{height:72px;resize:vertical}.office-table-wrap{overflow:auto}.office-table{width:100%;border-collapse:collapse;min-width:720px}.office-table th,.office-table td{border-bottom:1px solid #dce5e9;padding:7px 6px;text-align:left;vertical-align:middle}.office-table th{background:#e6f3f9;color:#315e75;font-size:12px;white-space:nowrap}.office-table .compact{white-space:nowrap}.office-table .muted{color:#71818a;font-size:12px}.status-pill{display:inline-block;border-radius:12px;padding:2px 8px;font-size:11px;white-space:nowrap;background:#edf1f3;color:#586872}.status-pill.open,.status-pill.pending{background:#fff3ce;color:#86600d}.status-pill.done,.status-pill.approved{background:#e0f3e7;color:#2d7347}.status-pill.rejected{background:#fde5e5;color:#a53c3c}.status-pill.cancelled{background:#eeeeee;color:#626f76}.priority-high{color:#c33;font-weight:700}.priority-low{color:#70808a}.module-note{padding:8px 10px;background:#fff8e8;border:1px solid #eddcab;color:#6c5a31;font-size:12px;margin-bottom:9px}.doc-file{display:flex;align-items:center;gap:7px}.doc-size{font-size:11px;color:#7a878e}.feature-empty{padding:18px;text-align:center;color:#7a878e}.feature-icon-mini{font-size:20px}.site-status-form{display:flex;gap:5px;align-items:center}.site-status-form select{height:27px}.request-decision{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.request-decision .btn{min-width:72px;padding-left:12px;padding-right:12px}.todo-title.done{text-decoration:line-through;color:#8a969d}.ribbon-item.feature-side .ribbon-ico svg{width:39px;height:39px}
/* v11.50 vendor directory */
.vendor-filter-card{border:1px solid #b9cbd4;background:#f8fbfc;margin-bottom:10px;padding:9px 10px}.vendor-filter-form{display:grid;grid-template-columns:minmax(150px,210px) minmax(240px,1fr) 150px auto auto;gap:7px;align-items:center}.vendor-filter-form input,.vendor-filter-form select{height:32px;border:1px solid #9eacb4;background:#fff;padding:4px 7px;min-width:0}.vendor-count{font-size:12px;color:#61737d;margin-top:6px}.vendor-grid{grid-template-columns:360px minmax(0,1fr)}.vendor-detail-card{margin-bottom:10px}.vendor-detail-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vendor-detail-title strong{font-size:18px;color:#244f65}.vendor-detail-grid{display:grid;grid-template-columns:120px minmax(0,1fr) 120px minmax(0,1fr);border-top:1px solid #e1e7ea}.vendor-detail-grid dt,.vendor-detail-grid dd{margin:0;padding:7px 8px;border-bottom:1px solid #e1e7ea}.vendor-detail-grid dt{background:#f3f7f9;color:#60727b;font-size:12px}.vendor-detail-grid dd{overflow-wrap:anywhere}.vendor-trade-card{margin-top:10px}.vendor-trade-add{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.vendor-trade-add input{width:min(300px,100%);height:32px;border:1px solid #9eacb4;padding:4px 7px}.vendor-trade-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:6px 10px}.vendor-trade-row{display:flex;gap:6px;align-items:center}.vendor-trade-row input{flex:1;min-width:0;height:30px;border:1px solid #aab7be;padding:3px 6px}.vendor-trade-row form{display:inline-flex;margin:0}.vendor-trade-row>form:first-child{flex:1;min-width:0;gap:6px}.vendor-trade-use{flex:0 0 auto;min-width:58px;text-align:right;font-size:11px;color:#71818a;white-space:nowrap}
.vendor-rating{color:#d08b00;letter-spacing:1px;white-space:nowrap}.vendor-rating .empty{color:#a9b2b7;letter-spacing:0}.vendor-notes{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.vendor-company-link{font-weight:400}.vendor-table{width:1095px;min-width:0;table-layout:fixed}.vendor-table th,.vendor-table td{overflow:hidden;text-overflow:ellipsis}.vendor-table th:nth-child(1),.vendor-table td:nth-child(1){width:150px;white-space:nowrap}.vendor-table th:nth-child(2),.vendor-table td:nth-child(2){width:290px;white-space:nowrap}.vendor-table th:nth-child(3),.vendor-table td:nth-child(3){width:140px;white-space:nowrap}.vendor-table th:nth-child(4),.vendor-table td:nth-child(4){width:110px;white-space:nowrap}.vendor-table th:nth-child(5),.vendor-table td:nth-child(5){width:145px;white-space:nowrap}.vendor-table th:nth-child(6),.vendor-table td:nth-child(6){width:105px;white-space:nowrap}.vendor-table th:nth-child(7),.vendor-table td:nth-child(7){width:155px;white-space:nowrap}.vendor-table td{vertical-align:top}.vendor-list-card{width:1095px;max-width:100%}.vendor-list-card>.office-table-wrap{overflow-x:hidden}.vendor-new-shell{width:min(860px,100%);margin-left:auto;margin-right:auto}.vendor-new-shell .vendor-detail-card,.vendor-new-shell .vendor-trade-card{width:100%}.vendor-inline-contact{white-space:nowrap}.vendor-edit-actions{display:flex;gap:7px;flex-wrap:wrap}.vendor-readonly-note{font-size:12px;color:#667780;margin:-3px 0 8px}.vendor-trade-input{width:100%}
.vendor-head-actions{margin-left:auto;display:flex;align-items:center;gap:7px}
.vendor-detail-meta{margin-top:8px;padding-top:7px;border-top:1px solid #e3e9ec;color:#6a7b84;font-size:12px;text-align:right}
.vendor-edit-detail-grid input,.vendor-edit-detail-grid select,.vendor-edit-detail-grid textarea{width:100%;border:1px solid #97a8b1;background:#fff;padding:5px 7px;min-height:31px;font:inherit;color:#253f4c}
.vendor-edit-detail-grid textarea{height:88px;resize:vertical;line-height:1.5}
.vendor-edit-detail-grid .vendor-edit-wide-label,.vendor-edit-detail-grid .vendor-edit-notes-label{grid-column:1/2}
.vendor-edit-detail-grid .vendor-edit-wide-field,.vendor-edit-detail-grid .vendor-edit-notes-field{grid-column:2/5}
.vendor-inline-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.vendor-inline-actions .btn{min-width:92px}
.vendor-list-card{margin-top:10px}
/* v11.53: non-schedule pages use practical centered widths instead of stretching across wide monitors. */
.view-timecard .page{max-width:1160px;margin-left:auto;margin-right:auto}
.view-holidaywork .page,.view-requests .page,.view-updates .page,.view-tools .page{max-width:1240px;margin-left:auto;margin-right:auto}
.view-theme .page{max-width:1040px;margin-left:auto;margin-right:auto}
.view-personalprint .page{max-width:1020px;margin-left:auto;margin-right:auto}
.view-personalprint .personal-print-hub{max-width:940px;margin-left:auto;margin-right:auto}
.view-messages .page,.view-documents .page,.view-vehicles .page,.view-vendors .page,.view-approvals .page{max-width:1320px;margin-left:auto;margin-right:auto}
.view-adminprint .page,.view-admin .page{max-width:1420px;margin-left:auto;margin-right:auto}
.view-theme .panel{max-width:1000px;margin-left:auto;margin-right:auto}
/* 社用車一覧は編集・削除まで横スクロールなしで見える幅に固定。 */
.vehicles-page .vehicles-grid{grid-template-columns:minmax(340px,400px) minmax(0,1fr);align-items:start}
.vehicles-page .vehicles-grid>.office-card{min-width:0}
.vehicles-page .vehicles-table{min-width:0!important;width:100%;table-layout:fixed}
.vehicles-page .vehicles-table th,.vehicles-page .vehicles-table td{white-space:nowrap;font-weight:400;padding-left:5px;padding-right:5px}
.vehicles-page .vehicles-table th:nth-child(1),.vehicles-page .vehicles-table td:nth-child(1){width:14%;overflow:hidden;text-overflow:ellipsis}
.vehicles-page .vehicles-table th:nth-child(2),.vehicles-page .vehicles-table td:nth-child(2){width:13%;overflow:hidden;text-overflow:ellipsis}
.vehicles-page .vehicles-table th:nth-child(3),.vehicles-page .vehicles-table td:nth-child(3){width:14%}
.vehicles-page .vehicles-table th:nth-child(4),.vehicles-page .vehicles-table td:nth-child(4){width:14%}
.vehicles-page .vehicles-table th:nth-child(5),.vehicles-page .vehicles-table td:nth-child(5){width:14%}
.vehicles-page .vehicles-table th:nth-child(6),.vehicles-page .vehicles-table td:nth-child(6){width:13%;overflow:hidden;text-overflow:ellipsis}
.vehicles-page .vehicles-table th:nth-child(7),.vehicles-page .vehicles-table td:nth-child(7){width:18%;text-align:right}
.vehicles-page .vehicles-table td:nth-child(7){overflow:visible}
.vehicles-page .vehicles-table td:nth-child(7) .btn{padding-left:5px;padding-right:5px}
.vehicles-page .vehicles-table td:nth-child(7) form{display:inline}
.vehicle-expiry-due,.vehicle-expiry-overdue{font-weight:400}
@media(max-width:1000px){.vendor-filter-form{grid-template-columns:1fr 1fr}.vendor-filter-form .vendor-search-wide{grid-column:1/-1}.vendor-detail-grid{grid-template-columns:100px minmax(0,1fr)}.vendor-edit-detail-grid .vendor-edit-wide-label,.vendor-edit-detail-grid .vendor-edit-wide-field,.vendor-edit-detail-grid .vendor-edit-notes-label,.vendor-edit-detail-grid .vendor-edit-notes-field{grid-column:auto}.vendor-head-actions{margin-left:0}}
@media(max-width:650px){.vendor-filter-form{grid-template-columns:1fr}.vendor-filter-form .vendor-search-wide{grid-column:auto}.vendor-detail-grid{grid-template-columns:1fr}.vendor-detail-grid dt{padding-bottom:2px}.vendor-detail-grid dd{padding-top:2px}.vendor-inline-actions{justify-content:stretch}.vendor-inline-actions .btn{flex:1}}
.message-page{padding-bottom:18px}.message-head{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:9px 12px;background:#edf7fb;border:1px solid #b7d7e6}.message-head-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px}.message-head-icon svg{width:34px;height:34px;display:block}.message-head h2{margin:0;font-size:18px;color:#315e75;font-weight:400}.message-head p{margin:2px 0 0;color:#647681;font-size:12px}.message-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}.message-compose-card,.message-history-card,.message-thread-card{border:1px solid #b9cbd4;background:#fff;min-width:0}.message-thread-card{width:50%;max-width:820px;min-width:620px}.message-compose-card>h3,.message-history-card>h3,.message-thread-card>h3{margin:0;padding:8px 10px;background:linear-gradient(#eaf6fc,#d5edf8);border-bottom:1px solid #b9cbd4;font-size:15px;color:#315e75;font-weight:400}.message-compose-body{padding:10px}.message-compose-form{display:flex;flex-direction:column;gap:9px}.message-field{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;align-items:start}.message-field>label{padding-top:6px;text-align:right;font-size:13px;color:#455f6e}.message-field input[type=text],.message-field textarea{box-sizing:border-box;width:100%;border:1px solid #9eacb4;background:#fff;font-size:14px;padding:6px 7px}.message-subject-input{height:32px;max-width:430px}.message-compose-body textarea{height:116px;resize:vertical}.message-recipient-ui{display:flex;align-items:flex-start;gap:7px;flex-wrap:nowrap;max-width:440px}.message-recipient-ui .participant-box{width:145px;height:126px}.message-recipient-ui .participant-buttons{gap:5px;padding-top:38px}.message-recipient-ui .participant-buttons .btn{min-width:52px;padding-left:6px;padding-right:6px}.message-recipient-ui .participant-search-pane{width:150px}.message-recipient-ui .participant-search-pane input,.message-recipient-ui .participant-search-pane select{box-sizing:border-box;width:150px!important;margin-bottom:4px!important}.message-recipient-ui .participant-search-pane .participant-box{width:150px}.message-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0}.message-actions .spacer{flex:1}.message-compose-actions{justify-content:flex-end;padding-top:2px}.message-list-wrap{background:#fff;overflow:auto;max-height:555px}.message-list{width:100%;border-collapse:collapse;table-layout:fixed}.message-list th,.message-list td{padding:7px 6px;border-bottom:1px solid #dce5e9;vertical-align:middle}.message-list th{background:#e6f3f9;color:#315e75;font-size:12px;font-weight:400;text-align:left;position:sticky;top:0;z-index:1}.message-list .check{width:34px;text-align:center}.message-list .updated{width:118px}.message-list a{color:#176f9f;text-decoration:none;display:block}.message-list a:hover{text-decoration:underline}.message-list-subject{font-size:14px;color:#245a76;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-list-participants{font-size:12px;color:#647681;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-list-preview{font-size:12px;color:#667982;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-list-time{font-size:11px;color:#7b8a92;white-space:nowrap}.message-unread-pill{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#e34242;color:#fff;font-size:11px;margin-left:5px}.message-history-actions{padding:8px;border-top:1px solid #dce5e9;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.message-history-actions .spacer{flex:1}.message-thread-log{padding:12px;display:flex;flex-direction:column;gap:9px;min-height:220px;max-height:430px;overflow:auto;background:#f7fafb}.message-row{display:flex;gap:8px;align-items:flex-start}.message-row.mine{justify-content:flex-end}.message-bubble{max-width:min(720px,82%);padding:8px 10px;border:1px solid #cfdde4;border-radius:8px;background:#fff;color:#304956;line-height:1.55;overflow-wrap:anywhere}.message-row.mine .message-bubble{background:#e8f8ec;border-color:#b9dec2}.message-sender{font-size:11px;color:#6c7d86;margin-bottom:3px}.message-time{font-size:10px;color:#8a969c;margin-top:4px;text-align:right}.message-reply{border-top:1px solid #dce5e9;padding:10px;background:#fff}.message-reply textarea{width:100%;height:80px;border:1px solid #9eacb4;padding:7px;resize:vertical;font-size:14px}.message-reply-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:7px}.message-attachment-field{margin-top:6px;padding:6px 7px;border:1px solid #d3e0e6;background:#f8fbfc}.message-attachment-field input[type=file]{max-width:100%;font-size:12px}.message-attachment-note{font-size:10px;color:#6c7d86;margin-top:3px}.message-attachments{display:flex;flex-direction:column;gap:6px;margin-top:7px}.message-attachment-link{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 8px;border:1px solid #cbdbe2;border-radius:5px;background:#f8fbfd;color:#176f9f;text-decoration:none;font-size:12px}.message-attachment-link:hover{text-decoration:underline}.message-attachment-image{display:block;max-width:300px;max-height:240px;width:auto;height:auto;border:1px solid #cbdbe2;border-radius:5px;background:#fff;object-fit:contain}.message-attachment-meta{font-size:11px;color:#75858d}.message-empty{padding:28px;text-align:center;color:#7a878e}.message-delete-inline{margin-left:auto}.message-thread-title{font-size:15px;color:#315e75}.message-thread-subject{font-size:17px;color:#284f64;font-weight:400}.message-participant-note{font-size:12px;color:#697b84;margin-top:3px}
@media(max-width:1100px){.message-main-grid{grid-template-columns:1fr}.message-list-wrap{max-height:none}.message-compose-card{order:1}.message-history-card{order:2}}
@media(max-width:900px){.message-bubble{max-width:90%}.message-field{grid-template-columns:1fr}.message-field>label{text-align:left;padding-top:0}.message-recipient-ui{flex-wrap:wrap;max-width:100%}.message-recipient-ui .participant-box,.message-recipient-ui .participant-search-pane,.message-recipient-ui .participant-search-pane input,.message-recipient-ui .participant-search-pane select{width:100%!important}.message-recipient-ui .participant-buttons{padding-top:0;flex-direction:row}.ribbon-item.message-nav .ribbon-ico img{width:34px;height:34px}}

/* v10.90: leave screen uses the unused list width for a wider, stable application form. */
.office-grid.leave-request-layout{grid-template-columns:minmax(500px,43%) minmax(0,57%);align-items:start}
.leave-request-layout>.office-card{min-width:0}
.leave-apply-card .office-card-body{padding:12px 14px}
.leave-apply-summary{margin-bottom:9px;padding:7px 9px}
.leave-section{padding-top:9px;margin-top:9px}
.leave-date-pickers{flex-wrap:nowrap;gap:5px}.leave-date-pickers select{min-width:72px}.leave-date-pickers .leave-day{min-width:76px}
.leave-same-note{white-space:nowrap}
.leave-time-grid{gap:8px}.leave-field{grid-template-columns:74px minmax(0,1fr);gap:7px;margin:6px 0}.leave-field-label{white-space:nowrap}
.leave-list-card{min-width:0}.leave-list-card .office-table-wrap{overflow-x:auto}
.leave-requests-table,.leave-approvals-table{width:100%!important;min-width:0!important;table-layout:fixed}
.leave-requests-table th,.leave-requests-table td,.leave-approvals-table th,.leave-approvals-table td{padding:7px 7px;vertical-align:middle;box-sizing:border-box}
.leave-requests-table th,.leave-requests-table td{width:14.285714%!important}
.leave-approvals-table th,.leave-approvals-table td{width:12.5%!important}
.leave-requests-table .leave-request-reason,.leave-approvals-table .leave-request-reason{min-width:0;max-width:none;white-space:normal;overflow-wrap:anywhere;font-size:12px!important;font-weight:400!important;line-height:1.35}
.leave-requests-table .leave-request-period,.leave-approvals-table .leave-request-period{white-space:nowrap!important;overflow:visible!important;overflow-wrap:normal!important;word-break:keep-all;font-size:11.5px}
@media(max-width:1180px){.office-grid.leave-request-layout{grid-template-columns:minmax(460px,46%) minmax(0,54%)}.leave-same-note{display:none}}
@media(max-width:980px){.office-grid.leave-request-layout{grid-template-columns:1fr}.leave-requests-table,.leave-approvals-table{min-width:760px!important}.leave-same-note{display:inline-block}}
@media(max-width:1000px){.office-grid:not(.leave-request-layout){grid-template-columns:1fr}.ribbon-feature-group{display:contents}}

/* v10.90 leave-kind / ribbon grouping / employee order */
.leave-kind-select{height:34px;min-width:180px;border:1px solid #8fa4af;background:#fff;padding:3px 8px;font-size:14px}.leave-kind-preview{margin-top:5px;font-size:12px;color:#536b77;background:#f5fafc;border:1px solid #d4e4eb;padding:6px 8px;line-height:1.45}.leave-field.leave-kind-field{grid-template-columns:74px minmax(0,1fr)}
.leave-date-error{display:none;margin-top:6px;padding:6px 8px;border:1px solid #e3a5a5;background:#fff0f0;color:#b12f2f;font-size:12px;line-height:1.35}.leave-date-error.show{display:block}.leave-actions .btn[disabled]{opacity:.5;cursor:not-allowed}
.ribbon-right-tools{display:flex;gap:3px;flex:0 0 auto}.ribbon-right-admin{display:flex;gap:3px;flex:0 0 auto}
.admin-user-drag{cursor:grab;display:inline-flex;align-items:center;justify-content:center;width:28px;height:30px;font-size:20px;color:#66808e;user-select:none;-webkit-user-select:none;touch-action:none;border:1px solid #c3cdd2;background:#f7fafb;border-radius:2px}.admin-user-drag:hover{background:#eef6fa;border-color:#8db8cc}.admin-user-drag:active{cursor:grabbing}.employee-reordering{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}.admin-user-head{position:relative}.employee-reordering .admin-user-drag{cursor:grabbing}.admin-employee-orderbar{display:flex;align-items:center;gap:8px;margin-bottom:9px;padding:7px 8px;background:#f4f9fc;border:1px solid #c8dce6;font-size:12px;color:#526975}.admin-employee-orderbar form{margin-left:auto}.admin-work-schedule-box{margin-top:7px;padding:7px 9px;border:1px solid #e0b4b4;background:#fff8f8;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-work-schedule-title{font-size:12px;font-weight:700;color:#7a4242;white-space:nowrap}.admin-work-schedule-box select{height:28px;border:1px solid #a9b6bd;background:#fff;padding:2px 6px;min-width:155px}.admin-work-schedule-help{font-size:11px;color:#6f7d84}.system-managed-box{margin-top:10px;border:1px solid #c5d4dc;background:#f8fbfc}.system-managed-title{padding:7px 9px;font-weight:700;color:#315e75;background:#edf5f8;border-bottom:1px solid #c5d4dc}.system-managed-items{display:flex;gap:6px;flex-wrap:wrap;padding:8px 9px}.system-managed-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #d3dde2;background:#fff;font-size:12px;color:#526975}.system-managed-chip i{width:12px;height:12px;border-radius:2px;display:inline-block}.system-managed-note{padding:0 9px 8px;font-size:11px;color:#73838b}

/* v10.90 Cybozu-like compact section title icons */
.section-title-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:4px;vertical-align:-5px;flex:0 0 22px}.section-title-icon svg{display:block;width:22px;height:22px}

/* v11.30: reduced lower timecard summary text sizes per request. */
body,.page{overflow-anchor:none}
html{scrollbar-gutter:stable}

/* v11.54 smartphone PC-layout / right-edge fix.
   Mobile Safari receives a desktop-size layout viewport. Omitting a fixed initial-scale lets
   Safari calculate the exact fit for 390/393/402/414px-wide iPhones instead of leaving a
   white strip. The upper ribbon is also horizontally reachable instead of clipping tools. */
.ribbon{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
html,body{width:100%;max-width:none}

/* v11.45 final smartphone overrides: keep iOS from auto-zooming form controls and keep touch targets usable. */
@media(max-width:900px){
  input[type=text],input[type=password],input[type=date],input[type=time],input[type=number],input[type=search],input[type=email],input[type=tel],select,textarea{font-size:16px!important;min-height:40px!important}
  .formtable input[type=text],.formtable input[type=password],.formtable input[type=date],.formtable input[type=time],.formtable select,.formtable textarea{font-size:16px!important}
  .office-form-row input,.office-form-row select,.office-form-row textarea{font-size:16px!important}
  .groupbar select,.personbar select,.time-select,.ymd-pickers select,.leave-date-pickers select{height:40px!important;min-height:40px!important;font-size:16px!important}
}
