html,body{height:100%;margin:0}body.cloud{display:block!important;background:#111a25;color:#eef4fb;font:14px 'Nunito Sans',system-ui,sans-serif;overflow:auto!important}.cloud header{display:flex;align-items:center;gap:20px;padding:15px 22px;background:#1b2838;border-bottom:1px solid #334459}.cloud header img{width:150px;max-height:52px;object-fit:contain}.cloud header .identity{margin-left:auto}.cloud nav{display:flex;gap:8px;padding:12px 22px}.cloud button,.cloud input,.cloud select{font:inherit}.cloud button{border:1px solid #41546b;background:#26384d;color:#edf5ff;border-radius:6px;padding:8px 13px;cursor:pointer}.cloud button:hover,.cloud button.active{background:#36516e;border-color:#60b4df}.cloud button.primary{background:#276a76}.cloud input,.cloud select{background:#142333;border:1px solid #42556c;color:#eff6ff;border-radius:5px;padding:8px;min-width:0}.cloud label{display:grid;gap:6px}.cloud #cloudMessage{min-height:20px;padding:0 22px;color:#ffcf7d}.cloud .workspace{padding:0 22px 22px}.cloud .login{max-width:420px;margin:8vh auto;padding:28px;background:#1d2b3c;border:1px solid #3b4a5f;border-radius:12px;display:grid;gap:16px}.cloud .bar{display:flex;align-items:center;gap:10px;margin:12px 0}.cloud .bar input[type=search]{flex:1}.cloud .columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cloud .box{background:#182637;border:1px solid #34495f;border-radius:8px;overflow:hidden}.cloud .box h3{margin:0;padding:13px 16px;font-size:16px;background:#233348}.cloud table{width:100%;border-collapse:collapse;font-size:14px}.cloud th{text-align:left;padding:10px;background:#233348;color:#abc2d9;position:sticky;top:0}.cloud td{padding:9px 10px;border-bottom:1px solid #26394f}.cloud tr:hover td{background:#243c53}.cloud .scroll{max-height:46vh;overflow:auto;scrollbar-width:thin}.cloud .row-selected td{background:#2b4b62}.cloud .muted{color:#9eafc3}.cloud .badge{font-size:12px;padding:3px 6px;border-radius:4px;background:#2e4852}.cloud .formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.cloud .modal[hidden],.cloud [hidden]{display:none!important}.cloud .modal.show,.cloud #cloudTrackModal:not([hidden]),.cloud #commercialModal:not([hidden]){display:flex;position:fixed;inset:0;background:#080e18ce;z-index:100;align-items:center;justify-content:center}.cloud .modalbox{background:#1b2b3d;border:1px solid #4a627e;border-radius:10px;width:min(1100px,95vw);max-height:94vh;overflow:auto;padding:20px}.cloud .track-tab-panel.active{display:block}.cloud #track-tab-editor{height:auto;overflow:visible}.cloud section.mix{height:360px!important;min-height:260px;max-height:none;margin-top:16px;resize:vertical;overflow:hidden}.cloud .mix-wave-area{min-height:130px}.cloud .keycode{overflow-wrap:anywhere;background:#102033;padding:12px;border-radius:6px;font-family:monospace}.cloud audio{width:100%}.cloud .voicegrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px}.cloud .voicegrid textarea{height:130px;background:#112234;color:white;padding:10px;border:1px solid #41546b;border-radius:6px}.cloud .cloud-track-form{padding:0}.cloud .modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.cloud .cloud-track-form .audio-wave-shell{max-height:280px}.cloud #cloudSyncStatus{color:#9ed9e6} @media(max-width:900px){.cloud .columns,.cloud .formgrid,.cloud .voicegrid{grid-template-columns:1fr}.cloud header{flex-wrap:wrap}.cloud .workspace{padding:0 10px 15px}.cloud nav{flex-wrap:wrap}.cloud .scroll{max-height:40vh}.cloud section.mix{height:380px!important}}

.database-permissions{display:flex;flex-wrap:wrap;gap:12px}.database-permissions label{display:flex;align-items:center;gap:6px;color:rgb(53,153,211);font-weight:700}.database-permissions input{width:auto}
.cloud #cloudNewUserModules,.cloud td .database-permissions{display:flex;gap:10px;flex-wrap:wrap}.cloud #cloudNewUserModules label,.cloud td label{display:flex;align-items:center;gap:5px}.cloud .vt-mode .columns{grid-template-columns:minmax(0,3fr) minmax(280px,2fr);align-items:start}.cloud .vt-mode .columns>.box:first-of-type{display:none}.cloud .vt-mode section.mix{height:65vh!important;margin-top:0}.cloud .vt-mode .columns>.box .scroll{max-height:65vh}.cloud nav{flex-wrap:wrap}@media(max-width:900px){.cloud .vt-mode .columns{grid-template-columns:1fr}}

.cloud .keycode,.cloud .pairing-code,.cloud .pairing-code *{user-select:text;-webkit-user-select:text}.cloud .pairing-code{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.cloud .pairing-code input{flex:1 1 360px;min-width:200px;font-family:monospace}.cloud .pairing-code>span:first-child,.cloud .pairing-code>span:last-child{flex-basis:100%}
/* JamieRadio management shell, aligned with the Jamiecast reference. */
body.cloud{--ink:#203247;--muted:#7790a5;--line:#dfe7ef;--blue:#1c9acb;background:#f3f6f9;color:var(--ink);font:14px 'Nunito Sans',system-ui,sans-serif;padding-top:70px}
.cloud>header{position:fixed;inset:0 0 auto;height:70px;box-sizing:border-box;z-index:40;background:#fff;border-bottom:1px solid var(--line);padding:12px 24px;gap:24px;color:var(--ink)}
.cloud header img{width:164px;max-height:45px}.cloud-breadcrumb{font-size:11px;letter-spacing:1px;color:#7790a5;font-weight:800}.cloud-breadcrumb span{margin:0 14px;color:#c0cbd6}.cloud-breadcrumb b{letter-spacing:.3px}
.cloud header #cloudSyncStatus{font-size:11px;background:#e9f5f8;color:#408aa4;padding:7px 12px;border-radius:22px;margin-left:auto}.cloud header .identity{margin-left:0;font-size:12px;color:#657d91}
.cloud #cloudNav{position:fixed;inset:70px auto 0 0;width:224px;box-sizing:border-box;background:#17283b;display:flex;flex-direction:column;gap:10px;margin:0;padding:24px 12px 70px;overflow:auto;z-index:35;border:0}
.cloud .sidebar-workspace{display:grid;gap:8px;padding:0 12px 16px;color:#d1dce7;font-size:12px}.cloud .sidebar-workspace small,.cloud .nav-group>small{color:#718da4;font-size:9px;letter-spacing:1.1px;font-weight:700}.cloud .nav-group{display:grid;gap:5px}.cloud .nav-group>small{padding:10px 12px 5px}
.cloud #cloudNav button{width:100%;min-height:43px;text-align:left;background:transparent;border:0;border-radius:7px;color:#b9c9d7;padding:11px 14px;font-size:12px;font-weight:700;box-shadow:none}
.cloud #cloudNav button:hover{background:#20384e;color:white}.cloud #cloudNav button.active{background:#28445d;color:white;box-shadow:inset 3px 0 #43b9e5}
.cloud .sidebar-footer{margin-top:auto;padding:20px 12px 0;border-top:1px solid #2b3e51;display:grid;gap:7px;color:#86c0ce;font-size:10px}.cloud .sidebar-footer small{font-size:9px;color:#668298}
.cloud.logged-in .workspace,.cloud.logged-in>#cloudDatabaseSelector,.cloud.logged-in>#cloudMessage{margin-left:224px}.cloud .workspace{padding:20px clamp(24px,4vw,70px) 50px;max-width:1600px;box-sizing:border-box}.cloud #cloudMessage{padding:0 32px;color:#9c592a;margin-top:16px}.cloud #cloudMessage:empty{display:none}.cloud #cloudDatabaseSelector{margin-top:24px;margin-right:32px;margin-left:256px;padding:12px 16px;max-width:600px}.cloud #cloudDatabaseSelector label{display:flex;align-items:center;gap:14px;color:#647b90;font-size:12px}
.cloud .page-heading{display:flex;align-items:center;justify-content:space-between;margin:15px 0 26px}.cloud .page-heading small{font-size:10px;color:#2596bc;letter-spacing:1.5px;font-weight:800}.cloud h1{font-size:32px;letter-spacing:-1px;margin:10px 0;color:#203247}.cloud .page-heading p{color:#7a90a3;font-size:13px;margin:0}
.cloud button{background:#fff;color:#31495e;border:1px solid #c9d8e5;border-radius:6px;padding:8px 12px;box-shadow:none}.cloud button:hover{background:#f0f8fc;border-color:#9ecbdf}.cloud button.primary{background:#203247;color:white;border-color:#203247}.cloud button.danger{background:#da344c;color:white;border-color:#da344c}.cloud button:disabled{opacity:.5;cursor:default}
.cloud input,.cloud select,.cloud textarea{background:#fff;color:#263c50;border:1px solid #dce5ee;border-radius:6px;padding:9px;box-sizing:border-box}.cloud input:focus-visible,.cloud select:focus-visible{outline:2px solid #4db9e1;outline-offset:2px}.cloud input[type=checkbox]{accent-color:#7054be;width:15px;height:15px}
.cloud .box{background:#fff;border:1px solid #dfe7ef;border-radius:12px;box-shadow:0 3px 10px #344d6410;padding:18px;margin-bottom:18px}.cloud .box h3{background:transparent;border-bottom:1px solid #eef2f6;font-weight:600;font-size:15px;padding:3px 0 18px;color:#314c63}.cloud table{color:#263f54}.cloud th{background:#fff;color:#7c8da5;border-bottom:1px solid #e3eaf2;padding:15px 12px;font-size:11px}.cloud td{border-bottom:1px solid #edf2f7;padding:18px 12px;font-size:12px}.cloud tr:hover td{background:#f8fbfd}.cloud td>strong{display:block;font-size:13px}.cloud td>small{display:block;margin-top:6px;color:#8298ab}.cloud .row-selected td{background:#e8f4fb}.cloud .muted{color:#7b91a6}.cloud .bar{margin:0 0 20px;flex-wrap:wrap}.cloud .database-permissions label{color:#42647c;font-size:12px}.cloud fieldset{border:1px solid #e0e7ef;border-radius:7px;padding:14px;margin:16px 0}.cloud legend{font-weight:700;font-size:12px;color:#536d85;padding:0 6px}
.cloud .status-badge{display:inline-block;border:1px solid;border-radius:6px;padding:7px 10px;margin:2px 5px 2px 0;font-size:10px;font-weight:800;white-space:nowrap}.cloud .status-badge.green{background:#e5f7ef;border-color:#b7e9d5;color:#22734b}.cloud .status-badge.red{background:#fff0f2;border-color:#ffbbc5;color:#bd2741}.cloud .status-badge.neutral{background:#eef5fa;border-color:#dce9f2;color:#60829b}
.cloud .dashboard-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.cloud .dashboard-cards button{display:grid;text-align:left;gap:8px;padding:24px;background:white;border:1px solid var(--line);border-radius:12px}.cloud .dashboard-cards span{font-size:12px;color:#708ba1;font-weight:700}.cloud .dashboard-cards b{font-size:29px;color:#20364c}.cloud .dashboard-cards small{font-size:10px;color:#9bafbf}.cloud .dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cloud .dashboard-list{display:grid}.cloud .dashboard-list-item{display:block;text-align:left;border:0;border-radius:0;border-bottom:1px solid #edf2f7;padding:18px 6px;font-weight:700;background:white}.cloud .dashboard-list-item small{display:block;margin-top:6px;color:#8ca3b5;font-size:10px;font-weight:400}
.cloud .login{background:#fff;border:1px solid #dce6f0;box-shadow:0 14px 50px #244b6e0c;margin:9vh auto;max-width:430px;border-radius:12px;padding:36px;gap:14px}.cloud .login-logo{max-width:190px;margin-bottom:10px}.cloud .login h2{font-size:25px;margin:0}.cloud .login p{margin:0 0 10px;font-size:12px}.cloud .login label{font-size:12px;font-weight:600}.cloud .login .primary{margin-top:8px}.cloud .keycode{background:#f0f8fc;border:1px solid #cce6f1;color:#286781}.cloud .pairing-code input{font-size:20px;letter-spacing:2px;font-weight:700}
.cloud .admin-dialog{width:min(740px,92vw);box-sizing:border-box;border:1px solid #cad6e2;border-radius:10px;background:#fff;color:#253b52;box-shadow:0 16px 60px #172a3e33;padding:24px}.cloud .admin-dialog::backdrop{background:#0e1a2770}.cloud .admin-dialog h2{font-size:19px;margin:0}.cloud .admin-dialog .modalhead{background:white;border:0;padding:0;height:auto;margin-bottom:24px}.cloud .admin-dialog .box{padding:0!important;border:0;box-shadow:none;margin:0}.cloud .dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
/* Keep audio editing visually consistent with the studio, separate from management cards. */
.cloud section.mix{background:#24323e;color:#edf4fa}.cloud section.mix button,.cloud section.mix input,.cloud section.mix select{background:#293d4f;color:#eef6fc;border-color:#526a7f}.cloud .format-planner{color:#edf4fa}.cloud .format-planner input,.cloud .format-planner select,.cloud .format-planner button{background:#233543;color:#eef5fa}.cloud .format-planner .modalhead{background:#23313e;color:white}
@media(max-width:1100px){.cloud .dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cloud .dashboard-columns{grid-template-columns:1fr}}
@media(max-width:760px){body.cloud{padding-top:60px}.cloud>header{height:60px;padding:8px 12px}.cloud .cloud-breadcrumb,.cloud header .identity{display:none}.cloud #cloudNav{top:60px;width:165px;padding:15px 7px}.cloud #cloudNav button{font-size:11px;padding:10px}.cloud.logged-in .workspace,.cloud.logged-in>#cloudDatabaseSelector,.cloud.logged-in>#cloudMessage{margin-left:165px}.cloud .workspace{padding:18px 12px}.cloud #cloudDatabaseSelector{margin-right:12px}.cloud .dashboard-cards{grid-template-columns:1fr}.cloud .box{overflow:auto}.cloud h1{font-size:25px}}

/* Actual studio workspace, with the day list beside the shared Windows editor. */
.cloud .cloud-vt-workspace{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:10px;border:0;border-radius:0;background:#20242a;color:#eee;box-sizing:border-box}
.cloud .cloud-vt-workspace .vt-mode-playlist{grid-column:1!important;grid-row:1!important}
.cloud .cloud-vt-workspace section.mix{grid-column:3!important;grid-row:1!important;height:100%!important;min-height:0!important;margin:0!important}
.cloud .cloud-vt-workspace .log-head{display:flex;align-items:center;gap:12px;flex-shrink:0}
.cloud .cloud-vt-workspace .log-head>b{flex:1}
.cloud .cloud-vt-workspace button,.cloud .cloud-vt-workspace select{background:#30363f;color:#eee;border-color:#555}
.cloud .cloud-vt-workspace .vt-log-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:10px 0}
.cloud .cloud-vt-workspace .vt-log-toolbar label{display:flex;gap:8px;align-items:center}
.cloud .cloud-vt-workspace .vt-mode-row{width:100%;text-align:left}
.cloud .cloud-vt-workspace .vt-mode-row.selected{background:#535962}
.cloud.vt-only #cloudNav,.cloud.vt-only #cloudWorkspace,.cloud.vt-only>header{display:none!important}

.cloud .cloud-audio-routing{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px;border-top:1px solid #52616b;flex-shrink:0;color:#eef4fb;background:#29333d}.cloud .cloud-audio-routing label{display:flex;align-items:center;gap:7px}.cloud .cloud-audio-routing select{max-width:260px}.cloud .cloud-audio-routing meter{width:100px;height:20px}.cloud .cloud-audio-routing output{flex-basis:100%;font-size:12px;color:#d5e2ed}

.cloud .cloud-local-audio{display:flex;gap:12px;align-items:center;padding:8px;background:#29333d;color:#eef4fb;flex-shrink:0;flex-wrap:wrap}.cloud .cloud-local-audio output{font-size:12px}

.cloud .cloud-vt-workspace .log-head{gap:14px;flex-wrap:nowrap}.cloud .cloud-vt-workspace .cloud-vt-badge{flex-shrink:0}.cloud .cloud-vt-workspace .log-head>b{white-space:nowrap;font-size:16px;min-width:0}
