:root{--bg:#f7f3fb;--ink:#332744;--muted:#81768c;--purple:#805caf;--border:#ebe3f1;--pink:#f9eaf0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font:"DM Sans", system-ui, sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button,a,input,select,textarea{touch-action:manipulation}button{border:0}button:disabled{opacity:.6;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #bd99e1}h1,h2,p{margin:0}h1,h2,.big-number,.summary-card>strong,.period-total>strong{font-family:"Manrope", var(--font)}h1{letter-spacing:-1.2px;font-size:32px;font-weight:800;line-height:1.25}h2{letter-spacing:-.4px;font-size:18px}p{line-height:1.6}svg{flex-shrink:0}main{padding-bottom:20px}.shell{max-width:540px;padding:0 22px calc(106px + env(safe-area-inset-bottom));min-height:100dvh;margin:0 auto}.header{justify-content:space-between;align-items:center;padding:28px 0 16px;display:flex}.brand{font-family:"Manrope", var(--font);letter-spacing:-1px;align-items:center;gap:10px;font-size:23px;font-weight:800;display:flex}.brand-icon{width:40px;height:40px;color:var(--purple);background:#e9dff4;border-radius:14px;place-items:center;display:grid}.brand-dot{color:#bd83ac}.avatar{color:#946180;background:#f0d8e8;border:3px solid #fff;border-radius:50%;place-items:center;width:39px;height:39px;font-weight:700;display:grid;box-shadow:0 3px 10px #6f43850a}.profile-menu{position:relative}.profile-actions{z-index:30;border:1px solid var(--border);background:#fffcff;border-radius:16px;width:180px;padding:6px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 10px 30px #49305b1a}.profile-actions button{color:#9d4660;background:#f9eef3;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.sync-bar{color:#7c7385;align-items:center;gap:7px;height:30px;font-size:12px;display:flex}.sync-bar .icon-button{color:#9984ad;min-width:36px;min-height:32px;margin-left:auto}.status-dot{background:#80a591;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.status-dot.offline{background:#c58e49}.intro{margin:25px 0}.eyebrow{color:#9781aa;letter-spacing:1.8px;margin-bottom:10px;font-size:10px;font-weight:700}.intro .muted{margin-top:9px;font-size:14px}.muted{color:var(--muted)}.small{font-size:12px}.capitalize{text-transform:none}.capitalize:first-letter{text-transform:uppercase}.greeting{vertical-align:middle;color:#bfa2ce;margin-left:10px;display:inline-flex}.punch-card{text-align:center;background:linear-gradient(125deg,#eae0f5,#f2e9f7 55%,#f8e6f0);border:1px solid #e4d7ef;border-radius:28px;padding:23px;position:relative;overflow:hidden}.punch-card:before{content:"";pointer-events:none;border:1px solid #ffffff60;border-radius:50%;width:180px;height:180px;position:absolute;top:-60px;right:-65px}.card-top{color:#ab91c1;justify-content:space-between;align-items:center;display:flex;position:relative}.pill{color:#705881;background:#ffffff80;border-radius:30px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:500;display:inline-flex}.punch-label{color:#806b94;margin-top:29px;font-size:13px}.big-number{letter-spacing:-1.8px;margin-top:8px;font-size:45px;font-weight:800;line-height:1.25}.card-sub{color:#887494;margin-top:10px;font-size:12px}.live-earnings{color:#806b94;margin-top:12px;font-size:13px}.live-earnings strong{color:var(--ink);margin-left:4px}.punch-button{background:var(--purple);color:#fff;border-radius:17px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:58px;margin-top:25px;font-weight:700;transition:transform .15s,background .15s;display:flex;box-shadow:0 7px 18px #805caf24}.punch-button:active{transform:scale(.98)}.punch-foot{color:#9581a2;margin-top:12px;font-size:11px}.punch-card.active{color:#fff;background:linear-gradient(135deg,#74509c,#553575);border-color:#674386;box-shadow:0 12px 30px #65418b25}.active .card-top{color:#d6c0ec}.active .pill{color:#fff;background:#ffffff18;border:1px solid #ffffff25;font-weight:600}.active .pill .status-dot{background:#b8efd1;box-shadow:0 0 0 4px #b8efd11f}.active .big-number{font-size:clamp(34px,10vw,46px)}.live-timer{font-variant-numeric:tabular-nums;letter-spacing:-1px;justify-content:center;display:flex}.timer-part{display:flex}.timer-part>span:last-child{min-width:2.2ch}.timer-part small{font:500 10px var(--font);letter-spacing:.3px;color:#ddccea;margin-top:4px;display:block}.timer-separator{color:#c3a6db;padding:0 7px}.active .punch-label,.active .card-sub,.active .live-earnings,.active .punch-foot{color:#e0cfea}.active .live-earnings strong{color:#fff}.active .punch-button{color:#603e7c;background:#f4e7f1;box-shadow:0 7px 18px #35204825}.summary-grid{grid-template-columns:1fr 1fr;gap:13px;margin:18px 0 12px;display:grid}.summary-card{text-align:left;width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #eee2ec;border-radius:21px;padding:18px 17px;transition:border-color .15s,box-shadow .15s;display:block}.summary-card:active{box-shadow:inset 0 0 0 1px #c9b4e0}@media (hover:hover){.summary-card:hover{border-color:#c9b4e0;box-shadow:0 4px 14px #49305b0c}}.summary-card.pink{background:#fcf1f5}.summary-card.purple{background:#f0eaf8}.summary-card>.summary-heading{color:#947086;align-items:center;gap:7px;font-size:11px;display:flex}.summary-card.purple>.summary-heading{color:#8a70a3}.summary-card>strong{letter-spacing:-1px;white-space:nowrap;margin-top:13px;font-size:25px;font-weight:800;display:block}.summary-card .summary-duration{color:#92839b;margin-top:6px;font-size:11px;display:block}.section-title{justify-content:space-between;align-items:center;gap:10px;margin:27px 0 15px;display:flex}.text-button{color:var(--purple);background:0 0;justify-content:center;align-items:center;gap:5px;min-height:44px;padding:6px;font-size:12px;font-weight:600;display:inline-flex}.icon-button{color:var(--ink);background:0 0;border-radius:12px;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.entry-list{flex-direction:column;gap:10px;display:flex}.entry-row{text-align:left;border:1px solid var(--border);width:100%;color:var(--ink);background:#fff;border-radius:19px;align-items:center;gap:12px;padding:16px 13px;display:flex}.entry-icon{color:#9a80b6;background:#f2edf8;border-radius:14px;place-items:center;width:42px;height:44px;display:grid}.entry-icon.running{color:#658c75;background:#edf4ef}.entry-content{flex:1;min-width:0}.entry-content>strong{font-size:14px;font-weight:600;display:block}.entry-content small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.entry-content .entry-note{white-space:nowrap;text-overflow:ellipsis;max-width:180px;overflow:hidden}.entry-amount{flex-direction:column;align-items:flex-end;gap:9px;font-size:14px;font-weight:700;display:flex}.entry-amount svg{color:#a592b7}.empty{text-align:center;background:#ffffff80;border:1px dashed #dfd2e9;border-radius:22px;padding:26px 15px}.empty>span{color:#a184bb;background:#efe6f6;border-radius:17px;place-items:center;width:50px;height:50px;margin:0 auto 12px;display:grid}.empty strong{font-size:13px}.empty p{color:var(--muted);margin-top:8px;font-size:12px}.gentle-note{color:#ae96aa;justify-content:center;align-items:center;gap:7px;margin:24px 0 0;font-size:10px;display:flex}.bottom-nav{z-index:20;width:100%;max-width:540px;padding:10px 14px calc(13px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffc;border-top:1px solid #eee6f2;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#a195ac;background:0 0;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:51px;font-size:10px;font-weight:500;display:flex;position:relative}.bottom-nav button.nav-active{color:var(--purple);background:#f0e9f8}.notice{color:#88663d;background:#fff3e4;border:1px solid #eddbc3;border-radius:14px;align-items:center;gap:10px;margin-top:14px;padding:13px;font-size:12px;line-height:1.5;display:flex}.notice>button{color:inherit;background:0 0;flex-shrink:0;min-height:40px;margin-left:auto}.segmented{background:#eae3f1;border-radius:15px;grid-template-columns:1fr 1fr;margin:0 0 20px;padding:5px;display:grid}.segmented button{color:#907b9f;background:0 0;border-radius:11px;min-height:40px;font-size:13px;font-weight:600}.segmented button.selected{color:#735398;background:#fff;box-shadow:0 2px 5px #49315a0b}.calendar-card{border:1px solid var(--border);background:#fff;border-radius:25px;padding:14px}.calendar-toolbar{justify-content:space-between;align-items:center;display:flex}.calendar-toolbar>div{text-align:center;font-size:14px}.calendar-toolbar>div>span{margin-top:3px;display:block}.period-total{flex-wrap:wrap;align-items:center;gap:6px 12px;margin:17px 5px 20px;display:flex}.period-total>strong{letter-spacing:-.8px;font-size:25px}.period-total>span{color:var(--muted);font-size:11px}.period-total>button{margin-left:auto}.week-head,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.week-head{text-align:center;color:#a094ab;padding:0 0 10px;font-size:11px}.day{min-height:57px;color:var(--ink);background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:3px 0;display:flex}.day>span{font-size:13px;font-weight:500}.day small{color:#9c7cae;font-size:9px}.day i{height:11px}.day.is-today>span{color:var(--purple);font-weight:800}.day.chosen{background:#eae0f5}.day.outside{opacity:.35}.week-list{flex-direction:column;gap:4px;display:flex}.week-day{text-align:left;color:var(--ink);background:0 0;border-radius:14px;align-items:center;gap:12px;min-height:63px;padding:9px 10px;display:flex}.week-day.chosen{background:#f4edf9}.date-badge{color:#8a769a;background:#f4f1f6;border-radius:12px;place-items:center;width:39px;height:39px;font-weight:700;display:grid}.date-badge.is-today{background:var(--purple);color:#fff}.week-day-name{flex-direction:column;flex:1;gap:4px;display:flex}.week-day-name strong{font-size:12px;font-weight:500}.week-day-name small{color:var(--muted);font-size:10px}.week-day>strong{font-size:13px}.settings-card{border:1px solid var(--border);background:#fff;border-radius:23px;margin:16px 0;padding:22px}.settings-card h2{margin-bottom:18px;font-size:16px}.settings-card>p{margin-bottom:12px}label,.datetime-field legend{color:#79648c;margin:17px 0;font-size:12px;font-weight:600;display:block}input,select,textarea{appearance:none;width:100%;min-width:0;max-width:100%;color:var(--ink);background:#f8f5fb;border:1px solid #e9e0f0;border-radius:13px;outline:none;min-height:52px;margin-top:8px;padding:14px 15px;font-size:16px;font-weight:400;line-height:1.4;transition:border-color .15s,box-shadow .15s;display:block}input::placeholder,textarea::placeholder{color:#95859f;opacity:1;font-size:inherit}input:focus,select:focus,textarea:focus{border-color:#b192cf;box-shadow:0 0 0 3px #b192cf20}input[type=hidden]{display:none}input:disabled,select:disabled,textarea:disabled{color:var(--muted);cursor:not-allowed;background:#f0ebf5}:is(input:user-invalid,select:user-invalid,textarea:user-invalid){border-color:#c17588;box-shadow:0 0 0 3px #c1758818}input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:inset 0 0 0 1000px #f8f5fb}select{text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23805caf' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 15px center;background-repeat:no-repeat;padding-right:44px}textarea{resize:vertical;overflow-wrap:anywhere;min-height:96px}.unit-input,.password-field{min-width:0;margin-top:8px;position:relative}.unit-input input,.password-field input{margin-top:0}.unit-input input{font-variant-numeric:tabular-nums;padding-right:60px}.unit-input span{color:#79648c;pointer-events:none;font-size:14px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.datetime-field{border:0;min-width:0;margin:14px 0;padding:0}.datetime-field legend{margin:0 0 8px;padding:0}.datetime-inputs{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:10px;display:grid}.date-input,.time-input{min-width:0;position:relative}.datetime-inputs input{font-variant-numeric:tabular-nums;margin:0}.date-input input{padding-left:12px;padding-right:43px}.time-input input{padding-left:36px;padding-right:10px}.time-input>svg{color:#9179a5;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.field-icon-button{width:40px;height:44px;color:var(--purple);background:0 0;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.field-icon-button[aria-expanded=true]{background:#ede4f6}.date-calendar{border:1px solid var(--border);background:#fff;border-radius:16px;margin-top:10px;padding:10px;box-shadow:0 6px 18px #49305b08}.date-calendar-header,.date-calendar-footer{justify-content:space-between;align-items:center;gap:4px;display:flex}.date-calendar-header strong{text-transform:capitalize;text-align:center;font-size:14px}.date-calendar button{min-width:0;min-height:36px;color:var(--ink);background:0 0;border-radius:10px;place-items:center;font-size:14px;display:grid}.date-calendar-header button{width:40px;min-height:40px;color:var(--purple)}.date-calendar button:disabled{cursor:not-allowed;opacity:.35}.date-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin:6px 0;display:grid}.date-calendar-grid>span{text-align:center;color:var(--muted);padding:6px 0;font-size:11px;font-weight:600}.date-calendar-grid .other-month{color:#a69aaa}.date-calendar-grid .is-today{box-shadow:inset 0 0 0 1px #c9b4e0}.date-calendar-grid button[aria-pressed=true]{background:var(--purple);color:#fff;font-weight:700}.date-calendar-footer{border-top:1px solid var(--border);padding-top:6px}.date-calendar-footer button{color:var(--purple);padding:0 12px;font-weight:600}@media (hover:hover){input:not(:disabled):hover,select:not(:disabled):hover,textarea:not(:disabled):hover{border-color:#cbb7dd}.field-icon-button:hover,.password-field button:hover,.date-calendar button:not(:disabled):hover{background:#f0e9f8}.date-calendar-grid button[aria-pressed=true]:hover{background:#704c9e}}@media (max-width:359px){.datetime-inputs{grid-template-columns:minmax(0,1fr)}.settings-card{padding:18px}}.primary,.secondary{border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;margin-top:18px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.primary{background:var(--purple);color:#fff}.secondary{color:#805e9e;background:#f0e9f8;border:1px solid #e9def2}.success{color:#58775f;background:#edf4ef;border-radius:12px;padding:13px;font-size:12px}.form-error{color:#aa4f63;background:#fff0f2;border-radius:12px;padding:12px;font-size:12px}.logout{color:#9b8196;background:0 0;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;font-size:13px;display:flex}.modal-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:50;height:100dvh;padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));background:#2f1e466b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0 0 auto}.modal{background:#fffcff;border:1px solid #ffffffa0;border-radius:26px;outline:none;flex-direction:column;width:100%;max-width:460px;max-height:100%;display:flex;overflow:hidden;box-shadow:0 24px 80px #2d143838}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:16px 20px 18px}.modal .section-title{margin:0 0 3px}.modal-header .icon-button{color:#9179a5;background:#f2edf7;width:36px;min-width:36px;height:36px;min-height:36px}.modal-header .icon-button svg{width:20px;height:20px}.modal-header h2{font-size:20px}.modal-form{flex-direction:column;min-height:0;display:flex}.modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;min-height:0;padding:4px 20px 6px;overflow-y:auto}.modal-body label{margin:14px 0}.modal-body textarea{resize:none}.modal-body .switch-label{border:1px solid var(--border);background:#f6f1fa;border-radius:13px;min-height:52px;padding:12px 14px}.modal-footer{border-top:1px solid var(--border);background:#fffcff;flex-shrink:0;padding:14px 20px 18px;box-shadow:0 -5px 15px #49305b04}.modal-footer .primary{margin:0}.modal-footer .delete-button{min-height:36px;margin-top:7px}.switch-label{justify-content:space-between;align-items:center;gap:10px;min-height:40px;display:flex}.switch-label input{appearance:none;background:#ded3e8;border:0;border-radius:30px;flex-shrink:0;width:44px;height:26px;min-height:26px;margin:0;padding:0;transition:background-color .15s;position:relative}.switch-label input:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch-label input:checked{background:var(--purple)}.switch-label input:checked:before{transform:translate(18px)}.delete-button{color:#ae788b;background:0 0;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:12px;font-size:12px;display:flex}.delete-confirm{justify-content:space-between;align-items:center;gap:8px;margin-top:15px;font-size:12px;display:flex}.danger{color:#9d4660;background:#fae3e9;border-radius:10px;padding:12px}.loading{min-height:100dvh;color:var(--purple);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.login{text-align:center;background:radial-gradient(at 50% 12%,#ebdef4,#0000 60%);max-width:430px;min-height:100dvh;margin:auto;padding:65px 30px 30px}.login.compact{min-height:0;padding:25px 4px}.login-art{width:106px;height:106px;color:var(--purple);background:#e4d5f0;border-radius:33px;place-items:center;margin:0 auto 33px;display:grid;position:relative;transform:rotate(-7deg);box-shadow:0 12px 30px #78589a12}.login-art>svg{transform:rotate(7deg)}.login-art>span{color:#ad7b96;border:4px solid var(--bg);background:#f2d6e5;border-radius:17px;place-items:center;width:40px;height:40px;display:grid;position:absolute;bottom:-7px;right:-10px}.login h1{letter-spacing:-1.5px;font-size:39px;line-height:1.25}.login>.muted{margin-top:18px;font-size:13px}.login-form{text-align:left;margin-top:35px}.login-form .primary{min-height:55px;margin-top:27px}.password-field{position:relative}.password-field input{padding-right:50px}.password-field button{color:#9f8bb0;background:0 0;border-radius:10px;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.login-footer{color:#ac9ab6;justify-content:center;align-items:center;gap:7px;margin-top:30px;font-size:10px;display:flex}.login-remember{margin-top:16px;font-size:12px}@media (min-width:700px){.shell{max-width:840px;padding:0 45px 120px}.header{padding-top:35px}.intro{margin-top:30px}h1{font-size:38px}.punch-card{padding:28px 40px}.punch-button{max-width:400px;margin-left:auto;margin-right:auto}.bottom-nav{border:1px solid var(--border);border-radius:25px;max-width:750px;padding:10px 25px;bottom:18px;box-shadow:0 10px 40px #4d335611}.summary-card{padding:23px}.summary-card>strong{font-size:29px}.summary-card>.summary-heading{font-size:13px}.calendar-card{padding:24px}.day{min-height:78px}.day small{font-size:12px}.modal-backdrop{padding:28px}.modal{max-height:min(780px,100%)}.modal-header{padding:20px 26px}.modal-body{padding:4px 26px 8px}.modal-footer{padding:18px 26px 22px}.entry-row{padding:20px}.entry-content>strong{font-size:16px}.entry-content small{font-size:12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-400-normal.0471snlmja818.woff2)format("woff2"),url(../media/dm-sans-latin-400-normal.40quu04grbhf8.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-500-normal.0brn-8r9pdr2e.woff2)format("woff2"),url(../media/dm-sans-latin-500-normal.0jcw8phz0eanr.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-600-normal.0oone78si629l.woff2)format("woff2"),url(../media/dm-sans-latin-600-normal.40ad7xuawyzt9.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/dm-sans-latin-700-normal.1a6kzvi7en7g-.woff2)format("woff2"),url(../media/dm-sans-latin-700-normal.33in7pwjke59p.woff)format("woff")}
@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(../media/manrope-latin-700-normal.22dwiag9_pj68.woff2)format("woff2"),url(../media/manrope-latin-700-normal.2dopus2zh5ii9.woff)format("woff")}
@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(../media/manrope-latin-800-normal.037pwi_4ver8j.woff2)format("woff2"),url(../media/manrope-latin-800-normal.0a-2q2cgln7hh.woff)format("woff")}
