@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap";.modal.chat-push-settings{width:min(560px,100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto}.chat-push-settings h2{align-items:center;gap:10px;display:flex}.chat-push-settings fieldset{border:1px solid var(--line,#e5e7eb);border-radius:12px;margin:18px 0;padding:14px}.chat-push-settings fieldset label{align-items:center;gap:10px;margin:10px 0;display:flex}.chat-push-settings input[type=checkbox]{accent-color:#f47721;width:19px;height:19px}.push-actions{flex-wrap:wrap;gap:8px;display:flex}.push-admin{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:12px}.chat-push-settings .fine{line-height:1.7}.push-admin input{word-break:break-all;min-width:0}.certificate-photo-picker{border:0;min-width:0;margin:20px 0;padding:0}.certificate-photo-picker legend{color:#646b77;margin-bottom:9px;font-size:12px;font-weight:600}.certificate-photo-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.certificate-photo-actions .secondary{min-height:48px;padding:13px 10px;font-size:12px}.certificate-photo-actions .secondary:first-child{color:#c46b2b;background:#fff4e9;border-color:#f3dcc9}.certificate-camera{background:#f8f9fb;border:1px solid #e5e9ef;border-radius:12px;margin-top:14px;padding:14px}.certificate-camera-heading{color:#7c8795;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:11px;display:flex}.certificate-camera-heading button{color:#97a1ae;padding:2px;display:flex}.certificate-camera video{aspect-ratio:4/3;object-fit:contain;background:#252b32;border-radius:8px;width:100%;max-height:48vh;display:block}.certificate-camera>.primary,.certificate-camera>.secondary{margin-top:12px}.certificate-camera>.text-button{margin-top:14px;margin-left:auto;margin-right:auto;display:block}.certificate-camera>.error{border-radius:7px;margin:12px 0 0;padding:10px 12px;font-size:11px;line-height:1.8}.certificate-photo-preview{background:#f6faf7;border:1px solid #e2e9e5;border-radius:10px;margin-top:14px;padding:10px}.certificate-photo-preview img{object-fit:contain;background:#fff;border-radius:6px;width:100%;max-width:100%;max-height:260px;display:block}.certificate-photo-preview>div{color:#609879;justify-content:space-between;align-items:center;gap:8px;padding:11px 2px 1px;font-size:11px;display:flex}.certificate-photo-preview .text-button{color:#959ca5;font-size:10px}@media (width<=400px){.certificate-photo-actions{grid-template-columns:1fr}.certificate-camera{padding:10px}.certificate-camera-heading strong{font-size:10px}}.chat-person-avatar{vertical-align:middle;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:600;line-height:1;display:inline-flex;overflow:hidden}.chat-person-avatar>img{object-fit:cover;width:100%;height:100%;display:block}.chat-person-avatar.app-profile-avatar,.chat-person-avatar.employee-profile-avatar{width:35px;height:35px;font-size:12px}.chat-person-avatar.app-profile-avatar.small{width:30px;height:30px}.request-author{color:#556174;align-items:center;gap:10px;margin:14px 0;font-size:12px;display:flex}.request-author strong{font-weight:600}.request-author>.chat-person-avatar{width:32px;height:32px;font-size:11px}.chat-layout{background:#fff;border:1px solid #e3e8ef;border-radius:18px;grid-template-columns:265px minmax(0,1fr);height:calc(100dvh - 235px);min-height:560px;max-height:950px;display:grid;overflow:hidden;box-shadow:0 8px 28px #29374905}.chat-room-list{background:#fcfdff;border-right:1px solid #e8edf2;flex-direction:column;display:flex;overflow:auto}.chat-list-heading{border-bottom:1px solid #edf0f4;padding:24px 20px 18px}.chat-list-heading strong{align-items:center;gap:8px;font-size:14px;display:flex}.chat-list-heading>span{color:#9aa3ae;margin-top:8px;font-size:10px;display:block}.chat-room{text-align:left;border-bottom:1px solid #edf0f4;border-left:3px solid #0000;align-items:center;gap:11px;width:100%;padding:18px 16px;display:flex}.chat-room.selected{background:#fff4eb;border-left-color:#ef7625}.chat-room-avatar{color:#6b829a;background:#edf2f8;border-radius:14px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:15px;font-weight:600;display:inline-grid}.chat-room-avatar.general{color:#dd803d;background:#ffeddf}.chat-room-copy{flex:1;min-width:0}.chat-room-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.chat-room-copy small{text-overflow:ellipsis;white-space:nowrap;color:#a0a7b1;margin-top:6px;font-size:10px;display:block;overflow:hidden}.chat-unread,.nav-unread{color:#fff;background:#ed7d35;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.nav-unread{margin-left:auto}.chat-list-footer{margin-top:auto;padding:20px 16px}.chat-list-footer button{width:100%;font-size:10px}.chat-room-empty{padding:20px}.chat-welcome{color:#b3bdca;flex-direction:column;justify-content:center;align-items:center;display:flex}.chat-welcome h2{margin:18px 0 8px;font-size:16px}.chat-welcome p{font-size:12px}.chat-conversation{background:#f7f9fc;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.chat-conversation-header{background:#fff;border-bottom:1px solid #e9edf3;flex-shrink:0;align-items:center;gap:13px;padding:20px 25px;display:flex}.chat-conversation-header h2{margin:0 0 6px;font-size:16px}.chat-conversation-header p{color:#97a1ae;margin:0;font-size:10px}.chat-live{color:#849b8e;white-space:nowrap;align-items:center;gap:6px;margin-left:auto;font-size:9px;display:flex}.chat-live i{background:#68af8c;border-radius:50%;width:6px;height:6px}.chat-messages{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0;padding:14px 26px 22px;overflow-y:auto}.chat-date-divider{text-align:center;margin:12px 0 24px}.chat-date-divider span{color:#929baa;background:#e9edf3;border-radius:20px;padding:6px 14px;font-size:10px;display:inline-block}.chat-message{align-items:flex-start;gap:9px;margin:0 0 22px;display:flex}.chat-message-avatar{color:#8595a8;background:#e7edf4;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;margin-top:19px;font-size:11px;display:grid}.chat-message-content{min-width:0;max-width:min(82%,550px)}.chat-author{color:#929eae;margin:0 0 7px 3px;font-size:10px;font-weight:500;display:block}.chat-bubble{background:#fff;border:1px solid #e8edf4;border-radius:4px 15px 15px;padding:13px 16px;box-shadow:0 2px 4px #29374902}.chat-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;color:#556174;margin:0;font-size:13px;line-height:1.85}.chat-message.own{flex-direction:row-reverse}.chat-message.own .chat-message-avatar{display:none}.chat-message.own .chat-author{text-align:right}.chat-message.own .chat-bubble{background:#fff0e3;border-color:#f6dfca;border-radius:15px 4px 15px 15px}.chat-message-meta{color:#a6afbc;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:9px;display:flex}.chat-message.own .chat-message-meta{justify-content:flex-end}.chat-message-meta button{color:#9ca6b4;align-items:center;gap:3px;padding:3px;font-size:9px;display:inline-flex}.chat-bubble.deleted{box-shadow:none;background:0 0;border:1px dashed #dce2ea}.chat-bubble.deleted p{color:#a3adba;font-size:11px}.chat-load-more{color:#8c98a9;background:#fff;border:1px solid #e2e8f0;border-radius:20px;margin:0 auto 16px;padding:8px 14px;font-size:11px;display:block}.chat-empty{color:#b3bdca;text-align:center;flex-direction:column;align-items:center;gap:12px;padding:50px 20px;font-size:12px;display:flex}.chat-empty strong{color:#95a2b2;font-size:14px}.chat-empty p{margin:0}.chat-new-messages{color:#b67d4e;z-index:1;background:#fff;border:1px solid #e2e8f1;border-radius:20px;align-items:center;gap:7px;padding:9px 14px;font-size:11px;display:flex;position:absolute;bottom:165px;right:24px;box-shadow:0 3px 14px #29374915}.chat-composer{background:#fff;border-top:1px solid #e8edf3;flex-shrink:0;padding:18px 24px 14px}.chat-composer>textarea{resize:vertical;background:#f8fafc;border-color:#edf0f5;min-height:72px;max-height:160px;padding:12px 14px;font-size:13px;line-height:1.65}.chat-composer-bottom{align-items:center;gap:12px;margin-top:12px;display:flex}.chat-composer-bottom>small{color:#adb5c1;margin-right:auto;font-size:9px}.chat-attach{color:#8594a7;align-items:center;gap:6px;padding:5px;font-size:11px;display:inline-flex}.chat-send{min-width:100px;min-height:38px;margin-left:auto;padding:9px 16px;font-size:12px}.chat-error,.chat-notice{flex-shrink:0;margin:0;padding:9px 24px;font-size:11px;line-height:1.7}.chat-error{color:#c26d5b;background:#fff1ed}.chat-notice{color:#69a17f;background:#eef8f1}.chat-send-retry{background:#fff8eb;border-radius:9px;margin-top:12px;padding:12px}.chat-send-retry p{color:#ad8c4e;margin:0 0 5px;font-size:11px}.chat-send-retry .text-button{font-size:11px}.chat-photo-panel{background:#fafcfe;border:1px solid #e4e9f0;border-radius:12px;max-height:46vh;margin-bottom:14px;padding:15px 18px;overflow:auto}.chat-photo-heading{color:#718196;justify-content:space-between;align-items:center;font-size:12px;display:flex}.chat-photo-panel .certificate-photo-picker{margin:12px 0 0}.chat-photo-panel .certificate-photo-picker>legend{font-size:10px}.chat-photo-panel .fine{font-size:10px}.chat-photo-panel .certificate-photo-actions button{min-height:38px;padding:8px;font-size:11px}.chat-photo-panel .certificate-camera video{max-height:28vh}.chat-photo-panel .certificate-photo-preview{padding:7px}.chat-image{max-width:280px;margin-top:4px}.chat-bubble>p+.chat-image{margin-top:12px}.chat-image-button{border-radius:9px;max-width:100%;padding:0;display:block;overflow:hidden}.chat-image img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:260px;display:block}.chat-image-placeholder{color:#9caabd;background:#eef2f7;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-width:170px;min-height:130px;font-size:11px;display:flex}.chat-inline-error{color:#ba6c5e!important;margin-top:8px!important;font-size:10px!important}.chat-image-viewer{z-index:250}.modal.chat-image-viewer,.chat-image-viewer>.modal{max-width:960px;padding-top:55px}.chat-image-viewer>.modal>img{width:auto;max-width:100%;height:auto;max-height:70vh;margin:auto auto 20px;display:block}.chat-contact-modal .chat-contacts{max-height:45vh;margin:8px 0 20px;overflow:auto}.chat-contacts>button{text-align:left;border-bottom:1px solid #edf1f5;align-items:center;gap:12px;width:100%;padding:15px 8px;display:flex}.chat-contacts>button>strong{font-size:12px}.chat-contacts>button>span:last-child{color:#a5aebb;margin-left:auto;font-size:10px}@media (width<=1100px){.chat-layout{grid-template-columns:220px minmax(0,1fr)}.chat-composer-bottom>small{display:none}.chat-messages{padding:12px 16px}.chat-conversation-header{padding:17px 19px}.chat-live{display:none}.chat-room{padding:15px 12px}.chat-room-avatar{border-radius:11px;width:36px;height:36px}}@media (width<=760px){.chat-layout{flex-direction:column;height:calc(100dvh - 230px);min-height:570px;max-height:none;display:flex}.chat-room-list{border-bottom:1px solid #e9edf2;border-right:0;flex-direction:row;flex-shrink:0;max-height:85px;overflow:auto hidden}.chat-list-heading,.chat-list-footer{display:none}.chat-room{border-bottom:3px solid #0000;border-left:0;flex-shrink:0;width:190px;padding:13px 11px}.chat-room.selected{border-bottom-color:#ef7625}.chat-conversation{flex:1}.chat-message-content{max-width:86%}.chat-composer{padding:13px 14px}.chat-composer>textarea{min-height:68px;font-size:16px}.chat-conversation-header{padding:14px}.chat-conversation-header h2{font-size:14px}.chat-conversation-header p{font-size:9px}.chat-messages{padding:8px 12px 18px}.chat-bubble{padding:11px 13px}.chat-bubble p{font-size:12px}.chat-image{max-width:230px}.chat-message-avatar{width:25px;height:25px;font-size:9px}.chat-composer-bottom{gap:7px}.chat-send{min-width:85px}.chat-photo-panel{padding:12px}.mobile-nav button{position:relative}.mobile-nav .nav-unread{min-width:16px;height:16px;font-size:8px;position:absolute;top:0;right:0}}.chat-layout{grid-template-rows:minmax(0,1fr);min-height:380px}.chat-conversation{max-height:100%;overflow:hidden}.chat-messages{flex:120px;min-height:72px}.chat-composer{flex-direction:column;flex:0 auto;min-height:140px;max-height:65%;display:flex;overflow:hidden}.chat-composer>textarea{resize:none;flex:0 68px;height:68px;min-height:52px;max-height:100px}.chat-composer-bottom{z-index:2;background:#fff;flex:none;position:relative}.chat-photo-panel{overscroll-behavior:contain;flex:0 auto;min-height:0;max-height:min(28dvh,220px)}.chat-photo-panel .certificate-photo-preview img{max-height:140px}.chat-error,.chat-notice{max-height:75px;overflow:auto}.chat-send-retry{flex:0 auto;min-height:0;max-height:80px;overflow:auto}@media (width<=760px){.chat-layout{min-height:380px}.chat-composer{min-height:132px}.chat-photo-panel{max-height:min(25dvh,180px)}.chat-photo-panel .certificate-photo-preview img{max-height:110px}.chat-composer-bottom{gap:7px}.chat-send{flex-shrink:0}}.chat-room-avatar>.chat-person-avatar{border-radius:inherit;width:100%;height:100%}.chat-person-avatar.chat-message-avatar{width:30px;height:30px;font-size:11px}.chat-my-avatar .chat-person-avatar{width:25px;height:25px;font-size:10px}.chat-avatar-modal{max-width:600px}.chat-avatar-settings h2{margin-bottom:20px}.chat-avatar-current{align-items:center;gap:18px;display:flex}.chat-avatar-current>.chat-person-avatar{width:76px;height:76px;font-size:28px}.chat-avatar-current strong{font-size:14px}.chat-avatar-current p{margin:7px 0 0;line-height:1.8}.chat-avatar-settings .certificate-photo-preview img{max-height:180px}.chat-close-room{white-space:nowrap;flex-shrink:0;min-height:30px;margin-left:12px;padding:7px 10px;font-size:10px}@media (width<=760px){.chat-person-avatar.chat-message-avatar{width:25px;height:25px;font-size:9px}.chat-close-room{margin-left:auto;padding:7px;font-size:9px}.chat-conversation-header>div{min-width:0}.chat-conversation-header h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-my-avatar{font-size:10px}}.chat-sticker-modal{max-width:720px}.chat-sticker-categories{flex-wrap:wrap;gap:7px;margin:18px 0;display:flex}.chat-sticker-categories button{color:#8793a4;background:#f4f6f8;border-radius:20px;padding:7px 11px;font-size:11px}.chat-sticker-categories button.selected{color:#d37b38;background:#fff0e2}.chat-sticker-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:55dvh;display:grid;overflow:auto}.chat-sticker-grid button{background:#fffaf6;border:1px solid #edf0f4;border-radius:12px;padding:5px}.chat-sticker-grid button:hover{background:#fff3e9;border-color:#f1b98d}.chat-sticker-grid img{width:100%;height:auto;display:block}.chat-sticker-image{width:180px;max-width:100%;height:auto;display:block}.chat-sticker-draft{flex:0 auto;align-items:center;gap:14px;min-height:0;max-height:95px;padding:4px 0 10px;display:flex;overflow:auto}.chat-sticker-draft img{object-fit:contain;width:85px;height:80px}.chat-sticker-draft button{color:#929eac;font-size:10px}.chat-bubble:has(.chat-sticker-image){box-shadow:none;border-color:#0000;padding:4px;background:0 0!important}.chat-composer-bottom{flex-wrap:wrap}@media (width<=760px){.chat-sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.chat-sticker-image{width:150px}.chat-sticker-modal{padding:24px 16px}.chat-sticker-draft{max-height:80px}.chat-sticker-draft img{width:70px;height:65px}.chat-sticker-categories{gap:5px}.chat-sticker-categories button{padding:6px 9px;font-size:10px}}.chat-page .sidebar{width:200px;padding:22px 14px}.chat-page .sidebar .brand>span:last-child{display:none}.chat-page .main{flex-direction:column;width:calc(100% - 200px);height:100dvh;min-height:0;margin-left:200px;display:flex}.chat-page .topbar{flex-shrink:0;height:52px;padding:0 24px}.chat-page .content{flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;margin:0;padding:14px 20px 16px;display:flex;overflow:hidden}.chat-page .page-title{flex-direction:row;flex-shrink:0;align-items:center;gap:12px;margin:0 0 12px}.chat-page .page-title .eyebrow,.chat-page .page-title p{display:none}.chat-page .page-title h1{margin:0;font-size:20px}.chat-page .page-title .toolbar{gap:8px}.chat-page .page-title .toolbar button{min-height:34px;padding:7px 12px;font-size:11px}.chat-page .chat-layout{border-radius:12px;flex:1;grid-template-columns:210px minmax(0,1fr);height:auto;min-height:0;max-height:none}.chat-page .chat-list-heading{padding:15px 12px}.chat-page .chat-list-heading>span{display:none}.chat-page .chat-room{gap:9px;padding:12px 10px}.chat-page .chat-room-avatar{border-radius:10px;width:34px;height:34px}.chat-page .chat-list-footer{padding:10px}.chat-page .chat-conversation-header{gap:10px;padding:10px 16px}.chat-page .chat-conversation-header h2{margin:0;font-size:14px}.chat-page .chat-conversation-header p{display:none}.chat-page .chat-composer{min-height:110px;max-height:55%;padding:10px 14px}.chat-page .chat-composer>textarea{flex-basis:52px;height:52px;min-height:44px}.chat-page .chat-composer-bottom{gap:8px;margin-top:8px}.chat-page .chat-send{min-height:34px;padding:7px 14px}.chat-page .chat-new-messages{bottom:126px}@media (width<=1100px) and (width>=761px){.chat-page .chat-layout{grid-template-columns:180px minmax(0,1fr)}}@media (width<=900px){.chat-page .main{width:100%;margin-left:0}.chat-page .topbar{height:44px;padding:0 14px}.chat-page .mobile-nav{flex-shrink:0;gap:2px;padding:4px 8px}.chat-page .mobile-nav button{flex-shrink:0;min-width:56px;padding:6px;font-size:9px}.chat-page .mobile-nav button span:not(.nav-unread){white-space:nowrap}.chat-page .content{padding:8px 10px 10px}}@media (width<=760px){.chat-page .page-title{flex-wrap:nowrap;gap:8px;margin-bottom:8px}.chat-page .page-title h1{font-size:17px}.chat-page .page-title .toolbar{gap:6px}.chat-page .page-title .toolbar button{gap:0;width:34px;min-height:32px;padding:6px;font-size:0}.chat-page .chat-layout{border-radius:10px}.chat-page .chat-room-list{max-height:56px}.chat-page .chat-room{gap:7px;width:155px;padding:7px 9px}.chat-page .chat-room-avatar{border-radius:9px;width:28px;height:28px}.chat-page .chat-room-copy strong{font-size:11px}.chat-page .chat-room-copy small{margin-top:4px;font-size:9px}.chat-page .chat-conversation-header{gap:8px;padding:8px 10px}.chat-page .chat-conversation-header h2{font-size:13px}.chat-page .chat-composer{min-height:104px;padding:8px 10px}.chat-page .chat-attach{padding:4px 2px;font-size:10px}.chat-page .chat-new-messages{bottom:118px}}.live-punch-clock{color:#33465e;background:linear-gradient(135deg,#f8fafc,#edf3f8);border:1px solid #e3e9f0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:7px;margin:15px 0 20px;padding:18px 12px;display:flex}.live-punch-clock>span{letter-spacing:.12em;color:#8290a3;font-size:11px}.live-punch-clock time{font-variant-numeric:tabular-nums;letter-spacing:.045em;font-size:46px;font-weight:700;line-height:1.1}.live-punch-clock small{color:#8a97a7;font-size:10px}.scanner .live-punch-clock{margin:12px 0;padding:12px}.scanner .live-punch-clock time{font-size:40px}@media (width<=480px){.live-punch-clock time{font-size:42px}.scanner .live-punch-clock time{font-size:36px}}.smtp-password-field{border-top:1px solid #e9edf2;margin:20px 0;padding-top:20px}.smtp-password-field .password{max-width:560px}.smtp-password-status{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;display:flex}.smtp-password-status small{color:#8793a3;font-size:11px}.smtp-password-field .fine{line-height:1.8}.smtp-password-field input{padding-right:50px}.smtp-test-section{background:#f9fafc;border:1px solid #e9edf2;border-radius:14px;margin-top:24px;padding:20px}.smtp-test-section h3{margin-top:0}.notification-settings .mail-history-delete{color:#8c4b3c;align-items:center;gap:5px;margin:12px 0 0 14px;font-size:12px;display:inline-flex}.notification-settings .mail-history-delete:disabled{opacity:.45;cursor:not-allowed}.smtp-test-section .leave-list{margin-top:16px}.timesheet .day-detail-row{cursor:pointer}.timesheet .day-detail-row:hover{box-shadow:inset 0 0 0 9999px #e9edf533}.day-detail-date{min-width:30px;min-height:30px;color:inherit;background:#fff;border:1px solid #e5e9ef;border-radius:7px;justify-content:center;align-items:center;padding:4px 7px;font-size:12px;font-weight:600;display:inline-flex}.day-detail-date:hover{color:#d77c36;background:#fff6ee;border-color:#efb287}.day-details-modal{max-width:760px;max-height:92vh;padding:30px}.day-detail-heading h2{margin:0 0 8px;font-size:20px}.day-detail-heading p{color:#8d97a5;margin:0;font-size:12px}.day-detail-badges{flex-wrap:wrap;align-items:center;gap:7px;margin:20px 0 16px;display:flex}.day-detail-summary{background:#fafbfc;border:1px solid #e7ecf1;border-radius:11px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.day-detail-summary>div{border-right:1px solid #e7ecf1;padding:16px 13px}.day-detail-summary>div:last-child{border:0}.day-detail-summary span{color:#8a95a5;font-size:10px}.day-detail-summary strong{color:#4a586a;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:8px;font-size:16px;font-weight:600;display:block}.day-detail-empty{color:#929ba8;background:#fafbfc;border-radius:8px;margin-top:14px;padding:13px;font-size:12px}.day-detail-section{border-top:1px solid #edf0f3;margin-top:24px;padding-top:22px}.day-detail-section h3{color:#596779;align-items:center;gap:8px;margin:0 0 15px;font-size:14px;display:flex}.day-detail-values{grid-template-columns:1fr 1fr;gap:12px 26px;margin:0;display:grid}.day-detail-values>div{justify-content:space-between;gap:10px;font-size:11px;display:flex}.day-detail-values dt{color:#97a0ad}.day-detail-values dd{color:#566477;font-variant-numeric:tabular-nums;margin:0}.day-detail-warning{color:#b8873f;background:#fff6e5;border-radius:8px;padding:12px;font-size:11px;line-height:1.8}.day-detail-sessions article,.day-detail-requests article{border:1px solid #e7ecf1;border-radius:10px;margin-bottom:10px;padding:16px}.day-detail-session-heading{justify-content:space-between;gap:10px;font-size:11px;display:flex}.day-detail-session-heading strong{color:#556377}.day-detail-session-heading>span{color:#9aa3af;font-size:10px}.day-detail-session-time{color:#5c6b7c;font-variant-numeric:tabular-nums;margin:12px 0 0;font-size:14px}.day-detail-session-time>span{color:#c0c6cf;margin:0 8px}.day-detail-sessions ul{color:#8b96a5;margin:10px 0 0;padding-left:18px;font-size:11px;line-height:2}.day-detail-correction{white-space:pre-wrap;overflow-wrap:anywhere;color:#9c8d76!important;margin:9px 0 0!important;font-size:11px!important}.day-detail-requests article>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.day-detail-requests strong{color:#637083;font-size:12px}.day-detail-requests p{color:#8d97a4;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;font-size:12px}.day-detail-requests .secondary{min-height:36px;font-size:11px}.day-detail-notes{margin:0}.day-detail-notes>div+div{margin-top:16px}.day-detail-notes dt{color:#a1a9b4;margin-bottom:7px;font-size:10px}.day-detail-notes dd{color:#6e7b8c;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.9}.day-detail-original{background:#f7f9fb;border:1px solid #edf0f3;border-radius:9px;margin-top:24px;padding:14px}.day-detail-original summary{cursor:pointer;color:#8a95a4;font-size:12px}.day-detail-original summary svg{vertical-align:middle;margin-right:6px}.day-detail-original ol{margin:14px 0 0;padding:0;list-style:none}.day-detail-original li{color:#8d98a6;border-top:1px solid #e7ecf1;justify-content:space-between;gap:12px;padding:10px 0;font-size:11px;display:flex}.day-detail-original time{font-variant-numeric:tabular-nums;color:#647184}.day-detail-footer{border-top:1px solid #e8edf2;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;display:flex}.day-detail-footer button{font-size:12px}@media (width<=640px){.day-details-modal{padding:26px 20px}.day-detail-heading h2{font-size:17px}.day-detail-summary{grid-template-columns:1fr 1fr}.day-detail-summary>div:nth-child(2){border-right:0}.day-detail-summary>div:nth-child(-n+2){border-bottom:1px solid #e7ecf1}.day-detail-summary strong{font-size:15px}.day-detail-values{gap:12px 16px}.day-detail-values>div{font-size:10px}.day-detail-session-time{font-size:12px}.day-detail-footer .primary{width:100%}.day-detail-requests article>div{align-items:flex-start}.day-detail-requests strong{font-size:11px}}.day-detail-request-form{background:#f7f9fb;border:1px solid #e0e7f0;border-radius:12px;margin-top:18px;padding:20px}.day-detail-request-form h3{margin:0 0 14px;font-size:15px}.day-detail-request-form .check-label{align-items:center;gap:9px;display:flex}.day-detail-request-form .check-label input{width:16px;height:16px;margin:0}.day-detail-pending-request{background:#fff6e5;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:12px;font-size:12px;display:flex}.request-proposal p,.request-proposal ul{color:#64748b;overflow-wrap:anywhere;white-space:pre-wrap;font-size:12px;line-height:1.8}.request-proposal{display:block!important}.offsite-punch{background:#f6f9fc;border:1px solid #dce6ee;border-radius:12px;margin:20px 0;padding:18px}.offsite-punch h3{margin:0;font-size:14px}.offsite-punch .card-top{margin-bottom:12px}.offsite-punch .toolbar{flex-wrap:wrap}.offsite-punch .toolbar button{font-size:12px}.offsite-leave-card{margin-bottom:22px}.request-special-review{border-top:1px solid #e7ecf1;margin-top:10px;padding-top:10px;display:block!important}.request-special-review .toolbar{flex-wrap:wrap;justify-content:flex-start}@media (width<=640px){.day-detail-request-form{padding:16px}.offsite-punch{padding:14px}.offsite-punch .toolbar button{width:100%}.day-detail-pending-request{flex-direction:column;align-items:flex-start}}.modal.day-details-modal{width:100%;max-width:960px;max-height:92vh;padding:32px 36px}.day-details-modal .day-detail-summary{background:#e7ecf1;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}.day-details-modal .day-detail-summary>div{background:#fafbfc;border:0;min-width:0;padding:16px 14px}.day-details-modal .day-detail-summary span{overflow-wrap:anywhere;min-height:3em;font-size:11px;line-height:1.5;display:block}.day-details-modal .day-detail-summary strong{white-space:normal;overflow-wrap:anywhere;max-width:100%;margin-top:6px;font-size:16px;line-height:1.5}@media (width>=800px){.day-details-modal .day-detail-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=640px){.modal.day-details-modal{padding:26px 20px}.day-details-modal .day-detail-summary>div{padding:14px 12px}.day-details-modal .day-detail-summary strong{font-size:15px}}.monthly-mail-card{margin-bottom:22px}.monthly-mail-card>details>summary{cursor:pointer;color:#526176;align-items:center;gap:9px;font-size:14px;font-weight:600;display:flex}.monthly-mail-card>details>summary small{color:#8e98a7;font-size:11px;font-weight:400}.monthly-mail-content{padding-top:18px}.monthly-mail-content form{background:#f8fafc;border:1px solid #e5ebf2;border-radius:12px;margin:16px 0;padding:20px}.monthly-mail-content h3{font-size:14px}.monthly-mail-content .check-label{align-items:center;gap:10px;display:flex}.monthly-mail-content .check-label input{width:16px;height:16px}.monthly-mail-manual{background:#fff8f1;border:1px solid #f5dfcd;border-radius:12px;margin:20px 0;padding:20px}.monthly-mail-content .leave-list p{overflow-wrap:anywhere;font-size:12px}@media (width<=640px){.monthly-mail-card>details>summary{flex-wrap:wrap}.monthly-mail-card>details>summary small{width:100%}.monthly-mail-content form,.monthly-mail-manual{padding:15px}}@media print{.monthly-mail-card{display:none}}.monthly-summary{background:#fff;border:1px solid #e4e9ef;border-radius:16px;margin:0 0 24px;overflow:hidden;box-shadow:0 3px 12px #26364b03}.summary-header{border-bottom:1px solid #eef1f4;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;display:flex}.summary-heading{align-items:center;gap:12px;display:flex}.summary-heading-icon{color:#df7021;background:#fff0e4;border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.summary-heading p{letter-spacing:1.5px;color:#9aa3af;margin:0 0 7px;font-size:9px;line-height:1}.summary-heading h2{letter-spacing:.1px;color:#344052;margin:0;font-size:16px;font-weight:650}.summary-period,.summary-incomplete{white-space:nowrap;border-radius:6px;padding:6px 10px;font-size:10px}.summary-period{color:#87919e;background:#f4f6f8}.summary-incomplete{color:#b57d24;background:#fff5dd}.summary-main{grid-template-columns:1.15fr 1fr;gap:22px;padding:24px 26px 20px;display:grid}.summary-caption{color:#728093;align-items:center;gap:7px;font-size:12px;display:flex}.summary-total strong{letter-spacing:-1.7px;color:#28364b;font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;margin-top:8px;font-size:44px;font-weight:650;line-height:1.3;display:flex}.summary-total strong small{color:#a1a8b3;letter-spacing:0;font-size:11px;font-weight:400}.summary-total p,.summary-rounded p{color:#939dab;margin:4px 0 0;font-size:10px;line-height:1.6}.summary-rounded{background:#fff7f0;border:1px solid #f9e4d3;border-radius:12px;align-self:stretch;padding:15px 19px}.summary-rounded>div{color:#b16c36;align-items:center;gap:7px;font-size:11px;display:flex}.summary-round-icon{align-items:center;display:flex}.summary-rounded>strong{color:#dc742a;font-variant-numeric:tabular-nums;letter-spacing:-.8px;margin:7px 0 0;font-size:31px;font-weight:650;line-height:1.25;display:block}.summary-rounded p{color:#ab907b}.summary-metrics{background:#fafbfc;border:1px solid #edf0f3;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 26px 22px;display:grid}.summary-metrics>div{border-right:1px solid #e9edf1;padding:15px 18px}.summary-metrics>div:last-child{border-right:0}.summary-metrics span{color:#8a95a4;font-size:10px}.summary-metrics strong{white-space:nowrap;color:#4a586b;font-variant-numeric:tabular-nums;margin:7px 0 0;font-size:23px;font-weight:600;line-height:1.3;display:block}.summary-metrics strong small{color:#99a2ae;margin-left:5px;font-size:10px;font-weight:400}.summary-attendance{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 26px 22px;display:grid}.summary-indicator{border:1px solid #e9edf2;border-radius:10px;align-items:flex-start;gap:10px;min-width:0;padding:13px 14px;display:flex}.summary-indicator-icon{color:#a0a9b4;background:#f1f4f7;border-radius:9px;flex-shrink:0;place-items:center;width:31px;height:31px;display:grid}.summary-indicator>div>span{color:#8994a3;font-size:10px;display:block}.summary-indicator strong{color:#526176;font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:22px;font-weight:600;line-height:1.2;display:block}.summary-indicator strong small{color:#8f99a6;margin-left:4px;font-size:10px;font-weight:400}.summary-indicator-detail{color:#98a1ad;margin-top:5px;font-size:9px;line-height:1.6;display:block}.summary-indicator.has-value.late{background:#fffcf6;border-color:#f5dcb6}.summary-indicator.has-value.late strong{color:#bb7c25}.summary-indicator.has-value.late .summary-indicator-icon{color:#bc8733;background:#fff0d8}.summary-indicator.has-value.absent{background:#fff9f8;border-color:#f0d0cb}.summary-indicator.has-value.absent strong{color:#c65d51}.summary-indicator.has-value.absent .summary-indicator-icon{color:#c65d51;background:#fce9e6}.summary-indicator.has-value.leave .summary-indicator-icon{color:#559274;background:#e8f5ee}.summary-indicator.has-value.early .summary-indicator-icon{color:#9b80b5;background:#f2edfa}.summary-note{color:#97a0ad;background:#fcfcfd;border-top:1px solid #edf0f3;padding:12px 26px;font-size:10px;line-height:1.8}.timesheet tr.absent-row{background:#fff2ef}.timesheet tr.absent-row>td:first-child{box-shadow:inset 3px 0 #cf6a5c}.absence-badge{color:#af5145;white-space:nowrap;background:#f8ddd8;border-radius:5px;padding:4px 8px;font-size:10px;font-weight:600;display:inline-block}.absence-badge small{margin:2px 0 0;font-size:9px;font-weight:400}.attendance-unrecorded{color:#b28942;background:#fff5df;border-radius:5px;padding:4px 7px;font-size:10px;display:inline-block}.attendance-ineligible{color:#a4acb8;font-size:10px}@media (width<=1100px){.summary-attendance{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-metrics>div{padding:14px 12px}.summary-metrics strong{font-size:21px}}@media (width<=640px){.summary-header{padding:18px}.summary-heading h2{font-size:14px}.summary-period{display:none}.summary-main{grid-template-columns:1fr;gap:16px;padding:20px 18px}.summary-total strong{font-size:40px}.summary-rounded{grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:14px;display:grid}.summary-rounded>strong{grid-area:1/2/3;margin:0;font-size:28px}.summary-rounded>div{font-size:10px}.summary-rounded p{margin:0;font-size:9px}.summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 18px 18px}.summary-metrics>div:nth-child(2){border-right:0}.summary-metrics>div:nth-child(-n+2){border-bottom:1px solid #e9edf1}.summary-attendance{gap:10px;padding:0 18px 18px}.summary-indicator{gap:8px;padding:12px 10px}.summary-indicator-detail{font-size:8px}.summary-note{padding:12px 18px;font-size:9px}}@media print{.monthly-summary{break-inside:avoid;box-shadow:none;border-radius:8px}.summary-header{padding:12px 16px}.summary-heading h2{font-size:13px}.summary-main{grid-template-columns:1fr 1fr;padding:12px 16px}.summary-total strong{font-size:30px}.summary-rounded>strong{font-size:24px}.summary-metrics{grid-template-columns:repeat(4,1fr);margin:0 16px 12px}.summary-metrics>div{padding:10px}.summary-metrics strong{font-size:17px}.summary-attendance{grid-template-columns:repeat(4,1fr);gap:8px;padding:0 16px 12px}.summary-indicator{gap:6px;padding:8px}.summary-indicator strong{font-size:17px}.summary-indicator-icon{display:none}.summary-note{padding:8px 16px;font-size:8px}}.monthly-summary.employee-summary .summary-main{grid-template-columns:1fr}:root{color:#292d35;font-synthesis:none;--orange:#ef7625;--muted:#838994;--border:#e8ebef;background:#f7f8fa;font-family:Noto Sans JP,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #f7b878}input,select,textarea{color:#343941;background:#fff;border:1px solid #dfe3e8;border-radius:9px;outline:none;width:100%;padding:11px 13px}input:focus,textarea:focus,select:focus{border-color:var(--orange);box-shadow:0 0 0 3px #ef762514}textarea{resize:vertical;min-height:88px}label{color:#646b77;margin:18px 0;font-size:12px;font-weight:600;display:block}label input,label textarea{margin-top:7px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.7px;margin-bottom:10px;font-size:28px;font-weight:700}h2{align-items:center;gap:9px;margin-bottom:20px;font-size:17px;font-weight:600;display:flex}h3{margin-bottom:10px;font-size:19px}p{line-height:1.8}.muted{color:var(--muted)}.fine{color:#8a909a;margin:14px 0 0;font-size:11px;line-height:1.9}.fine svg{vertical-align:middle}.eyebrow{color:var(--muted);letter-spacing:1.1px;margin-bottom:11px;font-size:11px;font-weight:500;display:block}.primary,.dark,.secondary{border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:11px 18px;font-weight:600;text-decoration:none;display:inline-flex}.primary{background:var(--orange);color:#fff}.primary:hover:not(:disabled){background:#e36513}.dark{color:#fff;background:#343940}.secondary{color:#58606d;background:#fff;border:1px solid #e2e5e9}.full{width:100%}.text-button{color:var(--orange);align-items:center;gap:3px;font-size:12px;display:inline-flex}.brand{white-space:nowrap;letter-spacing:.4px;align-items:center;gap:10px;font-size:12px;display:flex}.brand strong{letter-spacing:1px;font-size:17px}.logo{background:var(--orange);color:#fff;border-radius:10px;place-items:center;width:35px;height:35px;font:700 30px/1 system-ui;display:grid}.brand-divider{background:#dce0e5;width:1px;height:16px;margin:0 2px}.app{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;flex-shrink:0;width:240px;padding:28px 20px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand{gap:7px}.sidebar .brand strong{font-size:15px}.nav-label{color:#a1a7b0;letter-spacing:1.7px;margin:48px 12px 14px;font-size:9px}nav{gap:7px;display:grid}nav button{text-align:left;color:#7c8490;border-radius:9px;align-items:center;gap:12px;padding:13px 15px;font-size:12px;display:flex}nav button svg:last-child:not(:first-child){margin-left:auto}nav button.selected{color:#e76b1b;background:#fff2e8;font-weight:600}.sidebar-foot{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding-top:25px;font-size:11px;display:flex}.sidebar-foot strong{display:block}.sidebar-foot small{color:#a0a7af;margin-top:3px;font-size:10px;display:block}.sidebar-foot button{color:#9ba2ad;margin-left:auto;padding:5px}.avatar{color:#c47740;background:#fdf0e4;border-radius:50%;flex-shrink:0;place-items:center;width:35px;height:35px;font-size:12px;font-weight:600;display:inline-grid}.avatar.small{width:30px;height:30px}.main{width:calc(100% - 240px);margin-left:240px}.topbar{border-bottom:1px solid var(--border);color:#838b97;background:#fff;justify-content:space-between;align-items:center;height:78px;padding:0 42px;font-size:11px;display:flex}.topbar>span{align-items:center;gap:12px;display:flex}.topbar>div{align-items:center;gap:22px;display:flex}.connected{align-items:center;gap:7px;font-size:10px;display:flex}.connected i{background:#63b591;border-radius:50%;width:5px;height:5px}.content{max-width:1600px;margin:auto;padding:38px 42px 50px}.page-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px;display:flex}.page-title p{color:var(--muted);margin-bottom:0;font-size:12px}.today-clock{color:#515866;font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:22px;font-weight:500;display:flex}.home-grid{grid-template-columns:1fr 1.08fr;gap:24px;display:grid}.card{border:1px solid var(--border);background:#fff;border-radius:15px;padding:27px;box-shadow:0 3px 10px #29374902}.card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.card-top h2{margin:0}.card-top small{color:#959ba6;font-size:12px;font-weight:400}.status,.badge{color:#8c93a0;white-space:nowrap;background:#f1f3f6;border-radius:6px;padding:5px 10px;font-size:10px;display:inline-block}.status.green{color:#58a578;background:#e9f7ee}.status.amber,.amber{color:#ba8c32;background:#fff7e3}.badge{color:#c07843;background:#fff3e7}.punch-guide{text-align:center;color:#9097a2;overflow-wrap:anywhere;margin:0 0 20px;font-size:12px;line-height:1.9}.punch-card>.live-punch-clock{margin-bottom:12px}.punch-buttons{grid-template-columns:1fr 1fr;gap:12px;display:grid}.break-buttons{justify-content:center;gap:32px;margin:18px 0 24px;display:flex}.break-buttons button{color:#9198a3;align-items:center;gap:5px;font-size:11px;display:flex}.location{text-align:center;border-top:1px solid var(--border);padding-top:16px}.timeline>div{border-bottom:1px solid #f0f2f5;align-items:center;gap:13px;padding:18px 0;display:flex;position:relative}.timeline>div:last-child{border:0}.timeline-dot{border:2px solid #ffbb8d;border-radius:50%;flex-shrink:0;width:10px;height:10px}.timeline-dot.out{border-color:#b3becf}.timeline-dot.break_start,.timeline-dot.break_end{border-color:#eccb84}.timeline strong{font-size:12px;display:block}.timeline small{color:#9aa1ac;margin-top:5px;font-size:10px;display:block}.timeline time{font-variant-numeric:tabular-nums;margin-left:auto;font-size:15px}.timeline svg{color:#b3caba}.record-note{color:#a0a8b3;background:#f8f9fb;border-radius:9px;align-items:center;gap:10px;margin-top:22px;padding:14px;display:flex}.record-note p{margin:0;font-size:10px;line-height:1.8}.info-strip{color:#9ca6b5;background:#f3f5f8;border:1px solid #e8ebef;border-radius:13px;align-items:center;gap:17px;margin-top:25px;padding:23px 28px;display:flex}.info-strip strong{color:#697484;font-size:12px;font-weight:500}.info-strip p{color:#929baa;margin:4px 0 0;font-size:11px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar input,.toolbar select{width:auto;min-width:140px;font-size:12px}.toolbar button{font-size:11px}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stats .card{padding:22px}.stats span{color:#8f98a5;font-size:11px}.stats strong{letter-spacing:.2px;font-variant-numeric:tabular-nums;margin-top:13px;font-size:28px;font-weight:600;display:block}.stats strong small{color:#9aa2ac;margin-left:7px;font-size:12px;font-weight:400}.table-card{padding:24px 0 0;overflow:hidden}.table-card>.card-top{padding:0 25px}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:11px}th{color:#9199a5;white-space:nowrap;border-bottom:1px solid var(--border);background:#f9fafb;padding:12px 16px;font-weight:500}td{color:#717986;white-space:nowrap;font-variant-numeric:tabular-nums;border-bottom:1px solid #eff1f4;padding:12px 16px}td small{margin-top:3px;font-size:9px;font-weight:400;display:block}td strong{font-weight:400}.timesheet{min-width:1250px}.timesheet td:first-child{min-width:45px;font-weight:600}.timesheet .holiday{background:#fff8f5}.timesheet .holiday td:first-child,.timesheet .holiday td:nth-child(2){color:#c68d83}.timesheet .saturday{background:#f7faff}.timesheet .saturday td:first-child,.timesheet .saturday td:nth-child(2){color:#83a2c2}.bold{font-weight:600}.cell-edit{text-align:left;color:#a0a7b2;white-space:normal;min-width:80px;max-width:200px;font-size:10px}.cell-edit:hover{color:#e3762c}.settings-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:24px;display:grid}.fields{grid-template-columns:1fr 1fr;gap:0 15px;display:grid}.fields label{font-size:11px}.people-list>div{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:17px 0;display:flex}.people-list strong{font-size:12px}.people-list small{color:#9ba2ad;word-break:break-all;margin-top:5px;font-size:10px;display:block}.people-list .status{margin-left:auto}.credentials{background:#fff7ee;border:1px solid #f5ddc5;border-radius:9px;margin-top:23px;padding:18px}.credentials strong{font-size:12px}.credentials p{margin:10px 0;font-size:11px}.credentials code{word-break:break-all}.narrow{max-width:540px}.qr-card{text-align:center;max-width:650px;margin:auto;padding:40px}.qr-card h2{justify-content:center;margin:20px 0 4px}.qr-card img{width:100%;max-width:380px;margin:10px auto 20px;display:block}.qr-card p{color:#8a929e;font-size:12px}.qr-caption{color:#eb8b4e;justify-content:center;align-items:center;gap:7px;font-size:11px;display:flex}.qr-placeholder{color:#dfdfdf;padding:60px 0}.qr-placeholder p{margin:18px 0;font-size:12px}.empty{text-align:center;color:#d7dde5;padding:65px 10px}.empty h3{color:#909aa8;margin-top:20px;font-size:14px}.empty p{color:#a5aebc;font-size:11px}.banner{background:#eef3f8;border-radius:9px;margin-bottom:20px;padding:15px 18px;font-size:12px;line-height:1.8}.error{color:#c46055;background:#fff3f1}.success{color:#579975;background:#eff9f2}.login{background:radial-gradient(at 50% 20%,#fff9f2 0%,#fafbfc 55%);flex-direction:column;align-items:center;min-height:100vh;padding:43px 20px;display:flex}.login .brand{margin-bottom:30px}.login-card{background:#fff;border:1px solid #e9ebee;border-radius:19px;width:100%;max-width:455px;padding:34px 36px;box-shadow:0 8px 35px #46516d06}.login-card h1{font-size:25px}.login-card>.muted{font-size:12px}.login-illustration{color:#e99559;background:#fff3e7;border-radius:28px;place-items:center;width:105px;height:105px;margin-bottom:26px;display:grid;position:relative}.login-illustration span{color:#71b191;background:#fff;border:1px solid #e6eee8;border-radius:50%;place-items:center;width:39px;height:39px;display:grid;position:absolute;bottom:-4px;right:-10px}.password{position:relative}.password input{padding-right:45px}.password button{color:#a4abb5;position:absolute;top:18px;right:12px}.loading{text-align:center;color:#a1a8b3;place-content:center;gap:20px;min-height:100vh;display:grid}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#26303c70;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:19px;width:100%;max-width:460px;max-height:95vh;padding:32px;position:relative;overflow:auto}.modal>h2{margin-top:15px}.modal>p{color:#929aa6;font-size:12px}.close{color:#97a0ae;padding:7px;position:absolute;top:16px;right:17px}.camera{aspect-ratio:1;background:#20252a;border-radius:13px;position:relative;overflow:hidden}.camera video{object-fit:cover;width:100%;height:100%}.scan-frame{pointer-events:none;border:2px solid #ffa869;border-radius:14px;position:absolute;inset:20%;box-shadow:0 0 0 500px #0002}.scanner>.fine,.success-modal{text-align:center}.success-modal>svg{color:#6aad8b;margin:12px}.success-modal h2{justify-content:center}.success-time{font-variant-numeric:tabular-nums;margin:20px 0;font-size:47px}.spinner{border:3px solid #fff0e5;border-top-color:#ee7625;border-radius:50%;width:35px;height:35px;animation:.8s linear infinite spin}.mobile-nav{display:none}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1200px){.sidebar{width:210px;padding:25px 14px}.main{width:calc(100% - 210px);margin-left:210px}.content{padding:30px 25px}.topbar{padding:0 25px}.home-grid{gap:17px}.card{padding:22px}.page-title h1{font-size:24px}}@media (width<=950px){.sidebar{width:185px}.main{width:calc(100% - 185px);margin-left:185px}.sidebar .brand span:last-child{display:none}.home-grid,.settings-grid{grid-template-columns:1fr}.page-title{flex-direction:column;align-items:flex-start}.today-clock{display:none}.stats{grid-template-columns:1fr 1fr}.people-list small{max-width:220px}}@media (width<=640px){.sidebar{display:none}.main{width:100%;margin:0}.topbar{height:60px;padding:0 20px}.topbar>span{font-size:10px}.connected{display:none}.content{padding:25px 18px}.mobile-nav{border-bottom:1px solid var(--border);background:#fff;gap:6px;padding:8px 12px;display:flex;overflow:auto}.mobile-nav button{color:#919aa5;border-radius:8px;justify-items:center;gap:4px;min-width:65px;padding:8px;font-size:9px;display:grid}.mobile-nav button.selected{color:#e47629;background:#fff1e6}.page-title h1{font-size:22px}.page-title{gap:15px;margin-bottom:20px}.page-title .eyebrow{font-size:10px}.card{padding:22px 20px}.stats{gap:10px}.stats .card{padding:18px}.stats strong{font-size:24px}.toolbar{gap:7px}.toolbar input,.toolbar select{min-width:125px;font-size:11px}.table-card{padding:20px 0 0}.info-strip{align-items:flex-start;padding:19px}.info-strip p{font-size:10px}.qr-card{padding:28px 16px}.login{padding:28px 18px}.login-card{padding:29px 26px}.login-card h1{font-size:23px}.modal{padding:26px 22px}.people-list>div{flex-wrap:wrap}.people-list small{max-width:170px}.timesheet{min-width:1180px}}@media print{.sidebar,.topbar,.mobile-nav,.toolbar,.info-strip,.banner{display:none!important}.main{width:100%;margin:0}.content{padding:0}.card{box-shadow:none;border:0}.table-scroll{overflow:visible}table{font-size:8px}th,td{padding:4px}.timesheet{min-width:0}.stats{display:none}.cell-edit{min-width:0;font-size:8px}.page-title h1{font-size:18px}}.year-input{max-width:115px}.leave-list>div{border-bottom:1px solid var(--border);padding:17px 0}.leave-top{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.leave-top small{color:#a3a9b1;font-size:10px;font-weight:400}.leave-list p{color:#8b929e;margin:9px 0;font-size:11px}.leave-list .toolbar{gap:15px}.leave-list .secondary{min-height:30px;padding:6px 11px;font-size:10px}.balance-list{margin-top:25px}.balance-list>div{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:13px;padding:13px 0;font-size:11px;display:flex}.balance-list small{color:#a4abb5}.late-row{background:#fff2ef!important}.late-badge{color:#fff;background:#d95749;border-radius:5px;margin:2px;padding:4px 7px;font-size:10px;font-weight:600;display:inline-block}.leave-tag{color:#8b9ac3;font-size:9px!important}.year-input{font-size:13px}.employee-grid{grid-template-columns:.85fr 1.15fr}.employee-row{border-bottom:1px solid var(--border);padding:20px 0}.employee-row:last-child{border-bottom:0;padding-bottom:0}.employee-heading{align-items:center;gap:12px;display:flex}.employee-identity{flex:1;min-width:0}.employee-identity strong{font-size:13px}.employee-identity small{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:11px;display:block}.employee-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:15px;padding-left:48px;display:flex}.employee-actions .secondary{padding:9px 12px;font-size:11px}.employee-actions .text-button{margin-left:auto}.email-receipt{margin:12px 0 0 48px;line-height:1.7}.credentials>strong{align-items:center;gap:7px;display:flex}.email-address{overflow-wrap:anywhere;font-weight:600;color:#515866!important}.check-label{align-items:flex-start;gap:9px;font-size:12px;line-height:1.7;display:flex}.check-label input{flex-shrink:0;width:17px;height:17px;margin:3px 0 0}.login-reset{margin-top:18px;font-size:12px}.account-reset{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}@media (width<=950px){.employee-grid{grid-template-columns:1fr}}@media (width<=640px){.employee-actions{gap:8px;padding-left:0}.email-receipt{margin-left:0}.employee-heading{gap:9px}.employee-identity small{font-size:10px}}.employee-tabs{border-bottom:1px solid var(--border);gap:6px;margin:0 0 7px;padding-bottom:12px;display:flex}.employee-tabs button{color:var(--muted);border-radius:7px;padding:9px 13px;font-size:12px}.employee-tabs .selected{color:#dc7128;background:#fff1e6}.employee-actions .danger-text{color:#c75b50;align-items:center;gap:5px;margin-left:0;display:inline-flex}.danger-button{color:#fff;background:#c75b50;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:13px 18px;font-weight:600;display:inline-flex}.danger-button:hover{background:#b74d43}.retirement-note{margin:13px 0}.danger-text{color:#c75b50;align-items:center;gap:5px;display:inline-flex}.purge-list{color:#65707f;margin:16px 0;padding-left:20px;font-size:12px;line-height:1.9}.qr-option{color:#929baa;justify-content:center;margin:8px 0 16px;font-size:11px}.timesheet .danger-text{white-space:nowrap;font-size:10px}.notification-settings{margin-top:24px}.notification-settings details{margin:15px 0 22px}.notification-settings summary{cursor:pointer;color:#737e8d;margin-bottom:18px;font-size:12px}.notification-settings h3{margin-top:26px}.request-person-heading{color:#515d6f;margin:20px 0 5px;font-size:13px}.leave-pagination{justify-content:center;align-items:center;gap:14px;margin-top:20px;font-size:12px;display:flex}.leave-filters{margin:12px 0 18px}.leave-filters select{min-width:180px}.history-filters,.history-pagination,.admin-shortcuts{flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0;display:flex}.history-filters label{min-width:220px;margin:0}.history-filters>span{color:var(--muted);font-size:13px}.history-pagination{border-top:1px solid #e7ebed;justify-content:center;padding-top:18px}.history-pagination span{font-size:13px}.leave-account-group{margin-top:20px}.leave-account-group>h3{background:#f4f7f6;border-radius:8px;padding:12px 14px}.leave-account-group h3 small{margin-left:8px;font-size:12px;font-weight:400}.dashboard-employees>div{border-bottom:1px solid #e7ebed;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.dashboard-employees>div>strong{margin-right:auto}.admin-shortcuts{margin-bottom:24px}@media (width<=600px){.dashboard-employees>div{flex-wrap:wrap}.dashboard-employees>div>.fine{width:100%}}.release-label{color:#8b929c;letter-spacing:.02em;margin-top:auto;padding:18px 22px 4px;font-size:11px}@media (width<=900px){.release-label{display:none}}.correction-modal{max-width:820px;max-height:90vh;overflow-y:auto}.correction-break{grid-template-columns:1fr 1fr auto;align-items:center;gap:10px;display:grid}.correction-break input{min-width:0}.correction-original{background:#f5f7f8;border-radius:8px;margin-top:24px;padding:14px}.correction-history article{border-bottom:1px solid #e4e8eb;padding:14px 0}.correction-history p{overflow-wrap:anywhere;font-size:13px}.correction-history strong{font-size:13px}@media (width<=640px){.correction-break,.correction-modal .fields{grid-template-columns:1fr}}.previous-shift-warning{color:#b58035;background:#fff8e9;border:1px solid #f3d5aa;border-radius:10px;margin:0 0 12px;padding:14px 16px}.previous-shift-warning strong{font-size:12px}.previous-shift-warning p{color:#a18a65;margin:6px 0 0;font-size:11px;line-height:1.8}.admin-day-leave{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}.admin-day-leave>.card-top{margin-bottom:10px}.admin-day-leave h3{margin:0;font-size:15px}.day-leave-requests>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.day-leave-requests strong{margin-right:10px;font-size:12px}.day-leave-requests small{color:#9aa2ac;overflow-wrap:anywhere;margin-top:7px;font-size:11px;display:block}.day-leave-form{border:1px solid var(--border);background:#fafbfc;border-radius:12px;margin-top:20px;padding:20px}.day-leave-audit{border-bottom:1px solid var(--border);padding:12px 0}.day-leave-audit strong,.day-leave-audit p{font-size:11px}.day-leave-audit small{color:#8a929f;font-size:10px}.absence-contact{border:1px solid var(--border);background:#fff;border-radius:13px;flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px;padding:20px 24px;display:flex}.absence-contact-icon{color:#ce8a78;background:#fdf0ec;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.absence-contact>div{flex:1;min-width:170px}.absence-contact strong{font-size:12px}.absence-contact p{color:#9099a6;margin:5px 0 0;font-size:11px}.absence-contact .error{border-radius:6px;width:100%;padding:10px}.absence-contact .secondary{font-size:11px}@media (width<=640px){.absence-contact{padding:18px}.absence-contact>.secondary{width:100%}}.train-delay-start{text-align:center;color:#b87537;text-underline-offset:4px;width:100%;margin-top:14px;padding:6px;font-size:11px;text-decoration:underline}.certificate-modal{max-width:800px}.certificate-modal img{object-fit:contain;max-width:100%;max-height:65vh;margin:0 auto 20px;display:block}.dashboard-stats{grid-template-columns:repeat(5,minmax(0,1fr))}@media (width<=1100px){.dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}button,a[href],summary,[role=button]{-webkit-tap-highlight-color:#ef76252b;transition:background-color .15s,color .15s,box-shadow .15s,filter .15s,transform .12s}button:not(:disabled):hover,a[href]:hover,summary:hover{filter:brightness(.96)}button:not(:disabled):active,a[href]:active,summary:active,[role=button]:active{transform:translateY(1px);box-shadow:inset 0 0 0 9999px #0000000c}.timesheet .day-detail-row:active{background:#fff0e3!important}.refresh-button{white-space:nowrap;min-width:110px}.refresh-button.refresh-loading{opacity:1;cursor:wait;color:#c87437;background:#fff5eb;border-color:#f1d5bd}.refresh-button.refresh-success{color:#448764;background:#f0faf4;border-color:#baddc7}.refresh-button.refresh-error{color:#bb5e53;background:#fff5f3;border-color:#ebc6c2}.refresh-spinning{animation:.85s linear infinite spin}.action-progress{z-index:500;color:#ae632d;pointer-events:none;background:#fffaf4;border:1px solid #f0d8c3;border-radius:12px;align-items:center;gap:10px;padding:14px 22px;font-size:13px;font-weight:600;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #5940261a}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (prefers-reduced-motion:reduce){button,a[href],summary,[role=button]{transition:none!important}.refresh-spinning{animation:none!important}button:active,a[href]:active,summary:active,[role=button]:active{transform:none!important}}@media print{.action-progress{display:none!important}}.leave-list .request-submitted-at{color:#707d8f;font-variant-numeric:tabular-nums;margin:8px 0;font-size:11px}.attendance-cancel-section{background:#fff9f8;border:1px solid #f0d4cf;border-radius:10px;margin-top:24px;padding:20px}.attendance-cancel-section h3{color:#b75e53}.attendance-cancel-section .fine{margin-bottom:14px;line-height:1.9}.leave-list>.leave-group-card{border-bottom:1px solid var(--border);padding:22px 0}.leave-group-counts{flex-wrap:wrap;gap:7px;margin:10px 0 14px;display:flex}.leave-group-details{background:#fafbfc;border:1px solid #e8edf2;border-radius:9px;margin-top:18px;padding:12px 15px}.leave-group-details summary{cursor:pointer;color:#7b8999;font-size:11px}.leave-group-day{border-bottom:1px solid #e8edf2;flex-wrap:wrap;align-items:center;gap:12px;padding:13px 0;font-size:11px;display:flex}.leave-group-day:last-child{border-bottom:0}.leave-group-day strong{font-weight:500}.leave-group-day>p{width:100%;margin:0;font-size:10px}.leave-group-day .text-button{margin-left:auto}@media (width<=640px){.leave-group-day{gap:9px}.leave-group-card .leave-top{align-items:flex-start}.leave-group-card .leave-top>strong{white-space:normal;line-height:1.8}}.leave-group-card .error{color:#c46055}.leave-group-card .success{color:#579975}.settings-grid fieldset{border:0;min-width:0;margin:0;padding:0}.settings-grid fieldset:disabled{opacity:.75}.settings-save-status{color:#ad651f;min-height:20px;margin:10px 0;font-size:12px}.settings-feedback{overflow-wrap:anywhere;border-radius:8px;margin:14px 0 0;padding:12px 14px;font-size:13px;line-height:1.8}.settings-feedback.success{background:#f0faf4;border:1px solid #cfe7d7}.settings-feedback.error{background:#fff3f1;border:1px solid #edcbc5}.dashboard-statuses{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.dashboard-statuses .status{white-space:nowrap}.dashboard-employees>div>strong{overflow-wrap:anywhere;min-width:0}@media (width<=600px){.dashboard-statuses{max-width:100%;margin-left:auto}}.punch-finished{text-align:center;color:#647282;background:#f1f5f8;border-radius:9px;margin:0 0 18px;padding:13px 14px;font-size:12px}.punch-finished strong,.punch-finished span{display:block}.punch-finished span{color:#8793a1;margin-top:5px;font-size:11px;line-height:1.8}.status.red{color:#c15b4e;background:#fff0ed}.dashboard-statuses{max-width:60%}@media (width<=600px){.dashboard-statuses{justify-content:flex-start;width:100%;max-width:100%}}
