*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#3c4043;background:#fff;font-size:14px}button{font:inherit;border:0;background:none;cursor:pointer;color:inherit}.app{min-height:100vh}header{height:64px;border-bottom:1px solid #dadce0;display:flex;align-items:center;gap:10px;padding:0 22px}.menu{font-size:22px;color:#5f6368;padding:8px}.brand{font-size:22px;color:#5f6368;display:flex;align-items:center;gap:10px;margin-right:35px}.calicon{color:#1a73e8;font-size:27px}.today{border:1px solid #dadce0;border-radius:5px;padding:9px 17px;color:#3c4043}.arrow{font-size:28px;color:#5f6368;padding:0 6px}h1{font-size:22px;font-weight:400;margin-left:12px}.header-right{margin-left:auto;display:flex;align-items:center;gap:18px}.iconbtn{font-size:23px;color:#5f6368}.avatar{background:#7e57c2;color:#fff;border-radius:50%;width:32px;height:32px;text-align:center;padding-top:8px}.toolbar{width:235px;position:absolute;padding:20px}.create{box-shadow:0 2px 5px #ddd;border-radius:24px;padding:13px 20px;font-size:15px;background:#fff;color:#3c4043}.create:first-letter{color:#1a73e8}.mini{margin-top:45px;display:flex;flex-direction:column;gap:16px}.mini b{font-size:13px}.mini label{color:#5f6368}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 7px}.blue{background:#1a73e8}.green{background:#0f9d58}main{margin-left:235px;padding:18px 22px 30px}.weekdays,.grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays{border:1px solid #dadce0;border-bottom:0;border-radius:8px 8px 0 0}.weekdays div{text-align:center;color:#70757a;font-size:11px;font-weight:700;padding:12px}.grid{border:1px solid #dadce0;grid-auto-rows:minmax(108px,1fr);min-height:650px}.day{border-right:1px solid #dadce0;border-top:1px solid #dadce0;padding:6px;min-width:0}.day:nth-child(7n){border-right:0}.num{width:26px;height:26px;text-align:center;padding-top:5px;margin:auto;color:#3c4043}.muted .num{color:#9aa0a6}.current{background:#1a73e8;color:#fff;border-radius:50%}.event{display:block;color:#fff;border-radius:4px;padding:5px 6px;margin:4px 0;width:100%;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.event b{font-size:10px}.loading{color:#70757a;padding:12px}.error{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:#b3261e;color:#fff;padding:12px 18px;border-radius:4px}.notice{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:#323232;color:#fff;padding:12px 18px;border-radius:4px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0005;display:flex;align-items:center;justify-content:center;z-index:5}.dialog{background:#fff;border-radius:8px;box-shadow:0 8px 30px #0004;width:430px;padding:22px;display:flex;flex-direction:column;gap:14px}.dialog-head{display:flex;justify-content:space-between;font-size:20px;color:#202124}.dialog-head button{font-size:25px}.titleinput{font-size:22px;border:0;border-bottom:2px solid #1a73e8;padding:8px 0;outline:0}.dialog label{display:flex;flex-direction:column;gap:6px;color:#5f6368}.dialog input,.dialog select,.dialog textarea{border:1px solid #dadce0;border-radius:4px;padding:9px;background:#fff;color:#3c4043}.dialog textarea{min-height:60px;resize:vertical}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.dialog-actions button,.add{padding:10px 15px;border-radius:4px}.save{background:#1a73e8!important;color:#fff!important}.settings{width:600px}.settings h2{font-size:18px;font-weight:400;margin:8px 0 0}.sub{color:#5f6368;margin:0}.notification{display:flex;gap:8px;align-items:center}.notification select{flex:1}.notification button{color:#1a73e8}.add{color:#1a73e8;align-self:flex-start}@media (max-width:800px){.brand{margin-right:0}.brand span:last-child{display:none}.toolbar{position:static;width:auto;display:flex;padding:12px 18px}.mini{display:none}main{margin-left:0;padding:0 8px}.grid{min-height:500px;grid-auto-rows:minmax(80px,1fr)}header{padding:0 8px;gap:4px}h1{font-size:16px}.header-right{gap:8px}.today{padding:8px}.settings,.dialog{width:calc(100% - 24px)}.notification{flex-wrap:wrap}.notification select{min-width:130px}.day{padding:3px}.event{font-size:10px;padding:4px}.weekdays div{padding:8px 2px}}
