@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Manrope:wght@400;500;600;700&display=swap";:root{color:#4a372d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-panel:#fffaf4bd;--bg-panel-strong:#fff8efe6;--bg-soft:#7b5c3f0f;--bg-soft-strong:#7b5c3f1a;--line-soft:#7e60471f;--line-strong:#7e604738;--text-main:#4a372d;--text-sub:#6b5445;--text-muted:#907567;--accent:#b77952;--accent-strong:#8d5837;--accent-olive:#7d8b61;--accent-cream:#fff5e6;--accent-blush:#d7ab93;--shadow:0 28px 70px #70533829;--shadow-soft:0 16px 30px #7053381f;background:radial-gradient(circle at 0 0,#fff4e0f2,#0000 30%),radial-gradient(circle at 100% 100%,#c6ab8a47,#0000 32%),linear-gradient(145deg,#f7efe2 0%,#eadcc7 45%,#d9c0a1 100%);font-family:Manrope,Noto Sans JP,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;min-width:320px}button,input,select{font:inherit}button{cursor:pointer;border:0}.app-shell{background:radial-gradient(circle at 12% 14%,#fff8eac7,#0000 20%),radial-gradient(circle at 86% 18%,#cdb89833,#0000 18%),radial-gradient(circle at 75% 84%,#a98e712e,#0000 24%),linear-gradient(#ffffff40,#ffffff05);min-height:100vh;padding:32px 20px 120px;position:relative;overflow:hidden}.app-shell:before,.app-shell:after{content:"";pointer-events:none;opacity:.4;border-radius:50%;position:absolute}.app-shell:before{background:radial-gradient(circle,#ffffff7a,#0000 68%);width:280px;height:280px;top:32px;right:-90px}.app-shell:after{background:radial-gradient(circle,#fff0d8b8,#0000 66%);width:220px;height:220px;bottom:24px;left:-60px}.vine{pointer-events:none;opacity:.72;z-index:0;object-fit:contain;filter:drop-shadow(0 8px 10px #584c2c14);width:88px;height:auto;position:absolute;top:-4px}.vine-left{left:10px}.vine-right{right:10px;transform:scaleX(-1)}.ambient{filter:blur(42px);opacity:.52;pointer-events:none;border-radius:50%;width:380px;height:380px;animation:22s ease-in-out infinite floatGlow;position:absolute}.ambient-left{background:radial-gradient(circle,#ffefd3db,#0000 66%);top:-70px;left:-150px}.ambient-right{background:radial-gradient(circle,#b8977457,#0000 68%);animation-delay:-7s;bottom:180px;right:-140px}.ambient-top{background:radial-gradient(circle,#fffaef99,#0000 70%);width:260px;height:260px;animation-delay:-12s;top:120px;right:8%}.ambient-bottom{background:radial-gradient(circle,#af90713d,#0000 72%);width:300px;height:300px;animation-delay:-15s;bottom:50px;left:7%}.petal{pointer-events:none;opacity:.22;background:linear-gradient(135deg,#fffbf6e6,#bda07d33);border-radius:999px;animation:linear infinite driftPetal;position:absolute;box-shadow:0 12px 30px #7f5f3d14}.petal-one{width:22px;height:44px;animation-duration:24s;top:14%;left:9%;transform:rotate(-16deg)}.petal-two{width:16px;height:38px;animation-duration:28s;animation-delay:-8s;top:32%;right:14%;transform:rotate(14deg)}.petal-three{width:18px;height:40px;animation-duration:26s;animation-delay:-14s;top:70%;left:16%;transform:rotate(-8deg)}.phone-frame{z-index:1;gap:20px;width:min(100%,1180px);margin:0 auto;display:grid;position:relative}.panel{border:1px solid var(--line-soft);background:var(--bg-panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.hero-card,.login-card,.mobile-app{border-radius:32px}.eyebrow,.section-kicker,.mini-label{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;font-weight:700}.signature-name{color:var(--accent-strong);letter-spacing:.01em;margin-left:4px;font-family:Fraunces,Cormorant Garamond,serif;font-size:1.2em;font-weight:600;line-height:.9;display:inline-block}.login-card{padding:28px}.single-screen{background:linear-gradient(180deg, #ffffff85, #fffaf4a8), var(--bg-panel);max-width:540px;margin:0 auto}.section-heading{gap:10px;margin-bottom:0;display:grid}.section-heading h2,.app-topbar h2,.today-shift h3,.split-header h3,.salary-request-card h3{letter-spacing:.01em;font-family:Cormorant Garamond,Noto Serif JP,serif}.section-heading h2{color:#433025;margin:0;font-size:1.9rem;line-height:1}.login-form{gap:16px;display:grid}.login-form label,.amount-field,.select-field{gap:8px;display:grid}.login-form span,.amount-field span,.select-field span{color:var(--text-sub);font-size:.9rem}input,select{border:1px solid var(--line-soft);width:100%;color:var(--text-main);background:#fffcf7e0;border-radius:18px;padding:15px 16px;box-shadow:inset 0 1px #ffffff73}input::placeholder,select::placeholder{color:var(--text-muted)}select{appearance:none}.login-actions,.action-row,.stat-row{flex-wrap:wrap;gap:12px;display:flex}.action-row{justify-content:flex-end;align-items:center;margin-top:6px}.primary-button,.text-button,.day-card button,.tab{transition:transform .18s,background .18s,border-color .18s,box-shadow .18s}.primary-button{color:#4d3426;background:linear-gradient(135deg,#f6dfbd,#e7ba8d);border-radius:999px;padding:12px 18px;font-weight:700;box-shadow:inset 0 1px #ffffff9e,0 8px 18px #996f4529}.text-button{color:var(--text-main);background:#fffcf7ad;border:1px solid #876a4f1a;border-radius:999px;padding:14px 18px}.text-button.compact{padding:10px 14px}.invite-note,.helper-text{color:var(--text-muted);line-height:1.6}.screen-card{gap:18px;display:grid}.mobile-app{background:linear-gradient(180deg, #fffdf9eb, #f4e8d6f5), var(--bg-panel);flex-direction:column;width:min(100%,430px);height:min(860px,100vh - 40px);margin:0 auto;padding:18px;display:flex;overflow:hidden}.app-topbar{isolation:isolate;z-index:3;border-bottom:1px solid var(--line-soft);background:linear-gradient(#fff9f1fa,#f2e2ccf5),radial-gradient(circle at 100% 0,#b4926c24,#0000 34%);justify-content:space-between;align-items:flex-end;gap:16px;margin:-18px -18px 16px;padding:18px 18px 20px;display:flex;position:relative}.app-topbar>:not(.vine){z-index:1;position:relative}.app-topbar h2{color:#3f2b22;margin:4px 0 0;font-size:2.15rem;line-height:.96}.icon-button{width:62px;height:62px;color:var(--text-main);box-shadow:none;background:0 0;border:0;border-radius:22px;position:relative}.icon-button.active{background:#b7795214}.icon-bell{width:30px;height:30px;display:block}.icon-badge{background:var(--accent-strong);color:#fff9f1;border-radius:999px;justify-content:center;align-items:center;min-width:40px;height:40px;padding:0 10px;font-size:1.05rem;font-weight:700;display:inline-flex;position:absolute;top:-10px;right:-2px;box-shadow:0 8px 16px #78482933}.screen-stage{overscroll-behavior:contain;background:linear-gradient(#fff6,#fffaf3ad),#fffaf3b8;border:1px solid #876a4f1f;border-radius:28px;flex:auto;min-height:0;padding:10px 18px 18px;overflow:auto;box-shadow:inset 0 1px #ffffffa8}.notification-drawer{background:#fff8efe6;border:1px solid #8d583724;border-radius:24px;gap:14px;margin-bottom:16px;padding:18px;display:grid}.today-shift,.banner-card,.profile-header,.confirmed-card,.history-row,.profile-row,.day-card,.salary-request-card,.payslip-card{border:1px solid var(--line-soft);background:linear-gradient(180deg, #ffffff8f, #fdf7efe6), var(--bg-panel-strong);box-shadow:var(--shadow-soft);border-radius:24px}.today-shift,.banner-card,.profile-header,.confirmed-card,.history-row,.profile-row,.day-card{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.today-shift h3,.split-header h3,.salary-request-card h3{margin:0}.today-shift h3{color:#402c22;font-size:2rem}.today-shift p{color:var(--text-sub);margin:6px 0 0}.pill,.status-badge{border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:0 12px;font-size:.78rem;font-weight:700;display:inline-flex}.pill{color:#5d6a47;background:#7d8b611f}.pill.warning{color:#8d5837;background:#b779521f}.soft-card,.mini-shift-card,.notice-card,.sub-tab{border:1px solid var(--line-soft);background:#fffbf6db;border-radius:22px;flex:1;min-width:0;padding:16px;box-shadow:0 10px 22px #81604314}.soft-card strong,.payslip-card strong{margin-top:6px;font-size:1.2rem;display:block}.soft-card.accent{background:radial-gradient(circle at 100% 0,#f7e1c1e6,#0000 42%),linear-gradient(145deg,#fffaf3f5,#f4e7d6eb)}.section-split{gap:14px;display:grid}.split-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.split-header h3{color:#473227;font-size:1.45rem}.split-header span{color:var(--text-muted);font-size:.84rem}.week-list,.notification-list,.shift-day-list,.confirmed-stack,.history-list,.profile-list{gap:12px;display:grid}.shift-day-list{padding-inline:6px}.mini-shift-card{gap:8px;display:grid}.mini-shift-card div{align-items:baseline;gap:8px;display:flex}.mini-shift-card span,.mini-shift-card p,.notice-card p,.history-row p,.profile-row span{color:var(--text-sub);margin:0}.mini-shift-card em{color:var(--accent-strong);font-style:normal}.notice-card.alert{background:#fdf2e4eb;border-color:#b779523d}.notice-card strong{margin-bottom:6px;display:block}.sub-tab-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.sub-tab{min-height:48px;color:var(--text-sub);background:#fffaf5e0}.sub-tab.active{color:#4d3426;background:linear-gradient(135deg,#f4dfc0,#e4bc90);font-weight:700;box-shadow:inset 0 1px #ffffff94}.day-card{border-radius:20px;align-items:center;width:calc(100% - 6px);margin-inline:auto;padding:14px 16px}.day-card>div{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.day-card p,.confirmed-card p{color:var(--text-sub);margin:0}.day-card button{min-width:68px;color:var(--text-main);background:#f8ecd9e0;border:1px solid #8d583714;border-radius:999px;padding:9px 12px}.day-card.active{border-color:#b7795242}.salary-request-card,.payslip-card{padding:18px}.amount-input{align-items:center;gap:10px;display:flex}.amount-input b{color:var(--text-sub)}.status-badge{color:#8e5f49;background:#d7ab932e;min-height:32px;padding:0 11px}.history-row span{color:var(--accent-strong)}.payslip-grid{gap:12px;margin-top:18px;display:grid}.payslip-grid div{border-top:1px solid var(--line-soft);justify-content:space-between;gap:16px;padding-top:12px;display:flex}.payslip-grid span{color:var(--text-sub)}.profile-row strong{text-align:right;max-width:58%}.tab-bar{border-top:1px solid var(--line-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:3;background:linear-gradient(#fffaf3f2,#efdfc9fa);grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 -18px -18px;padding:10px 0 0;display:grid}.tab{min-height:60px;color:var(--text-muted);background:0 0;border-radius:22px;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:inline-flex}.tab-svg-icon{width:38px;height:38px}.tab-svg-fill{fill:currentColor}.tab-svg-stroke,.tab-svg-clock{stroke:currentColor}.tab-svg-cutout{fill:#f7eee0f5}.tab-svg-face{fill:#fff9f0;stroke:currentColor;stroke-width:3px}.profile-ring{fill:#d6b69b}.profile-body{fill:#fff7eb}.salary-bag,.salary-mark{stroke:currentColor}.bell-fill{fill:currentColor;stroke:currentColor}.tab.active{color:#4d3426;background:linear-gradient(135deg,#f3ddbc,#e3ba8e);font-weight:700;box-shadow:inset 0 1px #ffffff94,0 10px 18px #a4784d1f}.primary-button:hover,.text-button:hover,.day-card button:hover,.icon-button:hover,.sub-tab:hover,.tab:hover{transform:translateY(-1px)}.primary-button:hover,.icon-button:hover,.tab.active:hover{box-shadow:inset 0 1px #ffffff9e,0 12px 22px #a4784d29}input:focus-visible,select:focus-visible,button:focus-visible{outline-offset:2px;outline:2px solid #8d583752}@keyframes floatGlow{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(16px,-12px)scale(1.04)}}@keyframes driftPetal{0%{opacity:0;transform:translate(0,0)rotate(-10deg)}12%{opacity:.18}50%{opacity:.24;transform:translate(26px,110px)rotate(10deg)}to{opacity:0;transform:translate(-14px,240px)rotate(20deg)}}@media (width<=900px){.app-shell{padding:20px 14px 110px}}@media (width<=560px){.vine{opacity:.5;width:64px}.vine-left{left:10px}.vine-right{right:10px}.leaf{width:22px;height:18px}.login-card,.mobile-app{border-radius:24px;padding:18px}.mobile-app{height:calc(100vh - 28px)}.app-topbar{margin:-18px -18px 14px;padding-bottom:18px}.app-topbar h2{font-size:1.8rem}.icon-button{border-radius:20px;width:56px;height:56px}.icon-badge{min-width:34px;height:34px;font-size:1rem}.today-shift,.banner-card,.profile-header,.confirmed-card,.history-row,.profile-row,.split-header,.action-row{flex-direction:column;align-items:flex-start}.shift-day-list{padding-inline:2px}.shift-day-list .day-card{flex-direction:row;justify-content:space-between;align-items:center;width:calc(100% - 4px);display:flex}.shift-day-list .day-card>div{flex-wrap:nowrap;align-items:baseline;gap:8px;display:flex}.shift-day-list .day-card p{white-space:nowrap}.shift-day-list .day-card button{flex-shrink:0;align-self:center}.profile-row strong{text-align:left;max-width:100%}.tab-bar{gap:8px;margin:0 -18px -18px}.tab{font-size:1.2rem}}
