*{box-sizing:border-box}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#29303b;background:#fff8fa}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #a24f7a;outline-offset:2px}.app{max-width:650px;min-height:100dvh;margin:auto;background:#fff;padding-bottom:calc(104px + env(safe-area-inset-bottom))}.top{padding:26px 22px 12px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(125deg,#fff1f6,#fffafc)}.top small{font-size:11px;letter-spacing:2px;color:#a35a7e;font-weight:800}.top h1{font-size:29px;letter-spacing:-1px;margin:4px 0}.logout{font-size:28px;text-decoration:none;color:#795b6c;padding:10px}.view{display:none;padding:20px 16px}.view.active{display:block}.view>h2{font-size:25px}.monthbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 20px}.monthbar h2{text-transform:capitalize;font-size:21px;margin:0}.monthbar button{width:43px;height:43px;border:1px solid #f1dfe7;border-radius:14px;background:#fff;font-size:30px;color:#925875}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{margin-bottom:8px}.weekdays span{text-align:center;font-size:12px;font-weight:700;color:#8b8b95}.day{height:58px;border:1px solid #f1edf0;border-radius:12px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#333;font-weight:650}.day.today{background:#fff2f7}.day.selected{border:2px solid #b65282;box-shadow:0 0 0 1px #b65282}.marks{display:flex;gap:3px;height:7px;align-items:center}.marks i{width:7px;height:7px;border-radius:50%}.marks em{font-size:18px;color:#7d5b9d;font-style:normal;line-height:5px}.conge,.pink{background:#f2b5d0}.rtt,.green{background:#9dd6bf}.astreinte,.yellow{background:#f2d28e}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#606472;margin:20px 0 24px}.legend span{display:flex;gap:5px;align-items:center}.legend i{width:11px;height:11px;border-radius:4px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.section-head h3{font-size:19px;text-transform:capitalize}.textbtn{background:none;border:0;color:#a54b7d;font-weight:700}.items{display:grid;gap:12px}.item{background:#fff;border:1px solid #f0e5eb;border-radius:17px;padding:15px;box-shadow:0 3px 12px #57304508}.event{border-left:5px solid #eee}.event.conge{background:#fff7fa;border-left-color:#e6a0c1}.event.rtt{background:#f4fcf8;border-left-color:#80c8aa}.event.astreinte{background:#fffaf0;border-left-color:#e4be70}.event.memo{background:#f8f6ff;border-left-color:#ac9cda}.event-main{display:flex;justify-content:space-between;align-items:start;gap:10px}.item strong{font-size:16px}.item p{font-size:13px;color:#69707c;margin:6px 0 0;line-height:1.5;white-space:pre-wrap}.edit{background:#fff;border:1px solid #e9dce4;border-radius:10px;padding:7px 10px;font-size:18px}.empty,.hint{color:#83828c;line-height:1.6}.empty{padding:24px 10px;text-align:center;background:#faf8fa;border-radius:16px}.reminder{display:flex;align-items:start;gap:12px}.reminder input{width:22px;height:22px;accent-color:#a94c7d;flex-shrink:0}.reminder>div{flex:1}.completed strong{text-decoration:line-through;color:#999}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat{padding:18px 14px;border:1px solid #f0e5eb;border-radius:18px;background:#fff9fc;display:flex;flex-direction:column;gap:8px}.stat span{font-size:14px}.stat strong{font-size:34px}.stat small{color:#777}.bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,650px);display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #f0e4eb;padding:9px 6px calc(10px + env(safe-area-inset-bottom));z-index:10}.bottom button{border:0;background:none;color:#91909a;font-size:11px;display:flex;flex-direction:column;gap:3px;align-items:center;padding:4px 0}.bottom b{font-size:24px;font-weight:400}.bottom button.active{color:#aa4b7c;font-weight:800}.fab{position:fixed;bottom:calc(89px + env(safe-area-inset-bottom));right:max(20px,calc((100vw - 650px)/2 + 20px));width:60px;height:60px;border:0;border-radius:20px;background:#ad4e80;color:#fff;font-size:34px;box-shadow:0 8px 20px #a44c8050;z-index:8}dialog{border:0;border-radius:24px 24px 0 0;padding:0;width:min(100%,650px);max-width:650px;max-height:90dvh;position:fixed;bottom:0;top:auto;margin:0 auto;box-shadow:0 -10px 60px #0002}dialog::backdrop{background:#24202b80}.sheet{padding:20px 20px calc(25px + env(safe-area-inset-bottom));display:grid;gap:14px;overflow:auto;max-height:90dvh}.sheethead{display:flex;justify-content:space-between;align-items:center}.sheethead h2{margin:0;font-size:22px}.sheethead button{border:0;background:#f8eff3;border-radius:50%;width:36px;height:36px}.sheet label,.login label{display:grid;gap:7px;font-size:13px;font-weight:750}.sheet input,.sheet select,.sheet textarea,.login input{width:100%;min-height:46px;border:1px solid #e7dce3;border-radius:12px;padding:10px;background:#fff;color:#333;font-size:16px}.dategrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary{background:#ad4e80;color:white;border:0;border-radius:13px;min-height:49px;font-weight:800}.danger{background:#fff;border:1px solid #edc5ce;color:#bd4264;border-radius:13px;min-height:46px}.error{color:#bd3454;font-size:13px;margin:0}.secondary-link{display:inline-block;margin:20px 0;color:#a34b78}.login{max-width:420px;margin:16vh auto 0;padding:24px;text-align:center}.login-icon{font-size:48px}.login h1{font-size:34px}.login p{color:#777}.login form{display:grid;gap:15px;margin-top:30px;text-align:left}.login .primary{margin-top:8px}[hidden]{display:none!important}@media(min-width:651px){.app{box-shadow:0 0 45px #4d263312}.day{height:72px}}