*{box-sizing:border-box}body{margin:0;background:#f6f7f3;color:#20342d;font:14px system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}aside{position:fixed;inset:0 auto 0 0;width:250px;overflow:auto;background:#193a2f;color:#d8e6d3;padding:24px 16px;display:flex;flex-direction:column}.brand{font:26px Georgia,serif;color:white;padding:8px 12px 26px}.brand small{font:11px system-ui;display:block;color:#a8c8a0;margin-top:10px}nav a{display:block;padding:11px 13px;border-radius:10px;margin:3px 0}nav a:hover,nav .selected{background:#a8c8a0;color:#193a2f}nav b{display:block;font-size:10px;letter-spacing:1.5px;color:#8eae9e;padding:24px 12px 8px}.account{margin-top:auto;padding:25px 12px 0;font-size:12px}main{margin-left:250px;min-width:0}header{padding:22px 32px;border-bottom:1px solid #e5ebe4;display:flex;align-items:center;justify-content:space-between;gap:15px}header h1{font:27px Georgia;margin:0}header small{display:block;color:#7d8b84;margin-top:7px}.content{padding:30px 32px;max-width:1500px;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:20px}.intro h2{font:29px Georgia;margin:9px 0}.muted{color:#7d8b84}.pill{background:#e7f0e2;color:#355449;border-radius:20px;padding:6px 10px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:white;border:1px solid #e5ebe4;border-radius:16px;padding:22px;box-shadow:0 8px 28px #1e3d2f08}.stat{font-size:30px;margin:18px 0 8px;color:#29483a}.two{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;margin-top:22px}h3{font-size:15px;margin-top:0}button,.button{display:inline-block;background:#2d5d4b;color:white;border:0;border-radius:10px;padding:11px 16px;font:600 13px system-ui;cursor:pointer}.secondary{background:#e7f0e2;color:#355449}.danger{background:#fbe9df;color:#a65e49}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-weight:600;margin-bottom:7px;font-size:13px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #dfe8de;border-radius:9px;background:white;color:#20342d;font:14px system-ui}textarea{min-height:110px;resize:vertical}.wide{grid-column:1/-1}.table-wrap{overflow:auto;margin-top:20px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:11px;color:#7d8b84;background:#fbfcfa;padding:13px;white-space:nowrap}td{padding:15px 13px;border-bottom:1px solid #edf1ed;vertical-align:top}td .button,td button{padding:7px 9px;font-size:11px}.alert{padding:15px 18px;border-radius:12px;background:#e7f0e2;border:1px solid #cedec9;margin-bottom:20px}.error{background:#fbe9df;border-color:#efd5cd}.auth{max-width:520px;margin:8vh auto;padding:30px}.auth h1{font:32px Georgia}.auth input{margin-bottom:18px}.auth label{margin-top:12px}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.toolbar input{width:auto;min-width:200px}.toolbar select{width:auto}.note{font-size:12px;line-height:1.7;color:#71847a}.empty{padding:40px;text-align:center;color:#7d8b84}.progress{height:7px;border-radius:10px;background:#edf1ed;margin:8px 0 20px}.progress div{height:100%;background:#86ac80;border-radius:10px}.mobile-menu{display:none}.section-title{border-bottom:1px solid #e5ebe4;padding-bottom:12px;margin-top:25px}.message{white-space:pre-wrap;line-height:1.7}pre{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}}@media(max-width:760px){aside{transform:translateX(-100%);z-index:10;transition:.2s}.menu-open aside{transform:translateX(0)}main{margin-left:0}.content{padding:20px 16px}header{padding:18px 16px}.fields{grid-template-columns:1fr}.grid{gap:10px}.card{padding:17px}.intro{align-items:start;flex-direction:column}.mobile-menu{display:inline-block}header h1{font-size:22px}header .actions{justify-content:end}.auth{margin:30px 15px}.stat{font-size:24px}body{overflow-x:hidden}}@media print{aside,.actions,.toolbar,button,.button,.no-print{display:none!important}main{margin:0}body{background:white}header{padding:0 0 20px}.content{padding:15px 0}.card{box-shadow:none;break-inside:avoid}.table-wrap{overflow:visible}thead{display:table-header-group}tr{break-inside:avoid}input,textarea,select{border:0} @page{size:A4;margin:15mm}}
.psychology-logo{display:block;width:100%;max-width:260px;height:auto;object-fit:contain}.brand-psychology{display:block;padding:10px 6px 18px;text-align:center}.brand-psychology .psychology-logo{width:100%;max-width:216px;margin:0 auto;background:#f6f7f3;border-radius:12px;padding:7px}.brand-psychology small{margin-top:11px;font-size:10px;letter-spacing:.6px;color:#b8d0b1}.login-shell{display:block;width:calc(100% - 32px);max-width:440px;margin:24px auto;border:1px solid #dfe8de;border-radius:22px;overflow:hidden;box-shadow:0 16px 50px #193a2f12}.login-panel{background:#fff;padding:24px 30px;display:block}.login-logo{margin:0 auto 10px;max-width:260px}.login-panel h1{font:26px/1.2 Georgia,serif;margin:8px 0;text-align:center;letter-spacing:-.3px}.login-subtitle{font-size:12px;color:#7d8b84;text-align:center;margin:0 0 16px;line-height:1.6}.login-panel label{font-size:12px;margin-top:12px;margin-bottom:7px}.login-panel input{height:44px;background:#fcfdfb;font-size:16px}.login-panel input:focus{outline:2px solid #86ac80;outline-offset:1px}.login-submit{display:flex;justify-content:space-between;align-items:center;width:100%;height:44px;margin-top:20px;background:#193a2f;box-shadow:0 5px 15px #193a2f18}.login-submit:hover{background:#2d5d4b}.login-help{font-size:11px;line-height:1.5;color:#557361;background:#f3f7f0;padding:10px 12px;border-radius:10px;margin:16px 0 8px}.login-recovery{font-size:11px;line-height:1.5;color:#71847a;margin:8px 0}.login-panel-foot{font-size:10px;color:#87958d;border-top:1px solid #edf1ed;margin-top:12px;padding-top:10px;text-align:center}.invite-brand{margin:0 auto 18px;max-width:260px}button:disabled{opacity:.5;cursor:not-allowed}input[data-invite-link]{font-size:12px}.card+.card{margin-top:20px}@media(max-width:480px){.login-shell{margin:12px auto;width:calc(100% - 24px);border-radius:18px}.login-panel{padding:18px 22px}.login-logo{max-width:220px;margin-bottom:6px}.login-panel h1{font-size:24px}.login-subtitle{margin-bottom:12px}.login-panel-foot{margin-top:10px}.login-panel label{margin-top:11px}}@media(max-height:680px){.login-shell{margin:10px auto}.login-panel{padding-top:15px;padding-bottom:15px}.login-logo{max-width:210px}.login-panel h1{font-size:23px}.login-help{margin-top:12px}.login-panel-foot{margin-top:8px}.login-subtitle{margin-bottom:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* v1.0.3: colored welcome background; form stays first in the document. */
.auth-page{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:24px 16px;background-color:#123e42;background-image:radial-gradient(ellipse at 8% 15%,#337c706b 0,transparent 48%),radial-gradient(ellipse at 90% 85%,#547b755c 0,transparent 48%),linear-gradient(125deg,#0d2b34 0%,#164c49 50%,#183e35 100%);background-attachment:fixed;position:relative;isolation:isolate;overflow-x:hidden}
.auth-page:before,.auth-page:after{content:"";position:fixed;z-index:-1;pointer-events:none;border:1px solid #b7d0c11c;border-radius:50%;width:620px;height:620px;left:-320px;top:-280px}
.auth-page:after{width:780px;height:780px;left:auto;top:auto;right:-420px;bottom:-400px;border-color:#b7d0c125}
.auth-page .login-shell{margin:0;width:100%;max-width:440px;border:1px solid #ffffff5c;border-radius:24px;box-shadow:0 30px 90px #031d305c,0 5px 20px #031d3033;background:#fff;position:relative}
.auth-page .login-panel{background:linear-gradient(180deg,#fbfdfb 0%,#fff 36%);padding:22px 30px 20px;border-top:4px solid #a8c8a0}
.auth-page .login-logo{max-width:270px;margin-bottom:12px}
.auth-page .login-panel h1{color:#153d35;letter-spacing:-.5px}
.auth-page .login-panel label{color:#355449}
.auth-page .login-panel input{border-color:#d9e5dc;background:#f8faf7;border-radius:10px}
.auth-page .login-panel input::placeholder{color:#8b9b93}
.auth-page .login-submit{background:linear-gradient(110deg,#193a2f,#285e4a);border:1px solid #2d5d4b;height:46px;border-radius:11px;box-shadow:0 6px 15px #193a2f24}
.auth-page .login-submit:hover{background:#285e4a;box-shadow:0 7px 20px #193a2f30}
.auth-page .login-help{background:#edf4eb;color:#547360;border:1px solid #e1ebdd}
.auth-page .login-panel-foot{color:#7d9586;letter-spacing:.4px}
.auth-page>.auth{margin:0;width:100%;background:#fff;box-shadow:0 25px 80px #031d304f}
@media(max-width:480px){.auth-page{padding:12px}.auth-page .login-shell{max-width:420px;border-radius:20px}.auth-page .login-panel{padding:17px 22px}.auth-page .login-logo{max-width:225px;margin-bottom:8px}.auth-page:before{width:400px;height:400px;left:-260px;top:-150px}.auth-page:after{width:480px;height:480px;right:-320px;bottom:-250px}}
@media(max-height:680px){.auth-page{padding-top:10px;padding-bottom:10px}.auth-page .login-panel{padding-top:12px;padding-bottom:12px}.auth-page .login-logo{max-width:205px;margin-bottom:6px}.auth-page .login-panel h1{font-size:23px}.auth-page .login-help{margin-top:10px}}
@media print{.auth-page{display:block;background:#fff;min-height:0;padding:0}.auth-page:before,.auth-page:after{display:none}.auth-page .login-shell{box-shadow:none}}
/* Layout grounded in the authenticated reference; branding and tenant controls retained. */
body{font-family:'DM Sans',system-ui,sans-serif}aside{width:248px;padding:24px 16px;background:#193a2f}main{margin-left:248px}.content{padding:40px 32px}header.reference-header{height:86px;padding:18px 42px;background:#f6f7f3}header h1,.intro h2,.modal-heading h2{font-family:'Playfair Display',Georgia,serif;font-weight:400}header h1{font-size:26px}nav a{display:flex;gap:12px;align-items:center;font-size:13px;padding:10px 12px;margin:4px 0}nav a span{flex:1}nav a em{font:10px system-ui;background:#ffffff16;border-radius:5px;padding:3px 5px}nav .selected{background:#a8c8a0}nav b{font-size:11px;padding-top:27px;letter-spacing:1.5px}nav .ui-icon{width:17px;height:17px}.ui-icon{width:18px;height:18px;display:inline-block;flex-shrink:0;vertical-align:middle}.button .ui-icon,button .ui-icon{margin-right:5px}.brand-psychology{padding:4px 8px 16px}.brand-psychology .psychology-logo{max-width:200px}.card{box-shadow:0 8px 28px #1e3d2f0d;border-radius:16px}.flush{padding:0;overflow:hidden}.card-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #edf1ed;gap:16px}.card-heading h3{margin:0;font-size:14px}.card-heading p{font-size:12px;margin:5px 0 0;color:#8a9890}.card-heading a{font-size:12px;color:#47735c;font-weight:600}.icon-badge{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;flex-shrink:0}.tone-green{background:#e4f0df;color:#2d5d4b}.tone-peach{background:#fbe9df;color:#a65e49}.tone-lavender{background:#e7e9f6;color:#5e638c}.tone-gold{background:#fff0cf;color:#9a6b20}.reference-stat{padding:20px}.reference-stat .stat{font-size:23px;margin:20px 0 6px}.reference-stat b{display:block;font-size:12px;color:#50665b}.reference-stat small{display:block;font-size:11px;color:#94a099;margin-top:5px}.stat-top{display:flex;justify-content:space-between;align-items:start}.stat-top>.ui-icon{width:16px;color:#c2cec4}.reference-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-top{grid-template-columns:1.4fr .8fr;gap:20px;margin-top:30px}.overview-bottom{grid-template-columns:.9fr 1.1fr;margin-top:30px}.reference-row{display:flex;gap:12px;align-items:center;padding:17px 22px;border-bottom:1px solid #edf1ed;flex-wrap:wrap}.reference-row b{font-size:13px;color:#3c554a}.reference-row small,.module-title small,.module-banner small{display:block;font-size:11px;color:#8d9b94;margin-top:5px}.reference-row strong{font-size:13px}.grow{flex:1;min-width:130px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#e3eee0;color:#46705b;font-size:11px;font-weight:700;flex-shrink:0}.status-pill{border-radius:20px;padding:5px 10px;font-size:10px;font-weight:600;white-space:nowrap;background:#edf1ed;color:#52705f}.status-active,.status-received,.status-confirmed{background:#e4f0df;color:#2d5d4b}.status-evasive,.status-overdue,.status-cancelled{background:#fbe9df;color:#a65e49}.status-discharged,.status-completed{background:#e7e9f6;color:#5e638c}.status-ena,.status-scheduled{background:#fff0cf;color:#9a6b20}.empty .ui-icon{display:block;width:30px;height:30px;color:#a8c8a0;margin:0 auto 15px}.card-link{display:block;text-align:center;font-size:12px;color:#47735c;padding:15px}.patient-bar{display:flex;justify-content:space-between;font-size:12px;margin-top:18px}progress{display:block;width:100%;height:7px;appearance:none;border:0;margin-top:8px;border-radius:5px}progress::-webkit-progress-bar{background:#edf1ed;border-radius:5px}progress::-webkit-progress-value{background:#86ac80;border-radius:5px}progress::-moz-progress-bar{background:#86ac80;border-radius:5px}.patient-name{display:flex;align-items:center;gap:12px}.patient-table{padding:0}.patient-table td{color:#63776c;font-size:13px}.patient-table th{letter-spacing:1px}.icon-action{background:transparent;color:#6e8d76;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:7px!important;font-size:20px!important;line-height:1;cursor:pointer}.icon-action:hover{background:#edf5eb}.icon-action.delete-action{color:#b56b53}.icon-action .ui-icon{width:15px;height:15px;margin:0}.record-actions{gap:3px;flex-wrap:nowrap}.search-box{display:flex;align-items:center;gap:8px;background:white;border:1px solid #dfe8de;border-radius:12px;padding:0 10px;max-width:420px;min-width:220px}.search-box input{border:0;background:none;height:40px;font-size:13px;min-width:0;outline:none}.search-box .ui-icon{color:#94a099}.search-box button{padding:6px 9px;font-size:10px}.module-banner{display:flex;align-items:center;gap:14px;background:#edf5eb;border:1px solid #dfe8de;border-radius:16px;padding:16px;margin:20px 0}.module-banner>.pill{margin-left:auto}.module-banner>.ui-icon{color:#2d5d4b;width:24px;height:24px}.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.compact-button{font-size:10px;padding:7px 10px}.session-card{display:flex;align-items:flex-start;gap:16px;margin-top:16px}.session-title{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.session-title small{font-size:12px;color:#91a098}.session-focus{font-size:12px;font-weight:600;text-transform:uppercase;color:#78947e;letter-spacing:.6px}.session-next{background:#fbf4e5;color:#7d6a42;padding:12px;border-radius:10px;font-size:12px}.messages-grid{grid-template-columns:1fr 1fr;align-items:start}.messages-grid textarea{margin-top:18px;min-height:120px;line-height:1.7}.messages-grid h3{margin:0;flex:1}.record-modal{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:20px;background:#193a2f59;backdrop-filter:blur(3px)}.modal-card{width:100%;max-width:512px;max-height:calc(100svh - 40px);overflow-y:auto;border-radius:16px;background:white;padding:24px;box-shadow:0 25px 70px #102c3055}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-heading h2{font-size:21px;margin:0}.reference-fields{gap:16px}.reference-fields input,.reference-fields select{height:40px;font-size:14px}.reference-fields textarea{font-size:14px;min-height:100px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.optional-fields{margin-top:18px;font-size:12px;color:#71847a}.optional-fields .fields{margin-top:14px}.module-title{display:flex;gap:14px;align-items:center}.module-title b{font-size:14px}.anamnesis-section{margin-top:20px}.section-fields{padding:24px;gap:16px}.section-fields label{font-size:13px;font-weight:500}.section-fields input,.section-fields select{height:40px;font-size:14px}.section-fields textarea{min-height:96px}.anamnesis-footer{justify-content:flex-end;margin-top:20px}.print-only{display:none}.agenda-controls{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;justify-content:flex-end}.agenda-intro{align-items:flex-end}.segmented{display:flex;padding:4px;border:1px solid #dfe8df;border-radius:12px;background:#fff}.segmented a{font-size:12px;padding:9px 12px;border-radius:8px;color:#71847a}.segmented .selected{background:#e4f0df;color:#2d5d4b;font-weight:600}.calendar-box{width:300px;border:1px solid #dfe8de;border-radius:16px;background:#fff;padding:12px}.calendar-heading{display:flex;justify-content:space-between;align-items:center;text-transform:capitalize;font-size:13px;color:#355449;margin-bottom:10px}.calendar-heading>a{font-size:22px;padding:0 6px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-grid small{font-size:9px;color:#91a098;padding:5px 0}.calendar-grid>a,.calendar-grid>span{height:33px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:12px}.calendar-grid .appointment-day{background:#e4f0df;color:#2d5d4b;font-weight:700}.calendar-grid .weekend-day{background:#f1f0f8;color:#68698e}.calendar-grid .selected-day{outline:2px solid #2d5d4b;outline-offset:1px}.calendar-legend{font-size:10px;color:#71847a;display:flex;gap:12px;margin:12px 0 0;border-top:1px solid #edf1ed;padding-top:10px}.agenda-filter{display:flex;gap:8px;flex-wrap:wrap}.agenda-filter select{max-width:180px;font-size:12px;height:40px}.agenda-metrics .stat{font-size:24px;margin:0 0 5px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#edf1ed}.week-day{min-height:200px;padding:12px;background:white;font-size:12px}.week-appointment{display:block;padding:10px;border-radius:8px;background:#eaf5e8;margin-top:10px}.week-appointment small{display:block;font-size:10px;margin:6px 0}.appointment-time{width:80px;flex-shrink:0}.appointment-time b{font-size:21px}.content>section.card{margin-top:20px}@media(max-width:1100px){.reference-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-top,.overview-bottom{grid-template-columns:1fr}.agenda-intro{display:block}.agenda-controls{justify-content:flex-start;margin-top:20px}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){main{margin-left:0}header.reference-header{height:auto;min-height:80px;padding:16px}.content{padding:24px 16px}.reference-row{padding:15px}.record-actions{flex-wrap:wrap}.messages-grid,.three{grid-template-columns:1fr}.reference-fields,.section-fields{grid-template-columns:1fr}.search-box{max-width:100%;width:100%}.module-intro>.actions{width:100%}.modal-card{padding:20px}.record-modal{padding:12px}.modal-card{max-height:calc(100svh - 24px)}.calendar-box{width:100%;max-width:340px}.week-grid{grid-template-columns:1fr}.anamnesis-footer{align-items:flex-start}.agenda-controls{display:block}.agenda-controls>*{margin:10px 0}.agenda-filter select{max-width:100%}.reference-metrics{gap:12px}.reference-stat{padding:16px}.reference-stat b{font-size:11px}}@media print{.record-modal{position:static;background:none;backdrop-filter:none;padding:0}.modal-card{max-width:none;max-height:none;overflow:visible;box-shadow:none}.print-only{display:block}.print-field{break-inside:avoid;border-bottom:1px solid #e5ebe4;padding:9px 0}.print-only h3{margin-top:25px;border-bottom:1px solid #a8c8a0;padding-bottom:10px}.reference-header,.anamnesis-footer{display:none!important}.no-print{display:none!important}.week-grid{grid-template-columns:repeat(7,1fr)}}

@media(max-width:900px){main{margin-left:0}}

/* Identity reproduced from the supplied original system. */
.reference-brand{display:flex;align-items:center;gap:12px;color:#193a2f;text-align:left}.reference-brand-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:#a8c8a0;color:#193a2f}.reference-brand-icon svg{width:20px;height:20px}.reference-brand-text{display:block;min-width:0}.reference-brand-text strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;letter-spacing:-.5px;line-height:1.15}.reference-brand-text small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1px;line-height:1.6;margin-top:5px;color:#71847a}.brand.brand-psychology{background:transparent;border-radius:0;margin:0;padding:24px 18px;border-bottom:1px solid #ffffff1a;min-height:86px;display:block}.brand-psychology .reference-brand{color:#fff}.brand-psychology .reference-brand-text strong{font-size:18px;white-space:nowrap}.brand-psychology .reference-brand-text small{color:#b8d0b1b3;font-size:8px;letter-spacing:1px}.login-logo .reference-brand,.invite-brand .reference-brand{justify-content:center}.login-logo .reference-brand-text strong{font-size:26px}.login-logo .reference-brand-text small{font-size:9px;letter-spacing:1px}.login-logo{height:auto;max-width:100%;margin-bottom:24px}.invite-brand{margin-bottom:24px}@media(max-width:360px){.login-logo .reference-brand{gap:9px}.login-logo .reference-brand-text strong{font-size:22px}.login-logo .reference-brand-text small{font-size:8px}}
