/* AL-MUHIB desk motion system (draft only): accessible, fast, no artificial loading delays. */
:root { --motion-ease: cubic-bezier(.19,.8,.25,1); }
#tabs button {position:relative;transition:background .25s var(--motion-ease),transform .23s var(--motion-ease),box-shadow .25s var(--motion-ease),color .25s ease;}
#tabs button::after {content:'';position:absolute;left:24%;right:24%;height:3px;bottom:4px;border-radius:3px;background:#d7c17b;opacity:0;transform:scaleX(.15);transition:opacity .25s ease,transform .34s var(--motion-ease);}
#tabs button.active::after {opacity:1;transform:scaleX(1)}
#tabs button:focus-visible {outline:3px solid #c4a05c;outline-offset:3px}
.tab.tab-live {animation:deskSectionEnter .49s var(--motion-ease) both;}
@keyframes deskSectionEnter {0%{opacity:0;transform:translate3d(0,14px,0) scale(.993);filter:blur(2px)}65%{filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
.tab.tab-live > .layout-head,.tab.tab-live > .desk-welcome,.tab.tab-live > .drive-connect-panel {animation:deskReveal .48s var(--motion-ease) both;}
@keyframes deskReveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
#tabs button:active,.btn:active{transform:scale(.975)}
.btn {transition: transform .22s var(--motion-ease),box-shadow .22s var(--motion-ease), background .25s;}
.btn.is-processing {cursor:progress;}
.btn.is-processing::after {content:'';display:inline-block;width:13px;height:13px;vertical-align:-2px;margin-left:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:deskSpin .8s linear infinite;}
@keyframes deskSpin {to{transform:rotate(360deg)}}
.desk-activity {position:fixed;top:13px;left:50%;transform:translate(-50%,-14px);max-width:min(430px,calc(100vw - 24px));z-index:150;pointer-events:none;display:flex;align-items:center;gap:11px;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .28s var(--motion-ease),visibility .2s;color:#fff;background:linear-gradient(125deg,#10324a,#0e685a);border:1px solid rgba(220,193,123,.45);border-radius:999px;padding:12px 18px;box-shadow:0 16px 38px rgba(4,28,38,.25);font-size:13px;font-weight:750;}
.desk-activity.visible {opacity:1;visibility:visible;transform:translate(-50%,0)}
.desk-activity-spinner {display:block;flex-shrink:0;width:17px;height:17px;border-radius:50%;border:2.5px solid rgba(255,255,255,.24);border-top-color:#e9d28c;animation:deskSpin .75s linear infinite}
.desk-activity-text {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#message.desk-status-pending,#authStatus.desk-status-pending,#realBackupStatus.desk-status-pending,#privateDocsStatus.desk-status-pending,#passportParseStatus.desk-status-pending,#driveTestStatus.desk-status-pending {position:relative;}
#message.desk-status-pending::before,#authStatus.desk-status-pending::before,#realBackupStatus.desk-status-pending::before,#privateDocsStatus.desk-status-pending::before,#passportParseStatus.desk-status-pending::before,#driveTestStatus.desk-status-pending::before{content:'';display:inline-block;vertical-align:-3px;width:14px;height:14px;margin-inline-end:9px;border-radius:50%;border:2px solid rgba(15,127,108,.21);border-top-color:#0f7f6c;animation:deskSpin .76s linear infinite}
.desk-welcome {position:relative;display:flex;gap:22px;align-items:center;justify-content:space-between;overflow:hidden;border-radius:23px;margin:0 0 23px;padding:26px 29px;color:#fff;background:linear-gradient(113deg,#0a3034 0%,#0e594d 62%,#134e64 100%);box-shadow:0 17px 38px rgba(8,78,65,.15);border:1px solid rgba(225,196,121,.25)}
.desk-welcome::before {content:'';position:absolute;pointer-events:none;width:300px;height:300px;right:-90px;top:-180px;border-radius:50%;border:1px solid rgba(232,211,151,.18);box-shadow:0 0 0 44px rgba(232,211,151,.05),0 0 0 84px rgba(232,211,151,.03)}
.desk-welcome-copy {z-index:1;max-width:780px}
.desk-welcome-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:#e7d39e}
.desk-welcome h2 {margin:7px 0 9px;font-size:clamp(1.45rem,2.3vw,2.05rem);color:#fff;letter-spacing:-.02em;line-height:1.22}
.desk-welcome p{color:#e5f5ef;margin:0;font-size:.95rem;line-height:1.7}
.desk-welcome-date{z-index:1;flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:12px 15px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.10);color:#f2e4b9;font-size:.87rem;font-weight:800;white-space:nowrap}
.desk-welcome-date::before{content:'';width:7px;height:7px;box-shadow:0 0 0 4px rgba(201,224,183,.10);background:#9bd7a4;border-radius:50%}
@media(max-width:720px){.desk-welcome{padding:20px;flex-direction:column;align-items:flex-start;gap:14px}.desk-welcome-date{font-size:.78rem}.desk-activity{top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}.tab.tab-live{filter:none!important;transform:none!important}.desk-activity.visible{opacity:1!important;visibility:visible!important;transform:translate(-50%,0)!important}.desk-activity:not(.visible){opacity:0!important;visibility:hidden!important}}
@media print{.desk-welcome,.desk-activity{display:none!important}}


/* Business operations upgrade: high-contrast daily actions, expense reporting and review states. */
.action-center{margin:20px 0 24px;padding:22px;border:1px solid #cbded5;border-radius:22px;background:linear-gradient(145deg,#f5fbf8,#ffffff 62%,#f6f8fb);box-shadow:0 12px 28px rgba(12,61,48,.07)}
.action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin:14px 0 18px}
.action-card{display:flex;flex-direction:column;gap:5px;padding:15px;border-radius:16px;border:1px solid #dce7e2;background:#fff;min-height:90px}
.action-card strong{font-size:1.55rem;color:#102f29;font-weight:900;line-height:1.1}
.action-card span{font-size:.78rem;color:#37594e;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.action-card[data-tone="warning"]{border-color:#e7c57d;background:#fffaf0}.action-card[data-tone="danger"]{border-color:#e4aaaa;background:#fff5f5}.action-card[data-tone="success"]{border-color:#acd5bf;background:#f3fbf6}
.action-tasks{display:grid;gap:9px}
.action-task{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #e0e9e5;border-radius:13px;background:rgba(255,255,255,.9)}
.action-task strong{display:block;color:#142e29;font-size:.92rem}.action-task p{margin:3px 0 0;color:#536b64;font-size:.82rem;line-height:1.45}.action-task .btn{flex:0 0 auto;white-space:nowrap}
.action-empty{padding:14px;border:1px solid #c4dfcf;border-radius:14px;background:#f1faf4;color:#17583b;font-weight:750}
.cost-summary{font-weight:850;color:#0c3c2e}.cost-negative{color:#9d2525;font-weight:900}.cost-positive{color:#12613e;font-weight:900}
#costs input,#costs select,#costs textarea{font-variant-numeric:tabular-nums}
@media(max-width:720px){.action-center{padding:15px}.action-task{flex-direction:column}.action-task .btn{align-self:flex-start}}
