:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#21352f;background:#f2f3ee;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #6ea491;outline-offset:3px}.shell{max-width:1120px;margin:auto;padding:32px 30px 50px}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:26px;border-bottom:1px solid #d8ded7}.brand{display:flex;gap:13px;align-items:center;font-size:13px;letter-spacing:2px;font-weight:700}.mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid #aabbb0;border-radius:50%;font:23px Georgia}.eyebrow{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:#708279}.badge{font-size:11px;padding:7px 11px;border-radius:20px;background:#e1e9df;color:#526653}.title{margin:30px 0 23px;display:flex;align-items:end;justify-content:space-between;gap:20px}h1{font-family:Georgia,serif;font-weight:400;font-size:40px;letter-spacing:-1px;margin:8px 0 12px}p{color:#718078;font-size:14px;line-height:1.7;margin:0}.tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.tab{border:1px solid #dce1da;background:#fafbf8;border-radius:11px;padding:13px 25px;color:#647369}.tab.active{background:#244b3c;color:white;border-color:#244b3c}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid #d3dbd2;border-radius:9px;padding:11px 16px;background:transparent;color:inherit;text-decoration:none;font-size:13px;font-weight:600;min-height:42px}.primary{background:#284f40;border-color:#284f40;color:white}.calendar{background:#fff;border:1px solid #dee4dc;border-radius:18px;padding:25px}.calhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px}.month{font-family:Georgia,serif;font-size:26px}.nav{display:flex;gap:7px}.nav button{border:1px solid #dde2da;background:transparent;color:inherit;border-radius:8px;min-width:42px;height:40px;font-size:20px}.nav .today{font:12px inherit;width:auto;padding:0 12px}.week,.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.week{font-size:11px;text-align:center;color:#829086;margin-bottom:12px}.cell{min-width:0;min-height:100px;border:1px solid #e4e9e0;border-radius:11px;padding:12px;text-align:left;display:flex;flex-direction:column;align-items:start;gap:9px;background:#fff;color:#26392e;position:relative}.cell.empty{visibility:hidden}.cell .date{font-size:18px;font-weight:500}.cell .status{font-size:10px;font-weight:700;letter-spacing:.4px}.cell .note{font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#384737}.cell:hover{filter:brightness(.97)}.cell.current .date{text-decoration:underline;text-underline-offset:4px}.cell.unverified{background:repeating-linear-gradient(135deg,#f2f3f0,#f2f3f0 6px,#e9ece6 6px,#e9ece6 7px);color:#677363}.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;color:#718078;margin-top:23px}.legend span{display:flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.bottom{margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.notice{font-size:12px;color:#75847a;max-width:620px}.sync{font-size:11px;color:#739583}.error{padding:12px;border:1px solid #d8a39c;color:#9f3a30;background:#fff3ef;border-radius:8px;font-size:13px;line-height:1.6;margin:12px 0}.hide{display:none!important}.guest{color:#e8ebe3;background:#111a18;min-height:100vh}.guest .shell{max-width:970px;padding-top:36px}.guest .top{border-color:#2d3932}.guest .mark{border-color:#647b65;color:#c3d3b5}.guest .brand{color:#d4dece}.guest .badge{background:#22342b;color:#a6bfa7}.guest .title{margin:43px 0 32px}.guest h1{font-size:45px;color:#eef0e5}.guest p{color:#8fa095}.guest .eyebrow{color:#9aaa8d}.guest .calendar{background:#19231f;border-color:#344236;padding:28px}.guest .month{font-size:27px;color:#e1e6d8}.guest .nav button{border-color:#3a493d}.guest .cell{background:#1e342b;border-color:#365344;color:#a6d9b7;min-height:106px;padding:14px}.guest .cell.sold{background:#3b2528;border-color:#633c42;color:#efa1a7}.guest .cell .date{font-size:22px;color:#e2e6db}.guest .cell .status{font-size:10px;letter-spacing:1px}.guest .week{color:#98a68e}.guest .legend{color:#9baa99}.guest .btn{border-color:#405443}.guest .primary{background:#c6d6b8;border-color:#c6d6b8;color:#1c3429;padding:15px 24px}.guest .bottom{align-items:start;margin-top:26px}.guest footer{border-top:1px solid #2e3b32;margin-top:40px;padding-top:20px;font-size:11px;color:#778a7c;display:flex;justify-content:space-between}.guest .error{background:#332823;color:#e8b4a7;border-color:#523b32}dialog{border:1px solid #dce2d9;border-radius:18px;padding:0;width:min(480px,calc(100% - 28px));color:#263a2f;box-shadow:0 25px 100px #0003}dialog::backdrop{background:#10271dcc;backdrop-filter:blur(3px)}.modalhead{padding:24px 25px 15px;display:flex;justify-content:space-between;align-items:center}.modalhead h2{font:25px Georgia;margin:0}.modalhead button{border:0;background:transparent;font-size:25px;color:#637669}.form{padding:0 25px 25px}.form label{display:block;font-size:12px;font-weight:600;margin:16px 0 7px}.form input:not([type=checkbox]),.form select{width:100%;height:45px;border:1px solid #d1dbd0;border-radius:8px;padding:9px;background:white;color:#2d4134}.form input[type=color]{padding:4px;max-width:65px}.row{display:flex;gap:12px}.row>div{flex:1;min-width:0}.hint{font-size:11px;line-height:1.6;color:#7b897d;margin-top:7px}.check{display:flex!important;gap:10px;line-height:1.5;align-items:start}.form .actions{margin-top:23px;justify-content:end}.login{max-width:420px;margin:60px auto;padding:30px;background:white;border:1px solid #dce3d8;border-radius:18px}.login h1{font-size:31px}.login .form{padding:0}.login .btn{width:100%;margin-top:20px}.demo-banner{background:#dfcda7;color:#453b28;text-align:center;padding:10px 15px;font-size:12px}.demo-links{display:flex;gap:10px;justify-content:center;padding:12px;flex-wrap:wrap}.demo-links a{font-size:12px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:13px 20px;border-radius:12px;background:#244b3c;color:white;font-size:13px;box-shadow:0 8px 30px #0002;z-index:20;max-width:90vw}.guide{margin-top:18px;font-size:12px;color:#6f8071;line-height:1.8}.guide summary{cursor:pointer}#msg{min-height:1px}@media(max-width:640px){.shell{padding:20px 14px 30px}.top{padding-bottom:20px}.title{margin:24px 0 20px;align-items:start;flex-direction:column;gap:8px}h1{font-size:31px}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.tab{padding:11px 2px;font-size:12px}.calendar,.guest .calendar{padding:16px 10px;border-radius:14px}.grid,.week{gap:4px}.week{font-size:9px}.cell,.guest .cell{min-height:75px;padding:9px 4px;border-radius:8px;gap:8px}.cell .date,.guest .cell .date{font-size:18px}.cell .status,.guest .cell .status{font-size:8px;letter-spacing:0}.cell .note{font-size:9px}.month,.guest .month{font-size:22px}.calhead{margin-bottom:20px}.nav button{min-width:36px;height:36px}.nav .today{display:none}.legend{gap:12px}.bottom,.guest .bottom{flex-direction:column;align-items:stretch}.guest .shell{padding-top:24px}.guest h1{font-size:35px}.guest .title{margin:30px 0 22px}.guest .cell{min-height:82px}.brand{font-size:11px;letter-spacing:1.5px}.badge{font-size:9px}.login{margin:35px auto;padding:24px}.guest footer{gap:20px}.row{gap:9px}}
