.clb{--clb-surface:var(--cl-surface,#ffffff);--clb-text:var(--cl-text,#12211d);--clb-muted:var(--cl-text-muted,#4c6259);--clb-border:var(--cl-border,#e1dacb);--clb-hover:var(--cl-bg-subtle,#f2efe7);--clb-forest:var(--cl-forest,#1b433b);--clb-moss:var(--cl-moss,#2e6355);--clb-paper:var(--cl-paper,#fbf9f4);--clb-danger:var(--cl-critical,#b5563f);color:var(--clb-text);font-family:var(--cl-font-body,ui-sans-serif,system-ui,sans-serif);font-size:15px;line-height:1.45}.clb *,.clb :after,.clb :before{box-sizing:border-box}.clb p{margin:0}.clb :focus-visible{outline:2px solid var(--clb-forest);outline-offset:2px}.clb-intro,.clb-muted{color:var(--clb-muted)}.clb-intro{margin-bottom:20px!important}.clb-loading{padding:48px 0;text-align:center}.clb-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border:0;border-radius:8px;background:var(--clb-forest);color:var(--clb-paper);font:inherit;font-weight:600;cursor:pointer}.clb-button:hover{background:var(--clb-moss)}.clb-button:disabled{opacity:.6;cursor:progress}.clb-button-lg{height:52px;padding:0 24px;font-size:16px}.clb-icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--clb-muted);cursor:pointer}.clb-icon-button:hover:not(:disabled){background:var(--clb-hover);color:var(--clb-text)}.clb-icon-button:disabled{opacity:.3;cursor:default}.clb-error{margin:16px 0!important;padding:10px 14px;border-radius:6px;background:color-mix(in srgb,var(--clb-danger) 10%,transparent);color:var(--clb-danger);font-size:14px}.clb-card{overflow:hidden;border:1px solid var(--clb-border);border-radius:16px;background:var(--clb-surface)}.clb-head{padding:16px 20px;border-bottom:1px solid var(--clb-border)}.clb-head-row{display:flex;align-items:center;gap:12px}.clb-head-title{font-size:14px;font-weight:600}.clb-head-sub{color:var(--clb-muted);font-size:12px}.clb-progress{display:flex;gap:6px;margin-top:12px}.clb-progress span{flex:1;height:4px;border-radius:999px;background:var(--clb-border)}.clb-progress span[data-on]{background:var(--clb-forest)}.clb-body{padding:20px}.clb-month{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:14px;font-weight:600}.clb-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;justify-items:center}.clb-weekday{padding:4px 0;color:var(--clb-muted);font-size:12px;font-weight:500}.clb-day{position:relative;width:36px;height:36px;border:0;border-radius:999px;background:transparent;color:color-mix(in srgb,var(--clb-muted) 45%,transparent);font:inherit;font-size:14px}.clb-day[data-today]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--clb-forest) 50%,transparent)}.clb-day[data-free]{color:var(--clb-text);font-weight:600;cursor:pointer}.clb-day[data-free]:after{content:"";position:absolute;bottom:3px;left:50%;width:4px;height:4px;border-radius:999px;background:var(--clb-forest);transform:translateX(-50%)}.clb-day[data-free]:hover{background:var(--clb-hover)}.clb-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.clb-time{padding:10px 8px;border:1px solid var(--clb-border);border-radius:10px;background:var(--clb-paper);color:var(--clb-text);font:inherit;font-size:14px;font-weight:500;cursor:pointer}.clb-time:hover{border-color:var(--clb-forest);background:var(--clb-hover)}.clb-form{display:flex;flex-direction:column;gap:14px}.clb-row{display:grid;gap:14px}@media (min-width:560px){.clb-row{grid-template-columns:1fr 1fr}}.clb-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500}.clb-field input,.clb-field textarea{width:100%;padding:10px 12px;border:1px solid var(--clb-border);border-radius:8px;background:var(--clb-surface);color:var(--clb-text);font:inherit;font-weight:400}.clb-field textarea{resize:vertical}.clb-field input:focus,.clb-field textarea:focus{border-color:var(--clb-forest);outline:none}.clb-form .clb-button{width:100%}.clb-done{display:flex;flex-direction:column;gap:10px;padding:32px}.clb-check{color:var(--clb-forest)}.clb-done-title{font-size:20px;font-weight:700}.clb-note{margin-top:6px!important;padding:10px 14px;border-radius:6px;background:var(--clb-hover);color:var(--clb-muted);font-size:14px}