/* Shared spacing and alignment system. */
:root{--space-panel:24px;--space-control:12px}
.content,.portal{line-height:1.6}.content{padding-top:32px;padding-bottom:48px}
.card,.hero-card,.stat,.review-item,.habit,.mini-stat{min-width:0;overflow-wrap:anywhere}
.card{padding:26px}.card>h2,.card>h3{margin-bottom:16px}.card>p{line-height:1.75;margin-bottom:20px}
.card>:last-child{margin-bottom:0}.card+.card,.grid-2+.grid-2,.grid-3+.grid-3,.card+.grid-2,.card+.grid-3,.grid-2+.card,.grid-3+.card{margin-top:24px}
.grid-2,.grid-3,.grid-main,.stack,.stat-grid{gap:24px}.grid-2>.card,.grid-3>.card,.stack>.card,.grid-main>.card{margin-top:0!important}
.card .panel-info{margin:20px 0;padding:18px 20px;line-height:1.75}.panel-info+.actions{margin-top:20px}.actions{gap:12px;row-gap:12px}.btn{gap:10px;min-height:42px;line-height:1.4}.btn.sm{min-height:36px}.btn svg,.nav svg,.icon-btn svg,.badge svg{flex-shrink:0}.icon-btn{flex-shrink:0}.badge{line-height:1.5}
.card-head{gap:18px;margin-bottom:24px;align-items:center}.card-head>div{min-width:0}.card-head h2,.card-head h3{line-height:1.4}.page-head{gap:24px;align-items:flex-start}.page-head p{line-height:1.8;margin-top:10px}.page-head .actions{justify-content:flex-end;flex-shrink:0}
.fields{gap:20px 24px}.field{min-width:0}.field label,label[for]{display:block;margin-bottom:9px;line-height:1.5}.input{min-height:44px;line-height:1.5;max-width:100%;min-width:0}textarea.input{min-height:110px}form>.actions,form>.btn{margin-top:22px}.fields+.field{margin-top:20px}.modal .fields{margin-bottom:20px}
.modal{padding:30px}.modal-header{gap:24px;align-items:flex-start;margin-bottom:26px}.modal-header h2{line-height:1.4}.modal p{line-height:1.8;margin-bottom:20px}.modal .panel-info{padding:18px 20px;margin:20px 0;line-height:1.8}.modal-footer{gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.modal .actions{margin:18px 0}.modal small{line-height:1.8}.modal ul{padding-left:24px;line-height:1.9}.modal li+li{margin-top:10px}
.document-row,.appointment-row,.settings-row,.budget-line{gap:18px;line-height:1.6}.document-row .info,.appointment-row .info,.day-description{min-width:0}.document-row .info small{display:block}.document-row>.btn,.settings-row>.btn{flex-shrink:0}.budget-line>span{min-width:0}.budget-line>strong{flex-shrink:0;text-align:right}.document-row{flex-wrap:wrap}.document-row .info{flex:1 1 180px}.table-wrap{margin-top:18px}td,th{padding:17px 16px;vertical-align:middle}td .actions{flex-wrap:nowrap}.toolbar{gap:18px;flex-wrap:wrap;margin-bottom:24px}.agenda-filters{gap:14px;flex-wrap:wrap}.finance-switch{gap:12px}.consult-steps{gap:10px}.summary-strip{gap:20px}.consult-footer{gap:20px}.video-module .actions{margin-top:24px}.video-module+.card{margin-top:24px}.plan-workbench{gap:20px;padding:20px 24px}.plan-workbench .actions{gap:12px}.ingredient-warning{gap:16px;line-height:1.7}.meal-grid{gap:14px}.meal{padding:16px;line-height:1.6}.meal b{display:block;margin-top:10px}.meal small{display:block;margin-top:8px}.recipe-art{margin-bottom:20px}.food-photo+h3{margin-top:20px}.thread{gap:14px}.bubble{line-height:1.8}.portal-nav{gap:12px;margin-bottom:30px}.review-grid{gap:18px}.review-item{padding:20px}.review-item b{margin-bottom:9px}.nav{gap:5px}.nav a{gap:14px;min-height:39px}.nav-group{margin-bottom:12px}.sidebar-foot{padding-top:20px}.workspace{gap:14px}.landing-hero .actions{gap:16px}.mini-header{gap:16px}.landing-feature p{line-height:1.9}.stat-top{gap:14px}.stat small{display:block;line-height:1.7}.stat strong{margin:16px 0 10px}
@media(max-width:1000px){.page-head{flex-wrap:wrap}.page-head .actions{justify-content:flex-start;flex-shrink:1}.card-head{flex-wrap:wrap}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.modal{padding:26px}}
@media(max-width:650px){.content{padding:24px 18px 40px}.card{padding:22px}.grid-2,.grid-3,.grid-main{grid-template-columns:minmax(0,1fr);gap:22px}.stack{gap:22px}.stat-grid{gap:14px}.stat{padding:17px}.stat-top{align-items:flex-start;font-size:11px}.stat-icon{padding:6px}.page-head h1{font-size:25px}.page-head .actions{width:100%;gap:12px}.btn{white-space:normal;text-align:center;min-height:44px}.page-head .btn{flex:1 1 auto}.actions{gap:12px}.modal-backdrop{padding:14px}.modal{padding:24px 20px;max-height:calc(100dvh - 28px)}.modal-header h2{font-size:20px}.modal-footer .btn{flex:1 1 120px}.card-head{gap:16px}.fields{gap:20px}.document-row{gap:14px;padding:20px 0}.document-row .info{flex-basis:100%}.settings-row{align-items:flex-start;flex-wrap:wrap}.settings-row>div{flex:1 1 180px}.toolbar>.actions{width:100%}.agenda-filters select{width:auto;flex:1 1 130px;max-width:100%}.consult-footer>.actions{width:100%}.consult-steps{gap:10px}.portal-nav button{min-height:42px}.workflows-intro{gap:20px}.workflows-intro .btn{width:100%}.review-inbox{gap:14px}.plan-workbench{padding:20px}.plan-workbench .actions .btn{font-size:12px}.landing-hero{gap:32px}.landing-hero .actions .btn{padding:15px}.mini-app{transform:none}.call-controls{flex-wrap:wrap;gap:14px}.finance-switch{gap:12px;padding-bottom:8px}.finance-switch .btn{flex-shrink:0}.modal .panel-info{padding:16px}.meal-grid[data-day]{gap:16px}.meal-grid[data-day] .meal{padding:16px;min-height:125px}}
@media print{.card{padding:18px}.card+.card{margin-top:18px}.btn{display:none!important}}
.stat-grid>.card,.stat-grid>.stat,.grid-main>.card,.review-grid>.card{margin-top:0!important}.card>.btn+p,.card>.actions+p{margin-top:20px}.page-head{flex-wrap:wrap}.page-head>div:first-child{min-width:min(100%,360px)}.page-head .actions{flex-wrap:wrap}.stat-grid{align-items:stretch}.stat{display:flex;flex-direction:column}.stat-top{min-height:40px}.stat>small{margin-top:auto}.card+.grid-main,.grid-main+.card{margin-top:24px}
.calendar>div:not(.day-label):not(.hour){padding:8px}.calendar .event+.event{margin-top:10px}.calendar .event{margin:0;line-height:1.7}.calendar .empty-slot{margin-top:8px}.chat-form>.btn{margin-top:0;align-self:center}.recipe-card{display:flex;flex-direction:column}.recipe-card .btn{align-self:flex-start;margin-top:auto}.recipe-card h3{line-height:1.6;min-height:48px}

@media(max-width:650px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;min-height:44px}}
