/* Workspace 4.3: roomy controls, responsive editors, calendar and finance. */
.kc-field-label{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0;margin:0;text-align:left;font-weight:400}
.kc-field-title{display:block;white-space:normal;overflow-wrap:anywhere;color:#566b59;font-size:12px;font-weight:650;line-height:1.5}
.kc-field-label .form-control,.kc-field-label .form-select{font-size:14px!important;line-height:1.5;min-height:46px;padding:11px 12px!important;max-width:none!important;width:100%;min-width:0}
.kc-field-label textarea{resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;overflow-y:auto;max-height:420px}
.kc-money-control{display:flex;align-items:stretch;width:100%;min-width:0;border:1px solid #dce4d5;border-radius:10px;background:#fff;overflow:visible}
.kc-money-control:focus-within{outline:3px solid #dfeaca;border-color:#648563}
.kc-money-unit{display:flex;align-items:center;justify-content:center;flex:0 0 45px;background:#edf2e5;color:#31594c;font-weight:700;font-size:13px;border-radius:9px 0 0 9px}
.kc-money-control .form-control{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0 9px 9px 0;flex:1;min-width:0!important}
.kc-form-workspace #kcEditor .row,.kc-form-workspace #eventEditor form.row,.kc-form-workspace #eventOperations form.row,.kc-form-workspace .item-row,.kc-form-workspace .date-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px;margin:0}
.kc-form-workspace #kcEditor .row>[class*="col-"],.kc-form-workspace #eventEditor form.row>[class*="col-"],.kc-form-workspace #eventOperations form.row>[class*="col-"]{width:auto;min-width:0;padding:0;margin:0;max-width:100%}
.kc-form-workspace #kcEditor .row>.col-12,.kc-form-workspace #eventEditor form.row>.col-12,.kc-form-workspace #eventOperations form.row>.col-12{grid-column:1/-1}
.kc-form-workspace #eventOperations>.row{display:block;margin:0}
.kc-form-workspace #eventOperations>.row>[class*="col-"]{width:100%;max-width:100%;padding:0;margin:20px 0}
.kc-form-workspace #eventOperations .card{padding:24px!important;background:#fff!important;border:1px solid #dfe6d8!important}
.kc-form-workspace #eventOperations h6{font-size:20px;margin:0 0 20px!important;line-height:1.5}
.kc-form-workspace #eventOperations summary{white-space:normal;line-height:1.7;padding-right:12px}
.kc-form-workspace .item-row,.kc-form-workspace .date-row{padding:18px!important;background:#f5f8ef;border:1px solid #e0e8d7;border-radius:12px;margin-bottom:14px!important;align-items:end}
.kc-form-workspace .btn{white-space:normal;overflow-wrap:anywhere;min-height:42px;height:auto;line-height:1.45}
.kc-form-workspace .input-group{gap:8px;flex-wrap:wrap;align-items:end}
.kc-form-workspace .input-group>.kc-field-label{flex:1 1 230px}
.kc-form-workspace .table-responsive:has(.kc-edit-table){overflow:visible}
.kc-edit-table,.kc-edit-table tbody{display:block!important;width:100%;table-layout:auto!important}
.kc-edit-table thead{display:none}
.kc-edit-table tbody tr{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:18px;padding:20px;margin:14px 0;border:1px solid #e0e8d7;border-radius:14px;background:#f7f9f3!important}
.kc-edit-table tbody td{display:flex!important;flex-direction:column;justify-content:end;align-items:stretch;gap:8px;width:auto!important;max-width:none!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;white-space:normal!important;text-align:left!important;overflow-wrap:anywhere}
.kc-edit-table td:before{display:none!important}.kc-edit-table td .action-buttons{display:flex;flex-wrap:wrap;gap:10px}.kc-edit-table td .btn-icon{padding:10px!important;min-width:46px;min-height:44px}
.kc-form-workspace .d-flex{min-width:0}.kc-form-workspace .text-nowrap{white-space:normal!important}
.kc-saving-notice{position:fixed;z-index:1085;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100vw - 28px);padding:12px 18px;border-radius:999px;background:#31594c;color:#fff;box-shadow:0 12px 34px rgba(25,53,43,.24);font-size:13px;font-weight:650;text-align:center}.kc-saving-notice.is-slow{border-radius:12px;background:#8b5b32}.kc-submit-spinner{display:inline-block;width:14px;height:14px;margin-right:5px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:kc-spin .7s linear infinite}@keyframes kc-spin{to{transform:rotate(360deg)}}
/* Calendar */
.kc-agenda-layout{display:grid!important;grid-template-columns:minmax(0,1fr);gap:24px;margin:0}
.kc-agenda-layout>[class*="col-"]{width:100%;padding:0;min-width:0}.kc-calendar-panel{padding:26px!important}
.calendar-header{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;padding:8px 0 20px}.cal-title{font-family:Georgia,serif;font-size:28px;font-weight:400}
.cal-nav{display:flex;flex-wrap:wrap;gap:8px}.cal-nav .btn{min-width:42px;min-height:42px;border-radius:10px!important;font-size:12px}.cal-nav select{width:auto;max-width:100%}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-dow{text-align:center;font-size:11px;letter-spacing:.08em;padding:12px 2px;color:#83917b}
.calendar-cell{min-width:0;min-height:135px;max-height:none!important;overflow:visible!important;padding:10px;border:1px solid #e2e8da;border-radius:12px!important;display:flex;flex-direction:column;gap:7px}.calendar-cell.muted{background:#f2f5eb!important;opacity:.65}.calendar-cell.is-today{box-shadow:inset 0 0 0 2px #6a8d57}
.date-badge{position:static!important;display:inline-grid;place-items:center;align-self:start;width:28px;height:28px;background:transparent;color:#536850;font-size:12px;border-radius:50%}.is-today .date-badge{background:#31594c;color:#fff}
.event-pin{display:flex!important;flex-direction:column;gap:3px;align-items:flex-start;width:100%;min-width:0;background:#e8efdc!important;color:#31594c!important;border:0!important;border-left:3px solid #809c62!important;border-radius:7px;padding:7px!important;cursor:pointer;text-align:left;white-space:normal!important;overflow:visible!important;font:inherit;line-height:1.4}
.event-pin .s{font-size:11px;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere}.event-pin .t{font-size:10px;font-weight:750;color:inherit}.event-pin.success{background:#dceee5!important;border-color:#4d9272!important}.event-pin.danger{background:#f7e6df!important;color:#945c4b!important;border-color:#c0836d!important}.event-pin.draft{background:#f7edcf!important;border-color:#c4a553!important}.event-pin:focus-visible{outline:3px solid #31594c;outline-offset:2px}
.calendar-year-wrapper{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.calendar-year-month{padding:20px;border:1px solid #e0e7d7;border-radius:14px;background:#fff}.calendar-year-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-year-grid .d{min-width:0;border:0;padding:6px 0;background:transparent;color:#536850;border-radius:7px}.calendar-year-grid .d.has{background:#dfeaC9;color:#31594c;font-weight:700}
.kc-calendar-list{display:grid;gap:12px}.kc-calendar-list button{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:18px;border:1px solid #dfe7d5;border-radius:12px;background:#fff;text-align:left;color:#31594c;min-width:0;overflow-wrap:anywhere}.kc-calendar-list small{display:block;color:#7c8c72;margin-top:5px}.kc-calendar-legend{display:flex;flex-wrap:wrap;gap:14px;padding:18px 0;color:#708466;font-size:11px}.kc-calendar-legend span:before{content:'';display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--dot,#809c62)}
/* Finance */
.kc-finance-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end}.kc-finance-filters label{flex:1 1 180px}.kc-finance-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.kc-finance-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.kc-finance-stat{border:1px solid #dce6d4;border-radius:18px;padding:24px;background:#fff;min-width:0}.kc-finance-stat span{font-size:12px;color:#7a8d70}.kc-finance-stat strong{display:block;font-size:clamp(20px,2.4vw,32px);letter-spacing:-.04em;margin:12px 0;overflow-wrap:anywhere}.kc-finance-stat small{color:#7a8d70;font-size:11px}.kc-finance-stat.balance{background:#31594c;color:#fff}.kc-finance-stat.balance span,.kc-finance-stat.balance small{color:#d3e2c6}
.kc-finance-chart{border:1px solid #dfe7d7;border-radius:20px;background:#fff;padding:26px}.kc-finance-chart-head{display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap}.kc-finance-chart-head h2{font-size:21px;margin-bottom:7px}.kc-finance-chart-head p{font-size:12px;margin:0;max-width:600px}.kc-chart-switch{display:flex;flex-wrap:wrap;gap:5px;padding:5px;background:#f0f4e9;border-radius:12px}.kc-chart-switch button{border:0;background:transparent;padding:10px 13px;border-radius:9px;color:#607650;font-size:12px}.kc-chart-switch button[aria-pressed=true]{background:#31594c;color:white}.kc-chart-canvas{position:relative;height:350px;margin-top:22px;min-width:0}.kc-chart-caption{padding-top:15px;font-size:11px;color:#7c8a70;line-height:1.6}.kc-chart-empty{padding:20px;background:#f5f8ef;border-radius:12px;margin:15px 0}.kc-finance-table{width:100%;font-size:13px}.kc-finance-table th,.kc-finance-table td{padding:12px;text-align:right;border-bottom:1px solid #e4eadf}.kc-finance-table th:first-child,.kc-finance-table td:first-child{text-align:left}
@media(max-width:800px){.kc-finance-stats{grid-template-columns:1fr}.kc-finance-stat{padding:20px}.kc-finance-chart{padding:18px}.kc-chart-canvas{height:300px}.kc-calendar-panel{padding:15px!important}.kc-calendar-panel #calendar{width:100%;max-width:100%;overflow:visible;padding:8px 0 0;border:0}.calendar-grid{width:100%;min-width:0;gap:4px}.calendar-cell{min-width:0;min-height:92px;padding:5px;gap:4px;overflow:hidden!important}.date-badge{width:23px;height:23px}.event-pin{padding:5px!important}.event-pin .s{font-size:9px;line-height:1.25}.event-pin .t{font-size:8px}.kc-form-workspace #eventOperations .card{padding:16px!important}.kc-edit-table tbody tr{padding:16px}.kc-calendar-list button{grid-template-columns:80px 1fr;gap:12px}.cal-title{font-size:25px}}
@media(max-width:600px){.kc-calendar-panel{padding:12px 8px!important}.kc-calendar-panel>.d-flex{padding:4px 4px 0;gap:8px}.kc-calendar-panel>.d-flex h2{font-size:18px}.kc-calendar-legend{gap:7px 12px;padding:14px 4px 8px;font-size:10px}.kc-calendar-mobile-help{margin:2px 4px 10px;color:#758570;font-size:10px;line-height:1.45}.calendar-header{padding:4px 4px 12px;gap:10px}.cal-title{width:100%;font-size:23px}.cal-nav{display:grid;grid-template-columns:34px minmax(70px,1fr) 34px minmax(70px,1fr);width:100%;gap:5px}.cal-nav .btn{min-width:0;min-height:36px;padding:6px 5px;font-size:10px}.calendar-dow{font-size:9px;letter-spacing:0;padding:7px 0}.calendar-grid{gap:3px;margin-top:5px}.calendar-cell{min-height:68px;padding:3px 2px;border-radius:8px!important;display:flex;flex-direction:column;align-content:stretch;justify-content:flex-start;gap:3px;overflow:hidden!important}.date-badge{flex:0 0 20px;width:100%;height:20px;justify-content:center;align-self:stretch;font-size:10px}.is-today .date-badge{width:20px;align-self:center;flex-basis:20px;margin:0;border-radius:50%}.event-pin{display:flex!important;flex:0 0 auto;width:100%!important;height:auto;min-height:0;padding:3px 2px!important;border:0!important;border-left:2px solid #809c62!important;border-radius:5px!important;background:#e8efdc!important;color:#31594c!important;box-shadow:none;overflow:hidden!important;gap:2px}.event-pin.success{background:#dceee5!important;border-color:#4d9272!important}.event-pin.draft{background:#f7edcf!important;border-color:#c4a553!important}.event-pin.danger{background:#f7e6df!important;color:#945c4b!important;border-color:#c0836d!important}.event-pin .t{display:block!important;max-width:100%;padding:1px 2px;border-radius:4px;background:rgba(255,255,255,.82);font-size:7px!important;line-height:1.05;overflow:hidden;text-overflow:ellipsis}.event-pin .s{display:-webkit-box!important;width:100%;font-size:7px!important;line-height:1.18;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.calendar-cell.muted .event-pin{opacity:.65}.calendar-year-wrapper{grid-template-columns:1fr;gap:12px}.calendar-year-month{padding:14px}.calendar-year-grid .d{min-height:30px}.kc-agenda-layout+.btn{width:100%}}
@media(max-width:360px){.calendar-grid{gap:2px}.calendar-cell{padding:3px 1px}.event-pin{padding:2px 1px!important}.event-pin .t,.event-pin .s{font-size:6.5px!important}}
@media(prefers-reduced-motion:reduce){.event-pin,.kc-chart-switch button{transition:none!important}}
