/* Presentation layer over Bootstrap 4 / AdminLTE. Keep plugin geometry and state classes intact. */
:root{--recall-ink:#172c43;--recall-muted:#63758a;--recall-primary:#176b70;--recall-line:#dfe7ee;--recall-canvas:#f3f6f9;--recall-radius:12px}
body.recall-app,body.recall-auth{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--recall-ink);font-size:14px;line-height:1.55;background:var(--recall-canvas)}
.recall-app a,.recall-auth a{color:var(--recall-primary)}
.recall-app :focus-visible,.recall-auth :focus-visible{outline:3px solid #36a7ab;outline-offset:3px}
.recall-app .main-header{min-height:70px;background:#fff;border-bottom:1px solid var(--recall-line);padding:12px 22px;gap:12px}
.recall-app .main-header .nav-link{color:var(--recall-ink)}
.recall-header-title{font-weight:700;letter-spacing:-.3px}.recall-header-title span{font-weight:400;color:var(--recall-muted);margin-left:8px}
.recall-sync{font-size:11px;color:var(--recall-muted);text-align:right;line-height:1.5}.recall-sync time{display:block;color:var(--recall-ink);font-size:12px}
.recall-user{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--recall-ink);padding:0;max-width:240px}.recall-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.recall-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:#e5f2f1;color:#176b70}.recall-app .recall-user-menu{width:280px;right:0;left:auto;padding:8px;border:1px solid var(--recall-line);border-radius:12px;box-shadow:0 12px 36px #172c431c}
.recall-app .main-sidebar{background:#142a40;box-shadow:3px 0 18px #142a400a!important}
.recall-app .brand-link{height:70px;display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #ffffff12;color:#fff}
.recall-app .logo-inline{width:36px;height:36px;object-fit:contain;flex-shrink:0}.recall-brand-name{font-size:20px;font-weight:700;letter-spacing:-.5px}.recall-brand-name small{display:block;font-size:9px;font-weight:500;letter-spacing:2px;color:#adc0d1;text-transform:uppercase}
.recall-app .sidebar{padding:16px 10px}.recall-app .nav-sidebar .nav-link{color:#becbd8;border-radius:8px;margin-bottom:5px;padding:11px 12px;font-size:13px}.recall-app .nav-sidebar .nav-link:hover{background:#ffffff0c;color:#fff}.recall-app .nav-sidebar .nav-link.active{background:#246c72;color:#fff;box-shadow:none}.recall-app .nav-sidebar .nav-icon{font-size:16px;margin-right:8px}
.recall-app.sidebar-collapse .recall-brand-name{display:none}.recall-app.sidebar-collapse .main-sidebar:hover .recall-brand-name{display:block}
.recall-app .content-wrapper{background:var(--recall-canvas)}.recall-app .content-header{padding:28px 24px 16px}.recall-app .content-header h1{font-size:25px;font-weight:700;letter-spacing:-.7px;color:var(--recall-ink)!important}.recall-app .content-wrapper>.content{padding:0 24px 28px}.recall-app .breadcrumb{font-size:12px}.recall-app .breadcrumb-item.active{color:var(--recall-muted)}
.recall-app .card{border:1px solid var(--recall-line);border-radius:var(--recall-radius);box-shadow:0 3px 12px #172c4304;margin-bottom:22px}.recall-app .card.card-outline{border-top-width:3px}.recall-app .card.card-primary.card-outline{border-top-color:var(--recall-primary)}.recall-app .card-header{padding:16px 20px;border-bottom:1px solid var(--recall-line)}.recall-app .card-header:first-child{border-radius:10px 10px 0 0}.recall-app .card-title{font-size:15px;font-weight:600}.recall-app .card-body{padding:20px}.recall-app .card-footer{background:#f8fafc;border-top:1px solid var(--recall-line);border-radius:0 0 12px 12px}.recall-app .card-primary:not(.card-outline)>.card-header{background:var(--recall-primary)}
.recall-app .btn,.recall-auth .btn{border-radius:7px;font-weight:600;font-size:13px;padding:9px 15px;box-shadow:none}.recall-app .btn-sm{padding:5px 9px;font-size:12px}.recall-app .btn-primary,.recall-auth .btn-primary{background:var(--recall-primary);border-color:var(--recall-primary)}.recall-app .btn-primary:hover,.recall-auth .btn-primary:hover{background:#12575b;border-color:#12575b}.recall-app a.btn-primary,.recall-auth a.btn-primary{color:#fff}.recall-app .btn-default{background:#fff;border-color:#d3dee7;color:var(--recall-ink)}
.recall-app label,.recall-auth label{font-size:12px;font-weight:600;color:#44596e}.recall-app .form-control,.recall-app .custom-select,.recall-auth .form-control{border:1px solid #cfdbe5;border-radius:7px;font-size:13px;color:var(--recall-ink);min-height:36px;box-shadow:none}.recall-app .form-control:focus,.recall-auth .form-control:focus{border-color:#24898d;box-shadow:0 0 0 3px #24898d20}.recall-app .form-control:disabled,.recall-app .form-control[readonly]{background:#edf1f5}.recall-app .input-group-text,.recall-auth .input-group-text{background:#f5f8fa;border-color:#cfdbe5;color:var(--recall-muted)}
.recall-app .select2-container .select2-selection{border-color:#cfdbe5;border-radius:7px;min-height:36px}.recall-app .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:32px}.recall-app .select2-container--default .select2-selection--single .select2-selection__arrow{height:34px}.recall-app .select2-container--default .select2-selection--multiple .select2-selection__choice{background:#e5f2f1;border-color:#c5dfdc;color:#165c60}.recall-app .select2-dropdown{border-color:#cfdbe5}.recall-app .select2-results__option--highlighted[aria-selected]{background:#176b70}
.recall-app .table{font-size:12px;color:var(--recall-ink)}.recall-app .table thead th{background:#eef3f7;color:#425970;font-weight:600;vertical-align:middle;border-bottom:1px solid #d6e1ea;padding:12px 10px}.recall-app .table td{padding:10px;vertical-align:middle;border-top-color:#e8eef3}.recall-app .table-bordered,.recall-app .table-bordered td,.recall-app .table-bordered th{border-color:#e2e9ef}.recall-app .table-striped tbody tr:nth-of-type(odd){background:#f8fafc}.recall-app .table-hover tbody tr:hover{background:#edf6f5}.recall-app .dataTables_wrapper{overflow-x:auto}.recall-app .dataTables_wrapper>.row{row-gap:12px}.recall-app .dataTables_wrapper>.row:nth-child(2)>.col-sm-12{overflow-x:auto}.recall-app .dataTables_info{color:var(--recall-muted);font-size:12px}.recall-app .page-link{border-color:var(--recall-line);color:var(--recall-primary)}.recall-app .page-item.active .page-link{background:var(--recall-primary);border-color:var(--recall-primary)}
.recall-app .modal-content{border:0;border-radius:14px;box-shadow:0 24px 80px #142a4033}.recall-app .modal-header{border-radius:14px 14px 0 0;padding:18px 22px}.recall-app .modal-title{font-size:18px;font-weight:600}.recall-app .modal-body{padding:22px}.recall-app .modal-footer{padding:16px 22px;background:#f8fafc;border-radius:0 0 14px 14px}.recall-app .nav-tabs{border-color:var(--recall-line);gap:4px}.recall-app .nav-tabs .nav-link{border-radius:7px 7px 0 0;padding:10px 14px}.recall-app .nav-tabs .nav-link.active{color:var(--recall-primary);font-weight:600;border-top:3px solid var(--recall-primary)}.recall-app .alert{border-radius:9px}.recall-app .badge{border-radius:5px;padding:5px 7px}.recall-app .fc .fc-button-primary{background:var(--recall-primary);border-color:var(--recall-primary)}.recall-app .fc .fc-toolbar-title{font-size:21px}
.recall-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--recall-primary);margin-bottom:12px}.recall-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:36px;border:1px solid #cfe2e3;border-radius:16px;background:linear-gradient(110deg,#fff 30%,#e7f3f1);margin-bottom:32px}.recall-welcome h2{font-size:30px;font-weight:700;letter-spacing:-1px;margin-bottom:12px}.recall-welcome p{color:var(--recall-muted);max-width:540px;margin:0}.recall-welcome-icon{display:flex;align-items:center;justify-content:center;width:90px;height:90px;border-radius:24px;background:#d4eae7;color:#277a7b;font-size:36px;flex-shrink:0}.recall-section-title{font-size:17px;font-weight:700;margin-bottom:6px}.recall-section-description{color:var(--recall-muted);font-size:13px;margin-bottom:20px}.recall-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.recall-shortcut{display:flex;flex-direction:column;align-items:flex-start;position:relative;padding:24px;background:white;border:1px solid var(--recall-line);border-radius:12px;color:var(--recall-ink)!important;transition:border-color .15s,box-shadow .15s}.recall-shortcut:hover{border-color:#80b5b4;box-shadow:0 5px 18px #142a4008}.recall-shortcut>i{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:#edf5f6;color:var(--recall-primary);font-size:18px;margin-bottom:18px}.recall-shortcut h3{font-size:16px;font-weight:700}.recall-shortcut p{font-size:13px;color:var(--recall-muted);margin:0}.recall-shortcut .recall-arrow{position:absolute;right:24px;top:28px;color:#739099}
.recall-auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.recall-auth-story{display:flex;flex-direction:column;justify-content:space-between;padding:56px 9%;background:radial-gradient(ellipse at bottom right,#246a6d 0,transparent 60%),#142a40;color:#fff}.recall-auth-brand{font-size:25px;font-weight:700;letter-spacing:-.7px}.recall-auth-brand span{font-weight:400;color:#b5d4d8}.recall-auth-story h1{font-size:clamp(36px,4.5vw,64px);font-weight:650;line-height:1.12;letter-spacing:-2px;max-width:560px}.recall-auth-story p{color:#bed1de;max-width:400px;font-size:16px;line-height:1.8}.recall-auth-story .recall-eyebrow{color:#90d5cd}.recall-auth-footer{font-size:12px;color:#a9c3d2}.recall-auth-form{display:flex;align-items:center;justify-content:center;padding:48px 28px;background:#f8fafc}.recall-auth .login-box{width:100%;max-width:380px}.recall-auth .login-box h2{font-size:29px;font-weight:700;letter-spacing:-.7px}.recall-auth .login-box>p{color:var(--recall-muted);margin:12px 0 32px}.recall-auth .form-control{height:46px;font-size:14px}.recall-auth .btn-block{padding:13px;margin-top:26px}.recall-auth .alert{margin-top:20px;font-size:13px}.recall-auth .login-logo{margin:0 0 35px;text-align:left}.recall-auth .login-logo img{max-width:160px;max-height:65px;object-fit:contain}.recall-auth-note{margin-top:28px!important;text-align:center;font-size:12px}
@media(min-width:992px){.recall-app.sidebar-collapse .main-sidebar:not(:hover) .brand-link{padding-left:20px}}
@media(max-width:1199px){.recall-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.recall-header-title span{display:none}}
@media(max-width:767px){.recall-app .main-header{padding:12px;min-height:64px}.recall-sync{display:none}.recall-user-name{max-width:120px}.recall-app .content-header{padding:22px 12px 12px}.recall-app .content-wrapper>.content{padding:0 12px 24px}.recall-app .content-header h1{font-size:23px}.recall-app .card-body{padding:14px}.recall-welcome{padding:24px}.recall-welcome h2{font-size:25px}.recall-welcome-icon{display:none}.recall-auth-shell{grid-template-columns:1fr}.recall-auth-story{padding:28px;gap:24px}.recall-auth-story h1{font-size:32px;letter-spacing:-1px}.recall-auth-story p,.recall-auth-footer{display:none}.recall-auth-form{padding:32px 24px}.recall-auth .login-logo{margin-bottom:22px}.recall-app .fc .fc-toolbar{flex-wrap:wrap;gap:10px}}
@media(max-width:480px){.recall-shortcuts{grid-template-columns:1fr}.recall-header-title{font-size:13px}.recall-user-name{max-width:90px}}
@media(prefers-reduced-motion:reduce){.recall-app *,.recall-auth *{scroll-behavior:auto!important;transition:none!important}}
@media print{.recall-app .main-header,.recall-app .main-sidebar{display:none!important}.recall-app .content-wrapper{margin:0!important;background:#fff}.recall-app .card{box-shadow:none}}
.recall-auth .login-logo img{width:54px;height:54px;padding:11px;border-radius:14px;background:#142a40}
