.date-line{align-items:center;gap:5px;min-width:0;display:flex}.date-line>b{flex:none;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.date-line>b.current{background:var(--rust);color:#fff;border-radius:50%}.holiday-day{background:#fff9f7}.holiday-label{color:#b7442c;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800;line-height:1.2;overflow:hidden}.event{background:#dceffd;border-left-color:#4f9bc7}.event-green{background:#dff3e5;border-left-color:#4c9a68}.event-red{background:#f9dddd;border-left-color:#c65c5c}.event-gray{background:#e9eceb;border-left-color:#87918d}.event-orange{background:#ffe4c2;border-left-color:#e78b32}.color-field{border:0;margin:16px 0;padding:0}.color-field legend{margin-bottom:9px;font-size:13px;font-weight:700}.color-options{flex-wrap:wrap;gap:8px;display:flex}.color-choice{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:6px;margin:0;padding:8px 10px;font-size:12px;display:flex}.color-choice input{opacity:0;pointer-events:none;position:absolute}.color-choice span{background:#dceffd;border:2px solid #4f9bc7;border-radius:50%;width:15px;height:15px}.color-green span{background:#dff3e5;border-color:#4c9a68}.color-red span{background:#f9dddd;border-color:#c65c5c}.color-gray span{background:#e9eceb;border-color:#87918d}.color-orange span{background:#ffe4c2;border-color:#e78b32}.color-choice:has(input:checked){border-color:var(--green);box-shadow:0 0 0 2px #174b3617}.search-box{margin:0}.search-box input{background:#fff;padding-left:14px}.feedback-card{grid-template-columns:1fr auto;gap:10px;padding:20px;display:grid}.feedback-card b,.feedback-card small{display:block}.feedback-card small{color:var(--muted);margin-top:4px;font-size:11px}.feedback-card time,.announcement-card time{color:var(--rust);font-size:11px}.feedback-card p{white-space:pre-wrap;grid-column:1/-1;margin:4px 0;line-height:1.7}.text-button{color:var(--green);background:#e8f0eb;border:0;border-radius:7px;justify-self:start;padding:7px 11px;font-size:12px;font-weight:800}.announcement-card{padding:22px;position:relative}.announcement-card.important{border-left:5px solid var(--rust);background:#fffaf7}.announcement-card em{color:#fff;background:var(--rust);border-radius:20px;padding:4px 8px;font-size:10px;font-style:normal;font-weight:900}.announcement-card h3{margin:10px 0 5px;font-size:20px}.announcement-card p{white-space:pre-wrap;line-height:1.75}.check-label{grid-template-columns:auto 1fr;align-items:center;gap:9px;display:flex}.check-label input{width:18px;height:18px}.single-column{max-width:850px}.app-shell nav{gap:5px}.app-shell nav button{padding-top:11px;padding-bottom:11px}@media (width<=850px){.feedback-card{grid-template-columns:1fr}.feedback-card time{grid-row:auto}.feedback-card p{grid-column:1}}select{color:var(--ink);background:#fbfcfa;border:1px solid #ccd5d0;border-radius:9px;padding:12px 13px}.card-actions{align-items:center;gap:8px;display:flex}.delete-button{color:#a53b27;background:#fff0ed;border:0;border-radius:7px;padding:7px 11px;font-size:12px;font-weight:800}.feedback-card .card-actions{grid-column:1/-1}.contact-layout{grid-template-columns:minmax(360px,.9fr) 1.1fr;gap:24px;display:grid}.contact-form{align-self:start}.visibility-field{border:1px solid var(--line);border-radius:10px;margin:16px 0;padding:12px}.visibility-field legend{padding:0 5px;font-size:13px;font-weight:800}.visibility-field>div{grid-template-columns:repeat(2,1fr);gap:3px;display:grid}.visibility-field .check-label{margin:5px 0;font-weight:600}.contact-tabs{gap:7px;display:flex}.contact-tabs button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:9px 14px;font-weight:800}.contact-tabs button.active{background:var(--green);color:#fff;border-color:var(--green)}.contact-card{padding:20px}.contact-card h3{margin:0 0 4px;font-size:20px}.contact-card dl{grid-template-columns:75px 1fr;gap:7px 12px;margin:16px 0;font-size:13px;display:grid}.contact-card dt{color:var(--muted)}.contact-card dd{word-break:break-word;margin:0}.contact-card>p{white-space:pre-wrap;background:#f7f8f5;border-radius:8px;padding:10px}.contact-card .card-actions{margin-top:12px}@media (width<=1050px){.contact-layout{grid-template-columns:1fr}}@media (width<=540px){.visibility-field>div{grid-template-columns:1fr}}:root{--ink:#18211d;--muted:#718078;--line:#dfe6e1;--paper:#fff;--cream:#f3f5f1;--green:#123f2f;--lime:#c9a96e;--rust:#a85c3d}body{background:radial-gradient(circle at 90% 0,#e9efe8 0,transparent 32%),var(--cream)}.app-shell{grid-template-columns:272px 1fr}.app-shell aside{background:linear-gradient(165deg,#143f31 0%,#0b2d23 100%);padding:30px 22px;box-shadow:18px 0 45px #0d2e2312}.logo{letter-spacing:.18em;font-family:Georgia,Times New Roman,serif;font-size:14px}.logo img{object-fit:contain;filter:invert(91%)sepia(23%)saturate(734%)hue-rotate(355deg)brightness(88%);width:43px;height:43px}.login-story .logo img{width:52px;height:52px}.logo span{display:none}.app-shell nav{margin-top:40px}.app-shell nav button{letter-spacing:.02em;border:1px solid #0000;font-size:13px;position:relative}.app-shell nav button:hover{color:#fff;background:#ffffff0b}.app-shell nav button.active{color:#fff;background:linear-gradient(90deg,#ffffff18,#ffffff0b);border-color:#ffffff13;box-shadow:inset 3px 0 #c9a96e}.workspace{padding-top:44px}.workspace>header{border-bottom:1px solid #d9e1dc;padding-bottom:22px}.workspace h1{letter-spacing:-.025em;font-family:Georgia,Noto Serif TC,serif;font-weight:600}.eyebrow{color:#9b7044}.paper,.calendar,.login-card,.today{border-color:#dce4df;box-shadow:0 16px 45px #163a2b0b}.paper{transition:transform .2s,box-shadow .2s}.contact-card:hover,.announcement-card:hover,.feedback-card:hover,.report:hover{transform:translateY(-2px);box-shadow:0 18px 40px #163a2b12}.primary{background:linear-gradient(135deg,#174b36,#0d3527);box-shadow:0 10px 22px #174b3625}.compose{border-top:3px solid #c9a96e}.search-box{position:relative}.search-box input{border-radius:12px;padding:13px 15px;box-shadow:0 8px 22px #163a2b08}.user-card{grid-template-columns:44px 1fr auto}.avatar-upload{cursor:pointer;width:44px;height:44px;margin:0;position:relative}.avatar-upload input{display:none}.avatar-upload img,.avatar-upload .avatar{object-fit:cover;border:2px solid #c9a96e;border-radius:50%;width:44px;height:44px}.avatar-upload em{color:#173428;background:#c9a96e;border-radius:5px;padding:2px 4px;font-size:8px;font-style:normal;font-weight:900;position:absolute;inset:auto -5px -5px auto}.employee-table .mini-avatar{overflow:hidden}.login-story{background:linear-gradient(145deg,#123f2f,#09271e)}.login-story:after{border-color:#c9a96e33;box-shadow:0 0 0 70px #c9a96e0b,0 0 0 140px #c9a96e08}.login-story .eyebrow{color:#dfc28d}.story-copy h1{font-family:Georgia,Noto Serif TC,serif;font-weight:500}.today span{background:#9b7044}.contact-card dl{background:#f7f9f6;border-radius:10px;padding:14px}.announcement-card.important{background:linear-gradient(120deg,#fffaf3,#fff);border-left-color:#b07846}@media (width<=850px){body{background:#f3f5f1}.app-shell{padding-bottom:78px}.app-shell aside{z-index:25;align-items:center;height:72px;padding:10px 14px;display:flex;position:sticky;top:0;box-shadow:0 8px 24px #102f2420}.app-shell aside>.logo{flex:1}.app-shell aside>.logo img{width:38px;height:38px}.app-shell nav{z-index:40;padding:7px 8px max(7px,env(safe-area-inset-bottom));scrollbar-width:none;background:#0c3025;margin:0;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto;box-shadow:0 -8px 25px #102f2425}.app-shell nav::-webkit-scrollbar{display:none}.app-shell nav button{text-align:center;border-radius:8px;justify-items:center;gap:2px;min-width:88px;font-size:10px;display:grid;padding:7px 8px!important}.app-shell nav button i{font-size:16px;margin:0!important}.app-shell nav button.active{box-shadow:inset 0 2px #c9a96e}.user-card{margin:0}.user-card>div:nth-child(2){display:none}.workspace{padding:26px 16px}.workspace>header{margin-bottom:22px}.workspace h1{font-size:27px}.report-grid,.contact-layout{grid-template-columns:1fr}.compose{padding:22px}.calendar{border-radius:12px}.contact-card,.announcement-card,.feedback-card{padding:18px}.login-story{min-height:34vh}.login-panel{padding:22px 16px}.login-card{border-radius:20px}}@media (width<=540px){.workspace>header .today{display:none}.workspace>header{align-items:flex-start}.two,.report{grid-template-columns:1fr}.report time{grid-row:auto}.report p{grid-column:1}.contact-card dl{grid-template-columns:70px 1fr}.section-title h2{font-size:20px}.modal{border-radius:20px;padding:25px 20px}.toolbar{align-items:flex-start}.toolbar>.primary{white-space:nowrap}.login-card{padding:30px 22px}.story-copy h1{font-size:32px}}html,body{max-width:100%;overflow-x:hidden}.app-shell{width:100%;max-width:100vw}.workspace{width:100%;max-width:calc(100vw - 272px);overflow:hidden}.calendar{width:100%;max-width:100%;overflow-x:auto}.logo{min-height:44px}.logo strong{letter-spacing:.2em;color:#fff;font-size:17px}@media (width<=850px){.app-shell{padding-bottom:0;display:block}.workspace{width:100%;max-width:100vw;overflow:hidden}.app-shell aside{height:auto;min-height:unset;z-index:40;flex-wrap:wrap;align-items:center;padding:12px 14px 0;display:flex;position:sticky;top:0}.app-shell aside>.logo{align-items:center;min-height:44px;display:flex}.app-shell aside>.logo strong{font-size:15px}.app-shell nav{border-top:1px solid #ffffff12;flex:0 0 calc(100% + 28px);order:3;width:calc(100% + 28px);margin:10px -14px 0;padding:7px 8px;position:static;box-shadow:0 8px 18px #09271e22}.app-shell nav button{min-width:92px}.user-card{margin-left:auto}.weekdays,.days{min-width:680px}.calendar{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.workspace>header{width:100%;max-width:100%;overflow:hidden}.toolbar{width:100%;min-width:0}.month-nav{min-width:0}.month-nav h2{min-width:125px}.login-story .logo{min-height:auto}.login-story .logo strong{font-size:17px}}@media (width<=540px){.workspace{padding-top:22px}.workspace>header h1{font-size:26px;line-height:1.25}.workspace>header .eyebrow{letter-spacing:.1em;font-size:10px}.weekdays,.days{min-width:640px}.day{min-height:102px}.app-shell nav button{min-width:86px}}.work-summary{color:#fff;background:linear-gradient(135deg,#0d3b31 0%,#164d40 55%,#1c5b4b 100%);border:1px solid #c49b5b33;border-radius:22px;grid-template-columns:minmax(190px,.72fr) 2fr;gap:16px;margin-bottom:22px;padding:20px;display:grid;box-shadow:0 18px 42px #09302729}.summary-intro{padding:5px 8px}.summary-intro .eyebrow{color:#d9b878}.summary-intro h2{margin:6px 0 8px;font-size:clamp(1.35rem,2vw,1.8rem)}.summary-intro span{color:#ffffffb3;font-size:.88rem}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.summary-card{color:#fff;text-align:left;background:#ffffff17;border:1px solid #ffffff21;border-radius:16px;min-width:0;padding:16px 14px;transition:transform .2s,background .2s}button.summary-card{cursor:pointer;font:inherit}button.summary-card:hover{background:#ffffff24;transform:translateY(-2px)}.summary-card span,.summary-card small{color:#ffffffad;display:block}.summary-card span{letter-spacing:.06em;font-size:.78rem}.summary-card strong{color:#fff;margin:8px 0 7px;font-size:1.35rem;display:block}.summary-card small{text-overflow:ellipsis;font-size:.75rem;line-height:1.45;overflow:hidden}.summary-card.pending strong{color:#ffd38a}.summary-card.complete strong{color:#a9e3c1}@media (width<=1050px){.work-summary{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.work-summary{border-radius:18px;gap:12px;margin:0 0 16px;padding:16px}.summary-intro{padding:0 2px}.summary-intro h2{margin-bottom:4px}.summary-grid{gap:8px}.summary-card{border-radius:14px;padding:13px 12px}.summary-card strong{margin:5px 0;font-size:1.12rem}}
