:root{--color-surface: #fffdf8;--color-surface-muted: #fff1df;--color-surface-blue: #dff4f8;--color-border: #ead8c6;--color-border-strong: #d7b89a;--color-text: #29231f;--color-text-muted: #7a6a5e;--color-primary: #e8893f;--color-primary-hover: #c96f2f;--color-primary-soft: #ffe7cf;--color-secondary: #80cdd9;--color-secondary-soft: #e4f8fb;--color-danger: #b42318;--color-danger-soft: #fff0ed;--color-warning-soft: #fff2bf;--shadow-soft: 0 14px 34px rgb(91 63 38 / .12);--shadow-card: 0 20px 48px rgb(91 63 38 / .16);--radius-sm: .5rem;--radius-md: .85rem;--radius-lg: 1.25rem}*{box-sizing:border-box}html{min-height:100%;background:var(--color-background);color:var(--color-text)}body{min-height:100%;margin:0;background:radial-gradient(circle at top left,rgba(128,205,217,.38),transparent 24rem),radial-gradient(circle at top right,rgba(232,137,63,.22),transparent 26rem),linear-gradient(180deg,#fff9f1,#fff3e4 52%,#f9ecdc);color:var(--color-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}a{color:var(--color-primary-hover);font-weight:700}a:hover{color:var(--color-primary)}button,input,select,textarea{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.35rem;padding:.55rem .9rem;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-surface);color:var(--color-text);font-weight:750;line-height:1.2;cursor:pointer}button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-hover)}button:disabled{cursor:not-allowed;opacity:.65}input,select,textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:#fff;color:var(--color-text)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(232,137,63,.22);border-color:var(--color-primary)}textarea{min-height:7rem;resize:vertical}label{color:var(--color-text);font-weight:750}label input,label select,label textarea{margin-top:.15rem;font-weight:400}.page-header{padding:1.35rem;border:1px solid rgba(234,216,198,.9);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fffdf8f2,#fff1dfe6);box-shadow:var(--shadow-soft)}.page-header h2,.page-header h3,.page-header p{margin-top:0}.page-header h2{font-size:clamp(1.55rem,2vw,2.15rem);line-height:1.1;letter-spacing:-.03em}.page-header p{max-width:54rem;color:var(--color-text-muted)}.primary-action,.secondary-action,.action-links a,.row-actions a{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.35rem;padding:.55rem .9rem;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-surface);color:var(--color-text);font-weight:750;line-height:1.2;text-decoration:none}.primary-action:hover,.secondary-action:hover,.action-links a:hover,.row-actions a:hover{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-hover)}.primary-action{border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary),#f0a761);color:#fff;box-shadow:0 8px 18px #e8893f3d}.primary-action:hover{background:linear-gradient(135deg,var(--color-primary-hover),var(--color-primary));color:#fff}.error-message{padding:.85rem 1rem;border:1px solid rgba(180,35,24,.35);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger)}.error-message p{margin:0}.secondary-line,.cat-name-summary,.action-unavailable,.calendar-help,.empty-options{color:var(--color-text-muted)}@media(max-width:900px){.page-header{padding:1rem}.page-header{display:grid}.owners-table,.cats-table,.vets-table,.stays-table{display:block;overflow-x:auto;white-space:nowrap}}@media(max-width:520px){body{font-size:.95rem}.page-header h2{font-size:1.35rem}.page-header p{font-size:.95rem}.owner-form,.cat-form,.vet-form,.stay-form,.login-form{padding:1rem;border-radius:var(--radius-md)}input,select,textarea{padding:.55rem .65rem}button,.primary-action,.secondary-action,.action-links a,.row-actions a{min-height:2.2rem;padding:.45rem .7rem}}:where(.owners-table,.cats-table,.vets-table,.stays-table){width:100%;border-collapse:separate;border-spacing:0;border:1px solid rgba(234,216,198,.95);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-soft);overflow:hidden}:where(.owners-table,.cats-table,.vets-table,.stays-table) th,:where(.owners-table,.cats-table,.vets-table,.stays-table) td{padding:.85rem .95rem;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}:where(.owners-table,.cats-table,.vets-table,.stays-table) th{background:linear-gradient(180deg,#fff1dff2,#fff9f1f2);color:#6d5140;font-size:.78rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}:where(.owners-table,.cats-table,.vets-table,.stays-table) td{color:var(--color-text)}:where(.owners-table,.cats-table,.vets-table,.stays-table) tbody tr:last-child td{border-bottom:0}:where(.owners-table,.cats-table,.vets-table,.stays-table) tbody tr:nth-child(2n) td{background:#fffaf2}:where(.owners-table,.cats-table,.vets-table,.stays-table) tbody tr:hover td{background:var(--color-secondary-soft)}.owner-form,.cat-form,.vet-form,.stay-form,.login-form{position:relative;display:grid;gap:1rem;max-width:34rem;padding:1.35rem;border:1px solid rgba(234,216,198,.95);border-radius:var(--radius-lg);background:linear-gradient(145deg,#fffdf8fa,#fff7edf2);box-shadow:var(--shadow-soft)}.owner-form:before,.cat-form:before,.vet-form:before,.stay-form:before,.login-form:before{content:"";position:absolute;top:0;left:1.25rem;right:1.25rem;height:.25rem;border-radius:0 0 999px 999px;background:linear-gradient(90deg,var(--color-secondary),var(--color-primary))}.form-actions{display:flex;flex-wrap:wrap;gap:.75rem;padding-top:.35rem}.status-filters,.calendar-display-options,.stay-search-filters{padding:.9rem;border:1px solid rgba(234,216,198,.95);border-radius:var(--radius-lg);background:#fffdf8eb;box-shadow:var(--shadow-soft)}.status-filter,.calendar-display-option{display:inline-flex;gap:.4rem;align-items:center;width:fit-content;padding:.45rem .7rem;border:1px solid var(--color-border);border-radius:999px;background:#fffaf2;color:var(--color-text-muted);font-weight:750}.status-filter input,.calendar-display-option input,.checkbox-field input{width:auto;margin:0}fieldset{display:grid;gap:.55rem;padding:1rem;border:1px solid rgba(234,216,198,.95);border-radius:var(--radius-md);background:#fffaf2d1}legend{padding:0 .35rem;color:#6d5140;font-weight:850}.checkbox-field{display:flex;gap:.5rem;align-items:center}input[type=checkbox]{width:auto;margin:0;padding:0;accent-color:var(--color-primary)}.owners-overview-page>p,.cats-overview-page>p,.vets-overview-page>p,.stays-overview-page>p,.calendar-page>p{width:fit-content;max-width:100%;margin:0;padding:.85rem 1rem;border:1px solid rgba(234,216,198,.95);border-radius:var(--radius-md);background:#fffdf8eb;box-shadow:var(--shadow-soft);color:var(--color-text-muted);font-weight:650}:where(.owners-table,.cats-table,.vets-table,.stays-table) td a:not(.primary-action):not(.secondary-action){display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.35rem .65rem;border:1px solid var(--color-border-strong);border-radius:999px;background:#fffaf2;color:var(--color-primary-hover);font-size:.92rem;font-weight:800;line-height:1.2;text-decoration:none}:where(.owners-table,.cats-table,.vets-table,.stays-table) td a:not(.primary-action):not(.secondary-action):hover{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-hover)}.status-filter:hover,.calendar-display-option:hover{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-hover)}
