:root{color:#172327;font-synthesis:none;text-rendering:optimizelegibility;--teal:#147b78;--teal-dark:#0d615f;--teal-soft:#e5f3f2;--line:#dce3e4;--muted:#637277;--surface:#fff;--focus:#0a7374;background:#f5f7f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 32%, transparent);outline-offset:2px}.app-shell{grid-template-columns:210px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fbfcfc;flex-direction:column;height:100vh;padding:28px 16px;display:flex;position:sticky;top:0}.brand{color:var(--teal-dark);letter-spacing:-.03em;padding:0 12px 30px;font-size:24px;font-weight:750}.sidebar nav{gap:6px;display:grid}.sidebar-account{border-top:1px solid var(--line);color:var(--muted);gap:5px;margin-top:auto;padding:14px 12px 0;font-size:12px;display:grid}.sidebar-account button{width:max-content;color:var(--teal-dark);background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.centered-state,.login-page{place-items:center;min-height:100vh;display:grid}.login-page{padding:20px}.login-card{border:1px solid var(--line);background:#fff;border-radius:10px;gap:16px;width:min(360px,100%);padding:26px;display:grid}.login-card h1{color:var(--teal-dark)}.login-card label{color:#46565b;gap:6px;font-size:13px;font-weight:650;display:grid}.nav-item{color:#405056;text-align:left;background:0 0;border:0;border-radius:8px;width:100%;padding:11px 12px;font-weight:600}.nav-item:hover{background:#f0f4f4}.nav-item.active{color:var(--teal-dark);background:var(--teal-soft)}.main{min-width:0;padding:28px 30px 40px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.025em;margin-bottom:4px;font-size:28px;line-height:1.2}.page-header p{color:var(--muted);margin-bottom:0}.primary-button,.secondary-button{border-radius:8px;min-height:40px;padding:0 16px;font-weight:700}.primary-button{border:1px solid var(--teal);color:#fff;background:var(--teal)}.primary-button:hover{background:var(--teal-dark)}.primary-button:disabled{cursor:wait;opacity:.6}.secondary-button{border:1px solid var(--line);color:#27363b;background:#fff}.filters{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:flex-end;gap:16px;margin-bottom:16px;padding:14px;display:flex}.chip-row{flex-wrap:wrap;flex:1;gap:7px;display:flex}.filter-chip{color:#304044;background:#f8f9f9;border:1px solid #cfd8d9;border-radius:7px;min-height:36px;padding:0 11px}.filter-chip.selected{border-color:var(--teal);color:#fff;background:var(--teal)}.filters label,.dialog label{color:#46565b;gap:6px;font-size:13px;font-weight:650;display:grid}select,input,textarea{color:#1b292d;background:#fff;border:1px solid #cbd5d6;border-radius:7px;min-height:40px;padding:0 10px}textarea{resize:vertical;min-height:82px;padding:9px 10px}.workspace{grid-template-columns:minmax(720px,1fr) 310px;align-items:start;gap:16px;display:grid}.calendar-scroll{overscroll-behavior-inline:contain;border-radius:10px;min-width:0;max-width:100%;overflow-x:auto}.calendar-card{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-rows:48px 680px;grid-template-columns:68px repeat(5,minmax(140px,1fr));min-width:768px;display:grid;overflow:hidden}.calendar-header-spacer,.day-header{border-bottom:1px solid var(--line);background:#fbfcfc;place-items:center;font-size:13px;font-weight:750;display:grid}.day-header{border-left:1px solid var(--line)}.time-axis{color:#57676c;font-size:12px;position:relative}.time-axis span{position:absolute;right:10px;transform:translateY(-50%)}.time-axis span:first-child{transform:none}.time-axis span:last-child{transform:translateY(-100%)}.day-column{border-left:1px solid var(--line);cursor:crosshair;background-image:repeating-linear-gradient(#0000 0 calc(2.5% - 1px),#f1f4f4 calc(2.5% - 1px) 2.5%),repeating-linear-gradient(#0000 0 calc(10% - 1px),#dfe5e6 calc(10% - 1px) 10%);position:relative}.availability-block{z-index:2;color:#173c2d;text-align:left;background:#eaf4ec;border:1px solid #9fc9b2;border-radius:6px;min-height:28px;padding:5px 6px;line-height:1.25;position:absolute;overflow:hidden}.availability-block strong,.availability-block span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.availability-block strong{font-size:12px}.availability-block span{margin-top:2px;font-size:10px}.availability-block.category-hand{color:#183753;background:#e8f2fa;border-color:#9dbfdf}.availability-block.category-neurologisch{color:#3a2d59;background:#f0ecf8;border-color:#b8aad8}.availability-block.category-psych{color:#50391b;background:#f7efe3;border-color:#d0b48d}.availability-block.category-kinder-gruppe{color:#542b45;background:#f8eaf2;border-color:#d7a8c5}.availability-block.fully-flexible{z-index:1;color:#174947;background:repeating-linear-gradient(135deg,#147b7812 0 7px,#ffffff80 7px 14px),#edf7f6;border-style:dashed;border-color:#68a9a5}.selected-slot{z-index:4;border:2px solid var(--teal);min-height:38px;color:var(--teal-dark);pointer-events:none;background:#ffffffe6;border-radius:6px;place-items:center;font-size:12px;font-weight:800;display:grid;position:absolute;left:4px;right:4px}.match-panel{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:400px;padding:18px}.slot-editor{border-bottom:1px solid var(--line);gap:7px;padding-bottom:18px;display:grid}.slot-editor h2{color:var(--teal-dark);margin-bottom:4px;font-size:18px}.slot-editor>span{color:#4f5e63;font-size:14px}.tag-list{color:var(--muted);flex-wrap:wrap;gap:6px;margin:4px 0;font-size:13px;display:flex}.tag{color:var(--teal-dark);background:var(--teal-soft);border-radius:5px;padding:4px 7px}.match-section{padding-top:18px}.match-section h3{color:#35454a;justify-content:space-between;margin-bottom:10px;font-size:14px;display:flex}.match-section h3 span{color:var(--muted);font-weight:600}.match-card{background:#fbfdfb;border:1px solid #b8d1c0;border-radius:7px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:8px;padding:11px;display:grid}.match-card.near{background:#fbfcfd;border-color:#b7c9d9}.avatar{color:#215039;background:#e5f0e8;border-radius:50%;place-items:center;width:36px;height:36px;font-size:12px;font-weight:800;display:grid}.match-info{gap:2px;min-width:0;display:grid}.match-info strong,.match-info span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.match-info strong{font-size:13px}.match-info span{color:var(--muted);font-size:11px}.text-button{color:var(--teal-dark);background:0 0;border:0;padding:4px;font-size:12px;font-weight:750}.text-button:hover{text-decoration:underline}.status-dot{color:#536267;font-size:11px}.table-card{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #e7ebec;padding:13px 16px}th{color:#59686d;background:#fafbfb;font-size:12px;font-weight:750}tbody tr:last-child td{border-bottom:0}.comment-cell{text-overflow:ellipsis;max-width:280px;overflow:hidden}.error-banner,.form-error{color:#7c2920;background:#fff1f0;border:1px solid #e7b3ae;border-radius:7px;padding:10px 12px;font-size:13px}.error-banner{margin-bottom:14px}.dialog-backdrop{z-index:20;background:#1723276b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:12px;width:min(680px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 20px 60px #14232633}.dialog form{gap:18px;padding:22px;display:grid}.dialog-header,.dialog-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog-header h2{margin:0;font-size:20px}.close-button,.remove-button{color:#59686d;background:0 0;border:0;font-size:24px;line-height:1}.remove-button:disabled{cursor:default;opacity:.25}.form-grid.two-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}fieldset{border:0;min-width:0;margin:0;padding:0}legend{color:#46565b;margin-bottom:8px;font-size:13px;font-weight:700}.check-row{flex-wrap:wrap;gap:8px;display:flex}.check-chip{border:1px solid var(--line);cursor:pointer;background:#fafbfb;border-radius:7px;align-items:center;min-height:36px;padding:0 10px;color:#314146!important;grid-template-columns:none!important;gap:7px!important;display:flex!important}.check-chip:has(input:checked){background:var(--teal-soft);border-color:#8bbdbb;color:var(--teal-dark)!important}.check-chip input{width:15px;min-height:15px;accent-color:var(--teal);margin:0}.availability-form-list{gap:8px;display:grid}.availability-choice{margin-bottom:10px}.availability-row{grid-template-columns:1fr 105px auto 105px 28px;align-items:center;gap:8px;display:grid}.add-window{margin-top:7px;padding-left:0}.dialog-actions{justify-content:flex-end;padding-top:4px}.empty-state{color:var(--muted);padding:30px}@media (width<=1320px){.workspace{grid-template-columns:minmax(0,1fr)}.match-panel{width:100%}}@media (width<=760px){.app-shell{display:block}.sidebar{z-index:12;border-right:0;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;width:100%;height:auto;padding:10px 14px 8px;display:grid;position:sticky;box-shadow:0 2px 10px #1723270d}.sidebar-account{border:0;grid-area:1/2;align-items:center;gap:8px;min-width:0;margin:0;padding:0;display:flex}.sidebar-account span{text-overflow:ellipsis;white-space:nowrap;max-width:112px;overflow:hidden}.sidebar-account button{min-height:40px;padding:0 4px}.brand{padding:0;font-size:20px}.sidebar nav{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.nav-item{text-align:center;width:100%;min-height:42px;padding:8px 5px;font-size:13px}.main{padding:20px 14px 30px}.page-header{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:18px}.page-header .primary-button{width:100%;min-height:44px}h1{font-size:26px}.page-header p{font-size:14px}.filters{flex-direction:column;align-items:stretch;gap:12px;padding:12px}.chip-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.filter-chip{width:100%;min-height:42px}.filters select{width:100%;min-height:44px}.workspace{flex-direction:column;gap:14px;display:flex}.calendar-scroll{width:calc(100% + 28px);max-width:none;margin:0 -14px;padding:0 14px 8px;scroll-padding-left:14px}.calendar-card{grid-template-rows:44px 620px;grid-template-columns:56px repeat(5,112px);min-width:616px}.calendar-header-spacer,.time-axis{z-index:6;background-color:#fff;position:sticky;left:0}.calendar-header-spacer{z-index:8;background-color:#fbfcfc}.time-axis span{right:8px}.match-panel{min-height:0;padding:14px}.table-card{overscroll-behavior-inline:contain;max-width:100%}.table-card table{min-width:860px}.table-card th:first-child,.table-card td:first-child{z-index:1;position:sticky;left:0}.table-card th:first-child{background:#fafbfb}.table-card td:first-child{background:#fff}.dialog-backdrop{align-items:end;padding:0}.dialog{border-radius:14px 14px 0 0;width:100%;max-height:100dvh}.dialog form{gap:16px;padding:16px}.dialog-header{z-index:3;border-bottom:1px solid var(--line);background:#fff;margin:-16px -16px 0;padding:16px;position:sticky;top:0}.dialog-actions{z-index:3;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;margin:0 -16px -16px;position:sticky;bottom:0}.dialog-actions button{flex:1;min-height:44px}.close-button,.remove-button{min-width:44px;min-height:44px}.form-grid.two-columns{grid-template-columns:1fr}.availability-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}.availability-row select{grid-column:1/-1}.availability-row>span{display:none}.availability-row input,.availability-row select,.dialog input,.dialog select{min-height:44px}.check-chip{min-height:42px}.login-page{padding:14px}.login-card{padding:20px}}@media (width<=360px){.nav-item{letter-spacing:-.02em;padding-left:0;padding-right:0;font-size:12px}.sidebar-account span{display:none}}
