 :root{
 --bg:#0B1220; --card:#14213D; --blue:#2563EB; --cyan:#06B6D4;
 --green:#22C55E; --red:#EF4444; --muted:#94A3B8; --fg:#F1F5F9;
 --grad-blue:linear-gradient(135deg,#2563EB 0%,#06B6D4 100%);
 --grad-success:linear-gradient(135deg,#22C55E 0%,#16A34A 100%);
 --grad-danger:linear-gradient(135deg,#EF4444 0%,#B91C1C 100%);
 }
 *{box-sizing:border-box;border-color:rgba(255,255,255,.08)}
 html,body{margin:0;min-height:100%;color:var(--fg);
 font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;
 -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
 background:
 radial-gradient(1200px 600px at 20% -10%,rgba(37,99,235,.25),transparent 60%),
 radial-gradient(900px 500px at 100% 10%,rgba(6,182,212,.18),transparent 60%),
 var(--bg);
 }
 h1,h2,h3{font-family:'Segoe UI',Roboto,sans-serif;letter-spacing:-.01em;margin:0}
 main{max-width:400px;margin:0 auto;padding:20px 16px 70px}
 .glass{background:linear-gradient(180deg,rgba(20,33,61,.85),rgba(20,33,61,.65));
 -webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);
 border:1px solid rgba(255,255,255,.08);
 box-shadow:0 10px 40px -10px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.05);
 border-radius:22px}
 .muted{color:var(--muted)} .row{display:flex;align-items:center}
 .chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;
 font-size:11px;font-weight:600;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
 .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
 border:0;cursor:pointer;font-weight:700;font-family:inherit;border-radius:14px;
 padding:12px;font-size:13px;transition:transform .1s}
 .btn:active{transform:scale(.98)}
 .btn-blue{background:var(--grad-blue);color:#fff;box-shadow:0 8px 24px -8px rgba(37,99,235,.6)}
 .btn-green{background:var(--grad-success);color:#06210F;box-shadow:0 8px 24px -8px rgba(34,197,94,.55)}
 .btn-red{background:var(--grad-danger);color:#fff;box-shadow:0 8px 24px -8px rgba(239,68,68,.55)}
 select,input[type=time],input[type=text]{width:100%;background:rgba(255,255,255,.04);
 border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 12px;color:var(--fg);
 font-family:inherit;font-size:13px;outline:0}
 select:focus,input:focus{border-color:var(--cyan)}
 option{background:#14213D}
 header.app{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
 .logo{display:flex;align-items:center;gap:12px}
 .logo .ico{height:44px;width:44px;display:grid;place-items:center;border-radius:16px;background:var(--grad-blue);font-size:22px}
 .icon-btn{height:40px;width:40px;display:grid;place-items:center;border-radius:16px;
 border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);cursor:pointer;color:var(--fg);font-size:18px}
 .stat{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:14px;padding:10px}
 .stat p{margin:0;font-size:11px}.stat .v{font-weight:700;font-size:13px;margin-top:2px;color:#fff}
 .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}
 section.card{padding:18px;margin-bottom:14px}
 .status-dot{height:10px;width:10px;border-radius:999px;display:inline-block;margin-right:8px}
 .pulse{animation:pulse 1.8s infinite}
 @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 14px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
 .drop{animation:drop 1.6s ease-in-out infinite}
 @keyframes drop{0%,100%{transform:translateY(-3px);opacity:.5}50%{transform:translateY(2px);opacity:1}}
 .msg{border-radius:12px;padding:8px 12px;font-size:12px;margin-top:12px;border:1px solid transparent}
 .msg.loading{background:rgba(6,182,212,.1);border-color:rgba(6,182,212,.3);color:#7DE0F5}
 .msg.success{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.3);color:#86EFAC}
 .msg.error{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#FCA5A5}
 ul{list-style:none;padding:0;margin:0}
 .log-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;
 font-size:12px;border-bottom:1px solid rgba(255,255,255,.05)}
 .log-item:last-child{border:0}
 .empty{border:1px dashed rgba(255,255,255,.15);border-radius:14px;padding:24px;text-align:center;
 font-size:12px;color:var(--muted)}
 .sched-item{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);
 background:rgba(255,255,255,.03);border-radius:14px;padding:12px;margin-top:8px}
 .icon-danger{color:#FCA5A5;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
 border-radius:10px;height:32px;width:32px;display:grid;place-items:center;cursor:pointer;font-size:14px}
 .rec{margin-top:12px;border:1px solid rgba(37,99,235,.3);background:rgba(37,99,235,.1);
 border-radius:14px;padding:12px;font-size:12px;color:#BFDBFE}
 .modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:60;display:flex;align-items:center;justify-content:center}
 .modal-content{width:calc(100% - 32px);max-width:360px;padding:24px}
 .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
 .modal-header h2{font-size:16px;font-weight:700}
 .modal-body label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}
 .file-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--fg);font-size:13px;cursor:pointer;transition:background .2s}
 .file-btn:hover{background:rgba(255,255,255,.1)}
 .file-btn input{display:none}
 .wp-preview{margin-top:12px;width:100%;height:120px;border-radius:12px;object-fit:cover;border:1px solid rgba(255,255,255,.08);display:none}
 .btn-reset{padding:8px 16px;border-radius:10px;border:1px solid rgba(239,68,68,.3);background:rgba(239,68,68,.1);color:#FCA5A5;font-size:12px;font-weight:600;cursor:pointer;margin-top:12px;display:inline-block}
 footer{text-align:center;margin-top:24px;font-size:11px;color:var(--muted)}
 #chat-fab{position:fixed;bottom:76px;left:50%;transform:translateX(calc(200px - 100%));z-index:40;
 padding:12px 18px;border-radius:999px;font-size:13px}
 #chat-panel{position:fixed;left:0;right:0;bottom:56px;max-width:400px;margin:0 auto;z-index:50;
 border-top-left-radius:24px;border-top-right-radius:24px;border-top:1px solid rgba(255,255,255,.1);
 background:linear-gradient(180deg,rgba(20,33,61,.95),rgba(11,18,32,.98));
 -webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);
 box-shadow:0 -20px 60px -10px rgba(0,0,0,.6);display:none}
 #chat-panel.open{display:block}
 .chat-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;
 border-bottom:1px solid rgba(255,255,255,.1)}
 #chat-history{max-height:45vh;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px}
 #chat-history::-webkit-scrollbar{width:6px}
 #chat-history::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:999px}
 .bubble{max-width:80%;padding:8px 12px;border-radius:16px;font-size:12px;line-height:1.4}
 .bubble.user{margin-left:auto;background:var(--blue);color:#fff;border-bottom-right-radius:6px}
 .bubble.kei{margin-right:auto;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
 color:#E2E8F0;border-bottom-left-radius:6px}
 form.chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.1)}
 form.chat-form button{height:40px;width:40px;border-radius:12px;padding:0;flex-shrink:0}
