:root{font-family:DM Sans,system-ui,sans-serif;color:#2d2335;background:#f6f5f7;font-synthesis:none;--brand:#642c95;--border:#e6e3e9;--muted:#807886}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{cursor:pointer}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #ad85cc;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif}h1{font-size:32px;letter-spacing:-1px;line-height:1.3}h2{font-size:18px;letter-spacing:-.3px}p{line-height:1.65}small{color:var(--muted);font-size:12px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#847192;display:block;margin-bottom:12px}.primary{background:var(--brand);color:#fff;border-radius:9px;padding:12px 19px;font-size:13px;font-weight:600;box-shadow:0 3px 6px #3e175c10}.primary:hover{background:#48216e}.secondary{border:1px solid var(--border);background:#fff;border-radius:9px;padding:11px 16px;font-size:13px}.brand{display:flex;gap:9px;align-items:center;color:#fff;font-size:28px;font-weight:700;letter-spacing:-1.4px}.brand svg{color:#29c5ea;transform:rotate(-12deg)}.brand span{font-size:9px;letter-spacing:1px;padding:4px 5px;border:1px solid #ffffff35;border-radius:4px;margin-left:4px;color:#c8b7d5}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{background:#542888;color:#fff;padding:58px 70px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story:after{content:"";width:500px;height:500px;border:1px solid #c4a8da20;border-radius:50%;position:absolute;bottom:-310px;right:-80px;box-shadow:0 0 0 80px #ffffff03,0 0 0 160px #ffffff03}.login-story h1{font-size:49px;line-height:1.3;font-weight:500;letter-spacing:-2px;margin:20px 0}.login-story em{font-style:normal;color:#46d3ed}.login-story p{color:#cbc1d2;max-width:330px;font-size:15px}.login-story small{color:#9c8ca9}.login-form{display:flex;align-items:center;justify-content:center;padding:40px}.login-card{width:350px}.login-card h2{font-size:25px;margin-top:25px;margin-bottom:10px}.login-card p{font-size:14px;color:var(--muted);margin-bottom:32px}.login-card .primary{width:100%;margin-top:15px;justify-content:space-between}.login-card>small{display:flex;gap:8px;justify-content:center;margin-top:30px}.login-card label{margin-bottom:18px}.app{display:flex;min-height:100vh}.sidebar{width:244px;background:#542888;color:#ded8e3;position:fixed;inset:0 auto 0 0;padding:33px 20px;display:flex;flex-direction:column;z-index:30}.sidebar .brand{margin:0 12px 33px}.clinic{display:flex;gap:12px;align-items:center;border:1px solid #ffffff12;background:#ffffff04;padding:15px 12px;border-radius:10px;font-size:12px;font-weight:500;margin-bottom:36px}.clinic small{display:block;color:#aa9bb5;font-size:10px;margin-top:5px}.clinic-mark{color:#42d0ed}.nav-label{font-size:9px;letter-spacing:1.6px;color:#9785a5;margin:0 12px 15px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav button{justify-content:flex-start;padding:13px 14px;border-radius:8px;color:#b5a9bf;font-size:13px}.sidebar nav button.active{background:#29c5ea;color:#302045;font-weight:600}.sidebar nav button span{flex:1;text-align:left}.sidebar nav button:hover:not(.active){background:#ffffff09}.sidebar-bottom{margin-top:auto;padding-top:25px;border-top:1px solid #ffffff15;display:flex;gap:10px;align-items:center;font-size:12px}.sidebar-bottom div{flex:1;overflow:hidden}.sidebar-bottom small{display:block;font-size:10px;color:#a494b0;margin-top:4px}.avatar{width:32px;height:32px;flex-shrink:0;background:#ffffff12;border:1px solid #ffffff20;border-radius:50%;display:grid;place-items:center;color:#c4a8da}.workspace{margin-left:244px;flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--border);padding:0 42px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#908a94}.topbar strong{color:#43374c;font-weight:500;margin-left:6px}.topbar>div{display:flex;align-items:center;gap:10px}.secure-dot{width:6px;height:6px;background:#29c5ea;border-radius:50%}.content{padding:42px;max-width:1520px;width:100%;margin:0 auto;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:16px}.page-heading p{font-size:13px;color:var(--muted);margin-top:9px}.page-heading .eyebrow{margin-bottom:8px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:27px}.stat{border:1px solid var(--border);border-radius:13px;background:#fff;padding:23px;display:grid;grid-template-columns:1fr auto}.stat .icon-tile{grid-column:2;grid-row:1 / 4;width:44px;height:44px}.stat>span:not(.icon-tile){font-size:12px;color:#746c7b;padding-top:2px}.stat strong{font-family:Manrope,sans-serif;font-size:34px;letter-spacing:-1px;margin:10px 0 14px;line-height:1}.stat small{font-size:11px}.icon-tile{display:grid;place-items:center;background:#efe9f3;color:#624379;border-radius:12px;width:48px;height:48px}.dashboard-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:24px}.panel{background:#fff;border:1px solid var(--border);border-radius:13px;overflow:hidden}.panel-heading{padding:23px 25px;display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-heading p{color:var(--muted);font-size:11px;margin-top:6px}.text-button{font-size:11px;color:#65487c;font-weight:600;padding:6px}.patient-row{display:flex;width:100%;padding:18px 25px;border-top:1px solid #efecf2;justify-content:flex-start;gap:14px;text-align:left}.patient-row:hover{background:#f9f6fb}.patient-row>div{flex:1}.patient-row strong{font-size:12px;display:block}.patient-row small{display:block;font-size:10px;margin-top:4px}.animal-avatar{background:#f0edf3;color:#9078a3;border-radius:11px;width:38px;height:38px;display:grid;place-items:center;flex-shrink:0}.tag{font-size:9px;background:#efe8f4;color:#795a91;padding:5px 8px;border-radius:5px;white-space:nowrap;display:inline-block}.tag.muted{color:#947767;background:#f4eeeb}.care-card{border-radius:13px;background:#e7dfed;padding:25px 27px;display:flex;flex-direction:column;position:relative;overflow:hidden}.care-card .eyebrow{color:#7a648b}.care-art{display:flex;align-items:center;gap:12px;justify-content:center;color:#76568e;height:92px;margin:7px 0 12px}.care-card h2{font-size:23px;line-height:1.45;font-weight:600}.care-card p{font-size:12px;color:#7c6b89;margin:13px 0 21px;max-width:250px}.care-card button{justify-content:space-between;border-bottom:1px solid #b4a1c2;padding:0 0 10px;color:#593e6e;font-size:12px;font-weight:600}.care-card small{font-size:10px;margin-top:16px;color:#857591}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.quick-links button{padding:22px;border:1px solid var(--border);border-radius:12px;background:#fff;text-align:left;justify-content:flex-start;gap:17px}.quick-links svg{color:#89709c;width:21px}.quick-links div{flex:1}.quick-links strong{display:block;font-size:12px}.quick-links small{display:block;font-size:10px;margin-top:5px}.workspace footer{font-size:10px;color:#998fa1;margin:25px 42px;display:flex;justify-content:space-between}.list-toolbar{display:flex;align-items:center;justify-content:space-between;padding:23px;gap:20px;border-bottom:1px solid var(--border)}.list-toolbar>span{font-size:11px;color:var(--muted)}.search-box{display:flex!important;align-items:center;gap:10px;border:1px solid var(--border);padding:0 12px;border-radius:8px;max-width:450px;width:100%;margin:0!important;color:#9b8fa4}.search-box input{border:0;margin:0;background:transparent;font-size:12px;min-width:0}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-weight:500;color:#998fa0;font-size:10px;letter-spacing:.3px;background:#faf8fb;padding:16px 22px}td{padding:16px 22px;border-top:1px solid #ede9f0}td .record-name{justify-content:flex-start;text-align:left;font-size:12px;padding:0;gap:12px}.round-button{padding:5px;color:#a195ab}.pagination{padding:17px 23px;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.pagination>div{display:flex;gap:16px}.empty{padding:40px;text-align:center;color:var(--muted);font-size:13px}.empty svg{color:#ab9bb8;margin-bottom:12px}.empty h3{font-size:16px;margin:7px 0}.empty p{font-size:12px;margin-top:8px}label{display:block;font-size:12px;color:#5d4f67}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #e0d9e5;background:#fbf9fc;border-radius:7px;margin-top:8px;font-size:13px;color:#3c2e46;outline:none}input:focus,select:focus,textarea:focus{border-color:#8f72a5;box-shadow:0 0 0 3px #8f72a513}fieldset{border:0;margin:0;padding:0}fieldset:disabled{opacity:.85}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.record-form fieldset{padding:8px 25px 29px}.full-width{grid-column:1/-1}.full-width small{display:block;margin-top:7px}.required{color:#8f74a3}.checkbox{display:flex;align-items:center;gap:9px}.checkbox input{width:auto;margin:0;accent-color:var(--brand)}.form-actions{padding:20px 25px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.form-actions>span{font-size:11px;color:var(--muted)}.back-button{font-size:11px;color:#7f6593;padding:0;margin-bottom:25px}.tabs{display:flex;gap:23px;margin-bottom:25px;border-bottom:1px solid var(--border)}.tabs button{padding:0 0 13px;color:#8e8298;font-size:13px}.tabs button.active{border-bottom:2px solid var(--brand);color:var(--brand);font-weight:600}.history-section{padding:25px;margin-bottom:22px}.history-section h2{margin-bottom:17px}.history-section>p{font-size:12px;color:var(--muted);margin-bottom:20px}pre{font:13px/1.8 DM Sans,system-ui,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;max-height:560px;overflow:auto;color:#5a4b65}.history-section textarea{min-height:110px;resize:vertical;margin-bottom:15px}.note{border-top:1px solid var(--border);padding:20px 0 0;margin-top:20px}.note p{white-space:pre-wrap;font-size:13px;margin-top:8px}.history-section form>.primary{margin-top:18px}.issue-row{display:flex;gap:14px;border-top:1px solid var(--border);padding:15px 0;font-size:11px}.issue-row span{flex:1;color:var(--muted)}.error,.success{font-size:12px;padding:15px 18px;border-radius:8px;margin:15px 0;display:flex;gap:9px;line-height:1.5}.error{background:#f8eae5;color:#9e5242;border:1px solid #ecd5cc}.success{background:#ede4f4;color:#5f3c79;border:1px solid #d9c9e6}.muted-text{color:var(--muted);font-size:12px}.loading{min-height:100vh;display:grid;place-items:center;color:var(--brand)}.mobile-toggle{display:none}@media(min-width:1450px){.content{padding:50px 65px}.topbar{padding:0 65px}}@media(max-width:1100px){.sidebar{width:210px}.workspace{margin-left:210px}.content{padding:30px}.topbar{padding:0 30px}.dashboard-grid{grid-template-columns:1.5fr 1fr}.stat{padding:19px}.stat strong{font-size:28px}.form-grid{grid-template-columns:repeat(2,1fr)}.care-card h2{font-size:20px}.tag{font-size:9px}.login-story{padding:45px}.login-story h1{font-size:39px}}@media(max-width:800px){.sidebar{transform:translate(-100%);transition:transform .2s;width:244px}.sidebar.open{transform:translate(0)}.workspace{margin-left:0}.mobile-toggle{display:flex;padding:0;color:var(--brand)}.topbar{height:63px;gap:15px;padding:0 20px;justify-content:flex-start}.topbar>div{margin-left:auto;font-size:0;gap:5px}.content{padding:26px 20px}.stats{gap:10px}.stat{padding:15px}.stat .icon-tile{width:32px;height:32px}.stat>span:not(.icon-tile){font-size:10px}.stat small{font-size:9px;grid-column:1/-1}.stat strong{font-size:25px}.dashboard-grid{grid-template-columns:1fr}.care-card{display:none}.page-heading h1{font-size:28px}.page-heading .primary{padding:11px 12px;font-size:11px}.quick-links{gap:12px}.quick-links button{padding:18px 12px}.quick-links small{font-size:9px}.workspace footer{margin:15px 20px;font-size:9px}.patient-row{padding:16px 20px}.login{grid-template-columns:1fr}.login-story{min-height:220px;padding:27px 30px}.login-story h1{font-size:29px;line-height:1.2;margin:12px 0}.login-story h1 br,.login-story .eyebrow,.login-story p,.login-story small{display:none}.login-story .brand{font-size:25px}.login-form{padding:35px 25px}.list-toolbar{padding:17px;flex-wrap:wrap;gap:12px}.search-box{max-width:none}td,th{padding:14px 16px}}@media(max-width:500px){.stats{grid-template-columns:1fr}.stat{grid-template-columns:1fr auto;padding:18px 20px}.stat strong{font-size:30px;margin-bottom:0}.stat small{grid-column:1}.stat .icon-tile{width:44px;height:44px}.quick-links{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr;gap:18px}.record-form fieldset{padding:8px 20px 23px}.panel-heading{padding:20px}.page-heading{align-items:flex-start}.page-heading p{font-size:11px}.eyebrow{font-size:9px}.history-section{padding:20px}.workspace footer span{display:none}}@media print{.sidebar,.topbar,footer,.back-button,.page-heading button,.form-actions,.tabs,.history form{display:none!important}.workspace{margin:0}.content{padding:0}.app{display:block;background:#fff}input,select{border:0;background:#fff;padding:4px 0;color:#000}.panel{border:0}.form-grid{grid-template-columns:1fr 1fr}pre{max-height:none;overflow:visible}.history-section{break-inside:avoid}.page-heading h1{font-size:24px}.error,.success{display:none}}.logo-crop{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:1150 / 365;background:#542888}.logo-crop img{position:absolute;display:block;width:109.043478%;max-width:none;height:auto;left:-4.782609%;top:-121.917808%}.brand{display:block;letter-spacing:normal;line-height:1}.sidebar .brand{margin:0 0 28px;width:100%}.login-story .brand{width:100%;max-width:420px}.login-story .eyebrow{color:#c5aee0}.login-story .brand img{filter:none}.sidebar nav button.active{color:#302045}.primary svg{color:#fff}.care-art,.animal-avatar{color:#703ca0}.sidebar .clinic-mark{color:#2bc9ec}@media(max-width:800px){.login-story .brand{max-width:285px}.login-story{gap:14px}.login-story h1{margin:8px 0}}@media print{.logo-crop{display:none}}.brand .logo-crop{font-size:inherit;letter-spacing:normal;padding:0;border:0;border-radius:0;margin-left:0;color:inherit}.login-form{min-width:0}.login-card{width:100%;max-width:350px;min-width:0}.sidebar nav{overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin}.sidebar .clinic{margin-bottom:18px;flex-shrink:0}.sidebar .brand,.sidebar .nav-label,.sidebar-bottom{flex-shrink:0}.patient-tabs{overflow-x:auto;white-space:nowrap;gap:22px}.action-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.action-cards>button{display:flex;align-items:flex-start;flex-direction:column;padding:28px;text-align:left;gap:16px}.action-cards>button>svg{color:#783aad;width:28px;height:28px}.action-cards p{color:#857090;font-size:13px}.action-cards>button:hover{border-color:#a580bf;background:#fcf9ff}.patient-picker{margin-bottom:20px}.picker-results{display:flex;flex-direction:column;max-height:270px;overflow:auto;margin-top:12px;border:1px solid #eee7f4;border-radius:8px}.picker-results button{display:grid;grid-template-columns:1fr auto;padding:12px 15px;border-bottom:1px solid #eee7f4;text-align:left}.picker-results strong{font-size:12px}.picker-results span{font-size:10px;color:#8f799d;grid-row:2}.picker-results svg{grid-column:2;grid-row:1/3;color:#9063aa}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.template-card{padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left}.template-card svg{color:#8756a9}.template-card strong{font-size:13px;line-height:1.5}.template-choice{justify-content:flex-start;align-items:flex-start;font-size:12px;text-align:left;background:#f6f0fa;border:1px solid #e9ddf3;border-radius:8px;padding:15px}.template-choice svg{flex-shrink:0;color:#81559e}.document-body{min-height:340px!important;line-height:1.7}.document-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:22px}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:inherit}.image-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}.image-gallery figure{margin:0;border:1px solid #eee4f4;border-radius:10px;overflow:hidden}.image-gallery img{width:100%;height:220px;object-fit:contain;background:#f5f0f8}.image-gallery figcaption{display:flex;justify-content:space-between;padding:12px;font-size:12px;color:#80589a}td small{display:block;margin-top:5px}.record-dates{display:flex;gap:25px;font-size:12px;color:#8e7e99;padding:12px;background:#faf7fc;border-radius:7px}.history-section .form-grid{margin-bottom:20px}.history-section>form fieldset>label{margin-bottom:20px}.patient-tabs button{flex-shrink:0}@media(max-width:1000px){.action-cards{grid-template-columns:1fr}.template-grid,.image-gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.template-grid,.image-gallery{grid-template-columns:1fr}.document-actions>*{width:100%}.record-dates{flex-direction:column;gap:8px}}@media print{.picker-results,.patient-picker,.document-actions,.template-grid{display:none!important}.history-section textarea{border:0;min-height:unset}}.tutor-options{display:flex;gap:12px}.tutor-options button{padding:12px 18px;border:1px solid #decdea;border-radius:8px;font-size:12px}.tutor-options button.selected,.tutor-results button.selected{background:#ede0f7;border-color:#8851ad;color:#542888}.inline-tutor{padding:24px;background:#faf6fe}.inline-tutor h2{margin-bottom:8px}.inline-tutor p{font-size:12px;color:#8d739d;margin-bottom:20px}.tutor-results{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tutor-results button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:14px;border:1px solid #e4d8ec;border-radius:8px}.tutor-results strong{font-size:12px}.tutor-results small{margin-top:6px;font-size:10px}@media(max-width:500px){.tutor-options{flex-direction:column}.tutor-results{grid-template-columns:1fr}.inline-tutor{padding:18px}}.selected-tutor{display:flex;align-items:center;gap:14px;background:#f5f0fa;border:1px solid #ded1ed;border-radius:12px;padding:16px}.selected-tutor>div{display:grid;gap:5px;flex:1}.selected-tutor small{color:#6c6079}.selected-tutor .text-button{flex-shrink:0}.tutor-results{max-height:310px;overflow:auto;margin-top:12px}.tutor-results button{text-align:left}@media(max-width:600px){.selected-tutor{flex-wrap:wrap}.selected-tutor .text-button{margin-left:auto}}.calendar-page,.reports-page{display:flex;flex-direction:column;gap:20px}.calendar-hero,.reports-hero{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:165px;padding:30px 36px;border-radius:18px;overflow:hidden;background:linear-gradient(115deg,#49217b,#7141a3);color:#fff;box-shadow:0 12px 28px #54288820}.calendar-hero:after,.reports-hero:after{content:"";position:absolute;right:23%;top:-190px;width:300px;height:300px;border:1px solid #ffffff24;border-radius:50%;box-shadow:0 0 0 35px #ffffff0d,0 0 0 70px #ffffff08}.calendar-hero-copy,.reports-hero>div:first-child{position:relative;z-index:1}.calendar-hero .eyebrow,.reports-hero .eyebrow{color:#dac8ec}.calendar-hero h1,.reports-hero h1{font-size:30px;margin:8px 0}.calendar-hero p,.reports-hero p{color:#eadff3;margin:0;font-size:13px;max-width:450px}.calendar-hero-meta{display:flex;gap:20px;margin-top:20px;flex-wrap:wrap}.calendar-hero-meta span{display:flex;align-items:center;gap:7px;font-size:11px;color:#f3eaf9}.calendar-hero-meta svg{color:#65d2e6}.calendar-hero-art{position:absolute;right:245px;color:#ffffff2b;transform:rotate(-8deg)}.hero-paw{position:absolute;left:28px;top:27px;color:#6ad7e8}.calendar-new-button{z-index:2;position:relative;display:flex;align-items:center;gap:8px;background:#fff;color:#542888;border:0;border-radius:10px;padding:12px 16px;font-weight:700;cursor:pointer}.calendar-new-button:hover{background:#eefdff}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.calendar-month-control{display:flex;align-items:center;gap:12px}.calendar-month-control h2{font-size:20px;text-transform:capitalize;margin:3px 0;color:#35263f}.calendar-icon-button{width:36px;height:36px;border:1px solid #e8e1ed;background:#fff;border-radius:10px;color:#684485;display:inline-grid;place-items:center;cursor:pointer}.calendar-icon-button:hover{background:#f5eef9}.calendar-today-button{border:1px solid #e5dceb;background:#fff;color:#5d3480;border-radius:9px;padding:9px 13px;font-weight:650;cursor:pointer}.calendar-view-switch{display:flex;padding:3px;border:1px solid #e9e4ed;border-radius:10px;background:#f3f1f6}.calendar-view-switch button{border:0;border-radius:7px;padding:8px 15px;background:transparent;color:#786e80;font-weight:650;cursor:pointer}.calendar-view-switch button.active{background:#fff;color:#5b2e82;box-shadow:0 1px 5px #2c173114}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:stretch}.calendar-board,.calendar-day-panel{min-width:0;background:#fff;border:1px solid #ebe6ef;border-radius:15px;box-shadow:0 4px 16px #34204a08}.calendar-board{position:relative;overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#fbfafd;border-bottom:1px solid #eeeaf2}.calendar-weekdays>div{height:40px;display:grid;place-items:center;color:#887e91;text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:700}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{position:relative;min-height:112px;padding:7px 6px;border-right:1px solid #f0edf3;border-bottom:1px solid #f0edf3;background:#fff}.calendar-day:nth-child(7n){border-right:0}.calendar-day:hover{background:#fcfaff}.calendar-day.outside{background:#fbfafc}.calendar-day.outside .calendar-date{color:#aaa2b1}.calendar-day.chosen{background:#faf6ff;box-shadow:inset 0 0 0 1px #c4a6de}.calendar-day.is-today .calendar-date span{background:#582b82;color:#fff}.calendar-date{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;padding:1px 2px;color:#574a62;font-weight:650;cursor:pointer}.calendar-date span{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;font-size:11px}.calendar-date i{font-style:normal;border-radius:20px;padding:2px 6px;background:#efe5f7;color:#643890;font-size:8px}.calendar-cell-events{display:flex;flex-direction:column;gap:4px;margin-top:4px}.calendar-event{min-width:0;display:flex;align-items:center;gap:4px;text-align:left;border:0;border-radius:5px;padding:4px;color:#53356e;background:#f1eafa;font-size:8px;cursor:pointer}.calendar-event span:last-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-event .event-time{flex-shrink:0;font-weight:750}.calendar-event.done{background:#e9f5ed;color:#357048}.calendar-event.cancelled{background:#f3f0f3;color:#89818e;text-decoration:line-through}.calendar-more{border:0;background:transparent;color:#765894;font-size:8px;text-align:left;cursor:pointer}.calendar-cell-add{position:absolute;right:4px;top:6px;width:21px;height:21px;border:0;border-radius:7px;background:#f2edf7;color:#765394;opacity:0;cursor:pointer}.calendar-day:hover .calendar-cell-add,.calendar-cell-add:focus-visible{opacity:1}.calendar-day-panel{padding:19px;display:flex;flex-direction:column}.day-panel-heading{display:flex;justify-content:space-between;gap:8px}.day-panel-heading .eyebrow{font-size:9px}.day-panel-heading h2{font-size:15px;line-height:1.5;text-transform:capitalize;color:#342440;margin:5px 0}.day-count{min-width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#f2eafa;color:#633990;font-size:11px;font-weight:700}.day-add-button{margin-top:15px;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border:1px dashed #cdb6dc;border-radius:9px;background:#fbf8fd;color:#633990;font-weight:650;cursor:pointer}.calendar-empty{margin:auto 0;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.calendar-empty-icon,.report-empty-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#f4eef9;color:#8459a4;margin-bottom:11px}.calendar-empty strong{font-size:12px;color:#493859}.calendar-empty p{font-size:10px;line-height:1.6;color:#8b8191;max-width:185px}.day-event-list{display:flex;flex-direction:column;gap:9px;margin-top:15px}.day-event-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;border:1px solid #eee7f4;border-left:3px solid #8051a6;border-radius:10px;background:#fdfcff;text-align:left;cursor:pointer}.day-event-card.done{border-left-color:#56a46d}.day-event-card.cancelled{border-left-color:#aaa1ab;opacity:.72}.day-event-time{display:flex;align-items:center;gap:5px;color:#764a98;font-size:9px;font-weight:700}.day-event-card strong{font-size:12px;color:#392b43}.day-event-card>span:not(.day-event-time){font-size:10px;color:#62596b}.day-event-card small{font-size:9px;color:#918599}.day-event-card i{font-size:9px;font-style:normal;color:#8c7d95}.calendar-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:20px;color:#83788d;font-size:9px}.calendar-legend>span{display:flex;align-items:center;gap:4px}.legend-dot{width:7px;height:7px;border-radius:50%;background:#8051a6}.legend-dot.done{background:#56a46d}.legend-dot.cancelled{background:#aaa1ab}.calendar-loading{position:absolute;right:8px;top:7px;padding:5px 8px;border-radius:20px;background:#fff;color:#74538e;font-size:9px;box-shadow:0 2px 8px #31213a10}.calendar-modal-backdrop{position:fixed;inset:0;z-index:1000;background:#21142db3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:18px;overflow:auto}.calendar-modal{width:min(600px,100%);max-height:90vh;overflow:auto;border-radius:18px;background:#fff;padding:24px;box-shadow:0 24px 70px #160b2470}.calendar-modal-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.calendar-modal-head>div{flex:1}.calendar-modal-head h2{margin:4px 0;font-size:19px;color:#33243e}.calendar-modal-head .eyebrow{font-size:9px}.calendar-modal-head>.icon-tile{color:#7843a2;background:#f4edfa}.calendar-modal form>.patient-picker{padding:12px;background:#faf8fc;border-radius:11px;margin-bottom:14px}.calendar-modal .picker-results{max-height:150px}.calendar-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.calendar-form-grid label{display:flex;flex-direction:column;gap:6px;color:#51445b;font-size:11px;font-weight:600}.calendar-form-grid input,.calendar-form-grid textarea{box-sizing:border-box;width:100%;border:1px solid #e4dce9;border-radius:8px;background:#fff;padding:10px 11px;color:#382b42;font:inherit}.calendar-field-wide{grid-column:1/-1}.calendar-patient-selected{display:flex;align-items:center;gap:9px;border:1px solid #e7deed;border-radius:9px;padding:10px;margin:11px 0}.calendar-patient-selected>div{display:flex;flex-direction:column;gap:4px;flex:1}.calendar-patient-selected small{color:#85768e;font-size:9px}.calendar-patient-selected strong{font-size:11px}.calendar-patient-selected>button{border:0;background:none;color:#663994;font-weight:650;cursor:pointer}.calendar-modal-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;margin-top:20px}.calendar-modal-actions .primary{display:inline-flex;align-items:center;gap:7px}.appointment-detail{width:min(530px,100%)}.appointment-detail-info{display:flex;flex-direction:column;gap:13px;padding:17px;border-radius:12px;background:#faf8fc}.appointment-detail-info>span:not(.appointment-status){display:flex;align-items:center;gap:9px;color:#4e4158;font-size:12px}.appointment-detail-info>span svg{color:#8154a3}.appointment-detail-info p{white-space:pre-wrap;margin:0;padding-top:10px;border-top:1px solid #ebe4f0;color:#665a6e;font-size:12px;line-height:1.65}.appointment-status{align-self:flex-start;border-radius:18px;padding:6px 10px;background:#eee8f5;color:#69428a;font-size:9px;font-weight:700}.appointment-status.done{background:#e6f4eb;color:#3d8051}.appointment-status.cancelled{background:#f0edf0;color:#817a83}.calendar-event-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#f0e8f7;color:#704296}.calendar-cancel-action{display:flex;align-items:center;gap:6px;border:1px solid #ecd8dc;border-radius:8px;padding:9px 11px;background:#fff8f8;color:#a34b59;cursor:pointer}.calendar-week-grid{display:grid;grid-template-columns:40px repeat(7,minmax(95px,1fr));min-width:760px}.calendar-layout.is-week .calendar-board{overflow-x:auto}.calendar-time-axis{padding-top:42px;background:#fbfafd}.calendar-time-axis>div{height:38px;transform:translateY(-7px);padding-right:6px;text-align:right;color:#958b9b;font-size:9px}.calendar-week-day{position:relative;min-height:535px;border-left:1px solid #f0edf3;background:repeating-linear-gradient(to bottom,transparent 0,transparent 37px,#f0edf3 37px,#f0edf3 38px)}.calendar-week-heading{position:absolute;left:0;right:0;top:0;height:38px;display:flex;align-items:center;justify-content:center;gap:5px;border:0;border-bottom:1px solid #eeeaf2;background:#fbfafd;color:#746b7d;z-index:2;cursor:pointer}.calendar-week-heading strong{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;font-size:11px}.calendar-week-day.is-today .calendar-week-heading strong{background:#582b82;color:#fff}.calendar-week-heading span{text-transform:uppercase;font-size:9px}.calendar-hours{position:absolute;inset:38px 0 0}.calendar-hours button{display:block;width:100%;height:38px;border:0;background:transparent;cursor:pointer}.calendar-hours button:hover{background:#f7f1fc}.calendar-week-event{position:absolute;z-index:1;left:3px;right:3px;min-height:32px;max-height:68px;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:5px;border:0;border-left:2px solid #7543a1;border-radius:5px;background:#efe6f6;color:#4f3564;text-align:left;font-size:9px;cursor:pointer}.calendar-week-event.done{border-left-color:#56a46d;background:#e9f5ed}.calendar-week-event.cancelled{border-left-color:#aaa1ab;background:#f1eef1;text-decoration:line-through}.calendar-week-event b{font-size:8px}.reports-hero{min-height:130px}.reports-hero-icon{position:absolute;right:46px;top:50%;transform:translateY(-50%);width:70px;height:70px;display:grid;place-items:center;border:1px solid #ffffff32;border-radius:21px;background:#ffffff17;color:#e7d8f5}.reports-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.reports-section-heading h2{margin:5px 0 0;color:#33243e;font-size:18px}.reports-total-chip{display:flex;align-items:center;gap:7px;color:#705a80;border:1px solid #ece5f1;border-radius:20px;background:#fff;padding:7px 11px;font-size:10px}.report-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-choice{position:relative;min-height:80px;display:flex;align-items:center;gap:12px;text-align:left;padding:13px;border:1px solid #ece7f0;border-radius:12px;background:#fff;box-shadow:0 3px 12px #32203b08;cursor:pointer;transition:transform .15s,border .15s}.report-choice:hover{transform:translateY(-2px);border-color:#d1b8e3}.report-choice.active{border-color:#8c5bb0;box-shadow:0 0 0 2px #8c5bb019;background:#fdfbff}.report-choice-icon{width:39px;height:39px;display:grid;place-items:center;flex-shrink:0;border-radius:12px}.report-choice-icon.violet{background:#f1eafa;color:#72449a}.report-choice-icon.cyan{background:#e7f7fa;color:#2993a5}.report-choice-icon.rose{background:#fff0f1;color:#c46d7c}.report-choice-icon.amber{background:#fff5e5;color:#b17b27}.report-choice-icon.slate{background:#f0f1f5;color:#647083}.report-choice-icon.green{background:#eaf6ee;color:#4b9261}.report-choice-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.report-choice-copy strong{color:#40334b;font-size:11px}.report-choice-copy small{color:#918698;font-size:9px;line-height:1.4}.report-choice-check{margin-left:auto;align-self:flex-start;color:#7848a0}.report-results{overflow:hidden;border:1px solid #ebe6ef;border-radius:15px;background:#fff;box-shadow:0 4px 16px #34204a08}.report-results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid #f0edf2}.report-results-head .eyebrow{font-size:9px}.report-results-head h2{font-size:17px;margin:5px 0;color:#392b43}.report-results-head p{margin:0;color:#8c8292;font-size:10px}.report-export-button{display:flex;align-items:center;gap:7px;flex-shrink:0;padding:9px 12px;border:1px solid #e6d9ed;border-radius:8px;background:#faf6fc;color:#66388c;font-size:10px;font-weight:700;cursor:pointer}.report-export-button:disabled{opacity:.45;cursor:default}.report-controls{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:14px 22px;border-bottom:1px solid #f0edf2;background:#fdfcfe}.report-filters{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap}.report-date-field{display:flex;flex-direction:column;gap:5px;color:#716579;font-size:9px;font-weight:700}.report-date-field input,.report-date-field select{min-width:130px;padding:8px 9px;border:1px solid #e8e1ec;border-radius:7px;background:#fff;color:#473952;font:inherit;font-size:10px}.report-shortcuts{display:flex;gap:3px;padding:3px;border:1px solid #ede7f0;border-radius:7px;background:#fff}.report-shortcuts button{border:0;border-radius:5px;background:transparent;padding:6px 7px;color:#776482;font-size:9px;cursor:pointer}.report-shortcuts button:hover{background:#f2eafa}.report-date-separator{padding-bottom:8px;color:#93869a;font-size:9px}.report-search{min-width:180px;max-width:240px;display:flex;align-items:center;gap:7px;border:1px solid #e8e1ec;border-radius:8px;background:#fff;padding:8px 9px;color:#897d91}.report-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#403447;font:inherit;font-size:10px}.report-summary{display:flex;align-items:center;gap:7px;padding:11px 22px;color:#7c7183;font-size:10px}.report-summary-dot{width:7px;height:7px;background:#55a877;border-radius:50%}.report-summary small{margin-left:auto;color:#9d919f}.report-table-wrap{overflow-x:auto}.report-table{width:100%;border-collapse:collapse;text-align:left;min-width:720px}.report-table th{padding:10px 13px;border-bottom:1px solid #ebe6ef;background:#faf9fb;color:#8d8194;font-size:8px;text-transform:uppercase;letter-spacing:.05em}.report-table th:first-child,.report-table td:first-child{padding-left:22px}.report-table td{padding:12px 13px;border-bottom:1px solid #f1eef3;color:#665b6d;font-size:9px}.report-table tbody tr:hover{background:#fcfaff}.report-table td strong{color:#44364d;font-size:10px}.report-code,.report-date-badge{display:inline-block;padding:5px 7px;border-radius:6px;background:#f3eff6;color:#704c89;font-size:9px;font-weight:700;white-space:nowrap}.report-date-badge{background:#f6f3f7;color:#706579;font-weight:500}.report-open-button{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;border:0;border-radius:6px;background:#f5eef9;color:#654088;padding:6px 7px;font-size:8px;font-weight:650;cursor:pointer}.report-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:35px 12px}.report-empty .report-empty-icon{margin:0 auto 12px}.report-empty strong{color:#514359;font-size:12px}.report-empty p{margin:6px 0 0;color:#958b9b;font-size:10px}.report-results-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-top:1px solid #f0edf2;color:#93899a;font-size:9px}.report-results-footer>div{display:flex;gap:6px}.report-results-footer button{display:flex;align-items:center;gap:3px;border:1px solid #e9e3ed;border-radius:6px;background:#fff;color:#6f5c7d;padding:6px 8px;font-size:9px;cursor:pointer}.report-results-footer button:disabled{opacity:.45;cursor:default}.report-print-button{display:flex;justify-content:flex-end}@media(max-width:1150px){.calendar-layout{grid-template-columns:minmax(0,1fr) 255px}.calendar-day{min-height:100px}.calendar-event{font-size:7px;padding:3px}.report-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.report-controls{align-items:flex-start;flex-direction:column}.report-search{max-width:none;width:100%;box-sizing:border-box}}@media(max-width:820px){.calendar-layout{grid-template-columns:1fr}.calendar-day-panel{min-height:240px}.calendar-empty{min-height:120px}.calendar-hero{padding:24px;align-items:flex-start;flex-direction:column;gap:17px}.calendar-new-button{align-self:flex-start}.calendar-hero-art{right:45px;top:27px}.calendar-hero-meta{margin-top:14px}.reports-hero{min-height:110px}.report-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.calendar-page,.reports-page{gap:15px}.calendar-hero,.reports-hero{padding:20px;border-radius:14px}.calendar-hero h1,.reports-hero h1{font-size:25px}.calendar-hero-art{right:16px;top:22px;transform:scale(.68) rotate(-8deg)}.calendar-hero-meta{gap:10px}.calendar-hero-meta span{font-size:9px}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-month-control{gap:8px}.calendar-month-control h2{font-size:17px}.calendar-day{min-height:72px;padding:4px 2px}.calendar-date span{width:21px;height:21px;font-size:9px}.calendar-event{padding:3px 2px;font-size:0}.calendar-event .event-time{font-size:7px}.calendar-cell-events .calendar-event span:last-child{display:none}.calendar-cell-add{opacity:1;width:17px;height:17px;top:4px;right:2px}.calendar-day-panel{padding:15px}.calendar-week-grid{grid-template-columns:34px repeat(7,minmax(82px,1fr))}.calendar-modal-backdrop{padding:9px}.calendar-modal{padding:18px;border-radius:14px}.calendar-modal-head h2{font-size:16px}.calendar-form-grid{grid-template-columns:1fr}.calendar-field-wide{grid-column:auto}.calendar-modal-actions{flex-direction:column-reverse;align-items:stretch}.calendar-modal-actions>*{justify-content:center}.reports-section-heading{align-items:flex-start;flex-direction:column}.reports-section-heading h2{font-size:15px}.report-catalog{grid-template-columns:1fr;gap:7px}.report-choice{min-height:64px;padding:10px}.reports-hero-icon{width:48px;height:48px;right:17px;border-radius:14px}.report-results-head{align-items:flex-start;padding:16px;flex-direction:column}.report-controls{padding:12px 14px}.report-filters{align-items:flex-start;gap:7px}.report-date-field input,.report-date-field select{min-width:116px}.report-summary{padding:10px 14px}.report-results-footer{padding:11px 13px}}@media print{.calendar-hero,.calendar-toolbar,.calendar-day-panel,.calendar-new-button,.calendar-cell-add,.calendar-modal-backdrop,.report-catalog,.reports-hero,.reports-section-heading,.report-controls,.report-results-footer,.report-export-button,.report-print-button{display:none!important}.calendar-page,.reports-page,.calendar-layout{display:block}.calendar-board,.report-results{box-shadow:none;border:0}.calendar-day{break-inside:avoid}.report-results-head{padding:0 0 10px}.report-table th,.report-table td{padding:6px;font-size:8px}}.calendar-layout.is-week .calendar-weekdays{display:none}
