.splash-container{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:#fff;z-index:9999}.splash-logo{width:300px;height:auto}.footer{position:fixed;bottom:0;width:100%;background:#fff;border-top:2px solid #c30000;display:flex;justify-content:space-around;padding:10px 0;box-shadow:0 -2px 4px #0000001a}.footer-item{text-align:center;color:#666;font-size:12px;flex:1}.footer-item.active{color:#c30000}.footer-icon{font-size:20px}.footer-text{display:block;font-size:10px;margin-top:3px}:root{--bg: #fff;--card: #fff;--text: #1a1a1a;--text-dim: #6b6b6b;--primary: #c60000;--border: #d0d5dd;--card-border: #e5e5ea;--divider: #efeff4;--shadow: 0 2px 10px rgba(0, 0, 0, .06);--card-radius: 20px;--btn-radius: 14px}[data-theme=dark]{--bg: #0f0f10;--card: #141416;--text: #fff;--text-dim: #b8bcc3;--primary: #c60000;--border: #26282b;--card-border: #26282b;--divider: #202124;--shadow: 0 8px 24px rgba(0, 0, 0, .24)}html,body,#root{height:100%}html,body{font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:var(--bg);color:var(--text)}img{image-rendering:auto;-webkit-font-smoothing:antialiased}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.app-main{flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch;padding:12px 0 76px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:64px;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--divider);z-index:1000}.app-container{max-width:1200px;margin:0 auto;padding-inline:24px}@media (max-width: 991px){.app-container{padding-inline:16px}}.app-container .ant-card{border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px}.at-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:0 2px 8px #0000000a;padding:22px;margin-bottom:18px}.at-card.attendance-card{padding:30px}.attendance-card{width:min(92vw,420px);margin:0 auto 16px;padding:14px 18px 6px;overflow:hidden}.attendance-card .ant-card-body{padding:14px 18px 6px!important}.attendance-card .content{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}.attendance-card .title{font-weight:900;font-size:20px;margin:0 0 6px;letter-spacing:.2px}.attendance-card .time{font-weight:900;letter-spacing:-.5px;font-size:clamp(48px,9vw,64px);line-height:1;margin:0 0 6px}.attendance-card .meta{color:var(--text-dim);line-height:1.2;margin:2px 0 8px}.attendance-card .actions{margin-top:6px;margin-bottom:0}.at-primary,.attendance-card .ant-btn.at-primary{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;border:0;border-radius:16px;padding:14px 22px!important;min-width:168px!important;max-width:228px!important;width:auto!important;font-weight:800;font-size:18px;display:inline-flex;justify-content:center;box-shadow:inset 0 2px #0000000f}.attendance-card .ant-btn.at-primary:hover{filter:brightness(.98)}.attendance-card .robot,.attendance-card .robot-img{width:clamp(96px,26vw,120px);height:auto;display:block;align-self:end;margin:0 0 -10px}.attendance-card .text-side{display:inline-grid;grid-template-columns:max-content;row-gap:6px}.attendance-card .text-side .meta,.attendance-card .text-side .actions{grid-column:1/2}.attendance-card .text-side .actions .ant-btn.at-primary{width:100%;box-sizing:border-box;padding:12px 18px!important;border-radius:16px}.at-card.hero{position:relative;overflow:hidden}.hero .time{font-size:clamp(56px,9vw,88px);line-height:1.02;font-weight:900;letter-spacing:-.5px;margin:8px 0 6px}.hero .sub{color:var(--text-dim);font-size:16px;letter-spacing:.2px;margin-bottom:12px}.hero .robot{position:absolute;right:-25px;bottom:-100px;width:400px;height:auto;pointer-events:none}.memo-card{padding:18px 18px 14px}.memo-card .memo-textarea .ant-input{font-size:14px}.memo-card .memo-textarea{margin-top:6px}.memo-card .memo-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.memo-card .counter{color:var(--text-dim);font-size:12px}.memo-card .actions .ant-btn.at-primary{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;padding:10px 18px!important;border-radius:var(--btn-radius);font-weight:800}.memo-card .actions .ant-btn.at-primary:hover{filter:brightness(.98)}.page{padding-inline:max(clamp(16px,5vw,24px),env(safe-area-inset-left));padding-right:max(clamp(16px,5vw,24px),env(safe-area-inset-right))}.top-page{overflow:visible!important}.top-page .at-card.hero .text-side{padding-left:10px}.top-page .at-card.hero .time,.top-page .at-card.hero .meta,.top-page .at-card.hero .actions{margin-left:10px}.top-page .at-card:not(.hero){padding:22px 22px 22px 32px}.top-page .at-card:not(.hero) .at-divider{margin:10px -32px}.top-page .at-card:not(.hero) .at-title{margin-top:2px}.top-page .at-card.memo-card ul,.top-page .at-card.status-card ul{padding-left:14px;margin:6px 0 0}@media (max-width: 768px){.attendance-card{width:min(92vw,420px);max-width:100%}}@media (max-width: 767px){.status-card .ant-row>.ant-col+.ant-col{border-left:none;border-top:1px solid var(--divider);margin-top:8px;padding-top:8px}}@media (max-width: 480px){.top-page.app-container{padding-inline:0}.top-page .at-card{width:100%;margin-inline:0}.hero .robot{right:-25px;bottom:10px;width:250px;height:auto;pointer-events:none}}@media (max-width: 429px){.hero .robot{right:-25px;bottom:30px;width:220px}.top-page.app-container{padding-inline:5px}}@media (max-width: 400px){.hero .robot{right:-25px;bottom:30;width:210px}.top-page.app-container{padding-inline:1px}}@media (max-width: 380px){.hero .robot{right:-25px;bottom:25;width:190px}.top-page.app-container{padding-inline:1px}}.hide-overflow{overflow:hidden!important}.no-shadow{box-shadow:none!important}.full-width{width:100%!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.attendance-card{width:100%;max-width:none;margin:0 auto 16px;padding:14px 18px 6px;overflow:hidden}.status-card .ant-row>.ant-col+.ant-col{border-left:1px solid var(--divider)}
